@gooddata/code-cli 0.58.0-alpha.0 → 0.58.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/dist/index.js +326 -183
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -37370,7 +37370,7 @@ function isPromise(value) {
|
|
|
37370
37370
|
//#endregion
|
|
37371
37371
|
//#region package.json
|
|
37372
37372
|
var name$1 = "@gooddata/code-cli";
|
|
37373
|
-
var version$1 = "0.58.0-alpha.
|
|
37373
|
+
var version$1 = "0.58.0-alpha.1";
|
|
37374
37374
|
//#endregion
|
|
37375
37375
|
//#region ../../../common/temp/aac/node_modules/.pnpm/vscode-languageserver@8.1.0/node_modules/vscode-languageserver/lib/common/utils/is.js
|
|
37376
37376
|
var require_is$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
@@ -77391,6 +77391,44 @@ function isEmpty$1(value) {
|
|
|
77391
77391
|
return true;
|
|
77392
77392
|
}
|
|
77393
77393
|
//#endregion
|
|
77394
|
+
//#region ../../../common/temp/aac/node_modules/.pnpm/@gooddata+sdk-backend-spi@file+..+..+..+sdk+libs+sdk-backend-spi/node_modules/@gooddata/sdk-backend-spi/esm/errors/index.js
|
|
77395
|
+
/**
|
|
77396
|
+
* Types of errors that can be raised by Analytical Backends.
|
|
77397
|
+
*
|
|
77398
|
+
* @public
|
|
77399
|
+
*/
|
|
77400
|
+
const AnalyticalBackendErrorTypes = {
|
|
77401
|
+
NO_DATA: "ND",
|
|
77402
|
+
DATA_TOO_LARGE: "DTL",
|
|
77403
|
+
PROTECTED_DATA: "PD",
|
|
77404
|
+
UNEXPECTED_HTTP: "UH",
|
|
77405
|
+
UNEXPECTED: "UE",
|
|
77406
|
+
NOT_SUPPORTED: "NS",
|
|
77407
|
+
NOT_IMPLEMENTED: "NI!",
|
|
77408
|
+
NOT_AUTHENTICATED: "NAuth",
|
|
77409
|
+
LIMIT_REACHED: "LR",
|
|
77410
|
+
CONTRACT_EXPIRED: "CE",
|
|
77411
|
+
PERMISSION_ESCALATION_REFUSED: "PE",
|
|
77412
|
+
TIMEOUT_ERROR: "TE",
|
|
77413
|
+
ABORT: "AB"
|
|
77414
|
+
};
|
|
77415
|
+
/**
|
|
77416
|
+
* Type guard checking whether input is an instance of {@link AnalyticalBackendError}
|
|
77417
|
+
*
|
|
77418
|
+
* @public
|
|
77419
|
+
*/
|
|
77420
|
+
function isAnalyticalBackendError(obj) {
|
|
77421
|
+
return !isEmpty$1(obj) && obj.abeType !== void 0;
|
|
77422
|
+
}
|
|
77423
|
+
/**
|
|
77424
|
+
* Type guard checking whether input is an instance of {@link UnexpectedResponseError}
|
|
77425
|
+
*
|
|
77426
|
+
* @public
|
|
77427
|
+
*/
|
|
77428
|
+
function isUnexpectedResponseError(obj) {
|
|
77429
|
+
return isAnalyticalBackendError(obj) && obj.abeType === AnalyticalBackendErrorTypes.UNEXPECTED_HTTP;
|
|
77430
|
+
}
|
|
77431
|
+
//#endregion
|
|
77394
77432
|
//#region ../../../common/temp/aac/node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
|
|
77395
77433
|
var tslib_es6_exports$1 = /* @__PURE__ */ __exportAll({
|
|
77396
77434
|
__addDisposableResource: () => __addDisposableResource$1,
|
|
@@ -87785,8 +87823,64 @@ var ErrorCodes;
|
|
|
87785
87823
|
ErrorCodes[ErrorCodes["SuspiciousStringLiteral"] = 12] = "SuspiciousStringLiteral";
|
|
87786
87824
|
ErrorCodes[ErrorCodes["ParameterValueNotAllowed"] = 13] = "ParameterValueNotAllowed";
|
|
87787
87825
|
ErrorCodes[ErrorCodes["ParameterValueUncovered"] = 14] = "ParameterValueUncovered";
|
|
87826
|
+
ErrorCodes[ErrorCodes["InvalidLabelElementValue"] = 15] = "InvalidLabelElementValue";
|
|
87788
87827
|
})(ErrorCodes || (ErrorCodes = {}));
|
|
87789
87828
|
//#endregion
|
|
87829
|
+
//#region ../../../common/temp/aac/node_modules/.pnpm/@gooddata+gdc-maql-language-server@file+..+..+..+libs+gdc-maql-language-server/node_modules/@gooddata/gdc-maql-language-server/esm/dateElementFormat.js
|
|
87830
|
+
/**
|
|
87831
|
+
* Value patterns the backend expects for date attribute elements used in MAQL, per granularity.
|
|
87832
|
+
*
|
|
87833
|
+
* Mirrors the backend (gdc-nas) implementation, which is the source of truth:
|
|
87834
|
+
* - patterns: `libraries/calq/calcique-lib/src/main/kotlin/generator/model/date/GregorianChronological.kt`
|
|
87835
|
+
* and `FiscalChronological.kt` (`pattern` of each granularity object)
|
|
87836
|
+
* - regex derivation: `Chronological.valueRegex` in `.../generator/model/date/Chronological.kt`
|
|
87837
|
+
* - check: `TypeHandler.checkDateFormat` in `libraries/calq/calcique-lib/src/main/kotlin/interpreter/TypeHandler.kt`
|
|
87838
|
+
*
|
|
87839
|
+
* The backend regex is deliberately loose (e.g. month `[01]?\d` accepts "13"), and this check must accept
|
|
87840
|
+
* exactly the same values, otherwise the editor would reject expressions the backend accepts.
|
|
87841
|
+
* Any change on the backend side has to be aligned here manually.
|
|
87842
|
+
*
|
|
87843
|
+
* Periodical granularities (day of week, month of year, ...) are validated by the backend as integer ranges
|
|
87844
|
+
* that partly depend on the workspace configuration; they are not checked here and rely on the backend
|
|
87845
|
+
* error returned by the elements query instead.
|
|
87846
|
+
*/
|
|
87847
|
+
const granularityPatterns = {
|
|
87848
|
+
"GDC.time.second": "YYYY-MM-DD HH24:MI:SS",
|
|
87849
|
+
"GDC.time.minute": "YYYY-MM-DD HH24:MI",
|
|
87850
|
+
"GDC.time.hour": "YYYY-MM-DD HH24",
|
|
87851
|
+
"GDC.time.date": "YYYY-MM-DD",
|
|
87852
|
+
"GDC.time.week_us": "IYYY-IW",
|
|
87853
|
+
"GDC.time.month": "YYYY-MM",
|
|
87854
|
+
"GDC.time.quarter": "YYYY-Q",
|
|
87855
|
+
"GDC.time.year": "YYYY",
|
|
87856
|
+
"GDC.time.fiscal_month": "YYYY-MM",
|
|
87857
|
+
"GDC.time.fiscal_quarter": "YYYY-Q",
|
|
87858
|
+
"GDC.time.fiscal_year": "YYYY"
|
|
87859
|
+
};
|
|
87860
|
+
const patternTokens = [
|
|
87861
|
+
["YYYY", "(\\d{1,4})"],
|
|
87862
|
+
["IYYY", "(\\d{1,4})"],
|
|
87863
|
+
["Q", "([1-4])"],
|
|
87864
|
+
["MM", "([01]?\\d)"],
|
|
87865
|
+
["IW", "([0-5]?\\d)"],
|
|
87866
|
+
["DD", "([0-3]?\\d)"],
|
|
87867
|
+
["HH24", "([0-2]?\\d)"],
|
|
87868
|
+
["MI", "([0-5]?\\d)"],
|
|
87869
|
+
["SS", "([0-5]?\\d)"]
|
|
87870
|
+
];
|
|
87871
|
+
const granularityRegexes = new Map(Object.entries(granularityPatterns).map(([granularity, pattern]) => [granularity, new RegExp(`^${patternTokens.reduce((regex, [token, replacement]) => regex.replaceAll(token, replacement), pattern)}$`)]));
|
|
87872
|
+
/**
|
|
87873
|
+
* Checks that the value of a date attribute element has the format the backend expects for the granularity.
|
|
87874
|
+
*
|
|
87875
|
+
* @returns the expected pattern when the value does not match it, undefined when the value is valid
|
|
87876
|
+
* or the granularity is not checked
|
|
87877
|
+
*/
|
|
87878
|
+
function getInvalidDateElementPattern(value, granularity) {
|
|
87879
|
+
if (!granularity || value === "") return;
|
|
87880
|
+
const regex = granularityRegexes.get(granularity);
|
|
87881
|
+
return regex && !regex.test(value) ? granularityPatterns[granularity] : void 0;
|
|
87882
|
+
}
|
|
87883
|
+
//#endregion
|
|
87790
87884
|
//#region ../../../common/temp/aac/node_modules/.pnpm/@gooddata+gdc-maql-language-server@file+..+..+..+libs+gdc-maql-language-server/node_modules/@gooddata/gdc-maql-language-server/esm/findObjects.js
|
|
87791
87885
|
var import_tree = require_tree();
|
|
87792
87886
|
const { AttributeTypeContext: AttributeTypeContext$1, MaqlParser: MaqlParser$4, NumericTypeContext: NumericTypeContext$1 } = import_dist$7.default;
|
|
@@ -87841,6 +87935,116 @@ var ObjectFinder = class {
|
|
|
87841
87935
|
}
|
|
87842
87936
|
};
|
|
87843
87937
|
//#endregion
|
|
87938
|
+
//#region ../../../common/temp/aac/node_modules/.pnpm/@gooddata+gdc-maql-language-server@file+..+..+..+libs+gdc-maql-language-server/node_modules/@gooddata/gdc-maql-language-server/esm/metadata/model.js
|
|
87939
|
+
function isITigerAttribute(object) {
|
|
87940
|
+
return object.tigerType === "attribute";
|
|
87941
|
+
}
|
|
87942
|
+
function isITigerLabel(object) {
|
|
87943
|
+
return object.tigerType === "label";
|
|
87944
|
+
}
|
|
87945
|
+
function isITigerMetric(object) {
|
|
87946
|
+
return object.tigerType === "metric";
|
|
87947
|
+
}
|
|
87948
|
+
function isITigerParameter(object) {
|
|
87949
|
+
return object.tigerType === "parameter";
|
|
87950
|
+
}
|
|
87951
|
+
var LdmObjects = class LdmObjects {
|
|
87952
|
+
attributes;
|
|
87953
|
+
labels;
|
|
87954
|
+
facts;
|
|
87955
|
+
metrics;
|
|
87956
|
+
computedAttributes;
|
|
87957
|
+
parameters;
|
|
87958
|
+
datasets;
|
|
87959
|
+
size;
|
|
87960
|
+
constructor(attributes, facts, metrics, parameters, dates, datasets, computedAttributes = []) {
|
|
87961
|
+
const processedAttributes = this.processAttributes(attributes);
|
|
87962
|
+
const processedDates = this.processDates(dates);
|
|
87963
|
+
const regularAttributes = processedAttributes.flatMap((item) => item.attributes);
|
|
87964
|
+
const dateAttributes = processedDates.flatMap((item) => item.attributes);
|
|
87965
|
+
this.attributes = {
|
|
87966
|
+
regular: regularAttributes,
|
|
87967
|
+
date: dateAttributes,
|
|
87968
|
+
all: regularAttributes.concat(dateAttributes)
|
|
87969
|
+
};
|
|
87970
|
+
const regularLabels = processedAttributes.flatMap((item) => item.labels);
|
|
87971
|
+
const dateLabels = processedDates.flatMap((item) => item.labels);
|
|
87972
|
+
this.labels = {
|
|
87973
|
+
regular: regularLabels,
|
|
87974
|
+
date: dateLabels,
|
|
87975
|
+
all: regularLabels.concat(dateLabels)
|
|
87976
|
+
};
|
|
87977
|
+
this.facts = facts.map((fact) => LdmObjects.toTigerMetadataObject(fact.fact));
|
|
87978
|
+
this.metrics = metrics.map((metric) => LdmObjects.toTigerMetadataObject(metric.measure));
|
|
87979
|
+
this.computedAttributes = computedAttributes.map((computedAttribute) => LdmObjects.toTigerMetadataObject(computedAttribute));
|
|
87980
|
+
this.parameters = parameters.map((parameter) => LdmObjects.toTigerMetadataObject(parameter));
|
|
87981
|
+
this.datasets = datasets.map((dataset) => LdmObjects.toTigerDataset(dataset));
|
|
87982
|
+
this.size = this.attributes.all.length + this.labels.all.length + this.facts.length + this.metrics.length + this.computedAttributes.length + this.parameters.length;
|
|
87983
|
+
}
|
|
87984
|
+
get(type, typeModifier = "all") {
|
|
87985
|
+
switch (type) {
|
|
87986
|
+
case "attribute": return this.attributes[typeModifier];
|
|
87987
|
+
case "fact": return this.facts;
|
|
87988
|
+
case "metric": return this.metrics;
|
|
87989
|
+
case "computedAttribute": return this.computedAttributes;
|
|
87990
|
+
case "parameter": return this.parameters;
|
|
87991
|
+
case "dataset": return this.datasets;
|
|
87992
|
+
case "label": return this.labels[typeModifier];
|
|
87993
|
+
default: return;
|
|
87994
|
+
}
|
|
87995
|
+
}
|
|
87996
|
+
findObject(object) {
|
|
87997
|
+
if (!object.tigerType) return;
|
|
87998
|
+
return this.get(object.tigerType)?.find((tigerObject) => areObjRefsEqual(tigerObject.ref, object.ref));
|
|
87999
|
+
}
|
|
88000
|
+
findById(type, id) {
|
|
88001
|
+
return this.get(type)?.find((object) => object.id === id);
|
|
88002
|
+
}
|
|
88003
|
+
processAttributes(attributes) {
|
|
88004
|
+
return attributes.flatMap((attribute) => ({
|
|
88005
|
+
attributes: [LdmObjects.toTigerMetadataObject(attribute.attribute)],
|
|
88006
|
+
labels: attribute.displayForms.flatMap((label) => LdmObjects.toTigerMetadataObject(label))
|
|
88007
|
+
}));
|
|
88008
|
+
}
|
|
88009
|
+
processDates(dates) {
|
|
88010
|
+
return dates.flatMap((date) => ({
|
|
88011
|
+
attributes: dates.flatMap((date) => date.dateAttributes.map((attr) => ({
|
|
88012
|
+
tigerTypeModifier: "date",
|
|
88013
|
+
granularity: attr.granularity,
|
|
88014
|
+
...LdmObjects.toTigerMetadataObject(attr.attribute)
|
|
88015
|
+
}))),
|
|
88016
|
+
labels: date.dateAttributes.flatMap((dateAttr) => dateAttr.attribute.displayForms.map((label) => ({
|
|
88017
|
+
tigerTypeModifier: "date",
|
|
88018
|
+
granularity: dateAttr.granularity,
|
|
88019
|
+
...LdmObjects.toTigerMetadataObject(label)
|
|
88020
|
+
})))
|
|
88021
|
+
}));
|
|
88022
|
+
}
|
|
88023
|
+
static toTigerMetadataObject(metadataObject) {
|
|
88024
|
+
return {
|
|
88025
|
+
tigerType: objectTypeToTigerIdType[metadataObject.type],
|
|
88026
|
+
...metadataObject
|
|
88027
|
+
};
|
|
88028
|
+
}
|
|
88029
|
+
static toTigerDataset(dataset) {
|
|
88030
|
+
return {
|
|
88031
|
+
type: "dataSet",
|
|
88032
|
+
tigerType: "dataset",
|
|
88033
|
+
id: dataset.id,
|
|
88034
|
+
title: dataset.title,
|
|
88035
|
+
description: dataset.description || "",
|
|
88036
|
+
deprecated: false,
|
|
88037
|
+
production: true,
|
|
88038
|
+
ref: {
|
|
88039
|
+
type: "dataSet",
|
|
88040
|
+
identifier: dataset.id
|
|
88041
|
+
},
|
|
88042
|
+
unlisted: false,
|
|
88043
|
+
uri: ""
|
|
88044
|
+
};
|
|
88045
|
+
}
|
|
88046
|
+
};
|
|
88047
|
+
//#endregion
|
|
87844
88048
|
//#region ../../../common/temp/aac/node_modules/.pnpm/@gooddata+gdc-maql-language-server@file+..+..+..+libs+gdc-maql-language-server/node_modules/@gooddata/gdc-maql-language-server/esm/parameterConstraints.js
|
|
87845
88049
|
const { MaqlLexer: MaqlLexer$3 } = import_dist$7.default;
|
|
87846
88050
|
function validateParameterConstraints(metric, ldmObjects) {
|
|
@@ -88414,7 +88618,7 @@ async function validate$3(query, ldmObjects, labelElementsFunc) {
|
|
|
88414
88618
|
const lexerDiagnostics = parserDiagnostics.length > 0 ? validateByLexer(metric) : [];
|
|
88415
88619
|
const semanticDiagnostics = validateSemantics(metric.ast);
|
|
88416
88620
|
const objectsDiagnostics = ldmObjects ? validateObjects(metric, ldmObjects) : [];
|
|
88417
|
-
const labelDiagnostics = await validateLabelElements(metric, labelElementsFunc);
|
|
88621
|
+
const labelDiagnostics = await validateLabelElements(metric, ldmObjects, labelElementsFunc);
|
|
88418
88622
|
const typeDiagnostics = ldmObjects ? validateTypes(metric.ast, ldmObjects) : [];
|
|
88419
88623
|
const constraintsDiagnostics = ldmObjects ? validateParameterConstraints(metric, ldmObjects) : [];
|
|
88420
88624
|
return parserDiagnostics.concat(lexerDiagnostics, semanticDiagnostics, typeDiagnostics, objectsDiagnostics, constraintsDiagnostics, labelDiagnostics.flat());
|
|
@@ -88448,18 +88652,47 @@ function validateObjects(metric, ldmObjects) {
|
|
|
88448
88652
|
return existingObjects.find((obj) => areObjRefsEqual(obj.ref, foundObject.ref)) ? null : import_main$1.Diagnostic.create(foundObject.range.toRange(), `${foundObject.tigerType} '${foundObject.id}' not found`, import_main$1.DiagnosticSeverity.Error, ErrorCodes.ObjectNotFound, diagnosticsSource);
|
|
88449
88653
|
}).filter((diagnostic) => !!diagnostic);
|
|
88450
88654
|
}
|
|
88451
|
-
async function validateLabelElements(metric, labelElementsFunc) {
|
|
88452
|
-
if (!labelElementsFunc) return [];
|
|
88655
|
+
async function validateLabelElements(metric, ldmObjects, labelElementsFunc) {
|
|
88656
|
+
if (!ldmObjects && !labelElementsFunc) return [];
|
|
88453
88657
|
const stringsGrouped = groupBy(labelElementsFinder(metric), (pair) => serializeObjRef$1(pair[0].ref));
|
|
88454
88658
|
return Promise.all(Object.entries(stringsGrouped).map(async ([_ref, pairs]) => {
|
|
88455
88659
|
const label = pairs[0][0];
|
|
88456
|
-
const
|
|
88660
|
+
const granularity = getDateGranularity(label, ldmObjects);
|
|
88661
|
+
const formatDiagnostics = [];
|
|
88662
|
+
const elements = [];
|
|
88663
|
+
pairs.forEach(([, element]) => {
|
|
88664
|
+
const expectedPattern = getInvalidDateElementPattern(element.string, granularity);
|
|
88665
|
+
if (expectedPattern) formatDiagnostics.push(invalidLabelElementDiagnostic(element, `"${element.string}" does not match the format ${expectedPattern} expected by {${label.tigerType}/${label.id}}`));
|
|
88666
|
+
else elements.push(element);
|
|
88667
|
+
});
|
|
88668
|
+
if (!labelElementsFunc || elements.length === 0) return formatDiagnostics;
|
|
88457
88669
|
const result = await labelElementsFunc([label], [], { elements: { values: elements.map((element) => element.string) } }, elements.length);
|
|
88458
|
-
if (result.rejected.includes(label)
|
|
88670
|
+
if (result.rejected.includes(label)) return formatDiagnostics.concat(rejectedElementsDiagnostics(elements, result.rejectionReasons?.get(label)));
|
|
88671
|
+
if (result.list.elements.length === elements.length) return formatDiagnostics;
|
|
88459
88672
|
const resultElements = result.list.elements.map((element) => element.title);
|
|
88460
|
-
return elements.map((element) => labelElementInResult(element, label, resultElements)).filter((diagnostic) => !!diagnostic);
|
|
88673
|
+
return formatDiagnostics.concat(elements.map((element) => labelElementInResult(element, label, resultElements)).filter((diagnostic) => !!diagnostic));
|
|
88461
88674
|
}));
|
|
88462
88675
|
}
|
|
88676
|
+
function getDateGranularity(label, ldmObjects) {
|
|
88677
|
+
const object = ldmObjects?.findObject(label);
|
|
88678
|
+
return object && (isITigerLabel(object) || isITigerAttribute(object)) && object.tigerTypeModifier === "date" ? object.granularity : void 0;
|
|
88679
|
+
}
|
|
88680
|
+
/**
|
|
88681
|
+
* The backend rejects the elements query with 400 Bad Request when the values are invalid for the label,
|
|
88682
|
+
* e.g. a date value in a wrong format for a granularity the client-side check does not cover.
|
|
88683
|
+
* Any other failure (network, server error, ...) allows no claim about the values.
|
|
88684
|
+
*/
|
|
88685
|
+
function rejectedElementsDiagnostics(elements, reason) {
|
|
88686
|
+
if (!isUnexpectedResponseError(reason) || reason.httpStatus !== 400) return [];
|
|
88687
|
+
const responseBody = reason.responseBody;
|
|
88688
|
+
const detail = typeof responseBody === "object" && responseBody !== null && "detail" in responseBody && typeof responseBody.detail === "string" ? responseBody.detail : void 0;
|
|
88689
|
+
if (!detail) return [];
|
|
88690
|
+
const offending = elements.filter((element) => detail.includes(`'${element.string}'`));
|
|
88691
|
+
return (offending.length > 0 ? offending : elements).map((element) => invalidLabelElementDiagnostic(element, detail));
|
|
88692
|
+
}
|
|
88693
|
+
function invalidLabelElementDiagnostic(element, message) {
|
|
88694
|
+
return import_main$1.Diagnostic.create(element.range.toRange(), message, import_main$1.DiagnosticSeverity.Error, ErrorCodes.InvalidLabelElementValue, diagnosticsSource);
|
|
88695
|
+
}
|
|
88463
88696
|
function validateTypes(ast, ldmObjects) {
|
|
88464
88697
|
const typeChecker = new AstTypeChecker(new TypeModel(ldmObjects.get("label", "regular").map((label) => label.id), ldmObjects.get("label", "date").map((label) => label.id)));
|
|
88465
88698
|
typeChecker.visit(ast);
|
|
@@ -89360,114 +89593,6 @@ function getTokenAndRuleCompletions(descriptions) {
|
|
|
89360
89593
|
return [tokenDescriptions, ruleDescriptions];
|
|
89361
89594
|
}
|
|
89362
89595
|
//#endregion
|
|
89363
|
-
//#region ../../../common/temp/aac/node_modules/.pnpm/@gooddata+gdc-maql-language-server@file+..+..+..+libs+gdc-maql-language-server/node_modules/@gooddata/gdc-maql-language-server/esm/metadata/model.js
|
|
89364
|
-
function isITigerAttribute(object) {
|
|
89365
|
-
return object.tigerType === "attribute";
|
|
89366
|
-
}
|
|
89367
|
-
function isITigerLabel(object) {
|
|
89368
|
-
return object.tigerType === "label";
|
|
89369
|
-
}
|
|
89370
|
-
function isITigerMetric(object) {
|
|
89371
|
-
return object.tigerType === "metric";
|
|
89372
|
-
}
|
|
89373
|
-
function isITigerParameter(object) {
|
|
89374
|
-
return object.tigerType === "parameter";
|
|
89375
|
-
}
|
|
89376
|
-
var LdmObjects = class LdmObjects {
|
|
89377
|
-
attributes;
|
|
89378
|
-
labels;
|
|
89379
|
-
facts;
|
|
89380
|
-
metrics;
|
|
89381
|
-
computedAttributes;
|
|
89382
|
-
parameters;
|
|
89383
|
-
datasets;
|
|
89384
|
-
size;
|
|
89385
|
-
constructor(attributes, facts, metrics, parameters, dates, datasets, computedAttributes = []) {
|
|
89386
|
-
const processedAttributes = this.processAttributes(attributes);
|
|
89387
|
-
const processedDates = this.processDates(dates);
|
|
89388
|
-
const regularAttributes = processedAttributes.flatMap((item) => item.attributes);
|
|
89389
|
-
const dateAttributes = processedDates.flatMap((item) => item.attributes);
|
|
89390
|
-
this.attributes = {
|
|
89391
|
-
regular: regularAttributes,
|
|
89392
|
-
date: dateAttributes,
|
|
89393
|
-
all: regularAttributes.concat(dateAttributes)
|
|
89394
|
-
};
|
|
89395
|
-
const regularLabels = processedAttributes.flatMap((item) => item.labels);
|
|
89396
|
-
const dateLabels = processedDates.flatMap((item) => item.labels);
|
|
89397
|
-
this.labels = {
|
|
89398
|
-
regular: regularLabels,
|
|
89399
|
-
date: dateLabels,
|
|
89400
|
-
all: regularLabels.concat(dateLabels)
|
|
89401
|
-
};
|
|
89402
|
-
this.facts = facts.map((fact) => LdmObjects.toTigerMetadataObject(fact.fact));
|
|
89403
|
-
this.metrics = metrics.map((metric) => LdmObjects.toTigerMetadataObject(metric.measure));
|
|
89404
|
-
this.computedAttributes = computedAttributes.map((computedAttribute) => LdmObjects.toTigerMetadataObject(computedAttribute));
|
|
89405
|
-
this.parameters = parameters.map((parameter) => LdmObjects.toTigerMetadataObject(parameter));
|
|
89406
|
-
this.datasets = datasets.map((dataset) => LdmObjects.toTigerDataset(dataset));
|
|
89407
|
-
this.size = this.attributes.all.length + this.labels.all.length + this.facts.length + this.metrics.length + this.computedAttributes.length + this.parameters.length;
|
|
89408
|
-
}
|
|
89409
|
-
get(type, typeModifier = "all") {
|
|
89410
|
-
switch (type) {
|
|
89411
|
-
case "attribute": return this.attributes[typeModifier];
|
|
89412
|
-
case "fact": return this.facts;
|
|
89413
|
-
case "metric": return this.metrics;
|
|
89414
|
-
case "computedAttribute": return this.computedAttributes;
|
|
89415
|
-
case "parameter": return this.parameters;
|
|
89416
|
-
case "dataset": return this.datasets;
|
|
89417
|
-
case "label": return this.labels[typeModifier];
|
|
89418
|
-
default: return;
|
|
89419
|
-
}
|
|
89420
|
-
}
|
|
89421
|
-
findObject(object) {
|
|
89422
|
-
if (!object.tigerType) return;
|
|
89423
|
-
return this.get(object.tigerType)?.find((tigerObject) => areObjRefsEqual(tigerObject.ref, object.ref));
|
|
89424
|
-
}
|
|
89425
|
-
findById(type, id) {
|
|
89426
|
-
return this.get(type)?.find((object) => object.id === id);
|
|
89427
|
-
}
|
|
89428
|
-
processAttributes(attributes) {
|
|
89429
|
-
return attributes.flatMap((attribute) => ({
|
|
89430
|
-
attributes: [LdmObjects.toTigerMetadataObject(attribute.attribute)],
|
|
89431
|
-
labels: attribute.displayForms.flatMap((label) => LdmObjects.toTigerMetadataObject(label))
|
|
89432
|
-
}));
|
|
89433
|
-
}
|
|
89434
|
-
processDates(dates) {
|
|
89435
|
-
return dates.flatMap((date) => ({
|
|
89436
|
-
attributes: dates.flatMap((date) => date.dateAttributes.map((attr) => ({
|
|
89437
|
-
tigerTypeModifier: "date",
|
|
89438
|
-
...LdmObjects.toTigerMetadataObject(attr.attribute)
|
|
89439
|
-
}))),
|
|
89440
|
-
labels: date.dateAttributes.flatMap((dateAttr) => dateAttr.attribute.displayForms.map((label) => ({
|
|
89441
|
-
tigerTypeModifier: "date",
|
|
89442
|
-
...LdmObjects.toTigerMetadataObject(label)
|
|
89443
|
-
})))
|
|
89444
|
-
}));
|
|
89445
|
-
}
|
|
89446
|
-
static toTigerMetadataObject(metadataObject) {
|
|
89447
|
-
return {
|
|
89448
|
-
tigerType: objectTypeToTigerIdType[metadataObject.type],
|
|
89449
|
-
...metadataObject
|
|
89450
|
-
};
|
|
89451
|
-
}
|
|
89452
|
-
static toTigerDataset(dataset) {
|
|
89453
|
-
return {
|
|
89454
|
-
type: "dataSet",
|
|
89455
|
-
tigerType: "dataset",
|
|
89456
|
-
id: dataset.id,
|
|
89457
|
-
title: dataset.title,
|
|
89458
|
-
description: dataset.description || "",
|
|
89459
|
-
deprecated: false,
|
|
89460
|
-
production: true,
|
|
89461
|
-
ref: {
|
|
89462
|
-
type: "dataSet",
|
|
89463
|
-
identifier: dataset.id
|
|
89464
|
-
},
|
|
89465
|
-
unlisted: false,
|
|
89466
|
-
uri: ""
|
|
89467
|
-
};
|
|
89468
|
-
}
|
|
89469
|
-
};
|
|
89470
|
-
//#endregion
|
|
89471
89596
|
//#region ../../../common/temp/aac/node_modules/.pnpm/@gooddata+gdc-maql-language-server@file+..+..+..+libs+gdc-maql-language-server/node_modules/@gooddata/gdc-maql-language-server/esm/decorations.js
|
|
89472
89597
|
function decorate(query, ldmObjects) {
|
|
89473
89598
|
const metric = new MaqlMetric(query);
|
|
@@ -103546,9 +103671,9 @@ const CoreErrorMessages$1 = {
|
|
|
103546
103671
|
[SpecificCoreErrorCode.UniquenessDashboardsId]: `There are more dashboards with id "{0}". Use unique names for dashboards.`,
|
|
103547
103672
|
[SpecificCoreErrorCode.UniquenessPluginId]: `There are more plugins with id "{0}". Use unique names for plugins.`,
|
|
103548
103673
|
[SpecificCoreErrorCode.UniquenessAttributeHierarchyId]: `There are more attributes hierarchies with id "{0}". Use unique names for attribute hierarchies.`,
|
|
103549
|
-
[SpecificCoreErrorCode.UniquenessReportsId]: `There are more
|
|
103550
|
-
[SpecificCoreErrorCode.UniquenessReportTemplatesId]: `There are more
|
|
103551
|
-
[SpecificCoreErrorCode.UniquenessReportPageLayoutsId]: `There are more
|
|
103674
|
+
[SpecificCoreErrorCode.UniquenessReportsId]: `There are more documents with id "{0}". Use unique names for documents.`,
|
|
103675
|
+
[SpecificCoreErrorCode.UniquenessReportTemplatesId]: `There are more document templates with id "{0}". Use unique names for document templates.`,
|
|
103676
|
+
[SpecificCoreErrorCode.UniquenessReportPageLayoutsId]: `There are more page layouts with id "{0}". Use unique names for page layouts.`,
|
|
103552
103677
|
[SpecificCoreErrorCode.UniquenessDashboardWidgetLocalId]: `There are more widgets with same id "{0}". Use unique names for widgets on same dashboard.`,
|
|
103553
103678
|
[SpecificCoreErrorCode.UniquenessDatasetField]: `There are more dataset fields with id "{0}". Use unique names for fields across datasets.`,
|
|
103554
103679
|
[SpecificCoreErrorCode.ReferenceTableId]: `Table "{0}" not found in datasource. Possible tables for use are "{1}".`,
|
|
@@ -136960,17 +137085,17 @@ const PLUGIN_COMMENT = [
|
|
|
136960
137085
|
" https://www.gooddata.com/docs/gooddata-ui/latest/references/dashboard_component/dashboard_plugins/"
|
|
136961
137086
|
].join("\n");
|
|
136962
137087
|
[
|
|
136963
|
-
" A
|
|
137088
|
+
" A document presents a finished period as pages of visualizations and text.",
|
|
136964
137089
|
" Its period becomes a date filter on every visualization that does not opt out,",
|
|
136965
137090
|
" and a page places what it draws in a tree of rows and columns."
|
|
136966
137091
|
].join("\n");
|
|
136967
137092
|
[
|
|
136968
|
-
" A
|
|
136969
|
-
" A
|
|
136970
|
-
" so the
|
|
137093
|
+
" A document template is the pages a document starts from.",
|
|
137094
|
+
" A document made from it copies them and keeps no reference back,",
|
|
137095
|
+
" so the document stays as it was made while the template moves on."
|
|
136971
137096
|
].join("\n");
|
|
136972
137097
|
[
|
|
136973
|
-
" A
|
|
137098
|
+
" A page layout is a page a template or a document can be built from.",
|
|
136974
137099
|
" It places what it draws in a tree of rows and columns, and a slot left",
|
|
136975
137100
|
" empty here is one whatever uses the page is expected to fill."
|
|
136976
137101
|
].join("\n");
|
|
@@ -138340,7 +138465,8 @@ const DEFAULTS$22 = {
|
|
|
138340
138465
|
disableScheduledExports: false,
|
|
138341
138466
|
disableKeyDriveAnalysisOn: {},
|
|
138342
138467
|
customTooltip: DEFAULT_CUSTOM_TOOLTIP,
|
|
138343
|
-
lineStyleMapping: []
|
|
138468
|
+
lineStyleMapping: [],
|
|
138469
|
+
lineShape: "linear"
|
|
138344
138470
|
};
|
|
138345
138471
|
/** @internal */
|
|
138346
138472
|
function areaChartLoad(props) {
|
|
@@ -138382,6 +138508,7 @@ function areaChartLoad(props) {
|
|
|
138382
138508
|
case "disableKeyDriveAnalysisOn": return [["disable_key_drive_analysis", loadDisableKda(value)]];
|
|
138383
138509
|
case "customTooltip": return [["custom_tooltip", loadCustomTooltip(value)]];
|
|
138384
138510
|
case "lineStyleMapping": return [["line_style_mapping", loadLineStyleMapping(value)]];
|
|
138511
|
+
case "lineShape": return [["line_shape", getValueOrDefault(value, DEFAULTS$22.lineShape)]];
|
|
138385
138512
|
default: return [];
|
|
138386
138513
|
}
|
|
138387
138514
|
});
|
|
@@ -138435,7 +138562,8 @@ function areaChartSave(_fields, config) {
|
|
|
138435
138562
|
disableScheduledExports: getValueOrDefault(config.disable_scheduled_exports, DEFAULTS$22.disableScheduledExports, "bool"),
|
|
138436
138563
|
disableKeyDriveAnalysisOn: saveConfigObject(config.disable_key_drive_analysis),
|
|
138437
138564
|
customTooltip: saveConfigObject(saveCustomTooltip(config.custom_tooltip)),
|
|
138438
|
-
lineStyleMapping: saveLineStyleMapping(config["line_style_mapping"])
|
|
138565
|
+
lineStyleMapping: saveLineStyleMapping(config["line_style_mapping"]),
|
|
138566
|
+
lineShape: getValueOrDefault(config["line_shape"], DEFAULTS$22.lineShape)
|
|
138439
138567
|
});
|
|
138440
138568
|
}
|
|
138441
138569
|
/**
|
|
@@ -139061,7 +139189,8 @@ const DEFAULTS$17 = {
|
|
|
139061
139189
|
customTooltip: DEFAULT_CUSTOM_TOOLTIP,
|
|
139062
139190
|
thresholdMeasures: [],
|
|
139063
139191
|
thresholdExcludedMeasures: [],
|
|
139064
|
-
lineStyleMapping: []
|
|
139192
|
+
lineStyleMapping: [],
|
|
139193
|
+
lineShape: "linear"
|
|
139065
139194
|
};
|
|
139066
139195
|
/** @internal */
|
|
139067
139196
|
function comboChartLoad(props) {
|
|
@@ -139119,6 +139248,7 @@ function comboChartLoad(props) {
|
|
|
139119
139248
|
case "thresholdMeasures": return [["line_style_control_metrics", getValueOrDefault(value, DEFAULTS$17.thresholdMeasures, "array")]];
|
|
139120
139249
|
case "thresholdExcludedMeasures": return [["line_style_excluded_metrics", getValueOrDefault(value, DEFAULTS$17.thresholdExcludedMeasures, "array")]];
|
|
139121
139250
|
case "lineStyleMapping": return [["line_style_mapping", loadLineStyleMapping(value)]];
|
|
139251
|
+
case "lineShape": return [["line_shape", getValueOrDefault(value, DEFAULTS$17.lineShape)]];
|
|
139122
139252
|
default: return [];
|
|
139123
139253
|
}
|
|
139124
139254
|
});
|
|
@@ -139195,7 +139325,8 @@ function comboChartSave(_fields, config, buckets = []) {
|
|
|
139195
139325
|
customTooltip: saveConfigObject(saveCustomTooltip(config.custom_tooltip)),
|
|
139196
139326
|
thresholdMeasures: getValueOrDefault(config.line_style_control_metrics, DEFAULTS$17.thresholdMeasures, "array"),
|
|
139197
139327
|
thresholdExcludedMeasures: getValueOrDefault(config.line_style_excluded_metrics, DEFAULTS$17.thresholdExcludedMeasures, "array"),
|
|
139198
|
-
lineStyleMapping: saveLineStyleMapping(config["line_style_mapping"])
|
|
139328
|
+
lineStyleMapping: saveLineStyleMapping(config["line_style_mapping"]),
|
|
139329
|
+
lineShape: getValueOrDefault(config["line_shape"], DEFAULTS$17.lineShape)
|
|
139199
139330
|
});
|
|
139200
139331
|
}
|
|
139201
139332
|
/**
|
|
@@ -140021,7 +140152,8 @@ const DEFAULTS$9 = {
|
|
|
140021
140152
|
customTooltip: DEFAULT_CUSTOM_TOOLTIP,
|
|
140022
140153
|
thresholdMeasures: [],
|
|
140023
140154
|
thresholdExcludedMeasures: [],
|
|
140024
|
-
lineStyleMapping: []
|
|
140155
|
+
lineStyleMapping: [],
|
|
140156
|
+
lineShape: "linear"
|
|
140025
140157
|
};
|
|
140026
140158
|
/** @internal */
|
|
140027
140159
|
function lineChartLoad(props) {
|
|
@@ -140075,6 +140207,7 @@ function lineChartLoad(props) {
|
|
|
140075
140207
|
case "thresholdMeasures": return [["line_style_control_metrics", getValueOrDefault(value, DEFAULTS$9.thresholdMeasures, "array")]];
|
|
140076
140208
|
case "thresholdExcludedMeasures": return [["line_style_excluded_metrics", getValueOrDefault(value, DEFAULTS$9.thresholdExcludedMeasures, "array")]];
|
|
140077
140209
|
case "lineStyleMapping": return [["line_style_mapping", loadLineStyleMapping(value)]];
|
|
140210
|
+
case "lineShape": return [["line_shape", getValueOrDefault(value, DEFAULTS$9.lineShape)]];
|
|
140078
140211
|
default: return [];
|
|
140079
140212
|
}
|
|
140080
140213
|
});
|
|
@@ -140140,7 +140273,8 @@ function lineChartSave(_fields, config) {
|
|
|
140140
140273
|
customTooltip: saveConfigObject(saveCustomTooltip(config.custom_tooltip)),
|
|
140141
140274
|
thresholdMeasures: getValueOrDefault(config.line_style_control_metrics, DEFAULTS$9.thresholdMeasures, "array"),
|
|
140142
140275
|
thresholdExcludedMeasures: getValueOrDefault(config.line_style_excluded_metrics, DEFAULTS$9.thresholdExcludedMeasures, "array"),
|
|
140143
|
-
lineStyleMapping: saveLineStyleMapping(config["line_style_mapping"])
|
|
140276
|
+
lineStyleMapping: saveLineStyleMapping(config["line_style_mapping"]),
|
|
140277
|
+
lineShape: getValueOrDefault(config["line_shape"], DEFAULTS$9.lineShape)
|
|
140144
140278
|
});
|
|
140145
140279
|
}
|
|
140146
140280
|
/**
|
|
@@ -150194,7 +150328,7 @@ const metadata_v1 = {
|
|
|
150194
150328
|
"properties": {
|
|
150195
150329
|
"id": {
|
|
150196
150330
|
"$ref": "#/$global/gaac/identifier",
|
|
150197
|
-
"description": "A unique identifier of the
|
|
150331
|
+
"description": "A unique identifier of the document.",
|
|
150198
150332
|
"$semantic": [{
|
|
150199
150333
|
"type": "uniqueness",
|
|
150200
150334
|
"source": "report.id",
|
|
@@ -150210,32 +150344,32 @@ const metadata_v1 = {
|
|
|
150210
150344
|
},
|
|
150211
150345
|
"title": {
|
|
150212
150346
|
"$ref": "#/$global/gaac/title",
|
|
150213
|
-
"description": "A human readable title for the
|
|
150347
|
+
"description": "A human readable title for the document."
|
|
150214
150348
|
},
|
|
150215
150349
|
"description": {
|
|
150216
150350
|
"$ref": "#/$global/gaac/description",
|
|
150217
|
-
"description": "An optional description of the
|
|
150351
|
+
"description": "An optional description of the document."
|
|
150218
150352
|
},
|
|
150219
150353
|
"tags": {
|
|
150220
150354
|
"$ref": "#/$global/gaac/tags",
|
|
150221
|
-
"description": "A list of strings - metadata tags of this
|
|
150355
|
+
"description": "A list of strings - metadata tags of this document."
|
|
150222
150356
|
},
|
|
150223
150357
|
"period": {
|
|
150224
150358
|
"$ref": "#/$global/gaac/reportPeriod",
|
|
150225
|
-
"description": "The finished period the
|
|
150359
|
+
"description": "The finished period the document covers. It is not a filter: at execution time it materializes as an absolute date filter on each visualization's date dataset, at the lowest precedence, which a visualization opts out of with ignore_report_period."
|
|
150226
150360
|
},
|
|
150227
150361
|
"pages": {
|
|
150228
150362
|
"type": "array",
|
|
150229
|
-
"description": "Ordered pages of the
|
|
150363
|
+
"description": "Ordered pages of the document. A page is a deep copy taken when it was added, and never changes with the page layout or template it came from.",
|
|
150230
150364
|
"items": { "$ref": "#/$global/gaac/reportPageBody" }
|
|
150231
150365
|
},
|
|
150232
150366
|
"filters": {
|
|
150233
150367
|
"$ref": "#/$global/gaac/dashboardFilters",
|
|
150234
|
-
"description": "
|
|
150368
|
+
"description": "Document filters; pages and visualizations may extend or override them."
|
|
150235
150369
|
},
|
|
150236
150370
|
"variables": {
|
|
150237
150371
|
"type": "array",
|
|
150238
|
-
"description": "Custom variables the
|
|
150372
|
+
"description": "Custom variables the document's text can interpolate as {name}. Built-in variable names win a collision.",
|
|
150239
150373
|
"items": { "$ref": "#/$global/gaac/reportVariable" }
|
|
150240
150374
|
},
|
|
150241
150375
|
"takeaways_instruction": {
|
|
@@ -150267,7 +150401,7 @@ const metadata_v1 = {
|
|
|
150267
150401
|
"properties": {
|
|
150268
150402
|
"id": {
|
|
150269
150403
|
"$ref": "#/$global/gaac/identifier",
|
|
150270
|
-
"description": "A unique identifier of the
|
|
150404
|
+
"description": "A unique identifier of the document template.",
|
|
150271
150405
|
"$semantic": [{
|
|
150272
150406
|
"type": "uniqueness",
|
|
150273
150407
|
"source": "reportTemplate.id",
|
|
@@ -150283,19 +150417,19 @@ const metadata_v1 = {
|
|
|
150283
150417
|
},
|
|
150284
150418
|
"title": {
|
|
150285
150419
|
"$ref": "#/$global/gaac/title",
|
|
150286
|
-
"description": "A human readable title for the
|
|
150420
|
+
"description": "A human readable title for the document template."
|
|
150287
150421
|
},
|
|
150288
150422
|
"description": {
|
|
150289
150423
|
"$ref": "#/$global/gaac/description",
|
|
150290
|
-
"description": "An optional description of the
|
|
150424
|
+
"description": "An optional description of the document template."
|
|
150291
150425
|
},
|
|
150292
150426
|
"tags": {
|
|
150293
150427
|
"$ref": "#/$global/gaac/tags",
|
|
150294
|
-
"description": "A list of strings - metadata tags of this
|
|
150428
|
+
"description": "A list of strings - metadata tags of this document template."
|
|
150295
150429
|
},
|
|
150296
150430
|
"pages": {
|
|
150297
150431
|
"type": "array",
|
|
150298
|
-
"description": "Ordered pages of the template. A
|
|
150432
|
+
"description": "Ordered pages of the template. A document created from the template deep-copies them and keeps no reference back, so the document stays frozen while the template evolves.",
|
|
150299
150433
|
"items": { "$ref": "#/$global/gaac/reportPageBody" }
|
|
150300
150434
|
},
|
|
150301
150435
|
"filters": {
|
|
@@ -150304,7 +150438,7 @@ const metadata_v1 = {
|
|
|
150304
150438
|
},
|
|
150305
150439
|
"variables": {
|
|
150306
150440
|
"type": "array",
|
|
150307
|
-
"description": "Custom variables the template's text can interpolate as {name}. A
|
|
150441
|
+
"description": "Custom variables the template's text can interpolate as {name}. A document created from it gives them values.",
|
|
150308
150442
|
"items": { "$ref": "#/$global/gaac/reportVariable" }
|
|
150309
150443
|
},
|
|
150310
150444
|
"takeaways_instruction": {
|
|
@@ -150330,7 +150464,7 @@ const metadata_v1 = {
|
|
|
150330
150464
|
"properties": {
|
|
150331
150465
|
"id": {
|
|
150332
150466
|
"$ref": "#/$global/gaac/identifier",
|
|
150333
|
-
"description": "A unique identifier of the
|
|
150467
|
+
"description": "A unique identifier of the document page layout.",
|
|
150334
150468
|
"$semantic": [{
|
|
150335
150469
|
"type": "uniqueness",
|
|
150336
150470
|
"source": "reportPageLayout.id",
|
|
@@ -150346,15 +150480,15 @@ const metadata_v1 = {
|
|
|
150346
150480
|
},
|
|
150347
150481
|
"title": {
|
|
150348
150482
|
"$ref": "#/$global/gaac/title",
|
|
150349
|
-
"description": "A human readable title for the
|
|
150483
|
+
"description": "A human readable title for the document page layout."
|
|
150350
150484
|
},
|
|
150351
150485
|
"description": {
|
|
150352
150486
|
"$ref": "#/$global/gaac/description",
|
|
150353
|
-
"description": "An optional description of the
|
|
150487
|
+
"description": "An optional description of the document page layout."
|
|
150354
150488
|
},
|
|
150355
150489
|
"tags": {
|
|
150356
150490
|
"$ref": "#/$global/gaac/tags",
|
|
150357
|
-
"description": "A list of strings - metadata tags of this
|
|
150491
|
+
"description": "A list of strings - metadata tags of this document page layout."
|
|
150358
150492
|
},
|
|
150359
150493
|
"kind": { "$ref": "#/$global/gaac/reportPageKind" },
|
|
150360
150494
|
"format": { "$ref": "#/$global/gaac/reportPageFormat" },
|
|
@@ -150368,7 +150502,7 @@ const metadata_v1 = {
|
|
|
150368
150502
|
},
|
|
150369
150503
|
"filters": {
|
|
150370
150504
|
"$ref": "#/$global/gaac/dashboardFilters",
|
|
150371
|
-
"description": "Page filters, carried into the template and
|
|
150505
|
+
"description": "Page filters, carried into the template and document content this page is copied into."
|
|
150372
150506
|
}
|
|
150373
150507
|
},
|
|
150374
150508
|
"$semantic": {
|
|
@@ -150381,7 +150515,7 @@ const metadata_v1 = {
|
|
|
150381
150515
|
"title",
|
|
150382
150516
|
"layout"
|
|
150383
150517
|
],
|
|
150384
|
-
"description": "A reusable page. Its content fields are the same page body a
|
|
150518
|
+
"description": "A reusable page. Its content fields are the same page body a document and a document template carry inline, so a field added to /gaac/reportPageBody belongs here too: JSON Schema cannot compose the two, because the page body closes itself to the entity's own id, title and tags."
|
|
150385
150519
|
},
|
|
150386
150520
|
"identifier": {
|
|
150387
150521
|
"title": "Id",
|
|
@@ -150544,12 +150678,12 @@ const metadata_v1 = {
|
|
|
150544
150678
|
"properties": {
|
|
150545
150679
|
"start": {
|
|
150546
150680
|
"type": "string",
|
|
150547
|
-
"description": "
|
|
150681
|
+
"description": "Start of the period the document covers, ISO 8601 date (YYYY-MM-DD), inclusive.",
|
|
150548
150682
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
150549
150683
|
},
|
|
150550
150684
|
"end": {
|
|
150551
150685
|
"type": "string",
|
|
150552
|
-
"description": "
|
|
150686
|
+
"description": "End of the period the document covers, ISO 8601 date (YYYY-MM-DD), inclusive.",
|
|
150553
150687
|
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
|
|
150554
150688
|
}
|
|
150555
150689
|
},
|
|
@@ -150576,7 +150710,7 @@ const metadata_v1 = {
|
|
|
150576
150710
|
},
|
|
150577
150711
|
"filters": {
|
|
150578
150712
|
"$ref": "#/$global/gaac/dashboardFilters",
|
|
150579
|
-
"description": "Page filters, merged over the
|
|
150713
|
+
"description": "Page filters, merged over the document's own. A filter targeting the same object replaces the inherited one; a visualization's own filters apply on top."
|
|
150580
150714
|
}
|
|
150581
150715
|
},
|
|
150582
150716
|
"required": ["id", "layout"]
|
|
@@ -150594,7 +150728,7 @@ const metadata_v1 = {
|
|
|
150594
150728
|
"description": { "$ref": "#/$global/gaac/description" },
|
|
150595
150729
|
"default": {
|
|
150596
150730
|
"type": "string",
|
|
150597
|
-
"description": "Value used when the
|
|
150731
|
+
"description": "Value used when the document gives the variable none."
|
|
150598
150732
|
}
|
|
150599
150733
|
},
|
|
150600
150734
|
"required": ["name"]
|
|
@@ -150697,7 +150831,7 @@ const metadata_v1 = {
|
|
|
150697
150831
|
"oneOf": [
|
|
150698
150832
|
{
|
|
150699
150833
|
"type": "boolean",
|
|
150700
|
-
"description": "True marks the slot required: the
|
|
150834
|
+
"description": "True marks the slot required: the document is not complete until it is filled."
|
|
150701
150835
|
},
|
|
150702
150836
|
{
|
|
150703
150837
|
"type": "string",
|
|
@@ -150713,7 +150847,7 @@ const metadata_v1 = {
|
|
|
150713
150847
|
},
|
|
150714
150848
|
"required": {
|
|
150715
150849
|
"type": "boolean",
|
|
150716
|
-
"description": "When true, a
|
|
150850
|
+
"description": "When true, a document is not considered complete until this slot is filled."
|
|
150717
150851
|
}
|
|
150718
150852
|
}
|
|
150719
150853
|
}
|
|
@@ -150784,7 +150918,7 @@ const metadata_v1 = {
|
|
|
150784
150918
|
},
|
|
150785
150919
|
"reportSlotId": {
|
|
150786
150920
|
"$ref": "#/$global/gaac/identifier",
|
|
150787
|
-
"description": "An id for this area, unique within the page. It is what a
|
|
150921
|
+
"description": "An id for this area, unique within the page. It is what a document fills when it takes this page from a template, so an id written down here survives edits to the layout around it."
|
|
150788
150922
|
},
|
|
150789
150923
|
"reportText": {
|
|
150790
150924
|
"title": "Report Text",
|
|
@@ -150798,7 +150932,7 @@ const metadata_v1 = {
|
|
|
150798
150932
|
"properties": {
|
|
150799
150933
|
"text": {
|
|
150800
150934
|
"type": "string",
|
|
150801
|
-
"description": "Markdown with {variable} placeholders. Alongside a prompt this is the materialized generation, stored so the
|
|
150935
|
+
"description": "Markdown with {variable} placeholders. Alongside a prompt this is the materialized generation, stored so the document renders without re-invoking AI."
|
|
150802
150936
|
},
|
|
150803
150937
|
"prompt": {
|
|
150804
150938
|
"type": "string",
|
|
@@ -150984,6 +151118,15 @@ const metadata_v1 = {
|
|
|
150984
151118
|
"type": "string",
|
|
150985
151119
|
"const": "auto"
|
|
150986
151120
|
}] },
|
|
151121
|
+
"line_shape": {
|
|
151122
|
+
"description": "Line shape with regards to data points (i.e. line interpolation).",
|
|
151123
|
+
"type": "string",
|
|
151124
|
+
"enum": [
|
|
151125
|
+
"linear",
|
|
151126
|
+
"spline",
|
|
151127
|
+
"stepped"
|
|
151128
|
+
]
|
|
151129
|
+
},
|
|
150987
151130
|
"data_totals": { "oneOf": [{ "type": "boolean" }, {
|
|
150988
151131
|
"type": "string",
|
|
150989
151132
|
"const": "auto"
|
|
@@ -156184,7 +156327,7 @@ const metadata_v1 = {
|
|
|
156184
156327
|
"properties": {
|
|
156185
156328
|
"id": {
|
|
156186
156329
|
"$ref": "#/$global/gaac/identifier",
|
|
156187
|
-
"description": "A unique identifier of the
|
|
156330
|
+
"description": "A unique identifier of the document.",
|
|
156188
156331
|
"$semantic": [{
|
|
156189
156332
|
"type": "uniqueness",
|
|
156190
156333
|
"source": "report.id",
|
|
@@ -156200,32 +156343,32 @@ const metadata_v1 = {
|
|
|
156200
156343
|
},
|
|
156201
156344
|
"title": {
|
|
156202
156345
|
"$ref": "#/$global/gaac/title",
|
|
156203
|
-
"description": "A human readable title for the
|
|
156346
|
+
"description": "A human readable title for the document."
|
|
156204
156347
|
},
|
|
156205
156348
|
"description": {
|
|
156206
156349
|
"$ref": "#/$global/gaac/description",
|
|
156207
|
-
"description": "An optional description of the
|
|
156350
|
+
"description": "An optional description of the document."
|
|
156208
156351
|
},
|
|
156209
156352
|
"tags": {
|
|
156210
156353
|
"$ref": "#/$global/gaac/tags",
|
|
156211
|
-
"description": "A list of strings - metadata tags of this
|
|
156354
|
+
"description": "A list of strings - metadata tags of this document."
|
|
156212
156355
|
},
|
|
156213
156356
|
"period": {
|
|
156214
156357
|
"$ref": "#/$global/gaac/reportPeriod",
|
|
156215
|
-
"description": "The finished period the
|
|
156358
|
+
"description": "The finished period the document covers. It is not a filter: at execution time it materializes as an absolute date filter on each visualization's date dataset, at the lowest precedence, which a visualization opts out of with ignore_report_period."
|
|
156216
156359
|
},
|
|
156217
156360
|
"pages": {
|
|
156218
156361
|
"type": "array",
|
|
156219
|
-
"description": "Ordered pages of the
|
|
156362
|
+
"description": "Ordered pages of the document. A page is a deep copy taken when it was added, and never changes with the page layout or template it came from.",
|
|
156220
156363
|
"items": { "$ref": "#/$global/gaac/reportPageBody" }
|
|
156221
156364
|
},
|
|
156222
156365
|
"filters": {
|
|
156223
156366
|
"$ref": "#/$global/gaac/dashboardFilters",
|
|
156224
|
-
"description": "
|
|
156367
|
+
"description": "Document filters; pages and visualizations may extend or override them."
|
|
156225
156368
|
},
|
|
156226
156369
|
"variables": {
|
|
156227
156370
|
"type": "array",
|
|
156228
|
-
"description": "Custom variables the
|
|
156371
|
+
"description": "Custom variables the document's text can interpolate as {name}. Built-in variable names win a collision.",
|
|
156229
156372
|
"items": { "$ref": "#/$global/gaac/reportVariable" }
|
|
156230
156373
|
},
|
|
156231
156374
|
"takeaways_instruction": {
|
|
@@ -156318,7 +156461,7 @@ const metadata_v1 = {
|
|
|
156318
156461
|
},
|
|
156319
156462
|
"date": {
|
|
156320
156463
|
"$ref": "#/$global/gaac/identifier",
|
|
156321
|
-
"description": "An id of the date dataset the
|
|
156464
|
+
"description": "An id of the date dataset the document's period is applied to as an absolute date filter. Omitted leaves the backend date dataset resolution to decide.",
|
|
156322
156465
|
"$semantic": {
|
|
156323
156466
|
"type": "reference",
|
|
156324
156467
|
"source": "dateDataset.id"
|
|
@@ -156326,15 +156469,15 @@ const metadata_v1 = {
|
|
|
156326
156469
|
},
|
|
156327
156470
|
"ignore_report_period": {
|
|
156328
156471
|
"type": "boolean",
|
|
156329
|
-
"description": "When true, the implicit date filter derived from the
|
|
156472
|
+
"description": "When true, the implicit date filter derived from the document's period is not applied here."
|
|
156330
156473
|
},
|
|
156331
156474
|
"filters": {
|
|
156332
156475
|
"$ref": "#/$global/gaac/dashboardFilters",
|
|
156333
|
-
"description": "Filters applied on top of the effective page and
|
|
156476
|
+
"description": "Filters applied on top of the effective page and document filters. A filter targeting the same object replaces the inherited one."
|
|
156334
156477
|
},
|
|
156335
156478
|
"ignored_filters": {
|
|
156336
156479
|
"type": "array",
|
|
156337
|
-
"description": "A list of
|
|
156480
|
+
"description": "A list of document and page filters ignored here.",
|
|
156338
156481
|
"items": {
|
|
156339
156482
|
"type": "string",
|
|
156340
156483
|
"description": "An id of the label, attribute, computed attribute, metric or date to be ignored",
|
|
@@ -156405,7 +156548,7 @@ const metadata_v1 = {
|
|
|
156405
156548
|
"properties": {
|
|
156406
156549
|
"id": {
|
|
156407
156550
|
"$ref": "#/$global/gaac/identifier",
|
|
156408
|
-
"description": "A unique identifier of the
|
|
156551
|
+
"description": "A unique identifier of the document page layout.",
|
|
156409
156552
|
"$semantic": [{
|
|
156410
156553
|
"type": "uniqueness",
|
|
156411
156554
|
"source": "reportPageLayout.id",
|
|
@@ -156421,15 +156564,15 @@ const metadata_v1 = {
|
|
|
156421
156564
|
},
|
|
156422
156565
|
"title": {
|
|
156423
156566
|
"$ref": "#/$global/gaac/title",
|
|
156424
|
-
"description": "A human readable title for the
|
|
156567
|
+
"description": "A human readable title for the document page layout."
|
|
156425
156568
|
},
|
|
156426
156569
|
"description": {
|
|
156427
156570
|
"$ref": "#/$global/gaac/description",
|
|
156428
|
-
"description": "An optional description of the
|
|
156571
|
+
"description": "An optional description of the document page layout."
|
|
156429
156572
|
},
|
|
156430
156573
|
"tags": {
|
|
156431
156574
|
"$ref": "#/$global/gaac/tags",
|
|
156432
|
-
"description": "A list of strings - metadata tags of this
|
|
156575
|
+
"description": "A list of strings - metadata tags of this document page layout."
|
|
156433
156576
|
},
|
|
156434
156577
|
"kind": { "$ref": "#/$global/gaac/reportPageKind" },
|
|
156435
156578
|
"format": { "$ref": "#/$global/gaac/reportPageFormat" },
|
|
@@ -156443,7 +156586,7 @@ const metadata_v1 = {
|
|
|
156443
156586
|
},
|
|
156444
156587
|
"filters": {
|
|
156445
156588
|
"$ref": "#/$global/gaac/dashboardFilters",
|
|
156446
|
-
"description": "Page filters, carried into the template and
|
|
156589
|
+
"description": "Page filters, carried into the template and document content this page is copied into."
|
|
156447
156590
|
}
|
|
156448
156591
|
},
|
|
156449
156592
|
"$semantic": {
|
|
@@ -156456,7 +156599,7 @@ const metadata_v1 = {
|
|
|
156456
156599
|
"title",
|
|
156457
156600
|
"layout"
|
|
156458
156601
|
],
|
|
156459
|
-
"description": "A reusable page. Its content fields are the same page body a
|
|
156602
|
+
"description": "A reusable page. Its content fields are the same page body a document and a document template carry inline, so a field added to /gaac/reportPageBody belongs here too: JSON Schema cannot compose the two, because the page body closes itself to the entity's own id, title and tags."
|
|
156460
156603
|
},
|
|
156461
156604
|
"report_template": {
|
|
156462
156605
|
"title": "ReportTemplate",
|
|
@@ -156465,7 +156608,7 @@ const metadata_v1 = {
|
|
|
156465
156608
|
"properties": {
|
|
156466
156609
|
"id": {
|
|
156467
156610
|
"$ref": "#/$global/gaac/identifier",
|
|
156468
|
-
"description": "A unique identifier of the
|
|
156611
|
+
"description": "A unique identifier of the document template.",
|
|
156469
156612
|
"$semantic": [{
|
|
156470
156613
|
"type": "uniqueness",
|
|
156471
156614
|
"source": "reportTemplate.id",
|
|
@@ -156481,19 +156624,19 @@ const metadata_v1 = {
|
|
|
156481
156624
|
},
|
|
156482
156625
|
"title": {
|
|
156483
156626
|
"$ref": "#/$global/gaac/title",
|
|
156484
|
-
"description": "A human readable title for the
|
|
156627
|
+
"description": "A human readable title for the document template."
|
|
156485
156628
|
},
|
|
156486
156629
|
"description": {
|
|
156487
156630
|
"$ref": "#/$global/gaac/description",
|
|
156488
|
-
"description": "An optional description of the
|
|
156631
|
+
"description": "An optional description of the document template."
|
|
156489
156632
|
},
|
|
156490
156633
|
"tags": {
|
|
156491
156634
|
"$ref": "#/$global/gaac/tags",
|
|
156492
|
-
"description": "A list of strings - metadata tags of this
|
|
156635
|
+
"description": "A list of strings - metadata tags of this document template."
|
|
156493
156636
|
},
|
|
156494
156637
|
"pages": {
|
|
156495
156638
|
"type": "array",
|
|
156496
|
-
"description": "Ordered pages of the template. A
|
|
156639
|
+
"description": "Ordered pages of the template. A document created from the template deep-copies them and keeps no reference back, so the document stays frozen while the template evolves.",
|
|
156497
156640
|
"items": { "$ref": "#/$global/gaac/reportPageBody" }
|
|
156498
156641
|
},
|
|
156499
156642
|
"filters": {
|
|
@@ -156502,7 +156645,7 @@ const metadata_v1 = {
|
|
|
156502
156645
|
},
|
|
156503
156646
|
"variables": {
|
|
156504
156647
|
"type": "array",
|
|
156505
|
-
"description": "Custom variables the template's text can interpolate as {name}. A
|
|
156648
|
+
"description": "Custom variables the template's text can interpolate as {name}. A document created from it gives them values.",
|
|
156506
156649
|
"items": { "$ref": "#/$global/gaac/reportVariable" }
|
|
156507
156650
|
},
|
|
156508
156651
|
"takeaways_instruction": {
|
|
@@ -163002,7 +163145,7 @@ async function open(state, emitter, file) {
|
|
|
163002
163145
|
//#endregion
|
|
163003
163146
|
//#region ../code/package.json
|
|
163004
163147
|
var name = "@gooddata/code";
|
|
163005
|
-
var version = "0.58.0-alpha.
|
|
163148
|
+
var version = "0.58.0-alpha.1";
|
|
163006
163149
|
//#endregion
|
|
163007
163150
|
//#region ../../../sdk/libs/api-client-tiger/src/axios.ts
|
|
163008
163151
|
/**
|
|
@@ -163024,7 +163167,7 @@ const _CONFIG = {
|
|
|
163024
163167
|
common: {
|
|
163025
163168
|
"X-Requested-With": "XMLHttpRequest",
|
|
163026
163169
|
"X-GDC-JS-PACKAGE": "@gooddata/api-client-tiger",
|
|
163027
|
-
"X-GDC-JS-PACKAGE-VERSION": "11.62.0-alpha.
|
|
163170
|
+
"X-GDC-JS-PACKAGE-VERSION": "11.62.0-alpha.1"
|
|
163028
163171
|
},
|
|
163029
163172
|
post: { "Content-Type": "application/json;charset=utf8" },
|
|
163030
163173
|
put: { "Content-Type": "application/json;charset=utf8" }
|