react-semaphor 0.1.309 → 0.1.311
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/brand-studio/index.cjs +1 -1
- package/dist/brand-studio/index.js +4 -4
- package/dist/chunks/{braces-DEq8EJtw.js → braces-CSECDaJQ.js} +1 -1
- package/dist/chunks/{braces-BHDm9arh.js → braces-DwaAt32i.js} +1 -1
- package/dist/chunks/{chevrons-up-down-DDEY9beZ.js → chevrons-up-down-3vBEM7eI.js} +1 -1
- package/dist/chunks/{chevrons-up-down-Cbtggnqv.js → chevrons-up-down-DJhB8JNW.js} +1 -1
- package/dist/chunks/common-types-4bjoIgvm.js +75 -0
- package/dist/chunks/common-types-C73-Ud1-.js +1 -0
- package/dist/chunks/{dashboard-controls-Cp41403T.js → dashboard-controls-CeKjYa7s.js} +83 -83
- package/dist/chunks/{dashboard-controls-C_vjMmt2.js → dashboard-controls-Ds8Hmo3Q.js} +1 -1
- package/dist/chunks/{dashboard-filter-controls-button-tfjDO4D4.js → dashboard-filter-controls-button-CWL2jJcu.js} +1 -1
- package/dist/chunks/{dashboard-filter-controls-button-DFKZjkD4.js → dashboard-filter-controls-button-Tk5lhwVV.js} +4 -4
- package/dist/chunks/{dashboard-json-QR7WNDuO.js → dashboard-json-B_rQbUUz.js} +1 -1
- package/dist/chunks/{dashboard-json-Cc8S_uIr.js → dashboard-json-GL_IXTCk.js} +2 -2
- package/dist/chunks/{dashboard-summary-settings-dialog-qH6FOt7O.js → dashboard-summary-settings-dialog-CcszMc1A.js} +3 -3
- package/dist/chunks/{dashboard-summary-settings-dialog-CxXxzyRP.js → dashboard-summary-settings-dialog-DgqFlYl9.js} +1 -1
- package/dist/chunks/edit-dashboard-visual-Bu2rxJjm.js +183 -0
- package/dist/chunks/{edit-dashboard-visual-_BZQa5yI.js → edit-dashboard-visual-nGSsSTYx.js} +7057 -6964
- package/dist/chunks/{index-CSgoL0P9.js → index-9v7DehZd.js} +33036 -32819
- package/dist/chunks/{index-AerZtbg0.js → index-CGCrm-dj.js} +220 -220
- package/dist/chunks/{palette-CteErylX.js → palette-C5o9bLo6.js} +1 -1
- package/dist/chunks/{palette-CNKSAIrt.js → palette-CI2J34i6.js} +1 -1
- package/dist/chunks/{resource-management-panel-DbYkAk1I.js → resource-management-panel-CNmVHnCz.js} +1 -1
- package/dist/chunks/{resource-management-panel-CcFT7lpL.js → resource-management-panel-DTg9_DI9.js} +3 -3
- package/dist/chunks/{save-BVVnWGeb.js → save-CMv91_Hz.js} +1 -1
- package/dist/chunks/{save-B1-nDZwS.js → save-Cpz6BWx9.js} +1 -1
- package/dist/chunks/{switch-BZn7R_Cp.js → switch-Dhoqe3OE.js} +3534 -3494
- package/dist/chunks/switch-otrSiyjH.js +168 -0
- package/dist/chunks/{use-create-flow-overlay-state-CczjbVZY.js → use-create-flow-overlay-state-C8WGfC8T.js} +4 -4
- package/dist/chunks/{use-create-flow-overlay-state-DImkf832.js → use-create-flow-overlay-state-DiH6M1Cd.js} +1 -1
- package/dist/chunks/{use-visual-utils-BdHwrbtr.js → use-visual-utils-BeJ73yvV.js} +1 -1
- package/dist/chunks/{use-visual-utils-DczvWVbd.js → use-visual-utils-RkPa2gqQ.js} +2 -2
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.js +107 -104
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +3 -3
- package/dist/types/dashboard.d.ts +22 -7
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.js +16 -7
- package/dist/types/main.d.ts +51 -7
- package/dist/types/shared.d.ts +22 -7
- package/dist/types/surfboard.d.ts +22 -7
- package/dist/types/types.d.ts +314 -58
- package/package.json +6 -1
- package/dist/chunks/common-types-C6cAQgyh.js +0 -9
- package/dist/chunks/common-types-nBuCd3u2.js +0 -1
- package/dist/chunks/edit-dashboard-visual-J7cHkCD6.js +0 -183
- package/dist/chunks/switch-BG4RWnrq.js +0 -168
package/dist/surfboard/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../chunks/index-CGCrm-dj.js"),e=require("../chunks/common-types-C73-Ud1-.js"),r=require("../chunks/dashboard-summary-settings-dialog-DgqFlYl9.js");exports.Surfboard=a.DashboardPlus;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;exports.CalendarPreferencesDialog=r.CalendarPreferencesDialog;exports.DashboardSummarySettingsDialog=r.DashboardSummarySettingsDialog;
|
package/dist/surfboard/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as o } from "../chunks/index-
|
|
2
|
-
import { C as s, E as C } from "../chunks/common-types-
|
|
3
|
-
import { C as E, D as f } from "../chunks/dashboard-summary-settings-dialog-
|
|
1
|
+
import { a as o } from "../chunks/index-9v7DehZd.js";
|
|
2
|
+
import { C as s, E as C } from "../chunks/common-types-4bjoIgvm.js";
|
|
3
|
+
import { C as E, D as f } from "../chunks/dashboard-summary-settings-dialog-CcszMc1A.js";
|
|
4
4
|
export {
|
|
5
5
|
s as CONTROL_CARD_DEFAULT_VALUE,
|
|
6
6
|
E as CalendarPreferencesDialog,
|
|
@@ -351,7 +351,7 @@ declare interface ColumnSettings {
|
|
|
351
351
|
minWidth?: number;
|
|
352
352
|
maxWidth?: number;
|
|
353
353
|
textOverflow?: 'ellipsis' | 'wrap' | 'clip';
|
|
354
|
-
textWrap:
|
|
354
|
+
textWrap: ColumnTextWrap;
|
|
355
355
|
/** Deprecated/inert. Totals are controlled by tablePrefs.tableStyle.totals. */
|
|
356
356
|
totalsBehavior?: TotalsBehavior;
|
|
357
357
|
totalsLabel?: string;
|
|
@@ -390,6 +390,8 @@ declare interface ColumnSettings {
|
|
|
390
390
|
|
|
391
391
|
declare type ColumnSettingsMap = Record<string, ColumnSettings>;
|
|
392
392
|
|
|
393
|
+
declare type ColumnTextWrap = 'default' | 'truncate' | 'wrap' | 'nowrap' | 'preserve';
|
|
394
|
+
|
|
393
395
|
declare type ColumnType = 'string' | 'number' | 'date';
|
|
394
396
|
|
|
395
397
|
declare type ComparisonOperator = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte';
|
|
@@ -810,12 +812,12 @@ declare interface DataModelEntityReference extends DatabaseEntityReference {
|
|
|
810
812
|
declare interface DatasetEntityReference extends DatabaseEntityReference {
|
|
811
813
|
type: 'dataset';
|
|
812
814
|
datasetType: 'physical' | 'virtual';
|
|
813
|
-
datamodelId
|
|
814
|
-
sql
|
|
815
|
+
datamodelId?: string | null;
|
|
816
|
+
sql?: string | null;
|
|
815
817
|
id: string;
|
|
816
818
|
domainId: string;
|
|
817
819
|
label: string;
|
|
818
|
-
description
|
|
820
|
+
description?: string;
|
|
819
821
|
}
|
|
820
822
|
|
|
821
823
|
declare interface DataSource {
|
|
@@ -1264,6 +1266,7 @@ declare interface Field {
|
|
|
1264
1266
|
* If not provided, should be auto-generated from label or name.
|
|
1265
1267
|
*/
|
|
1266
1268
|
alias?: string;
|
|
1269
|
+
sourceField?: string;
|
|
1267
1270
|
qualifiedFieldName: string;
|
|
1268
1271
|
dataType: string;
|
|
1269
1272
|
description?: string;
|
|
@@ -1281,7 +1284,7 @@ declare interface Field {
|
|
|
1281
1284
|
fieldScope?: FieldScope;
|
|
1282
1285
|
}
|
|
1283
1286
|
|
|
1284
|
-
declare type FieldScope = 'card' | 'dashboard' | 'domain';
|
|
1287
|
+
declare type FieldScope = 'card' | 'sheet' | 'dashboard' | 'domain';
|
|
1285
1288
|
|
|
1286
1289
|
declare type FileAttachment = {
|
|
1287
1290
|
id: string;
|
|
@@ -1597,6 +1600,9 @@ declare interface Join {
|
|
|
1597
1600
|
joinType: 'INNER' | 'LEFT' | 'RIGHT' | 'FULL';
|
|
1598
1601
|
joinKeyGroups: JoinKeyGroup[];
|
|
1599
1602
|
sequence: number;
|
|
1603
|
+
relationshipId?: string;
|
|
1604
|
+
relationshipName?: string;
|
|
1605
|
+
relationshipCardinality?: 'one_to_one' | 'one_to_many' | 'many_to_one' | 'many_to_many';
|
|
1600
1606
|
}
|
|
1601
1607
|
|
|
1602
1608
|
declare interface JoinKey {
|
|
@@ -1687,6 +1693,12 @@ declare interface MetricField extends Field {
|
|
|
1687
1693
|
* Both are generated together from the same dialog inputs, preventing drift.
|
|
1688
1694
|
*/
|
|
1689
1695
|
calculatedFormula?: CalculatedFieldFormula;
|
|
1696
|
+
/**
|
|
1697
|
+
* Indicates the metric expression must be evaluated after row-level filtering,
|
|
1698
|
+
* either because it contains an aggregate function directly or depends on a
|
|
1699
|
+
* pre-aggregated metric input.
|
|
1700
|
+
*/
|
|
1701
|
+
isPreAggregated?: boolean;
|
|
1690
1702
|
comparisonType?: 'none' | 'previous_period' | 'same_period_last_year' | 'start_vs_end' | 'target';
|
|
1691
1703
|
comparisonDisplay?: 'column' | 'inline' | 'hover';
|
|
1692
1704
|
targetValue?: number;
|
|
@@ -1716,7 +1728,7 @@ declare type OldFilterValue = string | number | null | (string | number)[] | Ran
|
|
|
1716
1728
|
|
|
1717
1729
|
declare type Operation = '=' | '>' | '<' | '>=' | '<=' | '!=' | 'in' | 'not in' | 'like' | 'not like' | 'between' | 'not between' | 'is null' | 'is not null';
|
|
1718
1730
|
|
|
1719
|
-
declare type Operator = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'contains' | 'startsWith' | 'endsWith' | 'in' | 'not in' | 'between' | 'not between' | 'isNull' | 'isNotNull';
|
|
1731
|
+
declare type Operator = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'contains' | 'startsWith' | 'endsWith' | 'like' | 'not like' | 'in' | 'not in' | 'between' | 'not between' | 'isNull' | 'isNotNull';
|
|
1720
1732
|
|
|
1721
1733
|
declare type OptionsMap = {
|
|
1722
1734
|
number: NumberOptions;
|
|
@@ -1861,7 +1873,9 @@ declare type ResolvedPrimaryDateField = {
|
|
|
1861
1873
|
supportedGranularities?: TimeGranularity[];
|
|
1862
1874
|
} | null;
|
|
1863
1875
|
|
|
1864
|
-
declare type SelectedEntities =
|
|
1876
|
+
declare type SelectedEntities = SelectedEntity[];
|
|
1877
|
+
|
|
1878
|
+
declare type SelectedEntity = DatabaseEntityReference | DataModelEntityReference | DatasetEntityReference | FileEntityReference;
|
|
1865
1879
|
|
|
1866
1880
|
export declare type SelectionState = Record<Level, string | null>;
|
|
1867
1881
|
|
|
@@ -2461,6 +2475,7 @@ export declare type TDashboard = {
|
|
|
2461
2475
|
};
|
|
2462
2476
|
description?: string;
|
|
2463
2477
|
sheets?: TSheet[];
|
|
2478
|
+
calculatedFields?: Field[];
|
|
2464
2479
|
style?: TStyle;
|
|
2465
2480
|
filters?: TFilter[];
|
|
2466
2481
|
customCards?: CustomCard[];
|
package/dist/types/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/common-types-C73-Ud1-.js"),a={mode:"all"},E={tz:"UTC",weekStart:1,anchor:"now"};exports.CALCULATED_FIELD_ENTITY_MARKER=e.CALCULATED_FIELD_ENTITY_MARKER;exports.CONTROL_CARD_DEFAULT_VALUE=e.CONTROL_CARD_DEFAULT_VALUE;exports.DATE_FORMAT_VALUES=e.DATE_FORMAT_VALUES;exports.EMPTY_SELECTION=e.EMPTY_SELECTION;exports.PivotMarkerEnum=e.PivotMarkerEnum;exports.getFieldRuntimeColumnName=e.getFieldRuntimeColumnName;exports.hasCalculatedFieldMarker=e.hasCalculatedFieldMarker;exports.hasCalculatedFormulaInputs=e.hasCalculatedFormulaInputs;exports.isCalculatedDimension=e.isCalculatedDimension;exports.isCalculatedField=e.isCalculatedField;exports.isCalculatedMetric=e.isCalculatedMetric;exports.DEFAULT_CALENDAR_CONTEXT=E;exports.DEFAULT_SEMANTIC_DOMAIN_ACCESS=a;
|
package/dist/types/index.js
CHANGED
|
@@ -1,15 +1,24 @@
|
|
|
1
|
-
import { C as
|
|
2
|
-
const
|
|
1
|
+
import { a as C, C as l, D as t, E as A, P as T, g as _, d as i, h as o, b as r, c as D, i as L } from "../chunks/common-types-4bjoIgvm.js";
|
|
2
|
+
const a = {
|
|
3
3
|
mode: "all"
|
|
4
|
-
},
|
|
4
|
+
}, e = {
|
|
5
5
|
tz: "UTC",
|
|
6
6
|
weekStart: 1,
|
|
7
7
|
// Monday (ISO standard)
|
|
8
8
|
anchor: "now"
|
|
9
9
|
};
|
|
10
10
|
export {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
C as CALCULATED_FIELD_ENTITY_MARKER,
|
|
12
|
+
l as CONTROL_CARD_DEFAULT_VALUE,
|
|
13
|
+
t as DATE_FORMAT_VALUES,
|
|
14
|
+
e as DEFAULT_CALENDAR_CONTEXT,
|
|
15
|
+
a as DEFAULT_SEMANTIC_DOMAIN_ACCESS,
|
|
16
|
+
A as EMPTY_SELECTION,
|
|
17
|
+
T as PivotMarkerEnum,
|
|
18
|
+
_ as getFieldRuntimeColumnName,
|
|
19
|
+
i as hasCalculatedFieldMarker,
|
|
20
|
+
o as hasCalculatedFormulaInputs,
|
|
21
|
+
r as isCalculatedDimension,
|
|
22
|
+
D as isCalculatedField,
|
|
23
|
+
L as isCalculatedMetric
|
|
15
24
|
};
|
package/dist/types/main.d.ts
CHANGED
|
@@ -139,6 +139,7 @@ declare type Actions_2 = {
|
|
|
139
139
|
semanticExecutionPayload?: SemanticExecutionPayload;
|
|
140
140
|
}) => void;
|
|
141
141
|
updateSheetCalculatedFields: (sheetId: string, calculatedFields: Field[]) => void;
|
|
142
|
+
updateDashboardCalculatedFields: (calculatedFields: Field[]) => void;
|
|
142
143
|
setVisualEditPendingFrameRewrites: (sheetId: string, frames: TFrame[]) => void;
|
|
143
144
|
setVisualEditPendingFilterRewrites: (sheetId: string, filters: TFilter[]) => void;
|
|
144
145
|
clearVisualEditPendingFrameRewrites: (sheetId?: string) => void;
|
|
@@ -1176,7 +1177,7 @@ declare interface ColumnSettings {
|
|
|
1176
1177
|
minWidth?: number;
|
|
1177
1178
|
maxWidth?: number;
|
|
1178
1179
|
textOverflow?: 'ellipsis' | 'wrap' | 'clip';
|
|
1179
|
-
textWrap:
|
|
1180
|
+
textWrap: ColumnTextWrap;
|
|
1180
1181
|
/** Deprecated/inert. Totals are controlled by tablePrefs.tableStyle.totals. */
|
|
1181
1182
|
totalsBehavior?: TotalsBehavior;
|
|
1182
1183
|
totalsLabel?: string;
|
|
@@ -1215,6 +1216,8 @@ declare interface ColumnSettings {
|
|
|
1215
1216
|
|
|
1216
1217
|
declare type ColumnSettingsMap = Record<string, ColumnSettings>;
|
|
1217
1218
|
|
|
1219
|
+
declare type ColumnTextWrap = 'default' | 'truncate' | 'wrap' | 'nowrap' | 'preserve';
|
|
1220
|
+
|
|
1218
1221
|
export declare type ColumnType = 'string' | 'number' | 'date';
|
|
1219
1222
|
|
|
1220
1223
|
export declare function Combobox({ name, items, value, onChange, isLoading, isError, refetch, className, icon, showNone, }: {
|
|
@@ -1836,6 +1839,12 @@ export declare type DashboardStore = {
|
|
|
1836
1839
|
* These stay draft-only until the editor Save path applies the current frame.
|
|
1837
1840
|
*/
|
|
1838
1841
|
visualEditPendingFilterRewrites: Record<string, TFilter[]>;
|
|
1842
|
+
/**
|
|
1843
|
+
* Pending dashboard-scoped calculated-field rewrites produced while visual
|
|
1844
|
+
* editing. These stay draft-only until the editor Save path applies the
|
|
1845
|
+
* current frame.
|
|
1846
|
+
*/
|
|
1847
|
+
visualEditPendingDashboardCalculatedFields?: Field[];
|
|
1839
1848
|
isDashboardEditing: boolean;
|
|
1840
1849
|
isVisualEditing: boolean;
|
|
1841
1850
|
showContext: boolean;
|
|
@@ -1913,12 +1922,12 @@ export declare interface DataModelEntityReference extends DatabaseEntityReferenc
|
|
|
1913
1922
|
export declare interface DatasetEntityReference extends DatabaseEntityReference {
|
|
1914
1923
|
type: 'dataset';
|
|
1915
1924
|
datasetType: 'physical' | 'virtual';
|
|
1916
|
-
datamodelId
|
|
1917
|
-
sql
|
|
1925
|
+
datamodelId?: string | null;
|
|
1926
|
+
sql?: string | null;
|
|
1918
1927
|
id: string;
|
|
1919
1928
|
domainId: string;
|
|
1920
1929
|
label: string;
|
|
1921
|
-
description
|
|
1930
|
+
description?: string;
|
|
1922
1931
|
}
|
|
1923
1932
|
|
|
1924
1933
|
export declare interface DataSource {
|
|
@@ -2867,6 +2876,7 @@ export declare interface Field {
|
|
|
2867
2876
|
* If not provided, should be auto-generated from label or name.
|
|
2868
2877
|
*/
|
|
2869
2878
|
alias?: string;
|
|
2879
|
+
sourceField?: string;
|
|
2870
2880
|
qualifiedFieldName: string;
|
|
2871
2881
|
dataType: string;
|
|
2872
2882
|
description?: string;
|
|
@@ -2884,7 +2894,7 @@ export declare interface Field {
|
|
|
2884
2894
|
fieldScope?: FieldScope;
|
|
2885
2895
|
}
|
|
2886
2896
|
|
|
2887
|
-
export declare type FieldScope = 'card' | 'dashboard' | 'domain';
|
|
2897
|
+
export declare type FieldScope = 'card' | 'sheet' | 'dashboard' | 'domain';
|
|
2888
2898
|
|
|
2889
2899
|
declare type FileAttachment = {
|
|
2890
2900
|
id: string;
|
|
@@ -3159,6 +3169,8 @@ export declare function getExports(apiServiceUrl: string, token: string, options
|
|
|
3159
3169
|
*/
|
|
3160
3170
|
export declare function getExportStatus(apiServiceUrl: string, token: string, exportId: string): Promise<ExportJobStatus>;
|
|
3161
3171
|
|
|
3172
|
+
export declare function getFieldRuntimeColumnName(field: Pick<Field, 'name' | 'sourceField'> | null | undefined): string;
|
|
3173
|
+
|
|
3162
3174
|
export declare function getFilterValueType(filter: TFilter): "string" | "number" | "date" | "boolean";
|
|
3163
3175
|
|
|
3164
3176
|
export declare function getFormattedTableNameForQuery({ schemaName, tableName, modelName, databaseName, capabilities, connectionType, }: {
|
|
@@ -3207,6 +3219,10 @@ export declare interface GroupByField extends Field {
|
|
|
3207
3219
|
calculatedFormula?: CalculatedFieldFormula;
|
|
3208
3220
|
}
|
|
3209
3221
|
|
|
3222
|
+
export declare function hasCalculatedFieldMarker(field: Pick<Field, 'entityName' | 'entityId'> | null | undefined): boolean;
|
|
3223
|
+
|
|
3224
|
+
export declare function hasCalculatedFormulaInputs(field: Field | null | undefined): boolean;
|
|
3225
|
+
|
|
3210
3226
|
export declare type HtmlOptions = {
|
|
3211
3227
|
html: string;
|
|
3212
3228
|
};
|
|
@@ -3418,6 +3434,9 @@ export declare interface Join {
|
|
|
3418
3434
|
joinType: 'INNER' | 'LEFT' | 'RIGHT' | 'FULL';
|
|
3419
3435
|
joinKeyGroups: JoinKeyGroup[];
|
|
3420
3436
|
sequence: number;
|
|
3437
|
+
relationshipId?: string;
|
|
3438
|
+
relationshipName?: string;
|
|
3439
|
+
relationshipCardinality?: 'one_to_one' | 'one_to_many' | 'many_to_one' | 'many_to_many';
|
|
3421
3440
|
}
|
|
3422
3441
|
|
|
3423
3442
|
export declare interface JoinKey {
|
|
@@ -3532,6 +3551,12 @@ export declare interface MetricField extends Field {
|
|
|
3532
3551
|
* Both are generated together from the same dialog inputs, preventing drift.
|
|
3533
3552
|
*/
|
|
3534
3553
|
calculatedFormula?: CalculatedFieldFormula;
|
|
3554
|
+
/**
|
|
3555
|
+
* Indicates the metric expression must be evaluated after row-level filtering,
|
|
3556
|
+
* either because it contains an aggregate function directly or depends on a
|
|
3557
|
+
* pre-aggregated metric input.
|
|
3558
|
+
*/
|
|
3559
|
+
isPreAggregated?: boolean;
|
|
3535
3560
|
comparisonType?: 'none' | 'previous_period' | 'same_period_last_year' | 'start_vs_end' | 'target';
|
|
3536
3561
|
comparisonDisplay?: 'column' | 'inline' | 'hover';
|
|
3537
3562
|
targetValue?: number;
|
|
@@ -3620,7 +3645,7 @@ export declare type OldFilterValue = string | number | null | (string | number)[
|
|
|
3620
3645
|
|
|
3621
3646
|
declare type Operation = '=' | '>' | '<' | '>=' | '<=' | '!=' | 'in' | 'not in' | 'like' | 'not like' | 'between' | 'not between' | 'is null' | 'is not null';
|
|
3622
3647
|
|
|
3623
|
-
export declare type Operator = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'contains' | 'startsWith' | 'endsWith' | 'in' | 'not in' | 'between' | 'not between' | 'isNull' | 'isNotNull';
|
|
3648
|
+
export declare type Operator = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'contains' | 'startsWith' | 'endsWith' | 'like' | 'not like' | 'in' | 'not in' | 'between' | 'not between' | 'isNull' | 'isNotNull';
|
|
3624
3649
|
|
|
3625
3650
|
declare type OptionsMap = {
|
|
3626
3651
|
number: NumberOptions;
|
|
@@ -3667,6 +3692,20 @@ export declare interface PivotByField extends Field {
|
|
|
3667
3692
|
role: 'pivotby';
|
|
3668
3693
|
}
|
|
3669
3694
|
|
|
3695
|
+
export declare interface PivotColumnSchema {
|
|
3696
|
+
alias: string;
|
|
3697
|
+
metricId: string;
|
|
3698
|
+
metricName: string;
|
|
3699
|
+
metricLabel?: string;
|
|
3700
|
+
pivotValues: string[];
|
|
3701
|
+
pivotFields?: string[];
|
|
3702
|
+
displayLabel?: string;
|
|
3703
|
+
isPivotColumn?: boolean;
|
|
3704
|
+
isMetricColumn?: boolean;
|
|
3705
|
+
isGroupByColumn?: boolean;
|
|
3706
|
+
aggregate?: AggregateFunction;
|
|
3707
|
+
}
|
|
3708
|
+
|
|
3670
3709
|
/**
|
|
3671
3710
|
const config: CardConfig = {
|
|
3672
3711
|
groupByColumns: [
|
|
@@ -3753,8 +3792,10 @@ export declare interface QueryExecutionResponse {
|
|
|
3753
3792
|
pagination?: PaginationMetadata;
|
|
3754
3793
|
subtotalColumns?: string[];
|
|
3755
3794
|
columnSubtotalMeta?: any;
|
|
3795
|
+
columnMetadata?: Record<string, any>;
|
|
3756
3796
|
columnKeyMap?: QueryColumnKeyMap;
|
|
3757
3797
|
tableTotalsByColumnId?: Record<string, string | number | null>;
|
|
3798
|
+
documentTableTotalsBaseSql?: string;
|
|
3758
3799
|
metadata?: any;
|
|
3759
3800
|
}
|
|
3760
3801
|
|
|
@@ -3925,7 +3966,9 @@ export declare function ScheduleDashboard({ triggerButtonClassName, variant, }:
|
|
|
3925
3966
|
|
|
3926
3967
|
export declare type SchemaItem = DropdownItem;
|
|
3927
3968
|
|
|
3928
|
-
export declare type SelectedEntities =
|
|
3969
|
+
export declare type SelectedEntities = SelectedEntity[];
|
|
3970
|
+
|
|
3971
|
+
export declare type SelectedEntity = DatabaseEntityReference | DataModelEntityReference | DatasetEntityReference | FileEntityReference;
|
|
3929
3972
|
|
|
3930
3973
|
export declare type SelectionState = Record<Level, string | null>;
|
|
3931
3974
|
|
|
@@ -4718,6 +4761,7 @@ export declare type TDashboard = {
|
|
|
4718
4761
|
};
|
|
4719
4762
|
description?: string;
|
|
4720
4763
|
sheets?: TSheet[];
|
|
4764
|
+
calculatedFields?: Field[];
|
|
4721
4765
|
style?: TStyle;
|
|
4722
4766
|
filters?: TFilter[];
|
|
4723
4767
|
customCards?: CustomCard[];
|
package/dist/types/shared.d.ts
CHANGED
|
@@ -258,7 +258,7 @@ declare interface ColumnSettings {
|
|
|
258
258
|
minWidth?: number;
|
|
259
259
|
maxWidth?: number;
|
|
260
260
|
textOverflow?: 'ellipsis' | 'wrap' | 'clip';
|
|
261
|
-
textWrap:
|
|
261
|
+
textWrap: ColumnTextWrap;
|
|
262
262
|
/** Deprecated/inert. Totals are controlled by tablePrefs.tableStyle.totals. */
|
|
263
263
|
totalsBehavior?: TotalsBehavior;
|
|
264
264
|
totalsLabel?: string;
|
|
@@ -297,6 +297,8 @@ declare interface ColumnSettings {
|
|
|
297
297
|
|
|
298
298
|
declare type ColumnSettingsMap = Record<string, ColumnSettings>;
|
|
299
299
|
|
|
300
|
+
declare type ColumnTextWrap = 'default' | 'truncate' | 'wrap' | 'nowrap' | 'preserve';
|
|
301
|
+
|
|
300
302
|
declare type ColumnType = 'string' | 'number' | 'date';
|
|
301
303
|
|
|
302
304
|
declare type ComparisonOperator = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte';
|
|
@@ -594,12 +596,12 @@ declare interface DataModelEntityReference extends DatabaseEntityReference {
|
|
|
594
596
|
declare interface DatasetEntityReference extends DatabaseEntityReference {
|
|
595
597
|
type: 'dataset';
|
|
596
598
|
datasetType: 'physical' | 'virtual';
|
|
597
|
-
datamodelId
|
|
598
|
-
sql
|
|
599
|
+
datamodelId?: string | null;
|
|
600
|
+
sql?: string | null;
|
|
599
601
|
id: string;
|
|
600
602
|
domainId: string;
|
|
601
603
|
label: string;
|
|
602
|
-
description
|
|
604
|
+
description?: string;
|
|
603
605
|
}
|
|
604
606
|
|
|
605
607
|
declare interface DataSource {
|
|
@@ -1024,6 +1026,7 @@ declare interface Field {
|
|
|
1024
1026
|
* If not provided, should be auto-generated from label or name.
|
|
1025
1027
|
*/
|
|
1026
1028
|
alias?: string;
|
|
1029
|
+
sourceField?: string;
|
|
1027
1030
|
qualifiedFieldName: string;
|
|
1028
1031
|
dataType: string;
|
|
1029
1032
|
description?: string;
|
|
@@ -1041,7 +1044,7 @@ declare interface Field {
|
|
|
1041
1044
|
fieldScope?: FieldScope;
|
|
1042
1045
|
}
|
|
1043
1046
|
|
|
1044
|
-
declare type FieldScope = 'card' | 'dashboard' | 'domain';
|
|
1047
|
+
declare type FieldScope = 'card' | 'sheet' | 'dashboard' | 'domain';
|
|
1045
1048
|
|
|
1046
1049
|
declare type FileAttachment = {
|
|
1047
1050
|
id: string;
|
|
@@ -1335,6 +1338,9 @@ declare interface Join {
|
|
|
1335
1338
|
joinType: 'INNER' | 'LEFT' | 'RIGHT' | 'FULL';
|
|
1336
1339
|
joinKeyGroups: JoinKeyGroup[];
|
|
1337
1340
|
sequence: number;
|
|
1341
|
+
relationshipId?: string;
|
|
1342
|
+
relationshipName?: string;
|
|
1343
|
+
relationshipCardinality?: 'one_to_one' | 'one_to_many' | 'many_to_one' | 'many_to_many';
|
|
1338
1344
|
}
|
|
1339
1345
|
|
|
1340
1346
|
declare interface JoinKey {
|
|
@@ -1413,6 +1419,12 @@ declare interface MetricField extends Field {
|
|
|
1413
1419
|
* Both are generated together from the same dialog inputs, preventing drift.
|
|
1414
1420
|
*/
|
|
1415
1421
|
calculatedFormula?: CalculatedFieldFormula;
|
|
1422
|
+
/**
|
|
1423
|
+
* Indicates the metric expression must be evaluated after row-level filtering,
|
|
1424
|
+
* either because it contains an aggregate function directly or depends on a
|
|
1425
|
+
* pre-aggregated metric input.
|
|
1426
|
+
*/
|
|
1427
|
+
isPreAggregated?: boolean;
|
|
1416
1428
|
comparisonType?: 'none' | 'previous_period' | 'same_period_last_year' | 'start_vs_end' | 'target';
|
|
1417
1429
|
comparisonDisplay?: 'column' | 'inline' | 'hover';
|
|
1418
1430
|
targetValue?: number;
|
|
@@ -1450,7 +1462,7 @@ declare type OldFilterValue = string | number | null | (string | number)[] | Ran
|
|
|
1450
1462
|
|
|
1451
1463
|
declare type Operation = '=' | '>' | '<' | '>=' | '<=' | '!=' | 'in' | 'not in' | 'like' | 'not like' | 'between' | 'not between' | 'is null' | 'is not null';
|
|
1452
1464
|
|
|
1453
|
-
declare type Operator = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'contains' | 'startsWith' | 'endsWith' | 'in' | 'not in' | 'between' | 'not between' | 'isNull' | 'isNotNull';
|
|
1465
|
+
declare type Operator = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'contains' | 'startsWith' | 'endsWith' | 'like' | 'not like' | 'in' | 'not in' | 'between' | 'not between' | 'isNull' | 'isNotNull';
|
|
1454
1466
|
|
|
1455
1467
|
declare type OptionsMap = {
|
|
1456
1468
|
number: NumberOptions;
|
|
@@ -1522,7 +1534,9 @@ declare type RelativeDateFilter = {
|
|
|
1522
1534
|
to: number;
|
|
1523
1535
|
};
|
|
1524
1536
|
|
|
1525
|
-
declare type SelectedEntities =
|
|
1537
|
+
declare type SelectedEntities = SelectedEntity[];
|
|
1538
|
+
|
|
1539
|
+
declare type SelectedEntity = DatabaseEntityReference | DataModelEntityReference | DatasetEntityReference | FileEntityReference;
|
|
1526
1540
|
|
|
1527
1541
|
/**
|
|
1528
1542
|
* Stable serializer for dashboard dirty checks.
|
|
@@ -2058,6 +2072,7 @@ declare type TDashboard = {
|
|
|
2058
2072
|
};
|
|
2059
2073
|
description?: string;
|
|
2060
2074
|
sheets?: TSheet[];
|
|
2075
|
+
calculatedFields?: Field[];
|
|
2061
2076
|
style?: TStyle;
|
|
2062
2077
|
filters?: TFilter[];
|
|
2063
2078
|
customCards?: CustomCard[];
|
|
@@ -358,7 +358,7 @@ declare interface ColumnSettings {
|
|
|
358
358
|
minWidth?: number;
|
|
359
359
|
maxWidth?: number;
|
|
360
360
|
textOverflow?: 'ellipsis' | 'wrap' | 'clip';
|
|
361
|
-
textWrap:
|
|
361
|
+
textWrap: ColumnTextWrap;
|
|
362
362
|
/** Deprecated/inert. Totals are controlled by tablePrefs.tableStyle.totals. */
|
|
363
363
|
totalsBehavior?: TotalsBehavior;
|
|
364
364
|
totalsLabel?: string;
|
|
@@ -397,6 +397,8 @@ declare interface ColumnSettings {
|
|
|
397
397
|
|
|
398
398
|
declare type ColumnSettingsMap = Record<string, ColumnSettings>;
|
|
399
399
|
|
|
400
|
+
declare type ColumnTextWrap = 'default' | 'truncate' | 'wrap' | 'nowrap' | 'preserve';
|
|
401
|
+
|
|
400
402
|
declare type ColumnType = 'string' | 'number' | 'date';
|
|
401
403
|
|
|
402
404
|
declare type ComparisonOperator = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte';
|
|
@@ -830,12 +832,12 @@ declare interface DataModelEntityReference extends DatabaseEntityReference {
|
|
|
830
832
|
declare interface DatasetEntityReference extends DatabaseEntityReference {
|
|
831
833
|
type: 'dataset';
|
|
832
834
|
datasetType: 'physical' | 'virtual';
|
|
833
|
-
datamodelId
|
|
834
|
-
sql
|
|
835
|
+
datamodelId?: string | null;
|
|
836
|
+
sql?: string | null;
|
|
835
837
|
id: string;
|
|
836
838
|
domainId: string;
|
|
837
839
|
label: string;
|
|
838
|
-
description
|
|
840
|
+
description?: string;
|
|
839
841
|
}
|
|
840
842
|
|
|
841
843
|
declare interface DataSource {
|
|
@@ -1284,6 +1286,7 @@ declare interface Field {
|
|
|
1284
1286
|
* If not provided, should be auto-generated from label or name.
|
|
1285
1287
|
*/
|
|
1286
1288
|
alias?: string;
|
|
1289
|
+
sourceField?: string;
|
|
1287
1290
|
qualifiedFieldName: string;
|
|
1288
1291
|
dataType: string;
|
|
1289
1292
|
description?: string;
|
|
@@ -1301,7 +1304,7 @@ declare interface Field {
|
|
|
1301
1304
|
fieldScope?: FieldScope;
|
|
1302
1305
|
}
|
|
1303
1306
|
|
|
1304
|
-
declare type FieldScope = 'card' | 'dashboard' | 'domain';
|
|
1307
|
+
declare type FieldScope = 'card' | 'sheet' | 'dashboard' | 'domain';
|
|
1305
1308
|
|
|
1306
1309
|
declare type FileAttachment = {
|
|
1307
1310
|
id: string;
|
|
@@ -1617,6 +1620,9 @@ declare interface Join {
|
|
|
1617
1620
|
joinType: 'INNER' | 'LEFT' | 'RIGHT' | 'FULL';
|
|
1618
1621
|
joinKeyGroups: JoinKeyGroup[];
|
|
1619
1622
|
sequence: number;
|
|
1623
|
+
relationshipId?: string;
|
|
1624
|
+
relationshipName?: string;
|
|
1625
|
+
relationshipCardinality?: 'one_to_one' | 'one_to_many' | 'many_to_one' | 'many_to_many';
|
|
1620
1626
|
}
|
|
1621
1627
|
|
|
1622
1628
|
declare interface JoinKey {
|
|
@@ -1707,6 +1713,12 @@ declare interface MetricField extends Field {
|
|
|
1707
1713
|
* Both are generated together from the same dialog inputs, preventing drift.
|
|
1708
1714
|
*/
|
|
1709
1715
|
calculatedFormula?: CalculatedFieldFormula;
|
|
1716
|
+
/**
|
|
1717
|
+
* Indicates the metric expression must be evaluated after row-level filtering,
|
|
1718
|
+
* either because it contains an aggregate function directly or depends on a
|
|
1719
|
+
* pre-aggregated metric input.
|
|
1720
|
+
*/
|
|
1721
|
+
isPreAggregated?: boolean;
|
|
1710
1722
|
comparisonType?: 'none' | 'previous_period' | 'same_period_last_year' | 'start_vs_end' | 'target';
|
|
1711
1723
|
comparisonDisplay?: 'column' | 'inline' | 'hover';
|
|
1712
1724
|
targetValue?: number;
|
|
@@ -1736,7 +1748,7 @@ declare type OldFilterValue = string | number | null | (string | number)[] | Ran
|
|
|
1736
1748
|
|
|
1737
1749
|
declare type Operation = '=' | '>' | '<' | '>=' | '<=' | '!=' | 'in' | 'not in' | 'like' | 'not like' | 'between' | 'not between' | 'is null' | 'is not null';
|
|
1738
1750
|
|
|
1739
|
-
declare type Operator = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'contains' | 'startsWith' | 'endsWith' | 'in' | 'not in' | 'between' | 'not between' | 'isNull' | 'isNotNull';
|
|
1751
|
+
declare type Operator = '=' | '!=' | '>' | '>=' | '<' | '<=' | 'contains' | 'startsWith' | 'endsWith' | 'like' | 'not like' | 'in' | 'not in' | 'between' | 'not between' | 'isNull' | 'isNotNull';
|
|
1740
1752
|
|
|
1741
1753
|
declare type OptionsMap = {
|
|
1742
1754
|
number: NumberOptions;
|
|
@@ -1881,7 +1893,9 @@ declare type ResolvedPrimaryDateField = {
|
|
|
1881
1893
|
supportedGranularities?: TimeGranularity[];
|
|
1882
1894
|
} | null;
|
|
1883
1895
|
|
|
1884
|
-
declare type SelectedEntities =
|
|
1896
|
+
declare type SelectedEntities = SelectedEntity[];
|
|
1897
|
+
|
|
1898
|
+
declare type SelectedEntity = DatabaseEntityReference | DataModelEntityReference | DatasetEntityReference | FileEntityReference;
|
|
1885
1899
|
|
|
1886
1900
|
export declare type SelectionState = Record<Level, string | null>;
|
|
1887
1901
|
|
|
@@ -2483,6 +2497,7 @@ export declare type TDashboard = {
|
|
|
2483
2497
|
};
|
|
2484
2498
|
description?: string;
|
|
2485
2499
|
sheets?: TSheet[];
|
|
2500
|
+
calculatedFields?: Field[];
|
|
2486
2501
|
style?: TStyle;
|
|
2487
2502
|
filters?: TFilter[];
|
|
2488
2503
|
customCards?: CustomCard[];
|