@gooddata/sdk-ui 10.37.0-alpha.1 → 10.38.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/base/index.d.ts +2 -0
- package/esm/base/index.d.ts.map +1 -1
- package/esm/base/index.js +2 -0
- package/esm/base/index.js.map +1 -1
- package/esm/base/localization/TranslationsCustomizationProvider/TranslationsCustomizationProvider.d.ts +2 -2
- package/esm/base/localization/TranslationsCustomizationProvider/TranslationsCustomizationProvider.d.ts.map +1 -1
- package/esm/base/localization/TranslationsCustomizationProvider/TranslationsCustomizationProvider.js.map +1 -1
- package/esm/base/localization/bundles/en-US.json +16 -0
- package/esm/base/localization/bundles/en-US.localization-bundle.d.ts +4 -0
- package/esm/base/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/base/localization/bundles/en-US.localization-bundle.js +4 -0
- package/esm/base/localization/bundles/en-US.localization-bundle.js.map +1 -1
- package/esm/base/react/placeholders/context.d.ts +2 -2
- package/esm/base/react/placeholders/context.d.ts.map +1 -1
- package/esm/base/react/placeholders/context.js +1 -1
- package/esm/base/react/placeholders/context.js.map +1 -1
- package/esm/base/results/tableData/dataViewToTableData.d.ts.map +1 -1
- package/esm/base/results/tableData/dataViewToTableData.js +1 -1
- package/esm/base/results/tableData/dataViewToTableData.js.map +1 -1
- package/esm/base/results/tableData/interfaces/cells.d.ts +435 -34
- package/esm/base/results/tableData/interfaces/cells.d.ts.map +1 -1
- package/esm/base/results/tableData/interfaces/cells.js +73 -1
- package/esm/base/results/tableData/interfaces/cells.js.map +1 -1
- package/esm/base/results/tableData/interfaces/columns.d.ts +375 -14
- package/esm/base/results/tableData/interfaces/columns.d.ts.map +1 -1
- package/esm/base/results/tableData/interfaces/columns.js +47 -1
- package/esm/base/results/tableData/interfaces/columns.js.map +1 -1
- package/esm/base/results/tableData/interfaces/index.d.ts +24 -0
- package/esm/base/results/tableData/interfaces/index.d.ts.map +1 -1
- package/esm/base/results/tableData/interfaces/mappingOptions.d.ts +3 -0
- package/esm/base/results/tableData/interfaces/mappingOptions.d.ts.map +1 -1
- package/esm/base/results/tableData/interfaces/rows.d.ts +21 -0
- package/esm/base/results/tableData/interfaces/rows.d.ts.map +1 -1
- package/esm/base/results/tableData/interfaces/scope.d.ts +11 -0
- package/esm/base/results/tableData/interfaces/scope.d.ts.map +1 -1
- package/esm/base/results/tableData/mapping/collect/collectColumnDefinitions.d.ts +2 -1
- package/esm/base/results/tableData/mapping/collect/collectColumnDefinitions.d.ts.map +1 -1
- package/esm/base/results/tableData/mapping/collect/collectColumnDefinitions.js +100 -19
- package/esm/base/results/tableData/mapping/collect/collectColumnDefinitions.js.map +1 -1
- package/esm/base/results/tableData/mapping/grandTotalRow/grandTotal.d.ts.map +1 -1
- package/esm/base/results/tableData/mapping/grandTotalRow/grandTotal.js +6 -5
- package/esm/base/results/tableData/mapping/grandTotalRow/grandTotal.js.map +1 -1
- package/esm/base/results/tableData/mapping/grandTotalRow/measureGroupHeader.d.ts.map +1 -1
- package/esm/base/results/tableData/mapping/grandTotalRow/measureGroupHeader.js +1 -11
- package/esm/base/results/tableData/mapping/grandTotalRow/measureGroupHeader.js.map +1 -1
- package/esm/base/results/tableData/mapping/subtotalRow/grandTotal.js +5 -3
- package/esm/base/results/tableData/mapping/subtotalRow/grandTotal.js.map +1 -1
- package/esm/sdk-ui.d.ts +871 -37
- package/package.json +9 -9
package/esm/sdk-ui.d.ts
CHANGED
@@ -70,6 +70,7 @@ import { IWorkspaceSettings } from '@gooddata/sdk-backend-spi';
|
|
70
70
|
import { MessageDescriptor } from 'react-intl';
|
71
71
|
import { ObjRef } from '@gooddata/sdk-model';
|
72
72
|
import { default as React_2 } from 'react';
|
73
|
+
import { ReactElement } from 'react';
|
73
74
|
import { ReactNode } from 'react';
|
74
75
|
import { TotalType } from '@gooddata/sdk-model';
|
75
76
|
import { ValueOrUpdateCallback } from '@gooddata/sdk-backend-base';
|
@@ -2940,6 +2941,12 @@ export declare interface IResultMetaMethods {
|
|
2940
2941
|
*/
|
2941
2942
|
export declare function isAnyPlaceholder<T>(obj: unknown): obj is AnyPlaceholder<T>;
|
2942
2943
|
|
2944
|
+
/**
|
2945
|
+
* Type guard to check if a column definition is an attribute column
|
2946
|
+
* @alpha
|
2947
|
+
*/
|
2948
|
+
export declare function isAttributeColumnDefinition(columnDefinition: unknown): columnDefinition is ITableAttributeColumnDefinition;
|
2949
|
+
|
2943
2950
|
/**
|
2944
2951
|
* Typeguard checking whether input is an instance of {@link BadRequestSdkError};
|
2945
2952
|
*
|
@@ -3048,6 +3055,12 @@ export declare function isGeoTokenMissing(obj: unknown): obj is GeoTokenMissingS
|
|
3048
3055
|
*/
|
3049
3056
|
export declare function isGoodDataSdkError(obj: unknown): obj is GoodDataSdkError;
|
3050
3057
|
|
3058
|
+
/**
|
3059
|
+
* Type guard to check if a column definition is a grand total column
|
3060
|
+
* @alpha
|
3061
|
+
*/
|
3062
|
+
export declare function isGrandTotalColumnDefinition(columnDefinition: unknown): columnDefinition is ITableGrandTotalColumnDefinition;
|
3063
|
+
|
3051
3064
|
/**
|
3052
3065
|
* Typeguard checking whether the object is an {@link IHeaderPredicate} instance.
|
3053
3066
|
* @public
|
@@ -3061,6 +3074,18 @@ export declare function isHeaderPredicate(obj: unknown): obj is IHeaderPredicate
|
|
3061
3074
|
*/
|
3062
3075
|
export declare const isLocale: (locale: unknown) => locale is ILocale;
|
3063
3076
|
|
3077
|
+
/**
|
3078
|
+
* Type guard to check if a column definition is a measure group header column
|
3079
|
+
* @alpha
|
3080
|
+
*/
|
3081
|
+
export declare function isMeasureGroupHeaderColumnDefinition(columnDefinition: unknown): columnDefinition is ITableMeasureGroupHeaderColumnDefinition;
|
3082
|
+
|
3083
|
+
/**
|
3084
|
+
* Type guard to check if a column definition is a measure group value column
|
3085
|
+
* @alpha
|
3086
|
+
*/
|
3087
|
+
export declare function isMeasureGroupValueColumnDefinition(columnDefinition: unknown): columnDefinition is ITableMeasureGroupValueColumnDefinition;
|
3088
|
+
|
3064
3089
|
/**
|
3065
3090
|
* Typeguard checking whether input is an instance of {@link NegativeValuesSdkError};
|
3066
3091
|
*
|
@@ -3100,6 +3125,75 @@ export declare function isProtectedReport(obj: unknown): obj is ProtectedReportS
|
|
3100
3125
|
*/
|
3101
3126
|
export declare function isSomeHeaderPredicateMatched(drillablePredicates: IHeaderPredicate[], header: IMappingHeader, dv: DataViewFacade): boolean;
|
3102
3127
|
|
3128
|
+
/**
|
3129
|
+
* Type guard to check if a column definition is a subtotal column
|
3130
|
+
* @alpha
|
3131
|
+
*/
|
3132
|
+
export declare function isSubtotalColumnDefinition(columnDefinition: unknown): columnDefinition is ITableSubtotalColumnDefinition;
|
3133
|
+
|
3134
|
+
/**
|
3135
|
+
* Type guard checking whether input is an instance of {@link ITableAttributeHeaderValue}
|
3136
|
+
*
|
3137
|
+
* @alpha
|
3138
|
+
*/
|
3139
|
+
export declare function isTableAttributeHeaderValue(obj: unknown): obj is ITableAttributeHeaderValue;
|
3140
|
+
|
3141
|
+
/**
|
3142
|
+
* Type guard checking whether input is an instance of {@link ITableGrandTotalHeaderValue}
|
3143
|
+
*
|
3144
|
+
* @alpha
|
3145
|
+
*/
|
3146
|
+
export declare function isTableGrandTotalHeaderValue(obj: unknown): obj is ITableGrandTotalHeaderValue;
|
3147
|
+
|
3148
|
+
/**
|
3149
|
+
* Type guard checking whether input is an instance of {@link ITableGrandTotalMeasureValue}
|
3150
|
+
*
|
3151
|
+
* @alpha
|
3152
|
+
*/
|
3153
|
+
export declare function isTableGrandTotalMeasureValue(obj: unknown): obj is ITableGrandTotalMeasureValue;
|
3154
|
+
|
3155
|
+
/**
|
3156
|
+
* Type guard checking whether input is an instance of {@link ITableGrandTotalSubtotalMeasureValue}
|
3157
|
+
*
|
3158
|
+
* @alpha
|
3159
|
+
*/
|
3160
|
+
export declare function isTableGrandTotalSubtotalMeasureValue(obj: unknown): obj is ITableGrandTotalSubtotalMeasureValue;
|
3161
|
+
|
3162
|
+
/**
|
3163
|
+
* Type guard checking whether input is an instance of {@link ITableMeasureHeaderValue}
|
3164
|
+
*
|
3165
|
+
* @alpha
|
3166
|
+
*/
|
3167
|
+
export declare function isTableMeasureHeaderValue(obj: unknown): obj is ITableMeasureHeaderValue;
|
3168
|
+
|
3169
|
+
/**
|
3170
|
+
* Type guard checking whether input is an instance of {@link ITableMeasureValue}
|
3171
|
+
*
|
3172
|
+
* @alpha
|
3173
|
+
*/
|
3174
|
+
export declare function isTableMeasureValue(obj: unknown): obj is ITableMeasureValue;
|
3175
|
+
|
3176
|
+
/**
|
3177
|
+
* Type guard checking whether input is an instance of {@link ITableOverallTotalMeasureValue}
|
3178
|
+
*
|
3179
|
+
* @alpha
|
3180
|
+
*/
|
3181
|
+
export declare function isTableOverallTotalMeasureValue(obj: unknown): obj is ITableOverallTotalMeasureValue;
|
3182
|
+
|
3183
|
+
/**
|
3184
|
+
* Type guard checking whether input is an instance of {@link ITableSubtotalMeasureValue}
|
3185
|
+
*
|
3186
|
+
* @alpha
|
3187
|
+
*/
|
3188
|
+
export declare function isTableSubtotalMeasureValue(obj: unknown): obj is ITableSubtotalMeasureValue;
|
3189
|
+
|
3190
|
+
/**
|
3191
|
+
* Type guard checking whether input is an instance of {@link ITableTotalHeaderValue}
|
3192
|
+
*
|
3193
|
+
* @alpha
|
3194
|
+
*/
|
3195
|
+
export declare function isTableTotalHeaderValue(obj: unknown): obj is ITableTotalHeaderValue;
|
3196
|
+
|
3103
3197
|
/**
|
3104
3198
|
* Typeguard checking whether input is an instance of {@link UnauthorizedSdkError};
|
3105
3199
|
*
|
@@ -3115,41 +3209,191 @@ export declare function isUnauthorized(obj: unknown): obj is UnauthorizedSdkErro
|
|
3115
3209
|
export declare function isUnknownSdkError(obj: unknown): obj is UnexpectedSdkError;
|
3116
3210
|
|
3117
3211
|
/**
|
3212
|
+
* Type guard to check if a column definition is a value column
|
3213
|
+
* @alpha
|
3214
|
+
*/
|
3215
|
+
export declare function isValueColumnDefinition(columnDefinition: unknown): columnDefinition is ITableValueColumnDefinition;
|
3216
|
+
|
3217
|
+
/**
|
3218
|
+
* Defines a column that shows row attribute values (like "Country" or "City").
|
3219
|
+
*
|
3220
|
+
* **What it does:**
|
3221
|
+
* These are the leftmost columns that show your row groupings. If you have
|
3222
|
+
* "Country" and "City" in your rows bucket, you'll get two attribute columns.
|
3223
|
+
*
|
3224
|
+
* **When it's created:**
|
3225
|
+
* - Automatically created for each attribute in the rows bucket
|
3226
|
+
* - Always appears first (leftmost) in the table
|
3227
|
+
* - Created regardless of whether you have measures in rows or columns
|
3228
|
+
*
|
3229
|
+
* **Real example:**
|
3230
|
+
* ```
|
3231
|
+
* | Country | City | Sales | <- "Country" and "City" are attribute columns
|
3232
|
+
* |---------|------|-------|
|
3233
|
+
* | USA | NYC | 100 |
|
3234
|
+
* | USA | LA | 200 |
|
3235
|
+
* ```
|
3236
|
+
*
|
3118
3237
|
* @alpha
|
3119
3238
|
*/
|
3120
3239
|
export declare interface ITableAttributeColumnDefinition {
|
3240
|
+
/**
|
3241
|
+
* Always "attribute" - identifies this as an attribute column.
|
3242
|
+
*/
|
3121
3243
|
type: "attribute";
|
3244
|
+
/**
|
3245
|
+
* Position of this column in the final table (0-based).
|
3246
|
+
*/
|
3122
3247
|
columnIndex: number;
|
3248
|
+
/**
|
3249
|
+
* Which attribute from the rows bucket this column represents (0-based).
|
3250
|
+
*/
|
3123
3251
|
rowHeaderIndex: number;
|
3252
|
+
/**
|
3253
|
+
* Metadata about this attribute (name, data type, formatting, etc.).
|
3254
|
+
* Contains information like the attribute's display name, local identifier, etc.
|
3255
|
+
*/
|
3124
3256
|
attributeDescriptor: IAttributeDescriptor;
|
3125
3257
|
}
|
3126
3258
|
|
3127
3259
|
/**
|
3260
|
+
* Cell located in {@link ITableAttributeColumnDefinition} – typically the leftmost
|
3261
|
+
* part of the table describing the current row's attribute values.
|
3262
|
+
*
|
3263
|
+
* It represents a single `IResultAttributeHeader` coming from the execution
|
3264
|
+
* response and can be present in both value rows and subtotal rows.
|
3265
|
+
*
|
3266
|
+
* **Visual example**
|
3267
|
+
* ```
|
3268
|
+
* Attribute | Measure |
|
3269
|
+
* -----------+---------+
|
3270
|
+
* USA | 100 | <- "USA" is attributeHeader
|
3271
|
+
* ```
|
3272
|
+
*
|
3128
3273
|
* @alpha
|
3129
3274
|
*/
|
3130
3275
|
export declare interface ITableAttributeHeaderValue {
|
3276
|
+
/**
|
3277
|
+
* Discriminator literal for narrowing the `ITableDataValue` union.
|
3278
|
+
*/
|
3131
3279
|
type: "attributeHeader";
|
3280
|
+
/**
|
3281
|
+
* Attribute element value ready to be rendered. (e.g. "United States")
|
3282
|
+
*/
|
3132
3283
|
formattedValue: string | null;
|
3284
|
+
/**
|
3285
|
+
* The raw `IResultAttributeHeader` object from the execution response.
|
3286
|
+
*/
|
3133
3287
|
value: IResultAttributeHeader;
|
3288
|
+
/**
|
3289
|
+
* Zero-based row position of this cell in the final `data` matrix.
|
3290
|
+
*/
|
3134
3291
|
rowIndex: number;
|
3292
|
+
/**
|
3293
|
+
* Zero-based column position of this cell in the final `data` matrix.
|
3294
|
+
*/
|
3135
3295
|
columnIndex: number;
|
3136
|
-
|
3296
|
+
/**
|
3297
|
+
* Full row context describing which row this cell belongs to
|
3298
|
+
* (value, subtotal, or grand-total row).
|
3299
|
+
*/
|
3300
|
+
rowDefinition: ITableValueRowDefinition | ITableSubtotalRowDefinition;
|
3301
|
+
/**
|
3302
|
+
* Full column context describing which attribute column this cell belongs to.
|
3303
|
+
* Always an attribute column since this interface is for attribute headers.
|
3304
|
+
*/
|
3137
3305
|
columnDefinition: ITableAttributeColumnDefinition;
|
3138
3306
|
}
|
3139
3307
|
|
3140
3308
|
/**
|
3309
|
+
* Represents all possible column types in a pivot table structure.
|
3310
|
+
*
|
3311
|
+
* Think of a pivot table as having these column types from left to right:
|
3312
|
+
* 1. **Attribute columns** - Show row grouping labels (like "Country", "City")
|
3313
|
+
* 2. **Measure header column** - Shows measure names (only when measures are in rows)
|
3314
|
+
* 3. **Value/Total columns** - Show actual numbers and totals
|
3315
|
+
*
|
3316
|
+
* The exact combination depends on your data setup:
|
3317
|
+
*
|
3318
|
+
* **When measures are in columns (normal pivot table):**
|
3319
|
+
* ```
|
3320
|
+
* | | | Brand > Product | | |
|
3321
|
+
* | | |---------------------|----------------|----------------|
|
3322
|
+
* | | | GoodData | | ColMin Σ |
|
3323
|
+
* | | |---------------------|----------------| |
|
3324
|
+
* | | | Panther | Bear | Sum A | |
|
3325
|
+
* |---------|--------|---------------------|----------------|----------------|
|
3326
|
+
* | Country | City | Sales | Sales | Sales | Sales |
|
3327
|
+
* |---------|--------|----------|----------|----------------|----------------|
|
3328
|
+
* | USA | NYC | 100 | 150 | 250 | 100 |
|
3329
|
+
* | USA | LA | 200 | 250 | 450 | 200 |
|
3330
|
+
* ```
|
3331
|
+
* - Country, City are {@link ITableAttributeColumnDefinition}
|
3332
|
+
* - Sales is {@link ITableValueColumnDefinition}
|
3333
|
+
* - Sum A is {@link ITableSubtotalColumnDefinition}
|
3334
|
+
* - ColSum Σ is {@link ITableGrandTotalColumnDefinition}
|
3335
|
+
*
|
3336
|
+
* **When measures are in rows (transposed + non-pivoted):**
|
3337
|
+
* ```
|
3338
|
+
* | Country | City | MeasureGroupHeader | MeasureGroupValue |
|
3339
|
+
* |---------|------|---------------------|-----------------------|
|
3340
|
+
* | USA | NYC | Sales | 100 |
|
3341
|
+
* | USA | NYC | Profit | 20 |
|
3342
|
+
* ```
|
3343
|
+
* - Country, City are {@link ITableAttributeColumnDefinition}
|
3344
|
+
* - MeasureGroupHeader is {@link ITableMeasureGroupHeaderColumnDefinition}
|
3345
|
+
* - MeasureGroupValue is {@link ITableMeasureGroupValueColumnDefinition}
|
3346
|
+
*
|
3347
|
+
* **When measures are in rows (transposed + pivoted):**
|
3348
|
+
* ```
|
3349
|
+
* | | Quarter | |
|
3350
|
+
* |----------------------------------------|----------------| |
|
3351
|
+
* | Country | City | MeasureGroupHeader | Q1 | ColSum Σ |
|
3352
|
+
* |---------|------|-----------------------|----------------|----------------|
|
3353
|
+
* | USA | NYC | Sales | 250 | 500 |
|
3354
|
+
* | USA | NYC | Profit | 450 | 900 |
|
3355
|
+
* ```
|
3356
|
+
* - Country, City are {@link ITableAttributeColumnDefinition}
|
3357
|
+
* - MeasureGroupHeader is {@link ITableMeasureGroupHeaderColumnDefinition}
|
3358
|
+
* - Q1 is {@link ITableValueColumnDefinition}
|
3359
|
+
* - ColSum Σ is {@link ITableGrandTotalColumnDefinition}
|
3360
|
+
*
|
3141
3361
|
* @alpha
|
3142
3362
|
*/
|
3143
3363
|
export declare type ITableColumnDefinition = ITableAttributeColumnDefinition | ITableValueColumnDefinition | ITableMeasureGroupHeaderColumnDefinition | ITableMeasureGroupValueColumnDefinition | ITableSubtotalColumnDefinition | ITableGrandTotalColumnDefinition;
|
3144
3364
|
|
3145
3365
|
/**
|
3366
|
+
* **The complete table data structure**.
|
3367
|
+
*
|
3368
|
+
* This is the main interface that represents a fully processed table data with all the metadata
|
3369
|
+
* needed to render pivot tables, flat tables, and transposed tables.
|
3370
|
+
*
|
3371
|
+
* It contains the structural definitions (rows/columns), the actual cell data, and flags
|
3372
|
+
* that describe the table layout and data interpretation.
|
3373
|
+
*
|
3146
3374
|
* @alpha
|
3147
3375
|
*/
|
3148
3376
|
export declare type ITableData = {
|
3377
|
+
/**
|
3378
|
+
* Array of column definitions that describe the structure and meaning of each column.
|
3379
|
+
*/
|
3149
3380
|
columnDefinitions: ITableColumnDefinition[];
|
3381
|
+
/**
|
3382
|
+
* Array of row definitions that describe the structure and meaning of each row.
|
3383
|
+
*/
|
3150
3384
|
rowDefinitions: ITableRowDefinition[];
|
3385
|
+
/**
|
3386
|
+
* 2D array of table cell data where `data[rowIndex][columnIndex]` contains
|
3387
|
+
* the formatted and raw values for that specific table position.
|
3388
|
+
*/
|
3151
3389
|
data: ITableDataValue[][];
|
3390
|
+
/**
|
3391
|
+
* Whether the table uses pivoting (attributes in columns bucket).
|
3392
|
+
*/
|
3152
3393
|
isPivoted: boolean;
|
3394
|
+
/**
|
3395
|
+
* Whether measures are transposed from columns into rows.
|
3396
|
+
*/
|
3153
3397
|
isTransposed: boolean;
|
3154
3398
|
};
|
3155
3399
|
|
@@ -3172,6 +3416,17 @@ export declare interface ITableDataAttributeTotalScope {
|
|
3172
3416
|
}
|
3173
3417
|
|
3174
3418
|
/**
|
3419
|
+
* Union of all possible scope types that identify what a specific row or column represents.
|
3420
|
+
*
|
3421
|
+
* **Think of scopes as the "address" system for table data:**
|
3422
|
+
* - Each row has a `rowScope: ITableDataHeaderScope[]` array
|
3423
|
+
* - Each column has a `columnScope: ITableDataHeaderScope[]` array
|
3424
|
+
* - These arrays describe the "path" to identify exactly what data belongs in each cell
|
3425
|
+
*
|
3426
|
+
* When all scopes are regular scopes (attributes and measures) it represents value column or value row.
|
3427
|
+
* When scopes are mixed regular and total scopes, it represents subtotal column or subtotal row.
|
3428
|
+
* When all scopes are total scopes it represents grand total column or grand total row.
|
3429
|
+
*
|
3175
3430
|
* @alpha
|
3176
3431
|
*/
|
3177
3432
|
export declare type ITableDataHeaderScope = ITableDataAttributeScope | ITableDataAttributeTotalScope | ITableDataMeasureScope | ITableDataMeasureTotalScope | ITableDataMeasureGroupScope;
|
@@ -3203,53 +3458,204 @@ export declare interface ITableDataMeasureTotalScope {
|
|
3203
3458
|
}
|
3204
3459
|
|
3205
3460
|
/**
|
3461
|
+
* Union of **all possible cell value shapes** that can appear in the table
|
3462
|
+
* `data` matrix. Each variant corresponds to a concrete column × row
|
3463
|
+
* intersection produced by `dataViewToTableData`.
|
3464
|
+
*
|
3465
|
+
* - Header cells (`attributeHeader`, `measureHeader`, `totalHeader`)
|
3466
|
+
* - Numeric cells with raw measure data (`value`)
|
3467
|
+
* - Aggregations (`subtotalValue`, `grandTotalValue`, `grandTotalSubtotalValue`, `overallTotalValue`)
|
3468
|
+
*
|
3469
|
+
* When interpreting the `data` matrix you should always rely on the concrete subtype.
|
3470
|
+
*
|
3471
|
+
* **Example table without transposition:**
|
3472
|
+
* ```
|
3473
|
+
* Attr A | Col A | Sum A | ColSum Σ |
|
3474
|
+
* ----------+---------+---------+----------+
|
3475
|
+
* Row X | 100 | 200 | 300 |
|
3476
|
+
* Sum B | 400 | 600 | 1000 |
|
3477
|
+
* RowSum Σ | 500 | 800 | 1300 |
|
3478
|
+
* ```
|
3479
|
+
* - Attr A is attribute column, Col A is value column, Sum A is subtotal column, ColSum Σ is grand total column
|
3480
|
+
* - Row X is value row, Sum B is subtotal row, RowSum Σ is grand total row
|
3481
|
+
*
|
3482
|
+
* In this example:
|
3483
|
+
* - Row X is `attributeHeader`
|
3484
|
+
* - Sum B is `totalHeader`
|
3485
|
+
* - RowSum Σ is `grandTotalHeader`
|
3486
|
+
* - Row X : Col A - `100` is `value`
|
3487
|
+
* - Row X : Sum A - `200` is `subtotalValue`
|
3488
|
+
* - Row X : ColSum Σ - `300` is `grandTotalValue`
|
3489
|
+
* - Sum B : Col A - `400` is `subtotalValue`
|
3490
|
+
* - Sum B : Sum A - `600` is `subtotalValue`
|
3491
|
+
* - Sum B : ColSum Σ - `1000` is `grandTotalSubtotalValue`
|
3492
|
+
* - RowSum Σ : Col A - `500` is `grandTotalValue`
|
3493
|
+
* - RowSum Σ : Sum A - `800` is `grandTotalSubtotalValue`
|
3494
|
+
* - RowSum Σ : ColSum Σ - `1300` is `overallTotalValue`
|
3495
|
+
*
|
3206
3496
|
* @alpha
|
3207
3497
|
*/
|
3208
3498
|
export declare type ITableDataValue = ITableAttributeHeaderValue | ITableMeasureHeaderValue | ITableTotalHeaderValue | ITableMeasureValue | ITableSubtotalMeasureValue | ITableGrandTotalHeaderValue | ITableGrandTotalMeasureValue | ITableGrandTotalSubtotalMeasureValue | ITableOverallTotalMeasureValue;
|
3209
3499
|
|
3210
3500
|
/**
|
3501
|
+
* Defines columns that show grand total values.
|
3502
|
+
*
|
3503
|
+
* **What it does:**
|
3504
|
+
* Shows grand totals - these are columns that show the aggregation of values for the top level pivoting attribute,
|
3505
|
+
* always appears as the rightmost columns.
|
3506
|
+
*
|
3507
|
+
* **When it's created:**
|
3508
|
+
* - Only when you have at least 1 attribute in the columns bucket (pivoting).
|
3509
|
+
* - Only when you set total for the leftmost column attribute.
|
3510
|
+
* - In the example, total is set for Brand x Sales.
|
3511
|
+
*
|
3512
|
+
* **Real example:**
|
3513
|
+
* ```
|
3514
|
+
* | | | Brand > Product | |
|
3515
|
+
* | | |---------------------|----------------|
|
3516
|
+
* | | | GoodData | ColMin Σ |
|
3517
|
+
* | | |---------------------| |
|
3518
|
+
* | | | Panther | Bear | |
|
3519
|
+
* |---------|--------|---------------------|----------------|
|
3520
|
+
* | Country | City | Sales | Sales | Sales |
|
3521
|
+
* |---------|--------|----------|----------|----------------|
|
3522
|
+
* | USA | NYC | 100 | 150 | 100 |
|
3523
|
+
* | USA | LA | 200 | 250 | 200 |
|
3524
|
+
* ```
|
3525
|
+
*
|
3211
3526
|
* @alpha
|
3212
3527
|
*/
|
3213
|
-
export declare
|
3528
|
+
export declare type ITableGrandTotalColumnDefinition = {
|
3529
|
+
/**
|
3530
|
+
* Always "grandTotal" - identifies this as a grand total column.
|
3531
|
+
*/
|
3214
3532
|
type: "grandTotal";
|
3533
|
+
/**
|
3534
|
+
* Position of this column in the final table (0-based).
|
3535
|
+
* Usually the rightmost column in the table.
|
3536
|
+
*/
|
3215
3537
|
columnIndex: number;
|
3538
|
+
/**
|
3539
|
+
* Position in the original column headers array.
|
3540
|
+
*/
|
3216
3541
|
columnHeaderIndex: number;
|
3542
|
+
/**
|
3543
|
+
* Describes exactly what this column represents.
|
3544
|
+
*/
|
3217
3545
|
columnScope: ITableDataHeaderScope[];
|
3218
|
-
}
|
3546
|
+
} & (/**
|
3547
|
+
* Handles case, when pivoting and measures are in rows.
|
3548
|
+
*/ {
|
3549
|
+
isEmpty: false;
|
3550
|
+
isTransposed: true;
|
3551
|
+
totalHeader: IResultTotalHeader;
|
3552
|
+
attributeDescriptor: IAttributeDescriptor;
|
3553
|
+
} | /**
|
3554
|
+
* Handles standard pivoting case without transposition.
|
3555
|
+
*/ {
|
3556
|
+
isEmpty: false;
|
3557
|
+
isTransposed: false;
|
3558
|
+
totalHeader: IResultTotalHeader;
|
3559
|
+
measureDescriptor: IMeasureDescriptor;
|
3560
|
+
});
|
3219
3561
|
|
3220
3562
|
/**
|
3563
|
+
* Header cell labeling a **grand-total row** (usually located in the first columns).
|
3564
|
+
*
|
3565
|
+
* **Visual example:**
|
3566
|
+
* ```
|
3567
|
+
* | Q1 | Q2 | ColSum Σ |
|
3568
|
+
* -----------+-----+-----+----------+
|
3569
|
+
* USA | 100 | 120 | 220 |
|
3570
|
+
* CAN | 80 | 90 | 170 |
|
3571
|
+
* RowSum Σ | 180 | 210 | 390 | <- RowSum Σ is grandTotalHeader
|
3572
|
+
* ```
|
3573
|
+
*
|
3221
3574
|
* @alpha
|
3222
3575
|
*/
|
3223
3576
|
export declare interface ITableGrandTotalHeaderValue {
|
3577
|
+
/**
|
3578
|
+
* Discriminator literal for narrowing the `ITableDataValue` union.
|
3579
|
+
*/
|
3224
3580
|
type: "grandTotalHeader";
|
3581
|
+
/**
|
3582
|
+
* Display text for the grand total row label (e.g., "Sum", "Total").
|
3583
|
+
* Usually shows the aggregation type or a localized "Total" label.
|
3584
|
+
*/
|
3225
3585
|
formattedValue: string | null;
|
3586
|
+
/**
|
3587
|
+
* Zero-based row position in the `data` matrix.
|
3588
|
+
* Points to a grand-total row that this header cell labels.
|
3589
|
+
*/
|
3226
3590
|
rowIndex: number;
|
3591
|
+
/**
|
3592
|
+
* Zero-based column position in the `data` matrix.
|
3593
|
+
* Usually points to the first attribute column (leftmost) or
|
3594
|
+
* measure header column (when measures are transposed).
|
3595
|
+
*/
|
3227
3596
|
columnIndex: number;
|
3228
|
-
|
3229
|
-
|
3230
|
-
|
3231
|
-
|
3232
|
-
|
3233
|
-
|
3234
|
-
|
3597
|
+
/**
|
3598
|
+
* Row context - grand-total row since this header
|
3599
|
+
* cell is labeling a grand-total row.
|
3600
|
+
*/
|
3601
|
+
rowDefinition: ITableGrandTotalRowDefinition;
|
3602
|
+
/**
|
3603
|
+
* Column context - typically an attribute column or measure header column
|
3604
|
+
* where the grand total label appears.
|
3605
|
+
*/
|
3606
|
+
columnDefinition: ITableAttributeColumnDefinition | ITableMeasureGroupHeaderColumnDefinition;
|
3235
3607
|
}
|
3236
3608
|
|
3237
3609
|
/**
|
3610
|
+
* Numeric cell containing **grand totals** – totals across rows or columns.
|
3611
|
+
*
|
3612
|
+
* **Visual example**
|
3613
|
+
* ```
|
3614
|
+
* // Column grand total:
|
3615
|
+
* | Q1 | ColSum Σ |
|
3616
|
+
* -----------+-----+----------+
|
3617
|
+
* USA | 100 | 220 | <- 220 is grandTotalValue
|
3618
|
+
*
|
3619
|
+
* // Row grand total:
|
3620
|
+
* | Q1 | Q2 |
|
3621
|
+
* -----------+-----+-----+
|
3622
|
+
* USA | 100 | 120 |
|
3623
|
+
* RowSum Σ | 180 | 210 | <- 180 and 210 are grandTotalValue cells
|
3624
|
+
* ```
|
3625
|
+
*
|
3238
3626
|
* @alpha
|
3239
3627
|
*/
|
3240
3628
|
export declare interface ITableGrandTotalMeasureValue {
|
3629
|
+
/**
|
3630
|
+
* Discriminator literal for narrowing the `ITableDataValue` union.
|
3631
|
+
*/
|
3241
3632
|
type: "grandTotalValue";
|
3633
|
+
/**
|
3634
|
+
* Human-readable formatted grand total value (e.g., "$10,000.00").
|
3635
|
+
* Uses the measure's format string and locale settings.
|
3636
|
+
*/
|
3242
3637
|
formattedValue: string | null;
|
3638
|
+
/**
|
3639
|
+
* Raw aggregated grand total value from the backend.
|
3640
|
+
* Result of aggregating across all rows or columns for this measure.
|
3641
|
+
*/
|
3243
3642
|
value: DataValue;
|
3643
|
+
/**
|
3644
|
+
* Zero-based row position in the `data` matrix.
|
3645
|
+
*/
|
3244
3646
|
rowIndex: number;
|
3647
|
+
/**
|
3648
|
+
* Zero-based column position in the `data` matrix.
|
3649
|
+
*/
|
3245
3650
|
columnIndex: number;
|
3246
|
-
|
3247
|
-
|
3248
|
-
|
3249
|
-
|
3250
|
-
|
3251
|
-
|
3252
|
-
|
3651
|
+
/**
|
3652
|
+
* Row context - value or grand-total row.
|
3653
|
+
*/
|
3654
|
+
rowDefinition: ITableValueRowDefinition | ITableGrandTotalRowDefinition;
|
3655
|
+
/**
|
3656
|
+
* Column context - value column, grand-total column, or measure group value column.
|
3657
|
+
*/
|
3658
|
+
columnDefinition: ITableValueColumnDefinition | ITableGrandTotalColumnDefinition | ITableMeasureGroupValueColumnDefinition;
|
3253
3659
|
}
|
3254
3660
|
|
3255
3661
|
/**
|
@@ -3265,111 +3671,434 @@ export declare interface ITableGrandTotalRowDefinition {
|
|
3265
3671
|
}
|
3266
3672
|
|
3267
3673
|
/**
|
3674
|
+
* Numeric cell at the **intersection of row and column subtotals + grandtotals** – the *subtotals of grandtotals*.
|
3675
|
+
*
|
3676
|
+
* **Visual example**
|
3677
|
+
* ```
|
3678
|
+
* // Column grand total + row subtotal:
|
3679
|
+
* | Q1 | ColSum Σ |
|
3680
|
+
* -----------+-----+----------+
|
3681
|
+
* Sum A | 100 | 220 | <- 220 is grandTotalSubtotalValue
|
3682
|
+
*
|
3683
|
+
* // Row grand total + column subtotal:
|
3684
|
+
* | Q1 | Sum A |
|
3685
|
+
* -----------+-----+-------+
|
3686
|
+
* USA | 100 | 120 |
|
3687
|
+
* RowSum Σ | 180 | 210 | <- 210 is grandTotalSubtotalValue
|
3688
|
+
* ```
|
3689
|
+
*
|
3268
3690
|
* @alpha
|
3269
3691
|
*/
|
3270
3692
|
export declare interface ITableGrandTotalSubtotalMeasureValue {
|
3693
|
+
/**
|
3694
|
+
* Discriminator literal for narrowing the `ITableDataValue` union.
|
3695
|
+
*/
|
3271
3696
|
type: "grandTotalSubtotalValue";
|
3697
|
+
/**
|
3698
|
+
* Human-readable formatted intersection total value (e.g., "$15,000.00").
|
3699
|
+
*/
|
3272
3700
|
formattedValue: string | null;
|
3701
|
+
/**
|
3702
|
+
* Raw aggregated value at the intersection of row and column totals.
|
3703
|
+
*/
|
3273
3704
|
value: DataValue;
|
3705
|
+
/**
|
3706
|
+
* Zero-based row position in the `data` matrix.
|
3707
|
+
*/
|
3274
3708
|
rowIndex: number;
|
3709
|
+
/**
|
3710
|
+
* Zero-based column position in the `data` matrix.
|
3711
|
+
*/
|
3275
3712
|
columnIndex: number;
|
3276
|
-
|
3277
|
-
|
3278
|
-
|
3279
|
-
|
3280
|
-
|
3281
|
-
|
3282
|
-
|
3713
|
+
/**
|
3714
|
+
* Row context - grand-total row or subtotal row.
|
3715
|
+
*/
|
3716
|
+
rowDefinition: ITableSubtotalRowDefinition | ITableGrandTotalRowDefinition;
|
3717
|
+
/**
|
3718
|
+
* Column context - subtotal column or grand-total column.
|
3719
|
+
*/
|
3720
|
+
columnDefinition: ITableSubtotalColumnDefinition | ITableGrandTotalColumnDefinition;
|
3283
3721
|
}
|
3284
3722
|
|
3285
3723
|
/**
|
3724
|
+
* Defines the column that shows measure names when measures are in rows.
|
3725
|
+
*
|
3726
|
+
* **What it does:**
|
3727
|
+
* When you put measures in rows instead of columns, you need a column to show
|
3728
|
+
* which measure each row represents ("Sales", "Profit", etc.).
|
3729
|
+
*
|
3730
|
+
* **When it's created:**
|
3731
|
+
* - Only when `measureDimension === "rows"` (measures are transposed)
|
3732
|
+
* - Always created when you have measures in rows
|
3733
|
+
* - Appears right after your attribute columns
|
3734
|
+
*
|
3735
|
+
* **Real example:**
|
3736
|
+
* ```
|
3737
|
+
* | Country | City | Measure | Q1 | Q2 | <- "Measure" column shows measure names
|
3738
|
+
* |---------|------|---------|-----|-----|
|
3739
|
+
* | USA | NYC | Sales | 100 | 150 |
|
3740
|
+
* | USA | NYC | Profit | 20 | 30 |
|
3741
|
+
* | USA | LA | Sales | 200 | 250 |
|
3742
|
+
* | USA | LA | Profit | 40 | 50 |
|
3743
|
+
* ```
|
3744
|
+
*
|
3286
3745
|
* @alpha
|
3287
3746
|
*/
|
3288
3747
|
export declare interface ITableMeasureGroupHeaderColumnDefinition {
|
3748
|
+
/**
|
3749
|
+
* Always "measureGroupHeader" - identifies this as a measure names column.
|
3750
|
+
*/
|
3289
3751
|
type: "measureGroupHeader";
|
3752
|
+
/**
|
3753
|
+
* Position of this column in the final table (0-based).
|
3754
|
+
* Always appears right after attribute columns, before value columns.
|
3755
|
+
*/
|
3290
3756
|
columnIndex: number;
|
3757
|
+
/**
|
3758
|
+
* Metadata about the group of measures being displayed.
|
3759
|
+
* Contains information about all measures that will appear in rows.
|
3760
|
+
*/
|
3291
3761
|
measureGroupDescriptor: IMeasureGroupDescriptor;
|
3762
|
+
/**
|
3763
|
+
* Descriptors for attributes that are in the columns bucket.
|
3764
|
+
*/
|
3292
3765
|
attributeDescriptors: IAttributeDescriptor[];
|
3293
3766
|
}
|
3294
3767
|
|
3295
3768
|
/**
|
3769
|
+
* Defines the single value column when measures are in rows and there are no column attributes.
|
3770
|
+
*
|
3771
|
+
* **What it does:**
|
3772
|
+
* When measures are in rows and you don't have any attributes in columns,
|
3773
|
+
* you get one simple "Values" column that shows all the numbers.
|
3774
|
+
*
|
3775
|
+
* **When it's created:**
|
3776
|
+
* - Only when measures are in rows and there are no pivoting columns.
|
3777
|
+
* - Appears as the rightmost column after the measure header column
|
3778
|
+
*
|
3779
|
+
* **Real example:**
|
3780
|
+
* ```
|
3781
|
+
* | Country | City | Measure | Value | <- "Value" is the measure group value column
|
3782
|
+
* |---------|------|---------|-------|
|
3783
|
+
* | USA | NYC | Sales | 100 |
|
3784
|
+
* | USA | NYC | Profit | 20 |
|
3785
|
+
* | USA | LA | Sales | 200 |
|
3786
|
+
* | USA | LA | Profit | 40 |
|
3787
|
+
* ```
|
3788
|
+
*
|
3789
|
+
* **What happens if you DO have column attributes:**
|
3790
|
+
* If you have attributes in columns (like "Q1", "Q2"), then instead of this single
|
3791
|
+
* column, you get multiple `ITableValueColumnDefinition` columns - one for each
|
3792
|
+
* column attribute combination.
|
3793
|
+
*
|
3296
3794
|
* @alpha
|
3297
3795
|
*/
|
3298
3796
|
export declare interface ITableMeasureGroupValueColumnDefinition {
|
3797
|
+
/**
|
3798
|
+
* Always "measureGroupValue" - identifies this as the single values column
|
3799
|
+
* when measures are in rows and there are no column attributes.
|
3800
|
+
*/
|
3299
3801
|
type: "measureGroupValue";
|
3802
|
+
/**
|
3803
|
+
* Position of this column in the final table (0-based).
|
3804
|
+
* Always the rightmost column when this type is used.
|
3805
|
+
*/
|
3300
3806
|
columnIndex: number;
|
3807
|
+
/**
|
3808
|
+
* Metadata about the group of measures whose values are shown.
|
3809
|
+
*/
|
3301
3810
|
measureGroupDescriptor: IMeasureGroupDescriptor;
|
3302
3811
|
}
|
3303
3812
|
|
3304
3813
|
/**
|
3814
|
+
* Cell inside the {@link ITableMeasureGroupHeaderColumnDefinition}.
|
3815
|
+
* Appears **only when measures are transposed into rows**.
|
3816
|
+
* Each cell corresponds to one `IResultMeasureHeader` and labels the measure for that specific row.
|
3817
|
+
*
|
3818
|
+
* **Visual example**
|
3819
|
+
* ```
|
3820
|
+
* Attribute | Measure | Value |
|
3821
|
+
* -----------+---------+-------+
|
3822
|
+
* USA | Sales | 100 | <- "Sales" is measureHeader
|
3823
|
+
* USA | Cost | 80 | <- "Cost" is measureHeader
|
3824
|
+
* ```
|
3825
|
+
* The "Sales" and "Cost" **names** in the "Measure" column are `measureHeader` cells.
|
3826
|
+
* The numeric values (100, 80) are regular `value` cells.
|
3827
|
+
*
|
3828
|
+
* **When measures are in columns (no transposition), this interface is NOT used.**
|
3829
|
+
* Instead, measure names appear as regular column headers in the table structure.
|
3830
|
+
*
|
3305
3831
|
* @alpha
|
3306
3832
|
*/
|
3307
3833
|
export declare interface ITableMeasureHeaderValue {
|
3834
|
+
/**
|
3835
|
+
* Discriminator literal for narrowing the `ITableDataValue` union.
|
3836
|
+
*/
|
3308
3837
|
type: "measureHeader";
|
3838
|
+
/**
|
3839
|
+
* Display name of the measure (e.g., "Sales", "Revenue").
|
3840
|
+
*/
|
3309
3841
|
formattedValue: string | null;
|
3842
|
+
/**
|
3843
|
+
* The raw `IResultMeasureHeader` object.
|
3844
|
+
*/
|
3310
3845
|
value: IResultMeasureHeader;
|
3846
|
+
/**
|
3847
|
+
* Zero-based row position in the `data` matrix.
|
3848
|
+
*/
|
3311
3849
|
rowIndex: number;
|
3850
|
+
/**
|
3851
|
+
* Zero-based column position in the `data` matrix.
|
3852
|
+
*/
|
3312
3853
|
columnIndex: number;
|
3313
|
-
|
3314
|
-
|
3854
|
+
/**
|
3855
|
+
* Row context - can be only value row.
|
3856
|
+
*/
|
3857
|
+
rowDefinition: ITableValueRowDefinition;
|
3858
|
+
/**
|
3859
|
+
* Column context - always a `measureGroupHeader` column.
|
3860
|
+
*/
|
3861
|
+
columnDefinition: ITableMeasureGroupHeaderColumnDefinition;
|
3315
3862
|
}
|
3316
3863
|
|
3317
3864
|
/**
|
3865
|
+
* Numeric cell containing a **raw measure value** for regular (non-aggregated) row/column intersections.
|
3866
|
+
*
|
3867
|
+
* **Visual examples:**
|
3868
|
+
* ```
|
3869
|
+
* // Normal (measures in columns):
|
3870
|
+
* Country | Sales |
|
3871
|
+
* -----------+--------+
|
3872
|
+
* USA | 100 | <- 100 is value cell
|
3873
|
+
*
|
3874
|
+
* // Transposed (measures in rows):
|
3875
|
+
* Country | | |
|
3876
|
+
* -----------+---------+-------+
|
3877
|
+
* USA | Sales | 100 | <- 100 is value cell
|
3878
|
+
* ```
|
3879
|
+
*
|
3318
3880
|
* @alpha
|
3319
3881
|
*/
|
3320
3882
|
export declare interface ITableMeasureValue {
|
3883
|
+
/**
|
3884
|
+
* Discriminator literal for narrowing the `ITableDataValue` union.
|
3885
|
+
*/
|
3321
3886
|
type: "value";
|
3887
|
+
/**
|
3888
|
+
* Human-readable formatted number ready for display (e.g., "$1,234.56").
|
3889
|
+
* Formatted using the measure's format string and respects locale settings.
|
3890
|
+
* Null if the raw value is null/missing.
|
3891
|
+
*/
|
3322
3892
|
formattedValue: string | null;
|
3893
|
+
/**
|
3894
|
+
* Raw numeric value from the backend execution response.
|
3895
|
+
* Can be number, string, or null depending on the measure data.
|
3896
|
+
*/
|
3323
3897
|
value: DataValue;
|
3898
|
+
/**
|
3899
|
+
* Zero-based row position in the `data` matrix.
|
3900
|
+
*/
|
3324
3901
|
rowIndex: number;
|
3902
|
+
/**
|
3903
|
+
* Zero-based column position in the `data` matrix.
|
3904
|
+
*/
|
3325
3905
|
columnIndex: number;
|
3906
|
+
/**
|
3907
|
+
* Row context - value or subtotal row.
|
3908
|
+
*/
|
3326
3909
|
rowDefinition: ITableValueRowDefinition | ITableSubtotalRowDefinition;
|
3910
|
+
/**
|
3911
|
+
* Column context - value column or measureGroupValue column.
|
3912
|
+
*/
|
3327
3913
|
columnDefinition: ITableValueColumnDefinition | ITableMeasureGroupValueColumnDefinition;
|
3328
3914
|
}
|
3329
3915
|
|
3330
3916
|
/**
|
3917
|
+
* Numeric cell at the **overall grand-total** intersection (bottom-right corner)
|
3918
|
+
* aggregating across *all* rows and columns.
|
3919
|
+
*
|
3920
|
+
* **Visual example:**
|
3921
|
+
* ```
|
3922
|
+
* | Q1 | Q2 | ColSum Σ |
|
3923
|
+
* -----------+-----+-----+----------+
|
3924
|
+
* USA | 100 | 120 | 220 |
|
3925
|
+
* CAN | 80 | 90 | 170 |
|
3926
|
+
* RowSum Σ | 180 | 210 | 390 | <- 390 is overallTotalValue
|
3927
|
+
* ```
|
3928
|
+
*
|
3331
3929
|
* @alpha
|
3332
3930
|
*/
|
3333
3931
|
export declare interface ITableOverallTotalMeasureValue {
|
3932
|
+
/**
|
3933
|
+
* Discriminator literal for narrowing the `ITableDataValue` union.
|
3934
|
+
*/
|
3334
3935
|
type: "overallTotalValue";
|
3936
|
+
/**
|
3937
|
+
* Human-readable formatted overall total value (e.g., "$50,000.00").
|
3938
|
+
*/
|
3335
3939
|
formattedValue: string | null;
|
3940
|
+
/**
|
3941
|
+
* Raw overall total value from the backend.
|
3942
|
+
*/
|
3336
3943
|
value: DataValue;
|
3944
|
+
/**
|
3945
|
+
* Zero-based row position in the `data` matrix.
|
3946
|
+
*/
|
3337
3947
|
rowIndex: number;
|
3948
|
+
/**
|
3949
|
+
* Zero-based column position in the `data` matrix.
|
3950
|
+
*/
|
3338
3951
|
columnIndex: number;
|
3952
|
+
/**
|
3953
|
+
* Row context - grand-total row since this is the
|
3954
|
+
* grand-total row × grand-total column intersection.
|
3955
|
+
*/
|
3339
3956
|
rowDefinition: ITableGrandTotalRowDefinition;
|
3957
|
+
/**
|
3958
|
+
* Column context - grand-total column since this is the
|
3959
|
+
* grand-total row × grand-total column intersection.
|
3960
|
+
*/
|
3340
3961
|
columnDefinition: ITableGrandTotalColumnDefinition;
|
3341
|
-
grandTotalInfo?: {
|
3342
|
-
type: TotalType;
|
3343
|
-
measure: IMeasureDescriptor;
|
3344
|
-
attribute: IAttributeDescriptor;
|
3345
|
-
};
|
3346
3962
|
}
|
3347
3963
|
|
3348
3964
|
/**
|
3965
|
+
* Union of all possible row types in the table data structure.
|
3966
|
+
*
|
3967
|
+
* Think of the final table as a stack of these row types:
|
3968
|
+
* 1. **Value rows** – normal data rows (one per combination of row attributes)
|
3969
|
+
* 2. **Subtotal rows** – subtotal rows (only when subtotals are configured)
|
3970
|
+
* 3. **Grand-total rows** – grand-total rows (only when grand totals are configured)
|
3971
|
+
*
|
3972
|
+
* The exact mix depends on your configuration (pivoting, transposition, totals settings).
|
3973
|
+
*
|
3974
|
+
* **Example layout (no transposition, subtotals + grand totals enabled):**
|
3975
|
+
* ```
|
3976
|
+
* | Country | City | Q1 Sales | Q2 Sales |
|
3977
|
+
* |-------------|----------|----------|----------|
|
3978
|
+
* | USA | NYC | 100 | 150 | <- value row
|
3979
|
+
* | USA | LA | 200 | 250 | <- value row
|
3980
|
+
* | USA | SUBTOTAL | 300 | 400 | <- subtotal row
|
3981
|
+
* | CAN | TOR | 80 | 90 | <- value row
|
3982
|
+
* | CAN | SUBTOTAL | 80 | 90 | <- subtotal row
|
3983
|
+
* | GRAND TOTAL | | 380 | 490 | <- grand-total row
|
3984
|
+
* ```
|
3985
|
+
*
|
3349
3986
|
* @alpha
|
3350
3987
|
*/
|
3351
3988
|
export declare type ITableRowDefinition = ITableValueRowDefinition | ITableSubtotalRowDefinition | ITableGrandTotalRowDefinition;
|
3352
3989
|
|
3353
3990
|
/**
|
3991
|
+
* Defines columns that show subtotal values.
|
3992
|
+
*
|
3993
|
+
* **What it does:**
|
3994
|
+
* Shows subtotals - these are columns that show the aggregation of values for a specific attribute pivoting subgroup.
|
3995
|
+
*
|
3996
|
+
* **When it's created:**
|
3997
|
+
* - Only when you have at least 2 attributes in the columns bucket (pivoting).
|
3998
|
+
* - Only when you set total for pivoting subgroup (not the leftmost column attribute - then it's grand total).
|
3999
|
+
* - In the example, total is set for Product x Sales.
|
4000
|
+
*
|
4001
|
+
* **Real example:**
|
4002
|
+
* ```
|
4003
|
+
* | | | Brand > Product | |
|
4004
|
+
* | | |---------------------|----------------|
|
4005
|
+
* | | | GoodData | |
|
4006
|
+
* | | |---------------------|----------------|
|
4007
|
+
* | | | Panther | Bear | Sum A |
|
4008
|
+
* |---------|--------|---------------------|----------------|
|
4009
|
+
* | Country | City | Sales | Sales | Sales |
|
4010
|
+
* |---------|--------|----------|----------|----------------|
|
4011
|
+
* | USA | NYC | 100 | 150 | 250 |
|
4012
|
+
* | USA | LA | 200 | 250 | 450 |
|
4013
|
+
* ```
|
4014
|
+
*
|
3354
4015
|
* @alpha
|
3355
4016
|
*/
|
3356
|
-
export declare
|
4017
|
+
export declare type ITableSubtotalColumnDefinition = {
|
4018
|
+
/**
|
4019
|
+
* Always "subtotal" - identifies this as a subtotal column.
|
4020
|
+
*/
|
3357
4021
|
type: "subtotal";
|
4022
|
+
/**
|
4023
|
+
* Position of this column in the final table (0-based).
|
4024
|
+
* Usually appears after regular value columns for each pivot subgroup.
|
4025
|
+
*/
|
3358
4026
|
columnIndex: number;
|
4027
|
+
/**
|
4028
|
+
* Position in the original headers array.
|
4029
|
+
*/
|
3359
4030
|
columnHeaderIndex: number;
|
4031
|
+
/**
|
4032
|
+
* Describes exactly what this column represents.
|
4033
|
+
* For subtotal, its always mix of regular attribute / measure scopes and total scopes.
|
4034
|
+
*/
|
3360
4035
|
columnScope: ITableDataHeaderScope[];
|
4036
|
+
} & (/**
|
4037
|
+
* Handles case, when pivoting and measures are in rows.
|
4038
|
+
*/ {
|
4039
|
+
isEmpty: false;
|
4040
|
+
isTransposed: true;
|
4041
|
+
totalHeader: IResultTotalHeader;
|
4042
|
+
attributeDescriptor: IAttributeDescriptor;
|
3361
4043
|
}
|
4044
|
+
/**
|
4045
|
+
* Handles standard pivoting case without transposition.
|
4046
|
+
*/
|
4047
|
+
| {
|
4048
|
+
isEmpty: false;
|
4049
|
+
isTransposed: false;
|
4050
|
+
totalHeader: IResultTotalHeader;
|
4051
|
+
measureDescriptor: IMeasureDescriptor;
|
4052
|
+
});
|
3362
4053
|
|
3363
4054
|
/**
|
4055
|
+
* Numeric cell containing **subtotals** aggregated across sibling rows/columns.
|
4056
|
+
*
|
4057
|
+
* **Visual example**
|
4058
|
+
* ```
|
4059
|
+
* // Row subtotal:
|
4060
|
+
* | Sales |
|
4061
|
+
* -----------+--------+
|
4062
|
+
* USA | 100 |
|
4063
|
+
* Sum A | 170 | <- 170 is subtotalValue
|
4064
|
+
*
|
4065
|
+
* // Column subtotal:
|
4066
|
+
* | Q1 | Sum A |
|
4067
|
+
* -----------+-----+---------+
|
4068
|
+
* USA | 100 | 220 | <- 220 is subtotalValue
|
4069
|
+
* ```
|
4070
|
+
*
|
3364
4071
|
* @alpha
|
3365
4072
|
*/
|
3366
4073
|
export declare interface ITableSubtotalMeasureValue {
|
4074
|
+
/**
|
4075
|
+
* Discriminator literal for narrowing the `ITableDataValue` union.
|
4076
|
+
*/
|
3367
4077
|
type: "subtotalValue";
|
4078
|
+
/**
|
4079
|
+
* Human-readable formatted subtotal value (e.g., "$2,345.67").
|
4080
|
+
*/
|
3368
4081
|
formattedValue: string | null;
|
4082
|
+
/**
|
4083
|
+
* Raw aggregated subtotal value from the backend.
|
4084
|
+
* Result of summing/averaging/etc. across sibling rows or columns.
|
4085
|
+
*/
|
3369
4086
|
value: DataValue;
|
4087
|
+
/**
|
4088
|
+
* Zero-based row position in the `data` matrix.
|
4089
|
+
*/
|
3370
4090
|
rowIndex: number;
|
4091
|
+
/**
|
4092
|
+
* Zero-based column position in the `data` matrix.
|
4093
|
+
*/
|
3371
4094
|
columnIndex: number;
|
4095
|
+
/**
|
4096
|
+
* Row context - value or subtotal row.
|
4097
|
+
*/
|
3372
4098
|
rowDefinition: ITableValueRowDefinition | ITableSubtotalRowDefinition;
|
4099
|
+
/**
|
4100
|
+
* Column context - value column or subtotal column.
|
4101
|
+
*/
|
3373
4102
|
columnDefinition: ITableValueColumnDefinition | ITableSubtotalColumnDefinition;
|
3374
4103
|
}
|
3375
4104
|
|
@@ -3383,27 +4112,132 @@ export declare interface ITableSubtotalRowDefinition {
|
|
3383
4112
|
}
|
3384
4113
|
|
3385
4114
|
/**
|
4115
|
+
* Cell that represents total header.
|
4116
|
+
* Each cell corresponds to one `IResultTotalHeader` and labels the total for that specific row / column.
|
4117
|
+
*
|
4118
|
+
* **Visual example**
|
4119
|
+
* ```
|
4120
|
+
* Attribute | Value |
|
4121
|
+
* -----------+-------+
|
4122
|
+
* USA | 100 |
|
4123
|
+
* Sum A | 80 | <- "Sum A" is totalHeader
|
4124
|
+
* ```
|
4125
|
+
*
|
3386
4126
|
* @alpha
|
3387
4127
|
*/
|
3388
4128
|
export declare interface ITableTotalHeaderValue {
|
4129
|
+
/**
|
4130
|
+
* Discriminator literal for narrowing the `ITableDataValue` union.
|
4131
|
+
*/
|
3389
4132
|
type: "totalHeader";
|
4133
|
+
/**
|
4134
|
+
* Display text for the total header (e.g., "Sum", "Avg", "Max").
|
4135
|
+
*/
|
3390
4136
|
formattedValue: string | null;
|
4137
|
+
/**
|
4138
|
+
* The raw `IResultTotalHeader` object containing total metadata
|
4139
|
+
* like totalType, measureIndex, etc.
|
4140
|
+
*/
|
3391
4141
|
value: IResultTotalHeader;
|
4142
|
+
/**
|
4143
|
+
* Zero-based row position in the `data` matrix.
|
4144
|
+
* Usually points to a subtotal or grand-total row.
|
4145
|
+
*/
|
3392
4146
|
rowIndex: number;
|
4147
|
+
/**
|
4148
|
+
* Zero-based column position in the `data` matrix.
|
4149
|
+
* Points to the measure header column when measures are transposed.
|
4150
|
+
*/
|
3393
4151
|
columnIndex: number;
|
3394
|
-
|
3395
|
-
|
4152
|
+
/**
|
4153
|
+
* Row context - subtotal or value row.
|
4154
|
+
*/
|
4155
|
+
rowDefinition: ITableValueRowDefinition | ITableSubtotalRowDefinition;
|
4156
|
+
/**
|
4157
|
+
* Column context - value column, subtotal column, measure group header column, or attribute column.
|
4158
|
+
*/
|
4159
|
+
columnDefinition: ITableValueColumnDefinition | ITableSubtotalColumnDefinition | ITableMeasureGroupHeaderColumnDefinition | ITableAttributeColumnDefinition;
|
3396
4160
|
}
|
3397
4161
|
|
3398
4162
|
/**
|
4163
|
+
* Defines columns that contain actual data values (values and subtotals).
|
4164
|
+
*
|
4165
|
+
* **What it does:**
|
4166
|
+
* These columns show your actual data - sales numbers, counts, percentages, etc.
|
4167
|
+
* The `columnScope` tells you exactly what this column represents.
|
4168
|
+
*
|
4169
|
+
* **When it's created:**
|
4170
|
+
* The system creates these based on your column headers. Here's how:
|
4171
|
+
*
|
4172
|
+
* **Simple case - just measures:**
|
4173
|
+
* ```
|
4174
|
+
* | Country | Sales | Profit | <- Sales and Profit are value columns
|
4175
|
+
* |---------|-------|--------|
|
4176
|
+
* | USA | 100 | 20 |
|
4177
|
+
* ```
|
4178
|
+
*
|
4179
|
+
* **Pivoted case - attributes + measures in columns:**
|
4180
|
+
* ```
|
4181
|
+
* | Country | East Sales | East Profit | West Sales | West Profit |
|
4182
|
+
* |---------|------------|-------------|------------|-------------|
|
4183
|
+
* | USA | 100 | 20 | 150 | 30 |
|
4184
|
+
* ```
|
4185
|
+
*
|
4186
|
+
* **Transposed case - measures in rows, attributes in columns:**
|
4187
|
+
* ```
|
4188
|
+
* | Country | Measure | East | West |
|
4189
|
+
* |---------|---------|------|------|
|
4190
|
+
* | USA | Sales | 100 | 150 |
|
4191
|
+
* | USA | Profit | 20 | 30 |
|
4192
|
+
* ```
|
4193
|
+
*
|
3399
4194
|
* @alpha
|
3400
4195
|
*/
|
3401
|
-
export declare
|
4196
|
+
export declare type ITableValueColumnDefinition = {
|
4197
|
+
/**
|
4198
|
+
* Always "value" - identifies this as a value column.
|
4199
|
+
*/
|
3402
4200
|
type: "value";
|
4201
|
+
/**
|
4202
|
+
* Position of this column in the final table (0-based).
|
4203
|
+
* Comes after all row attribute columns.
|
4204
|
+
*/
|
3403
4205
|
columnIndex: number;
|
4206
|
+
/**
|
4207
|
+
* Position in the original column headers array.
|
4208
|
+
*/
|
3404
4209
|
columnHeaderIndex: number;
|
4210
|
+
/**
|
4211
|
+
* Describes exactly what this column represents.
|
4212
|
+
* For value, its always only regular attribute / measure scopes.
|
4213
|
+
*/
|
3405
4214
|
columnScope: ITableDataHeaderScope[];
|
4215
|
+
} & (/**
|
4216
|
+
* Handles case, when pivoting and measures are in rows.
|
4217
|
+
*/ {
|
4218
|
+
isEmpty: false;
|
4219
|
+
isTransposed: true;
|
4220
|
+
attributeHeader: IResultAttributeHeader;
|
4221
|
+
attributeDescriptor: IAttributeDescriptor;
|
3406
4222
|
}
|
4223
|
+
/**
|
4224
|
+
* Handles standard pivoting case without transposition.
|
4225
|
+
*/
|
4226
|
+
| {
|
4227
|
+
isEmpty: false;
|
4228
|
+
isTransposed: false;
|
4229
|
+
measureHeader: IResultMeasureHeader;
|
4230
|
+
measureDescriptor: IMeasureDescriptor;
|
4231
|
+
}
|
4232
|
+
/**
|
4233
|
+
* Handles case, when pivoting, but there are no measures.
|
4234
|
+
*/
|
4235
|
+
| {
|
4236
|
+
isEmpty: true;
|
4237
|
+
isTransposed: false;
|
4238
|
+
attributeHeader: IResultAttributeHeader;
|
4239
|
+
attributeDescriptor: IAttributeDescriptor;
|
4240
|
+
});
|
3407
4241
|
|
3408
4242
|
/**
|
3409
4243
|
* @alpha
|
@@ -3455,7 +4289,7 @@ export declare interface ITranslationsCustomizationProviderProps {
|
|
3455
4289
|
/**
|
3456
4290
|
* Component that will be render (Render Props pattern).
|
3457
4291
|
*/
|
3458
|
-
render(translations: Record<string, string>):
|
4292
|
+
render(translations: Record<string, string>): ReactElement;
|
3459
4293
|
/**
|
3460
4294
|
* Customization function that will change final translations.
|
3461
4295
|
*/
|
@@ -4185,7 +5019,7 @@ export declare type PlaceholderResolvedValue<T> = T extends Array<infer A> ? Fla
|
|
4185
5019
|
*
|
4186
5020
|
* @public
|
4187
5021
|
*/
|
4188
|
-
export declare function PlaceholdersProvider(props: IPlaceholdersProviderProps):
|
5022
|
+
export declare function PlaceholdersProvider(props: IPlaceholdersProviderProps): ReactElement;
|
4189
5023
|
|
4190
5024
|
/**
|
4191
5025
|
* Convert tuple of values that may contain placeholders to tuple of their respective resolved value types.
|