@gooddata/sdk-code-convertors 11.66.0 → 11.67.0-alpha.2
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/execution/buildAfmExecution.d.ts.map +1 -1
- package/esm/execution/buildAfmExecution.js +33 -3
- package/esm/from/declarativeDashboardToYaml.js +2 -2
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/sdk-code-convertors.d.ts +43 -1
- package/esm/to/yamlDashboardToDeclarative.d.ts +1 -1
- package/esm/to/yamlDashboardToDeclarative.d.ts.map +1 -1
- package/esm/to/yamlDashboardToDeclarative.js +4 -4
- package/esm/to/yamlDocumentsToDeclarativeWorkspace.d.ts +41 -0
- package/esm/to/yamlDocumentsToDeclarativeWorkspace.d.ts.map +1 -0
- package/esm/to/yamlDocumentsToDeclarativeWorkspace.js +74 -0
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildAfmExecution.d.ts","sourceRoot":"","sources":["../../src/execution/buildAfmExecution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"buildAfmExecution.d.ts","sourceRoot":"","sources":["../../src/execution/buildAfmExecution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAGR,KAAK,EAIR,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA2C3E,cAAc;AACd,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,kBAAkB,CAkB5F"}
|
|
@@ -3,7 +3,7 @@ import { convertBucketToTitle } from "../utils/convertBucketToTitle.js";
|
|
|
3
3
|
import { mapDateAttribute, mapDateDataset } from "../utils/dateUtils.js";
|
|
4
4
|
import { parseDateValues, yamlConditionToMatch } from "../utils/filterUtils.js";
|
|
5
5
|
import { getFullField } from "../utils/sharedUtils.js";
|
|
6
|
-
import { isAbsoluteDateFilter, isArbitraryTextFilter, isArithmeticMetricField, isAttributeField, isAttributeSort, isCalculatedMetricField, isComputedAttributeReference, isInlineMetricField, isMatchTextFilter, isMetricAllValueFilter, isMetricComparisonValueFilter, isMetricField, isMetricRangeValueFilter, isMetricValueFilterWithConditions, isNegativeAttributeFilter, isPoPMetricField, isPositiveAttributeFilter, isPreviousPeriodField, isRankingFilter, isRelativeDateFilter, isSimpleMetricSort, } from "../utils/typeGuards.js";
|
|
6
|
+
import { isAbsoluteDateFilter, isAllTimeDateFilter, isArbitraryTextFilter, isArithmeticMetricField, isAttributeField, isAttributeSort, isCalculatedMetricField, isComputedAttributeReference, isInlineMetricField, isMatchTextFilter, isMetricAllValueFilter, isMetricComparisonValueFilter, isMetricField, isMetricRangeValueFilter, isMetricValueFilterWithConditions, isNegativeAttributeFilter, isPoPMetricField, isPositiveAttributeFilter, isPreviousPeriodField, isRankingFilter, isRelativeDateFilter, isSimpleMetricSort, } from "../utils/typeGuards.js";
|
|
7
7
|
import { createIdentifier, createLocalIdentifier } from "../utils/yamlUtils.js";
|
|
8
8
|
const MATCH_OPERATOR_TO_AFM = {
|
|
9
9
|
startsWith: "STARTS_WITH",
|
|
@@ -184,11 +184,26 @@ function buildDimensions(query, execution) {
|
|
|
184
184
|
sorting,
|
|
185
185
|
};
|
|
186
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* `empty_values` is the date filter's own mode; the AFM spells it in upper case.
|
|
189
|
+
*/
|
|
190
|
+
function dateFilterEmptyValueHandling(filter) {
|
|
191
|
+
const { empty_values } = filter;
|
|
192
|
+
return empty_values === "include" || empty_values === "exclude" || empty_values === "only"
|
|
193
|
+
? { emptyValueHandling: empty_values.toUpperCase() }
|
|
194
|
+
: {};
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Converts AaC `filter_by` into AFM filters for the query preview.
|
|
198
|
+
*
|
|
199
|
+
* sdk-backend-tiger's `convertFilter` converts the equivalent model filters for a stored insight. When
|
|
200
|
+
* you add or change a date filter property here, change it there too, and extend
|
|
201
|
+
* `AacFilterParity.test.ts` in sdk-backend-tiger, which fails if the two diverge.
|
|
202
|
+
*/
|
|
187
203
|
function buildFilters(entities, filters_by) {
|
|
188
204
|
if (!filters_by) {
|
|
189
205
|
return [];
|
|
190
206
|
}
|
|
191
|
-
// TODO
|
|
192
207
|
const filters = [];
|
|
193
208
|
Object.keys(filters_by ?? {}).forEach((key) => {
|
|
194
209
|
const filter = filters_by[key];
|
|
@@ -198,10 +213,24 @@ function buildFilters(entities, filters_by) {
|
|
|
198
213
|
dataset: createIdentifier(filter.using, { forceType: "dataset" }),
|
|
199
214
|
from: filter.from,
|
|
200
215
|
to: filter.to,
|
|
216
|
+
...dateFilterEmptyValueHandling(filter),
|
|
201
217
|
},
|
|
202
218
|
});
|
|
203
219
|
}
|
|
204
|
-
if (
|
|
220
|
+
if (isAllTimeDateFilter(filter)) {
|
|
221
|
+
// Mirrors convertFilter in sdk-backend-tiger: All time only has an effect with an empty
|
|
222
|
+
// values mode that filters, anything else is a no-op and is not sent. The relative filter
|
|
223
|
+
// is not an option, it requires from/to/granularity.
|
|
224
|
+
if (filter.empty_values === "exclude" || filter.empty_values === "only") {
|
|
225
|
+
filters.push({
|
|
226
|
+
allTimeDateFilter: {
|
|
227
|
+
dataset: createIdentifier(filter.using, { forceType: "dataset" }),
|
|
228
|
+
...dateFilterEmptyValueHandling(filter),
|
|
229
|
+
},
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
else if (isRelativeDateFilter(filter)) {
|
|
205
234
|
filters.push({
|
|
206
235
|
relativeDateFilter: {
|
|
207
236
|
dataset: createIdentifier(filter.using, { forceType: "dataset" }),
|
|
@@ -209,6 +238,7 @@ function buildFilters(entities, filters_by) {
|
|
|
209
238
|
undefined),
|
|
210
239
|
from: filter.from,
|
|
211
240
|
to: filter.to,
|
|
241
|
+
...dateFilterEmptyValueHandling(filter),
|
|
212
242
|
},
|
|
213
243
|
});
|
|
214
244
|
}
|
|
@@ -54,8 +54,8 @@ export function declarativeDashboardToYaml(entities, dashboard, filterContexts,
|
|
|
54
54
|
if (content.disableFilterViews) {
|
|
55
55
|
doc.add(entryWithSpace("filter_views", false));
|
|
56
56
|
}
|
|
57
|
-
if (content.
|
|
58
|
-
doc.add(entryWithSpace("persistent_filters_across_tabs",
|
|
57
|
+
if (typeof content.enablePersistentFiltersAcrossTabs === "boolean") {
|
|
58
|
+
doc.add(entryWithSpace("persistent_filters_across_tabs", content.enablePersistentFiltersAcrossTabs));
|
|
59
59
|
}
|
|
60
60
|
if (content.timezoneConfig) {
|
|
61
61
|
doc.add(entryWithSpace("timezone_config", declarativeTimezoneConfigToYaml(content.timezoneConfig)));
|
package/esm/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export { yamlVisualisationToDeclarative, yamlVisualisationToMetadataObject, yaml
|
|
|
18
18
|
export { yamlDashboardToDeclarative, yamlFilterContextToDeclarative, yamlInteractionToDeclarative, yamlPluginsToDeclarative, yamlWidgetItemToDeclarative, yamlWidgetToDeclarative, type DashboardDefinition, type DashboardSection, type DashboardWidget, type EmptyValueHandling, type FilterContextDefinition, } from "./to/yamlDashboardToDeclarative.js";
|
|
19
19
|
export { yamlPluginToDeclarative } from "./to/yamlPluginToDeclarative.js";
|
|
20
20
|
export { yamlAttributeHierarchyToDeclarative } from "./to/yamlAttributeHierarchyToDeclarative.js";
|
|
21
|
+
export { yamlDocumentsToDeclarativeWorkspace, yamlEntitiesToDeclarativeWorkspace, type YamlDocumentsToDeclarativeWorkspaceOptions, } from "./to/yamlDocumentsToDeclarativeWorkspace.js";
|
|
21
22
|
export { declarativeDatasetToYaml } from "./from/declarativeDatasetToYaml.js";
|
|
22
23
|
export { declarativeDateInstanceToYaml } from "./from/declarativeDateInstanceToYaml.js";
|
|
23
24
|
export { declarativeMetricToYaml } from "./from/declarativeMetricToYaml.js";
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACR,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,8BAA8B,EAC9B,0BAA0B,EAC1B,kCAAkC,EAClC,uCAAuC,EACvC,UAAU,EACV,gBAAgB,EAChB,SAAS,GACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,WAAW,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EACH,kCAAkC,EAClC,oCAAoC,EACpC,mCAAmC,EACnC,iCAAiC,EACjC,yCAAyC,GAC5C,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACH,oCAAoC,EACpC,kCAAkC,EAClC,iCAAiC,EACjC,mCAAmC,EACnC,8BAA8B,EAC9B,yCAAyC,GAC5C,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACH,oCAAoC,EACpC,4CAA4C,EAC5C,wCAAwC,EACxC,mCAAmC,EACnC,2CAA2C,EAC3C,uCAAuC,GAC1C,MAAM,4CAA4C,CAAC;AACpD,YAAY,EACR,8BAA8B,EAC9B,sCAAsC,EACtC,kCAAkC,EAClC,gCAAgC,GACnC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,oCAAoC,EACpC,4CAA4C,EAC5C,wCAAwC,EACxC,mCAAmC,EACnC,2CAA2C,EAC3C,uCAAuC,GAC1C,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,oCAAoC,EAAE,MAAM,2CAA2C,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAEzF,OAAO,EACH,wBAAwB,EACxB,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,eAAe,GAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EACH,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,GAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kCAAkC,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,EACH,8BAA8B,EAC9B,iCAAiC,EACjC,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,KAAK,uBAAuB,GAC/B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,EAC5B,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,GAC/B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,mCAAmC,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/esm/index.js
CHANGED
|
@@ -19,6 +19,7 @@ export { yamlVisualisationToDeclarative, yamlVisualisationToMetadataObject, yaml
|
|
|
19
19
|
export { yamlDashboardToDeclarative, yamlFilterContextToDeclarative, yamlInteractionToDeclarative, yamlPluginsToDeclarative, yamlWidgetItemToDeclarative, yamlWidgetToDeclarative, } from "./to/yamlDashboardToDeclarative.js";
|
|
20
20
|
export { yamlPluginToDeclarative } from "./to/yamlPluginToDeclarative.js";
|
|
21
21
|
export { yamlAttributeHierarchyToDeclarative } from "./to/yamlAttributeHierarchyToDeclarative.js";
|
|
22
|
+
export { yamlDocumentsToDeclarativeWorkspace, yamlEntitiesToDeclarativeWorkspace, } from "./to/yamlDocumentsToDeclarativeWorkspace.js";
|
|
22
23
|
// Entity converters: Declarative API → YAML
|
|
23
24
|
export { declarativeDatasetToYaml } from "./from/declarativeDatasetToYaml.js";
|
|
24
25
|
export { declarativeDateInstanceToYaml } from "./from/declarativeDateInstanceToYaml.js";
|
|
@@ -34,6 +34,7 @@ import { DeclarativeReport } from '@gooddata/api-client-tiger';
|
|
|
34
34
|
import { DeclarativeReportPageLayout } from '@gooddata/api-client-tiger';
|
|
35
35
|
import { DeclarativeTable } from '@gooddata/api-client-tiger';
|
|
36
36
|
import { DeclarativeVisualizationObject } from '@gooddata/api-client-tiger';
|
|
37
|
+
import { DeclarativeWorkspaceModel } from '@gooddata/api-client-tiger';
|
|
37
38
|
import { EmptyValues } from '@gooddata/sdk-model';
|
|
38
39
|
import type { Fields } from '@gooddata/sdk-code-schemas/v1';
|
|
39
40
|
import type { Filter } from '@gooddata/sdk-code-schemas/v1';
|
|
@@ -1366,7 +1367,7 @@ export declare interface CustomTooltip {
|
|
|
1366
1367
|
export declare type CustomTooltipPlacement = "above" | "below" | "replace";
|
|
1367
1368
|
|
|
1368
1369
|
/** @internal */
|
|
1369
|
-
export declare type DashboardDefinition = Pick<OverrideDashboardDefinition, "layout" | "plugins" | "dateFilterConfig" | "dateFilterConfigs" | "timezoneConfig" | "disableCrossFiltering" | "disableUserFilterSave" | "disableUserFilterReset" | "disableFilterViews" | "
|
|
1370
|
+
export declare type DashboardDefinition = Pick<OverrideDashboardDefinition, "layout" | "plugins" | "dateFilterConfig" | "dateFilterConfigs" | "timezoneConfig" | "disableCrossFiltering" | "disableUserFilterSave" | "disableUserFilterReset" | "disableFilterViews" | "enablePersistentFiltersAcrossTabs" | "attributeFilterConfigs" | "measureValueFilterConfigs" | "filterContextRef" | "tabs" | "activeTabLocalIdentifier"> & {
|
|
1370
1371
|
version: string;
|
|
1371
1372
|
};
|
|
1372
1373
|
|
|
@@ -4590,6 +4591,47 @@ export declare function yamlDatasetToDeclarative(entities: ExportEntities, input
|
|
|
4590
4591
|
/** @public */
|
|
4591
4592
|
export declare function yamlDateDatesetToDeclarative(input: DateDataset): DeclarativeDateDataset;
|
|
4592
4593
|
|
|
4594
|
+
/**
|
|
4595
|
+
* Converts the AaC documents of one workspace to its declarative model.
|
|
4596
|
+
*
|
|
4597
|
+
* @remarks
|
|
4598
|
+
* The documents must be valid against the AaC schema. The ids must be unique in each collection of
|
|
4599
|
+
* the declarative model. For example, all chart types share the `visualizationObjects` collection.
|
|
4600
|
+
* The function does not report duplicate ids.
|
|
4601
|
+
*
|
|
4602
|
+
* The function generates the filter context ids. Two calls give different ids.
|
|
4603
|
+
*
|
|
4604
|
+
* @param documents - the AaC documents of the workspace
|
|
4605
|
+
* @param options - the conversion options
|
|
4606
|
+
* @returns the declarative model of the workspace
|
|
4607
|
+
*
|
|
4608
|
+
* @public
|
|
4609
|
+
*/
|
|
4610
|
+
export declare function yamlDocumentsToDeclarativeWorkspace(documents: EntityData[], options?: YamlDocumentsToDeclarativeWorkspaceOptions): Required<DeclarativeWorkspaceModel>;
|
|
4611
|
+
|
|
4612
|
+
/**
|
|
4613
|
+
* Options of {@link yamlDocumentsToDeclarativeWorkspace}.
|
|
4614
|
+
*
|
|
4615
|
+
* @public
|
|
4616
|
+
*/
|
|
4617
|
+
export declare type YamlDocumentsToDeclarativeWorkspaceOptions = {
|
|
4618
|
+
/**
|
|
4619
|
+
* Data source of the datasets that do not name their own `data_source`.
|
|
4620
|
+
*
|
|
4621
|
+
* @remarks
|
|
4622
|
+
* A dataset with no `data_source` gets an empty data source id when this is not set.
|
|
4623
|
+
*/
|
|
4624
|
+
dataSourceId?: string;
|
|
4625
|
+
};
|
|
4626
|
+
|
|
4627
|
+
/**
|
|
4628
|
+
* Converts the entities of one workspace to its declarative model and stores the declarative form
|
|
4629
|
+
* of each entity in its `declarative` property.
|
|
4630
|
+
*
|
|
4631
|
+
* @internal
|
|
4632
|
+
*/
|
|
4633
|
+
export declare function yamlEntitiesToDeclarativeWorkspace(entities: ExportEntities, { dataSourceId }?: YamlDocumentsToDeclarativeWorkspaceOptions): Required<DeclarativeWorkspaceModel>;
|
|
4634
|
+
|
|
4593
4635
|
/** @internal */
|
|
4594
4636
|
export declare type YamlFieldData = {
|
|
4595
4637
|
format?: string;
|
|
@@ -4,7 +4,7 @@ import { type IDashboardAttributeFilterConfig, type IDashboardDateFilter, type I
|
|
|
4
4
|
import { type OverrideDashboardDefinition } from "../from/declarativeDashboardToYaml.js";
|
|
5
5
|
import { type ExportEntities } from "../types.js";
|
|
6
6
|
/** @internal */
|
|
7
|
-
export type DashboardDefinition = Pick<OverrideDashboardDefinition, "layout" | "plugins" | "dateFilterConfig" | "dateFilterConfigs" | "timezoneConfig" | "disableCrossFiltering" | "disableUserFilterSave" | "disableUserFilterReset" | "disableFilterViews" | "
|
|
7
|
+
export type DashboardDefinition = Pick<OverrideDashboardDefinition, "layout" | "plugins" | "dateFilterConfig" | "dateFilterConfigs" | "timezoneConfig" | "disableCrossFiltering" | "disableUserFilterSave" | "disableUserFilterReset" | "disableFilterViews" | "enablePersistentFiltersAcrossTabs" | "attributeFilterConfigs" | "measureValueFilterConfigs" | "filterContextRef" | "tabs" | "activeTabLocalIdentifier"> & {
|
|
8
8
|
version: string;
|
|
9
9
|
};
|
|
10
10
|
/** @internal */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yamlDashboardToDeclarative.d.ts","sourceRoot":"","sources":["../../src/to/yamlDashboardToDeclarative.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,8BAA8B,EAGnC,KAAK,wBAAwB,EAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACR,eAAe,EACf,SAAS,EAGT,gBAAgB,EAMhB,WAAW,EAKX,cAAc,EAId,mBAAmB,EACnB,2BAA2B,EAC3B,MAAM,EACT,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAIH,KAAK,+BAA+B,EACpC,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,8BAA8B,EAEnC,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,kCAAkC,EACvC,KAAK,oBAAoB,EAIzB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAE7B,KAAK,wBAAwB,EAIhC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAqB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AA+BrE,gBAAgB;AAChB,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAClC,2BAA2B,EACzB,QAAQ,GACR,SAAS,GACT,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,uBAAuB,GACvB,uBAAuB,GACvB,wBAAwB,GACxB,oBAAoB,GACpB,
|
|
1
|
+
{"version":3,"file":"yamlDashboardToDeclarative.d.ts","sourceRoot":"","sources":["../../src/to/yamlDashboardToDeclarative.ts"],"names":[],"mappings":"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"}
|
|
@@ -177,8 +177,8 @@ export function yamlDashboardToDeclarative(entities, input) {
|
|
|
177
177
|
...(input.user_filters_save === false ? { disableUserFilterSave: true } : {}),
|
|
178
178
|
...(input.user_filters_reset === false ? { disableUserFilterReset: true } : {}),
|
|
179
179
|
...(input.filter_views === false ? { disableFilterViews: true } : {}),
|
|
180
|
-
...(input.persistent_filters_across_tabs ===
|
|
181
|
-
? {
|
|
180
|
+
...(typeof input.persistent_filters_across_tabs === "boolean"
|
|
181
|
+
? { enablePersistentFiltersAcrossTabs: input.persistent_filters_across_tabs }
|
|
182
182
|
: {}),
|
|
183
183
|
}
|
|
184
184
|
: {
|
|
@@ -195,8 +195,8 @@ export function yamlDashboardToDeclarative(entities, input) {
|
|
|
195
195
|
...(input.user_filters_save === false ? { disableUserFilterSave: true } : {}),
|
|
196
196
|
...(input.user_filters_reset === false ? { disableUserFilterReset: true } : {}),
|
|
197
197
|
...(input.filter_views === false ? { disableFilterViews: true } : {}),
|
|
198
|
-
...(input.persistent_filters_across_tabs ===
|
|
199
|
-
? {
|
|
198
|
+
...(typeof input.persistent_filters_across_tabs === "boolean"
|
|
199
|
+
? { enablePersistentFiltersAcrossTabs: input.persistent_filters_across_tabs }
|
|
200
200
|
: {}),
|
|
201
201
|
filterContextRef: filterContext
|
|
202
202
|
? createIdentifier(filterContext.id, { forceType: "filterContext" })
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type DeclarativeWorkspaceModel } from "@gooddata/api-client-tiger";
|
|
2
|
+
import { type EntityData, type ExportEntities } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Options of {@link yamlDocumentsToDeclarativeWorkspace}.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export type YamlDocumentsToDeclarativeWorkspaceOptions = {
|
|
9
|
+
/**
|
|
10
|
+
* Data source of the datasets that do not name their own `data_source`.
|
|
11
|
+
*
|
|
12
|
+
* @remarks
|
|
13
|
+
* A dataset with no `data_source` gets an empty data source id when this is not set.
|
|
14
|
+
*/
|
|
15
|
+
dataSourceId?: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Converts the AaC documents of one workspace to its declarative model.
|
|
19
|
+
*
|
|
20
|
+
* @remarks
|
|
21
|
+
* The documents must be valid against the AaC schema. The ids must be unique in each collection of
|
|
22
|
+
* the declarative model. For example, all chart types share the `visualizationObjects` collection.
|
|
23
|
+
* The function does not report duplicate ids.
|
|
24
|
+
*
|
|
25
|
+
* The function generates the filter context ids. Two calls give different ids.
|
|
26
|
+
*
|
|
27
|
+
* @param documents - the AaC documents of the workspace
|
|
28
|
+
* @param options - the conversion options
|
|
29
|
+
* @returns the declarative model of the workspace
|
|
30
|
+
*
|
|
31
|
+
* @public
|
|
32
|
+
*/
|
|
33
|
+
export declare function yamlDocumentsToDeclarativeWorkspace(documents: EntityData[], options?: YamlDocumentsToDeclarativeWorkspaceOptions): Required<DeclarativeWorkspaceModel>;
|
|
34
|
+
/**
|
|
35
|
+
* Converts the entities of one workspace to its declarative model and stores the declarative form
|
|
36
|
+
* of each entity in its `declarative` property.
|
|
37
|
+
*
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export declare function yamlEntitiesToDeclarativeWorkspace(entities: ExportEntities, { dataSourceId }?: YamlDocumentsToDeclarativeWorkspaceOptions): Required<DeclarativeWorkspaceModel>;
|
|
41
|
+
//# sourceMappingURL=yamlDocumentsToDeclarativeWorkspace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yamlDocumentsToDeclarativeWorkspace.d.ts","sourceRoot":"","sources":["../../src/to/yamlDocumentsToDeclarativeWorkspace.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiC,KAAK,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAc3G,OAAO,EAA8B,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAY/F;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACrD;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mCAAmC,CAC/C,SAAS,EAAE,UAAU,EAAE,EACvB,OAAO,GAAE,0CAA+C,GACzD,QAAQ,CAAC,yBAAyB,CAAC,CAQrC;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAC9C,QAAQ,EAAE,cAAc,EACxB,EAAE,YAAY,EAAE,GAAE,0CAA+C,GAClE,QAAQ,CAAC,yBAAyB,CAAC,CAqCrC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// (C) 2023-2026 GoodData Corporation
|
|
2
|
+
import { AttributeHierarchyTypes, ComputedAttributeTypes, DashboardTypes, DatasetTypes, DateDatasetTypes, MetricTypes, ParameterTypes, PluginTypes, VisualisationsTypes, } from "../conts.js";
|
|
3
|
+
import { yamlAttributeHierarchyToDeclarative } from "./yamlAttributeHierarchyToDeclarative.js";
|
|
4
|
+
import { yamlComputedAttributeToDeclarative } from "./yamlComputedAttributeToDeclarative.js";
|
|
5
|
+
import { yamlDashboardToDeclarative } from "./yamlDashboardToDeclarative.js";
|
|
6
|
+
import { yamlDatasetToDeclarative } from "./yamlDatasetToDeclarative.js";
|
|
7
|
+
import { yamlDateDatesetToDeclarative } from "./yamlDateDatasetToDeclarative.js";
|
|
8
|
+
import { yamlMetricToDeclarative } from "./yamlMetricToDeclarative.js";
|
|
9
|
+
import { yamlParameterToDeclarative } from "./yamlParameterToDeclarative.js";
|
|
10
|
+
import { yamlPluginToDeclarative } from "./yamlPluginToDeclarative.js";
|
|
11
|
+
import { yamlVisualisationToDeclarative } from "./yamlVisualisationToDeclarative.js";
|
|
12
|
+
/**
|
|
13
|
+
* Converts the AaC documents of one workspace to its declarative model.
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* The documents must be valid against the AaC schema. The ids must be unique in each collection of
|
|
17
|
+
* the declarative model. For example, all chart types share the `visualizationObjects` collection.
|
|
18
|
+
* The function does not report duplicate ids.
|
|
19
|
+
*
|
|
20
|
+
* The function generates the filter context ids. Two calls give different ids.
|
|
21
|
+
*
|
|
22
|
+
* @param documents - the AaC documents of the workspace
|
|
23
|
+
* @param options - the conversion options
|
|
24
|
+
* @returns the declarative model of the workspace
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
27
|
+
*/
|
|
28
|
+
export function yamlDocumentsToDeclarativeWorkspace(documents, options = {}) {
|
|
29
|
+
const entities = documents.map((document) => ({
|
|
30
|
+
id: document.id,
|
|
31
|
+
type: document.type,
|
|
32
|
+
path: "",
|
|
33
|
+
data: document,
|
|
34
|
+
}));
|
|
35
|
+
return yamlEntitiesToDeclarativeWorkspace(entities, options);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Converts the entities of one workspace to its declarative model and stores the declarative form
|
|
39
|
+
* of each entity in its `declarative` property.
|
|
40
|
+
*
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export function yamlEntitiesToDeclarativeWorkspace(entities, { dataSourceId } = {}) {
|
|
44
|
+
const convert = (types, toDeclarative) => entities
|
|
45
|
+
.filter((entity) => types.includes(entity.type))
|
|
46
|
+
.map((entity) => {
|
|
47
|
+
const declarative = toDeclarative(entity.data);
|
|
48
|
+
entity.declarative = declarative;
|
|
49
|
+
return declarative;
|
|
50
|
+
});
|
|
51
|
+
const dashboards = convert(DashboardTypes, (dashboard) => yamlDashboardToDeclarative(entities, dashboard));
|
|
52
|
+
return {
|
|
53
|
+
ldm: {
|
|
54
|
+
datasets: convert(DatasetTypes, (dataset) => yamlDatasetToDeclarative(entities, dataset, dataSourceId)),
|
|
55
|
+
dateInstances: convert(DateDatasetTypes, yamlDateDatesetToDeclarative),
|
|
56
|
+
},
|
|
57
|
+
analytics: {
|
|
58
|
+
metrics: convert(MetricTypes, yamlMetricToDeclarative),
|
|
59
|
+
parameters: convert(ParameterTypes, yamlParameterToDeclarative),
|
|
60
|
+
computedAttributes: convert(ComputedAttributeTypes, yamlComputedAttributeToDeclarative),
|
|
61
|
+
visualizationObjects: convert(VisualisationsTypes, (visualisation) => yamlVisualisationToDeclarative(entities, visualisation)),
|
|
62
|
+
analyticalDashboards: dashboards.map(({ dashboard }) => dashboard),
|
|
63
|
+
filterContexts: dashboards.flatMap(dashboardFilterContexts),
|
|
64
|
+
dashboardPlugins: convert(PluginTypes, yamlPluginToDeclarative),
|
|
65
|
+
attributeHierarchies: convert(AttributeHierarchyTypes, yamlAttributeHierarchyToDeclarative),
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
// A V2 dashboard repeats its root filter context as the filter context of its first tab.
|
|
70
|
+
// A V3 dashboard has no root filter context.
|
|
71
|
+
function dashboardFilterContexts({ filterContext, tabFilterContexts = [], }) {
|
|
72
|
+
const contexts = filterContext ? [filterContext, ...tabFilterContexts] : tabFilterContexts;
|
|
73
|
+
return contexts.filter((context, index) => contexts.findIndex(({ id }) => id === context.id) === index);
|
|
74
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-code-convertors",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.67.0-alpha.2",
|
|
4
4
|
"description": "GoodData AAC declarative converters",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "GoodData",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"uuid": "11.1.1",
|
|
28
28
|
"yaml": "2.8.3",
|
|
29
|
-
"@gooddata/api-client-tiger": "11.
|
|
30
|
-
"@gooddata/sdk-
|
|
31
|
-
"@gooddata/sdk-
|
|
29
|
+
"@gooddata/api-client-tiger": "11.67.0-alpha.2",
|
|
30
|
+
"@gooddata/sdk-model": "11.67.0-alpha.2",
|
|
31
|
+
"@gooddata/sdk-code-schemas": "11.67.0-alpha.2"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@microsoft/api-extractor": "7.59.2",
|
|
@@ -48,8 +48,8 @@
|
|
|
48
48
|
"oxlint-tsgolint": "7.0.2001",
|
|
49
49
|
"typescript": "7.0.2",
|
|
50
50
|
"vitest": "5.0.4",
|
|
51
|
-
"@gooddata/
|
|
52
|
-
"@gooddata/
|
|
51
|
+
"@gooddata/eslint-config": "11.67.0-alpha.2",
|
|
52
|
+
"@gooddata/oxlint-config": "11.67.0-alpha.2"
|
|
53
53
|
},
|
|
54
54
|
"scripts": {
|
|
55
55
|
"_phase:build": "npm run build",
|