@gooddata/sdk-ui-catalog 11.48.0-alpha.1 → 11.48.0-alpha.3
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/AnalyticsCatalogDetail.d.ts.map +1 -1
- package/esm/AnalyticsCatalogDetail.js +3 -3
- package/esm/asCode/AsCodeCreateDialog.d.ts +17 -0
- package/esm/asCode/AsCodeCreateDialog.d.ts.map +1 -0
- package/esm/asCode/AsCodeCreateDialog.js +51 -0
- package/esm/asCode/AsCodeDeleteDialog.d.ts +17 -0
- package/esm/asCode/AsCodeDeleteDialog.d.ts.map +1 -0
- package/esm/asCode/AsCodeDeleteDialog.js +55 -0
- package/esm/asCode/AsCodeDetailActions.d.ts +27 -0
- package/esm/asCode/AsCodeDetailActions.d.ts.map +1 -0
- package/esm/asCode/AsCodeDetailActions.js +66 -0
- package/esm/asCode/AsCodeDialog.d.ts +24 -0
- package/esm/asCode/AsCodeDialog.d.ts.map +1 -0
- package/esm/asCode/AsCodeDialog.js +94 -0
- package/esm/asCode/AsCodeEditDialog.d.ts +18 -0
- package/esm/asCode/AsCodeEditDialog.d.ts.map +1 -0
- package/esm/asCode/AsCodeEditDialog.js +38 -0
- package/esm/asCode/AsCodeEditorBody.d.ts +16 -0
- package/esm/asCode/AsCodeEditorBody.d.ts.map +1 -0
- package/esm/asCode/AsCodeEditorBody.js +10 -0
- package/esm/asCode/AsCodeMutationContext.d.ts +24 -0
- package/esm/asCode/AsCodeMutationContext.d.ts.map +1 -0
- package/esm/asCode/AsCodeMutationContext.js +40 -0
- package/esm/asCode/copy.d.ts +18 -0
- package/esm/asCode/copy.d.ts.map +1 -0
- package/esm/asCode/copy.js +58 -0
- package/esm/asCode/descriptor.d.ts +160 -0
- package/esm/asCode/descriptor.d.ts.map +1 -0
- package/esm/asCode/descriptor.js +8 -0
- package/esm/asCode/gate.d.ts +7 -0
- package/esm/asCode/gate.d.ts.map +1 -0
- package/esm/asCode/gate.js +11 -0
- package/esm/asCode/useAsCodeBase.d.ts +18 -0
- package/esm/asCode/useAsCodeBase.d.ts.map +1 -0
- package/esm/asCode/useAsCodeBase.js +27 -0
- package/esm/asCode/validateYaml.d.ts +39 -0
- package/esm/asCode/validateYaml.d.ts.map +1 -0
- package/esm/asCode/validateYaml.js +28 -0
- package/esm/asCodeRegistry.d.ts +20 -0
- package/esm/asCodeRegistry.d.ts.map +1 -0
- package/esm/asCodeRegistry.js +36 -0
- package/esm/catalog/Catalog.d.ts.map +1 -1
- package/esm/catalog/Catalog.js +4 -4
- package/esm/catalogDetail/CatalogDetailActions.d.ts +4 -2
- package/esm/catalogDetail/CatalogDetailActions.d.ts.map +1 -1
- package/esm/catalogDetail/CatalogDetailActions.js +22 -78
- package/esm/catalogDetail/CatalogDetailContent.d.ts.map +1 -1
- package/esm/catalogDetail/CatalogDetailContent.js +1 -3
- package/esm/catalogItem/query.d.ts +4 -2
- package/esm/catalogItem/query.d.ts.map +1 -1
- package/esm/catalogItem/query.js +6 -6
- package/esm/header/CreateObjectButton.d.ts.map +1 -1
- package/esm/header/CreateObjectButton.js +29 -28
- package/esm/localization/bundles/de-DE.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/de-DE.localization-bundle.js +4 -6
- package/esm/localization/bundles/en-AU.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/en-AU.localization-bundle.js +4 -6
- package/esm/localization/bundles/en-GB.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/en-GB.localization-bundle.js +4 -6
- package/esm/localization/bundles/en-US.localization-bundle.d.ts +16 -24
- package/esm/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/en-US.localization-bundle.js +16 -24
- package/esm/localization/bundles/es-419.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/es-419.localization-bundle.js +4 -6
- package/esm/localization/bundles/es-ES.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/es-ES.localization-bundle.js +4 -6
- package/esm/localization/bundles/fi-FI.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/fi-FI.localization-bundle.js +4 -6
- package/esm/localization/bundles/fr-CA.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/fr-CA.localization-bundle.js +4 -6
- package/esm/localization/bundles/fr-FR.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/fr-FR.localization-bundle.js +4 -6
- package/esm/localization/bundles/id-ID.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/id-ID.localization-bundle.js +4 -6
- package/esm/localization/bundles/it-IT.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/it-IT.localization-bundle.js +4 -6
- package/esm/localization/bundles/ja-JP.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/ja-JP.localization-bundle.js +4 -6
- package/esm/localization/bundles/ko-KR.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/ko-KR.localization-bundle.js +4 -6
- package/esm/localization/bundles/nl-NL.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/nl-NL.localization-bundle.js +4 -6
- package/esm/localization/bundles/pl-PL.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/pl-PL.localization-bundle.js +4 -6
- package/esm/localization/bundles/pt-BR.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/pt-BR.localization-bundle.js +4 -6
- package/esm/localization/bundles/pt-PT.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/pt-PT.localization-bundle.js +4 -6
- package/esm/localization/bundles/ru-RU.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/ru-RU.localization-bundle.js +4 -6
- package/esm/localization/bundles/sl-SI.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/sl-SI.localization-bundle.js +4 -6
- package/esm/localization/bundles/th-TH.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/th-TH.localization-bundle.js +4 -6
- package/esm/localization/bundles/tr-TR.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/tr-TR.localization-bundle.js +4 -6
- package/esm/localization/bundles/uk-UA.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/uk-UA.localization-bundle.js +4 -6
- package/esm/localization/bundles/vi-VN.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/vi-VN.localization-bundle.js +4 -6
- package/esm/localization/bundles/zh-HK.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/zh-HK.localization-bundle.js +4 -6
- package/esm/localization/bundles/zh-Hans.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/zh-Hans.localization-bundle.js +4 -6
- package/esm/localization/bundles/zh-Hant.localization-bundle.d.ts +4 -6
- package/esm/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/zh-Hant.localization-bundle.js +4 -6
- package/esm/metric/gate.d.ts +3 -4
- package/esm/metric/gate.d.ts.map +1 -1
- package/esm/metric/gate.js +5 -10
- package/esm/metric/metricCopy.d.ts +0 -1
- package/esm/metric/metricCopy.d.ts.map +1 -1
- package/esm/metric/metricCopy.js +3 -45
- package/esm/metric/metricDescriptor.d.ts +7 -0
- package/esm/metric/metricDescriptor.d.ts.map +1 -0
- package/esm/metric/metricDescriptor.js +74 -0
- package/esm/metric/metricMutationPort.d.ts +7 -10
- package/esm/metric/metricMutationPort.d.ts.map +1 -1
- package/esm/metric/metricMutationPort.js +15 -17
- package/esm/metric/metricValidation.d.ts.map +1 -1
- package/esm/metric/metricValidation.js +13 -32
- package/esm/metric/tests/metricMutationPort.test.utils.js +1 -1
- package/esm/parameter/gate.d.ts +3 -0
- package/esm/parameter/gate.d.ts.map +1 -1
- package/esm/parameter/gate.js +7 -5
- package/esm/parameter/parameterCopy.d.ts +0 -1
- package/esm/parameter/parameterCopy.d.ts.map +1 -1
- package/esm/parameter/parameterCopy.js +4 -41
- package/esm/parameter/parameterDescriptor.d.ts +7 -0
- package/esm/parameter/parameterDescriptor.d.ts.map +1 -0
- package/esm/parameter/parameterDescriptor.js +91 -0
- package/esm/parameter/parameterMutationPort.d.ts +5 -6
- package/esm/parameter/parameterMutationPort.d.ts.map +1 -1
- package/esm/parameter/parameterMutationPort.js +15 -2
- package/package.json +15 -15
- package/esm/metric/MetricCreateDialog.d.ts +0 -11
- package/esm/metric/MetricCreateDialog.d.ts.map +0 -1
- package/esm/metric/MetricCreateDialog.js +0 -55
- package/esm/metric/MetricDeleteDialog.d.ts +0 -9
- package/esm/metric/MetricDeleteDialog.d.ts.map +0 -1
- package/esm/metric/MetricDeleteDialog.js +0 -68
- package/esm/metric/MetricDetailActions.d.ts +0 -23
- package/esm/metric/MetricDetailActions.d.ts.map +0 -1
- package/esm/metric/MetricDetailActions.js +0 -101
- package/esm/metric/MetricDialog.d.ts +0 -14
- package/esm/metric/MetricDialog.d.ts.map +0 -1
- package/esm/metric/MetricDialog.js +0 -100
- package/esm/metric/MetricEditDialog.d.ts +0 -11
- package/esm/metric/MetricEditDialog.d.ts.map +0 -1
- package/esm/metric/MetricEditDialog.js +0 -51
- package/esm/metric/MetricMutationContext.d.ts +0 -16
- package/esm/metric/MetricMutationContext.d.ts.map +0 -1
- package/esm/metric/MetricMutationContext.js +0 -32
- package/esm/metric/MetricYamlEditor.d.ts +0 -8
- package/esm/metric/MetricYamlEditor.d.ts.map +0 -1
- package/esm/metric/MetricYamlEditor.js +0 -12
- package/esm/parameter/ParameterCreateDialog.d.ts +0 -9
- package/esm/parameter/ParameterCreateDialog.d.ts.map +0 -1
- package/esm/parameter/ParameterCreateDialog.js +0 -56
- package/esm/parameter/ParameterDeleteDialog.d.ts +0 -9
- package/esm/parameter/ParameterDeleteDialog.d.ts.map +0 -1
- package/esm/parameter/ParameterDeleteDialog.js +0 -39
- package/esm/parameter/ParameterDialog.d.ts +0 -13
- package/esm/parameter/ParameterDialog.d.ts.map +0 -1
- package/esm/parameter/ParameterDialog.js +0 -106
- package/esm/parameter/ParameterEditDialog.d.ts +0 -11
- package/esm/parameter/ParameterEditDialog.d.ts.map +0 -1
- package/esm/parameter/ParameterEditDialog.js +0 -35
- package/esm/parameter/ParameterMutationContext.d.ts +0 -16
- package/esm/parameter/ParameterMutationContext.d.ts.map +0 -1
- package/esm/parameter/ParameterMutationContext.js +0 -32
- package/esm/parameter/ParameterYamlEditor.d.ts +0 -10
- package/esm/parameter/ParameterYamlEditor.d.ts.map +0 -1
- package/esm/parameter/ParameterYamlEditor.js +0 -16
|
@@ -169,11 +169,8 @@ export const vi_VN = {
|
|
|
169
169
|
"analyticsCatalog.parameter.dialog.edit.title": "Chỉnh sửa tham số",
|
|
170
170
|
"analyticsCatalog.parameter.dialog.sectionHeader": "Định nghĩa tham số",
|
|
171
171
|
"analyticsCatalog.parameter.dialog.sectionHeader.tooltip": "Tạo câu lệnh YAML xác định một tham số.",
|
|
172
|
-
"analyticsCatalog.parameter.dialog.create.submit": "Tạo",
|
|
173
|
-
"analyticsCatalog.parameter.dialog.edit.submit": "Lưu",
|
|
174
172
|
"analyticsCatalog.parameter.dialog.edit.duplicate": "Lưu dưới dạng mới",
|
|
175
173
|
"analyticsCatalog.parameter.dialog.edit.idImmutable": "Không thể thay đổi id tham số khi lưu tham số hiện có. Hãy dùng Lưu dưới dạng mới thay thế.",
|
|
176
|
-
"analyticsCatalog.parameter.dialog.cancel": "Hủy",
|
|
177
174
|
"analyticsCatalog.parameter.dialog.help": "Cách tạo tham số?",
|
|
178
175
|
"analyticsCatalog.parameter.dialog.submit.error": "Không thể lưu tham số.",
|
|
179
176
|
"analyticsCatalog.parameter.validation.empty": "Định nghĩa tham số không được để trống.",
|
|
@@ -183,6 +180,7 @@ export const vi_VN = {
|
|
|
183
180
|
"analyticsCatalog.parameter.validation.invalidConstraints": "Ràng buộc không hợp lệ: {type, select, STRING {Tham số STRING cho phép minLength và maxLength là số nguyên không âm} other {Tham số NUMBER cho phép min và max dạng số}}.",
|
|
184
181
|
"analyticsCatalog.parameter.validation.invalidConstraintRange": "Ràng buộc {type, select, STRING {minLength không được lớn hơn maxLength} other {min không được lớn hơn max}}.",
|
|
185
182
|
"analyticsCatalog.parameter.validation.invalidTags": "Thẻ phải là một danh sách chuỗi.",
|
|
183
|
+
"analyticsCatalog.parameter.create.defaultTitle": "Tham số của tôi",
|
|
186
184
|
"analyticsCatalog.parameter.create.success": "Đã tạo tham số.",
|
|
187
185
|
"analyticsCatalog.parameter.update.success": "Đã cập nhật tham số.",
|
|
188
186
|
"analyticsCatalog.parameter.validation.syntax": "Lỗi cú pháp YAML",
|
|
@@ -195,12 +193,9 @@ export const vi_VN = {
|
|
|
195
193
|
"analyticsCatalog.metric.dialog.edit.title": "Chỉnh sửa thước đo",
|
|
196
194
|
"analyticsCatalog.metric.dialog.sectionHeader": "Định nghĩa chỉ số",
|
|
197
195
|
"analyticsCatalog.metric.dialog.sectionHeader.tooltip": "Định nghĩa thước đo trong YAML, bao gồm biểu thức MAQL và định dạng.",
|
|
198
|
-
"analyticsCatalog.metric.dialog.create.submit": "Tạo",
|
|
199
|
-
"analyticsCatalog.metric.dialog.edit.submit": "Lưu",
|
|
200
196
|
"analyticsCatalog.metric.actions.openInEditor": "Mở trong trình chỉnh sửa thước đo",
|
|
201
197
|
"analyticsCatalog.metric.dialog.edit.duplicate": "Nhân bản",
|
|
202
198
|
"analyticsCatalog.metric.dialog.edit.idImmutable": "Không thể thay đổi id thước đo. Sử dụng Nhân bản để tạo thước đo có id khác.",
|
|
203
|
-
"analyticsCatalog.metric.dialog.cancel": "Hủy",
|
|
204
199
|
"analyticsCatalog.metric.dialog.help": "Cách viết thước đo",
|
|
205
200
|
"analyticsCatalog.metric.dialog.submit.error": "Không thể lưu thước đo.",
|
|
206
201
|
"analyticsCatalog.metric.validation.empty": "Định nghĩa thước đo không được để trống.",
|
|
@@ -209,6 +204,9 @@ export const vi_VN = {
|
|
|
209
204
|
"analyticsCatalog.metric.validation.missingMaql": "Thước đo phải định nghĩa một biểu thức MAQL.",
|
|
210
205
|
"analyticsCatalog.metric.validation.invalidTags": "Thẻ phải là danh sách các giá trị văn bản.",
|
|
211
206
|
"analyticsCatalog.dialog.error.label": "Lỗi:",
|
|
207
|
+
"analyticsCatalog.asCode.dialog.create.submit": "Tạo",
|
|
208
|
+
"analyticsCatalog.asCode.dialog.edit.submit": "Lưu",
|
|
209
|
+
"analyticsCatalog.asCode.dialog.cancel": "Hủy",
|
|
212
210
|
"analyticsCatalog.metric.create.defaultTitle": "Thước đo của tôi",
|
|
213
211
|
"analyticsCatalog.metric.create.success": "Đã tạo thước đo.",
|
|
214
212
|
"analyticsCatalog.metric.update.success": "Đã lưu thước đo.",
|
|
@@ -167,11 +167,8 @@ export declare const zh_HK: {
|
|
|
167
167
|
"analyticsCatalog.parameter.dialog.edit.title": string;
|
|
168
168
|
"analyticsCatalog.parameter.dialog.sectionHeader": string;
|
|
169
169
|
"analyticsCatalog.parameter.dialog.sectionHeader.tooltip": string;
|
|
170
|
-
"analyticsCatalog.parameter.dialog.create.submit": string;
|
|
171
|
-
"analyticsCatalog.parameter.dialog.edit.submit": string;
|
|
172
170
|
"analyticsCatalog.parameter.dialog.edit.duplicate": string;
|
|
173
171
|
"analyticsCatalog.parameter.dialog.edit.idImmutable": string;
|
|
174
|
-
"analyticsCatalog.parameter.dialog.cancel": string;
|
|
175
172
|
"analyticsCatalog.parameter.dialog.help": string;
|
|
176
173
|
"analyticsCatalog.parameter.dialog.submit.error": string;
|
|
177
174
|
"analyticsCatalog.parameter.validation.empty": string;
|
|
@@ -181,6 +178,7 @@ export declare const zh_HK: {
|
|
|
181
178
|
"analyticsCatalog.parameter.validation.invalidConstraints": string;
|
|
182
179
|
"analyticsCatalog.parameter.validation.invalidConstraintRange": string;
|
|
183
180
|
"analyticsCatalog.parameter.validation.invalidTags": string;
|
|
181
|
+
"analyticsCatalog.parameter.create.defaultTitle": string;
|
|
184
182
|
"analyticsCatalog.parameter.create.success": string;
|
|
185
183
|
"analyticsCatalog.parameter.update.success": string;
|
|
186
184
|
"analyticsCatalog.parameter.validation.syntax": string;
|
|
@@ -193,12 +191,9 @@ export declare const zh_HK: {
|
|
|
193
191
|
"analyticsCatalog.metric.dialog.edit.title": string;
|
|
194
192
|
"analyticsCatalog.metric.dialog.sectionHeader": string;
|
|
195
193
|
"analyticsCatalog.metric.dialog.sectionHeader.tooltip": string;
|
|
196
|
-
"analyticsCatalog.metric.dialog.create.submit": string;
|
|
197
|
-
"analyticsCatalog.metric.dialog.edit.submit": string;
|
|
198
194
|
"analyticsCatalog.metric.actions.openInEditor": string;
|
|
199
195
|
"analyticsCatalog.metric.dialog.edit.duplicate": string;
|
|
200
196
|
"analyticsCatalog.metric.dialog.edit.idImmutable": string;
|
|
201
|
-
"analyticsCatalog.metric.dialog.cancel": string;
|
|
202
197
|
"analyticsCatalog.metric.dialog.help": string;
|
|
203
198
|
"analyticsCatalog.metric.dialog.submit.error": string;
|
|
204
199
|
"analyticsCatalog.metric.validation.empty": string;
|
|
@@ -207,6 +202,9 @@ export declare const zh_HK: {
|
|
|
207
202
|
"analyticsCatalog.metric.validation.missingMaql": string;
|
|
208
203
|
"analyticsCatalog.metric.validation.invalidTags": string;
|
|
209
204
|
"analyticsCatalog.dialog.error.label": string;
|
|
205
|
+
"analyticsCatalog.asCode.dialog.create.submit": string;
|
|
206
|
+
"analyticsCatalog.asCode.dialog.edit.submit": string;
|
|
207
|
+
"analyticsCatalog.asCode.dialog.cancel": string;
|
|
210
208
|
"analyticsCatalog.metric.create.defaultTitle": string;
|
|
211
209
|
"analyticsCatalog.metric.create.success": string;
|
|
212
210
|
"analyticsCatalog.metric.update.success": string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-HK.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/localization/bundles/zh-HK.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"zh-HK.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/localization/bundles/zh-HK.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmOjB,CAAC"}
|
|
@@ -169,11 +169,8 @@ export const zh_HK = {
|
|
|
169
169
|
"analyticsCatalog.parameter.dialog.edit.title": "編輯參數",
|
|
170
170
|
"analyticsCatalog.parameter.dialog.sectionHeader": "參數定義",
|
|
171
171
|
"analyticsCatalog.parameter.dialog.sectionHeader.tooltip": "建立一個定義參數的 YAML 陳述式。",
|
|
172
|
-
"analyticsCatalog.parameter.dialog.create.submit": "創建",
|
|
173
|
-
"analyticsCatalog.parameter.dialog.edit.submit": "儲存",
|
|
174
172
|
"analyticsCatalog.parameter.dialog.edit.duplicate": "另存新檔",
|
|
175
173
|
"analyticsCatalog.parameter.dialog.edit.idImmutable": "儲存現有參數時,不能變更參數 id。請改用「另存為新項目」。",
|
|
176
|
-
"analyticsCatalog.parameter.dialog.cancel": "取消",
|
|
177
174
|
"analyticsCatalog.parameter.dialog.help": "如何建立參數?",
|
|
178
175
|
"analyticsCatalog.parameter.dialog.submit.error": "無法儲存參數。",
|
|
179
176
|
"analyticsCatalog.parameter.validation.empty": "參數定義不能為空白。",
|
|
@@ -183,6 +180,7 @@ export const zh_HK = {
|
|
|
183
180
|
"analyticsCatalog.parameter.validation.invalidConstraints": "無效的限制條件:{type, select, STRING {STRING 參數允許非負整數 minLength 和 maxLength} other {NUMBER 參數允許數值 min 和 max}}。",
|
|
184
181
|
"analyticsCatalog.parameter.validation.invalidConstraintRange": "限制條件 {type, select, STRING {minLength 不可大於 maxLength} other {min 不可大於 max}}。",
|
|
185
182
|
"analyticsCatalog.parameter.validation.invalidTags": "標籤必須是字串清單。",
|
|
183
|
+
"analyticsCatalog.parameter.create.defaultTitle": "我的參數",
|
|
186
184
|
"analyticsCatalog.parameter.create.success": "已建立參數。",
|
|
187
185
|
"analyticsCatalog.parameter.update.success": "參數已更新。",
|
|
188
186
|
"analyticsCatalog.parameter.validation.syntax": "YAML 語法錯誤",
|
|
@@ -195,12 +193,9 @@ export const zh_HK = {
|
|
|
195
193
|
"analyticsCatalog.metric.dialog.edit.title": "編輯指標",
|
|
196
194
|
"analyticsCatalog.metric.dialog.sectionHeader": "計量定義",
|
|
197
195
|
"analyticsCatalog.metric.dialog.sectionHeader.tooltip": "在 YAML 中定義指標,包括其 MAQL 表達式和格式。",
|
|
198
|
-
"analyticsCatalog.metric.dialog.create.submit": "創建",
|
|
199
|
-
"analyticsCatalog.metric.dialog.edit.submit": "儲存",
|
|
200
196
|
"analyticsCatalog.metric.actions.openInEditor": "在指標編輯器中開啟",
|
|
201
197
|
"analyticsCatalog.metric.dialog.edit.duplicate": "重複",
|
|
202
198
|
"analyticsCatalog.metric.dialog.edit.idImmutable": "無法變更指標 id。使用「複製」建立具有不同 id 的指標。",
|
|
203
|
-
"analyticsCatalog.metric.dialog.cancel": "取消",
|
|
204
199
|
"analyticsCatalog.metric.dialog.help": "如何編寫指標",
|
|
205
200
|
"analyticsCatalog.metric.dialog.submit.error": "無法儲存指標。",
|
|
206
201
|
"analyticsCatalog.metric.validation.empty": "指標定義不能為空白。",
|
|
@@ -209,6 +204,9 @@ export const zh_HK = {
|
|
|
209
204
|
"analyticsCatalog.metric.validation.missingMaql": "指標必須定義 MAQL 表達式。",
|
|
210
205
|
"analyticsCatalog.metric.validation.invalidTags": "標籤必須是文字值清單。",
|
|
211
206
|
"analyticsCatalog.dialog.error.label": "錯誤:",
|
|
207
|
+
"analyticsCatalog.asCode.dialog.create.submit": "創建",
|
|
208
|
+
"analyticsCatalog.asCode.dialog.edit.submit": "儲存",
|
|
209
|
+
"analyticsCatalog.asCode.dialog.cancel": "取消",
|
|
212
210
|
"analyticsCatalog.metric.create.defaultTitle": "我的指標",
|
|
213
211
|
"analyticsCatalog.metric.create.success": "指標已建立。",
|
|
214
212
|
"analyticsCatalog.metric.update.success": "指標已儲存。",
|
|
@@ -167,11 +167,8 @@ export declare const zh_Hans: {
|
|
|
167
167
|
"analyticsCatalog.parameter.dialog.edit.title": string;
|
|
168
168
|
"analyticsCatalog.parameter.dialog.sectionHeader": string;
|
|
169
169
|
"analyticsCatalog.parameter.dialog.sectionHeader.tooltip": string;
|
|
170
|
-
"analyticsCatalog.parameter.dialog.create.submit": string;
|
|
171
|
-
"analyticsCatalog.parameter.dialog.edit.submit": string;
|
|
172
170
|
"analyticsCatalog.parameter.dialog.edit.duplicate": string;
|
|
173
171
|
"analyticsCatalog.parameter.dialog.edit.idImmutable": string;
|
|
174
|
-
"analyticsCatalog.parameter.dialog.cancel": string;
|
|
175
172
|
"analyticsCatalog.parameter.dialog.help": string;
|
|
176
173
|
"analyticsCatalog.parameter.dialog.submit.error": string;
|
|
177
174
|
"analyticsCatalog.parameter.validation.empty": string;
|
|
@@ -181,6 +178,7 @@ export declare const zh_Hans: {
|
|
|
181
178
|
"analyticsCatalog.parameter.validation.invalidConstraints": string;
|
|
182
179
|
"analyticsCatalog.parameter.validation.invalidConstraintRange": string;
|
|
183
180
|
"analyticsCatalog.parameter.validation.invalidTags": string;
|
|
181
|
+
"analyticsCatalog.parameter.create.defaultTitle": string;
|
|
184
182
|
"analyticsCatalog.parameter.create.success": string;
|
|
185
183
|
"analyticsCatalog.parameter.update.success": string;
|
|
186
184
|
"analyticsCatalog.parameter.validation.syntax": string;
|
|
@@ -193,12 +191,9 @@ export declare const zh_Hans: {
|
|
|
193
191
|
"analyticsCatalog.metric.dialog.edit.title": string;
|
|
194
192
|
"analyticsCatalog.metric.dialog.sectionHeader": string;
|
|
195
193
|
"analyticsCatalog.metric.dialog.sectionHeader.tooltip": string;
|
|
196
|
-
"analyticsCatalog.metric.dialog.create.submit": string;
|
|
197
|
-
"analyticsCatalog.metric.dialog.edit.submit": string;
|
|
198
194
|
"analyticsCatalog.metric.actions.openInEditor": string;
|
|
199
195
|
"analyticsCatalog.metric.dialog.edit.duplicate": string;
|
|
200
196
|
"analyticsCatalog.metric.dialog.edit.idImmutable": string;
|
|
201
|
-
"analyticsCatalog.metric.dialog.cancel": string;
|
|
202
197
|
"analyticsCatalog.metric.dialog.help": string;
|
|
203
198
|
"analyticsCatalog.metric.dialog.submit.error": string;
|
|
204
199
|
"analyticsCatalog.metric.validation.empty": string;
|
|
@@ -207,6 +202,9 @@ export declare const zh_Hans: {
|
|
|
207
202
|
"analyticsCatalog.metric.validation.missingMaql": string;
|
|
208
203
|
"analyticsCatalog.metric.validation.invalidTags": string;
|
|
209
204
|
"analyticsCatalog.dialog.error.label": string;
|
|
205
|
+
"analyticsCatalog.asCode.dialog.create.submit": string;
|
|
206
|
+
"analyticsCatalog.asCode.dialog.edit.submit": string;
|
|
207
|
+
"analyticsCatalog.asCode.dialog.cancel": string;
|
|
210
208
|
"analyticsCatalog.metric.create.defaultTitle": string;
|
|
211
209
|
"analyticsCatalog.metric.create.success": string;
|
|
212
210
|
"analyticsCatalog.metric.update.success": string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-Hans.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/localization/bundles/zh-Hans.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"zh-Hans.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/localization/bundles/zh-Hans.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmOnB,CAAC"}
|
|
@@ -169,11 +169,8 @@ export const zh_Hans = {
|
|
|
169
169
|
"analyticsCatalog.parameter.dialog.edit.title": "编辑参数",
|
|
170
170
|
"analyticsCatalog.parameter.dialog.sectionHeader": "参数定义",
|
|
171
171
|
"analyticsCatalog.parameter.dialog.sectionHeader.tooltip": "创建用于定义参数的 YAML 语句。",
|
|
172
|
-
"analyticsCatalog.parameter.dialog.create.submit": "创建",
|
|
173
|
-
"analyticsCatalog.parameter.dialog.edit.submit": "保存",
|
|
174
172
|
"analyticsCatalog.parameter.dialog.edit.duplicate": "另存为新的",
|
|
175
173
|
"analyticsCatalog.parameter.dialog.edit.idImmutable": "保存现有参数时,不能更改参数 id。请改用另存为新参数。",
|
|
176
|
-
"analyticsCatalog.parameter.dialog.cancel": "取消",
|
|
177
174
|
"analyticsCatalog.parameter.dialog.help": "如何创建参数?",
|
|
178
175
|
"analyticsCatalog.parameter.dialog.submit.error": "无法保存参数。",
|
|
179
176
|
"analyticsCatalog.parameter.validation.empty": "参数定义不能为空。",
|
|
@@ -183,6 +180,7 @@ export const zh_Hans = {
|
|
|
183
180
|
"analyticsCatalog.parameter.validation.invalidConstraints": "约束无效:{type, select, STRING {STRING 参数允许非负整数 minLength 和 maxLength} other {NUMBER 参数允许数值 min 和 max}}。",
|
|
184
181
|
"analyticsCatalog.parameter.validation.invalidConstraintRange": "约束 {type, select, STRING {minLength 不能大于 maxLength} other {min 不能大于 max}}。",
|
|
185
182
|
"analyticsCatalog.parameter.validation.invalidTags": "标签必须是字符串列表。",
|
|
183
|
+
"analyticsCatalog.parameter.create.defaultTitle": "我的参数",
|
|
186
184
|
"analyticsCatalog.parameter.create.success": "参数已创建。",
|
|
187
185
|
"analyticsCatalog.parameter.update.success": "参数已更新。",
|
|
188
186
|
"analyticsCatalog.parameter.validation.syntax": "YAML 语法错误",
|
|
@@ -195,12 +193,9 @@ export const zh_Hans = {
|
|
|
195
193
|
"analyticsCatalog.metric.dialog.edit.title": "编辑指标",
|
|
196
194
|
"analyticsCatalog.metric.dialog.sectionHeader": "指标定义",
|
|
197
195
|
"analyticsCatalog.metric.dialog.sectionHeader.tooltip": "在 YAML 中定义指标,包括其 MAQL 表达式和格式。",
|
|
198
|
-
"analyticsCatalog.metric.dialog.create.submit": "创建",
|
|
199
|
-
"analyticsCatalog.metric.dialog.edit.submit": "保存",
|
|
200
196
|
"analyticsCatalog.metric.actions.openInEditor": "在指标编辑器中打开",
|
|
201
197
|
"analyticsCatalog.metric.dialog.edit.duplicate": "复制",
|
|
202
198
|
"analyticsCatalog.metric.dialog.edit.idImmutable": "指标 id 无法更改。使用“复制”创建具有不同 id 的指标。",
|
|
203
|
-
"analyticsCatalog.metric.dialog.cancel": "取消",
|
|
204
199
|
"analyticsCatalog.metric.dialog.help": "如何编写指标",
|
|
205
200
|
"analyticsCatalog.metric.dialog.submit.error": "无法保存指标。",
|
|
206
201
|
"analyticsCatalog.metric.validation.empty": "指标定义不能为空。",
|
|
@@ -209,6 +204,9 @@ export const zh_Hans = {
|
|
|
209
204
|
"analyticsCatalog.metric.validation.missingMaql": "指标必须定义 MAQL 表达式。",
|
|
210
205
|
"analyticsCatalog.metric.validation.invalidTags": "标签必须是文本值列表。",
|
|
211
206
|
"analyticsCatalog.dialog.error.label": "错误:",
|
|
207
|
+
"analyticsCatalog.asCode.dialog.create.submit": "创建",
|
|
208
|
+
"analyticsCatalog.asCode.dialog.edit.submit": "保存",
|
|
209
|
+
"analyticsCatalog.asCode.dialog.cancel": "取消",
|
|
212
210
|
"analyticsCatalog.metric.create.defaultTitle": "我的指标",
|
|
213
211
|
"analyticsCatalog.metric.create.success": "指标已创建。",
|
|
214
212
|
"analyticsCatalog.metric.update.success": "指标已保存。",
|
|
@@ -167,11 +167,8 @@ export declare const zh_Hant: {
|
|
|
167
167
|
"analyticsCatalog.parameter.dialog.edit.title": string;
|
|
168
168
|
"analyticsCatalog.parameter.dialog.sectionHeader": string;
|
|
169
169
|
"analyticsCatalog.parameter.dialog.sectionHeader.tooltip": string;
|
|
170
|
-
"analyticsCatalog.parameter.dialog.create.submit": string;
|
|
171
|
-
"analyticsCatalog.parameter.dialog.edit.submit": string;
|
|
172
170
|
"analyticsCatalog.parameter.dialog.edit.duplicate": string;
|
|
173
171
|
"analyticsCatalog.parameter.dialog.edit.idImmutable": string;
|
|
174
|
-
"analyticsCatalog.parameter.dialog.cancel": string;
|
|
175
172
|
"analyticsCatalog.parameter.dialog.help": string;
|
|
176
173
|
"analyticsCatalog.parameter.dialog.submit.error": string;
|
|
177
174
|
"analyticsCatalog.parameter.validation.empty": string;
|
|
@@ -181,6 +178,7 @@ export declare const zh_Hant: {
|
|
|
181
178
|
"analyticsCatalog.parameter.validation.invalidConstraints": string;
|
|
182
179
|
"analyticsCatalog.parameter.validation.invalidConstraintRange": string;
|
|
183
180
|
"analyticsCatalog.parameter.validation.invalidTags": string;
|
|
181
|
+
"analyticsCatalog.parameter.create.defaultTitle": string;
|
|
184
182
|
"analyticsCatalog.parameter.create.success": string;
|
|
185
183
|
"analyticsCatalog.parameter.update.success": string;
|
|
186
184
|
"analyticsCatalog.parameter.validation.syntax": string;
|
|
@@ -193,12 +191,9 @@ export declare const zh_Hant: {
|
|
|
193
191
|
"analyticsCatalog.metric.dialog.edit.title": string;
|
|
194
192
|
"analyticsCatalog.metric.dialog.sectionHeader": string;
|
|
195
193
|
"analyticsCatalog.metric.dialog.sectionHeader.tooltip": string;
|
|
196
|
-
"analyticsCatalog.metric.dialog.create.submit": string;
|
|
197
|
-
"analyticsCatalog.metric.dialog.edit.submit": string;
|
|
198
194
|
"analyticsCatalog.metric.actions.openInEditor": string;
|
|
199
195
|
"analyticsCatalog.metric.dialog.edit.duplicate": string;
|
|
200
196
|
"analyticsCatalog.metric.dialog.edit.idImmutable": string;
|
|
201
|
-
"analyticsCatalog.metric.dialog.cancel": string;
|
|
202
197
|
"analyticsCatalog.metric.dialog.help": string;
|
|
203
198
|
"analyticsCatalog.metric.dialog.submit.error": string;
|
|
204
199
|
"analyticsCatalog.metric.validation.empty": string;
|
|
@@ -207,6 +202,9 @@ export declare const zh_Hant: {
|
|
|
207
202
|
"analyticsCatalog.metric.validation.missingMaql": string;
|
|
208
203
|
"analyticsCatalog.metric.validation.invalidTags": string;
|
|
209
204
|
"analyticsCatalog.dialog.error.label": string;
|
|
205
|
+
"analyticsCatalog.asCode.dialog.create.submit": string;
|
|
206
|
+
"analyticsCatalog.asCode.dialog.edit.submit": string;
|
|
207
|
+
"analyticsCatalog.asCode.dialog.cancel": string;
|
|
210
208
|
"analyticsCatalog.metric.create.defaultTitle": string;
|
|
211
209
|
"analyticsCatalog.metric.create.success": string;
|
|
212
210
|
"analyticsCatalog.metric.update.success": string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zh-Hant.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/localization/bundles/zh-Hant.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"zh-Hant.localization-bundle.d.ts","sourceRoot":"","sources":["../../../src/localization/bundles/zh-Hant.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmOnB,CAAC"}
|
|
@@ -169,11 +169,8 @@ export const zh_Hant = {
|
|
|
169
169
|
"analyticsCatalog.parameter.dialog.edit.title": "編輯參數",
|
|
170
170
|
"analyticsCatalog.parameter.dialog.sectionHeader": "參數定義",
|
|
171
171
|
"analyticsCatalog.parameter.dialog.sectionHeader.tooltip": "建立定義參數的 YAML 陳述式。",
|
|
172
|
-
"analyticsCatalog.parameter.dialog.create.submit": "建立",
|
|
173
|
-
"analyticsCatalog.parameter.dialog.edit.submit": "儲存",
|
|
174
172
|
"analyticsCatalog.parameter.dialog.edit.duplicate": "另存為新的",
|
|
175
173
|
"analyticsCatalog.parameter.dialog.edit.idImmutable": "儲存現有參數時,無法變更參數 id。請改用另存為新參數。",
|
|
176
|
-
"analyticsCatalog.parameter.dialog.cancel": "取消",
|
|
177
174
|
"analyticsCatalog.parameter.dialog.help": "如何建立參數?",
|
|
178
175
|
"analyticsCatalog.parameter.dialog.submit.error": "無法儲存參數。",
|
|
179
176
|
"analyticsCatalog.parameter.validation.empty": "參數定義不可為空。",
|
|
@@ -183,6 +180,7 @@ export const zh_Hant = {
|
|
|
183
180
|
"analyticsCatalog.parameter.validation.invalidConstraints": "無效的限制條件:{type, select, STRING {STRING 參數允許非負整數 minLength 和 maxLength} other {NUMBER 參數允許數值 min 和 max}}。",
|
|
184
181
|
"analyticsCatalog.parameter.validation.invalidConstraintRange": "限制條件 {type, select, STRING {minLength 不得大於 maxLength} other {min 不得大於 max}}。",
|
|
185
182
|
"analyticsCatalog.parameter.validation.invalidTags": "標籤必須是字串清單。",
|
|
183
|
+
"analyticsCatalog.parameter.create.defaultTitle": "我的參數",
|
|
186
184
|
"analyticsCatalog.parameter.create.success": "參數已建立。",
|
|
187
185
|
"analyticsCatalog.parameter.update.success": "參數已更新。",
|
|
188
186
|
"analyticsCatalog.parameter.validation.syntax": "YAML 語法錯誤",
|
|
@@ -195,12 +193,9 @@ export const zh_Hant = {
|
|
|
195
193
|
"analyticsCatalog.metric.dialog.edit.title": "編輯指標",
|
|
196
194
|
"analyticsCatalog.metric.dialog.sectionHeader": "指標定義",
|
|
197
195
|
"analyticsCatalog.metric.dialog.sectionHeader.tooltip": "以 YAML 定義指標,包括其 MAQL 運算式與格式。",
|
|
198
|
-
"analyticsCatalog.metric.dialog.create.submit": "建立",
|
|
199
|
-
"analyticsCatalog.metric.dialog.edit.submit": "儲存",
|
|
200
196
|
"analyticsCatalog.metric.actions.openInEditor": "在指標編輯器中開啟",
|
|
201
197
|
"analyticsCatalog.metric.dialog.edit.duplicate": "複製",
|
|
202
198
|
"analyticsCatalog.metric.dialog.edit.idImmutable": "指標 id 無法變更。請使用「複製」建立具有不同 id 的指標。",
|
|
203
|
-
"analyticsCatalog.metric.dialog.cancel": "取消",
|
|
204
199
|
"analyticsCatalog.metric.dialog.help": "如何撰寫指標",
|
|
205
200
|
"analyticsCatalog.metric.dialog.submit.error": "無法儲存指標。",
|
|
206
201
|
"analyticsCatalog.metric.validation.empty": "指標定義不可為空。",
|
|
@@ -209,6 +204,9 @@ export const zh_Hant = {
|
|
|
209
204
|
"analyticsCatalog.metric.validation.missingMaql": "指標必須定義 MAQL 運算式。",
|
|
210
205
|
"analyticsCatalog.metric.validation.invalidTags": "標籤必須是文字值清單。",
|
|
211
206
|
"analyticsCatalog.dialog.error.label": "錯誤:",
|
|
207
|
+
"analyticsCatalog.asCode.dialog.create.submit": "建立",
|
|
208
|
+
"analyticsCatalog.asCode.dialog.edit.submit": "儲存",
|
|
209
|
+
"analyticsCatalog.asCode.dialog.cancel": "取消",
|
|
212
210
|
"analyticsCatalog.metric.create.defaultTitle": "我的指標",
|
|
213
211
|
"analyticsCatalog.metric.create.success": "已建立指標。",
|
|
214
212
|
"analyticsCatalog.metric.update.success": "已儲存指標。",
|
package/esm/metric/gate.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
|
|
4
|
-
export declare function useIsCatalogMetricEditorEnabled(): boolean;
|
|
1
|
+
/** The flag gating the in-catalog metric editor. The single source of truth, referenced by both the
|
|
2
|
+
* gate below and `metricDescriptor.featureFlag`. */
|
|
3
|
+
export declare const METRIC_EDITOR_FEATURE_FLAG = "enableAnalyticalCatalogMetricEditor";
|
|
5
4
|
/**
|
|
6
5
|
* Whether the current user can create and edit metrics inline in the catalog.
|
|
7
6
|
*/
|
package/esm/metric/gate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/metric/gate.ts"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/metric/gate.ts"],"names":[],"mappings":"AAIA;qDACqD;AACrD,eAAO,MAAM,0BAA0B,wCAAwC,CAAC;AAEhF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C"}
|
package/esm/metric/gate.js
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
|
-
import {
|
|
3
|
-
/**
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
export function useIsCatalogMetricEditorEnabled() {
|
|
7
|
-
return useFeatureFlag("enableAnalyticalCatalogMetricEditor");
|
|
8
|
-
}
|
|
2
|
+
import { useCanManageAsCode } from "../asCode/gate.js";
|
|
3
|
+
/** The flag gating the in-catalog metric editor. The single source of truth, referenced by both the
|
|
4
|
+
* gate below and `metricDescriptor.featureFlag`. */
|
|
5
|
+
export const METRIC_EDITOR_FEATURE_FLAG = "enableAnalyticalCatalogMetricEditor";
|
|
9
6
|
/**
|
|
10
7
|
* Whether the current user can create and edit metrics inline in the catalog.
|
|
11
8
|
*/
|
|
12
9
|
export function useCanManageMetric() {
|
|
13
|
-
|
|
14
|
-
const canManageProject = useWorkspacePermission("canManageProject");
|
|
15
|
-
return isMetricEditorEnabled && canManageProject;
|
|
10
|
+
return useCanManageAsCode(METRIC_EDITOR_FEATURE_FLAG);
|
|
16
11
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { IMeasureMetadataObjectDefinition } from "@gooddata/sdk-model";
|
|
2
2
|
export declare function createCopiedMetric(metric: IMeasureMetadataObjectDefinition): IMeasureMetadataObjectDefinition;
|
|
3
|
-
export declare function isDuplicateIdError(error: unknown): boolean;
|
|
4
3
|
//# sourceMappingURL=metricCopy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metricCopy.d.ts","sourceRoot":"","sources":["../../src/metric/metricCopy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metricCopy.d.ts","sourceRoot":"","sources":["../../src/metric/metricCopy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAI5E,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,gCAAgC,GACzC,gCAAgC,CAelC"}
|
package/esm/metric/metricCopy.js
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
|
-
import {
|
|
3
|
-
const canonicalUuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
4
|
-
const trailingCopySuffixRegex = /^(.*) \((\d+)\)$/;
|
|
2
|
+
import { deriveCopyIdentity } from "../asCode/copy.js";
|
|
5
3
|
export function createCopiedMetric(metric) {
|
|
6
|
-
const title = getCopiedTitle(metric.title);
|
|
7
|
-
const id = shouldOmitCopiedId(metric.id) ? undefined : getCopiedId(title);
|
|
8
4
|
// Whitelist only definition-owned fields; the source may be a loaded measure carrying
|
|
9
5
|
// server-managed fields (uri, ref, timestamps, ...) that must not leak into the definition.
|
|
10
|
-
// metricType and isHiddenFromKda are author-owned semantics, so they carry over
|
|
6
|
+
// metricType, isHidden, and isHiddenFromKda are author-owned semantics, so they carry over.
|
|
11
7
|
return {
|
|
12
8
|
type: "measure",
|
|
13
|
-
...(
|
|
14
|
-
...(title === undefined ? {} : { title }),
|
|
9
|
+
...deriveCopyIdentity(metric),
|
|
15
10
|
description: metric.description,
|
|
16
11
|
tags: metric.tags,
|
|
17
12
|
expression: metric.expression,
|
|
@@ -21,40 +16,3 @@ export function createCopiedMetric(metric) {
|
|
|
21
16
|
...(metric.isHiddenFromKda === undefined ? {} : { isHiddenFromKda: metric.isHiddenFromKda }),
|
|
22
17
|
};
|
|
23
18
|
}
|
|
24
|
-
function getCopiedTitle(title) {
|
|
25
|
-
if (title === undefined) {
|
|
26
|
-
return undefined;
|
|
27
|
-
}
|
|
28
|
-
if (title === "") {
|
|
29
|
-
return "";
|
|
30
|
-
}
|
|
31
|
-
const match = title.match(trailingCopySuffixRegex);
|
|
32
|
-
if (match) {
|
|
33
|
-
const [, prefix, suffix] = match;
|
|
34
|
-
return `${prefix} (${Number(suffix) + 1})`;
|
|
35
|
-
}
|
|
36
|
-
return `${title} (2)`;
|
|
37
|
-
}
|
|
38
|
-
// A UUID id was server-generated, so the copy omits its id and lets the server generate a fresh one.
|
|
39
|
-
// A human-authored id (e.g. "revenue.total") is instead re-derived from the copied title to stay
|
|
40
|
-
// readable; a resulting collision is handled by the create 409 retry-without-id.
|
|
41
|
-
function shouldOmitCopiedId(id) {
|
|
42
|
-
return id === undefined || isCanonicalUuid(id);
|
|
43
|
-
}
|
|
44
|
-
function getCopiedId(title) {
|
|
45
|
-
if (!title) {
|
|
46
|
-
return undefined;
|
|
47
|
-
}
|
|
48
|
-
const normalizedTitle = title
|
|
49
|
-
.normalize("NFKD")
|
|
50
|
-
.replace(/[\u0300-\u036f]/g, "")
|
|
51
|
-
.replace(/\W/g, "_")
|
|
52
|
-
.toLowerCase();
|
|
53
|
-
return normalizedTitle || undefined;
|
|
54
|
-
}
|
|
55
|
-
function isCanonicalUuid(value) {
|
|
56
|
-
return canonicalUuidRegex.test(value);
|
|
57
|
-
}
|
|
58
|
-
export function isDuplicateIdError(error) {
|
|
59
|
-
return isUnexpectedResponseError(error) && error.httpStatus === 409;
|
|
60
|
-
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IMeasureMetadataObjectDefinition } from "@gooddata/sdk-model";
|
|
2
|
+
import type { ICatalogItemMeasure } from "../catalogItem/types.js";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare const metricDescriptor: import("../asCode/descriptor.js").IAsCodeDescriptor<IMeasureMetadataObjectDefinition, ICatalogItemMeasure>;
|
|
7
|
+
//# sourceMappingURL=metricDescriptor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metricDescriptor.d.ts","sourceRoot":"","sources":["../../src/metric/metricDescriptor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAG5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAqEnE;;GAEG;AACH,eAAO,MAAM,gBAAgB,4GAe5B,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { defineMessages, useIntl } from "react-intl";
|
|
4
|
+
import { defineAsCodeDescriptor } from "../asCode/descriptor.js";
|
|
5
|
+
import { ObjectTypes } from "../objectType/constants.js";
|
|
6
|
+
import { METRIC_EDITOR_FEATURE_FLAG } from "./gate.js";
|
|
7
|
+
import { metricCompletions } from "./metricCompletions.js";
|
|
8
|
+
import { definitionToMetricYaml, mergeCopiedMetricDefinition, metricYamlToDefinition, } from "./metricConverter.js";
|
|
9
|
+
import { createCopiedMetric } from "./metricCopy.js";
|
|
10
|
+
import { createMetricMutationAdapter } from "./metricMutationPort.js";
|
|
11
|
+
import { serializeMetricToYaml } from "./metricSerialization.js";
|
|
12
|
+
import { validateMetricYaml } from "./metricValidation.js";
|
|
13
|
+
const METRIC_DOCS_URL = "https://www.gooddata.ai/docs/cloud/api-and-sdk/vs-code-extension/structures/#metric";
|
|
14
|
+
const messages = defineMessages({
|
|
15
|
+
createTitle: { id: "analyticsCatalog.metric.dialog.create.title" },
|
|
16
|
+
editTitle: { id: "analyticsCatalog.metric.dialog.edit.title" },
|
|
17
|
+
duplicate: { id: "analyticsCatalog.metric.dialog.edit.duplicate" },
|
|
18
|
+
createDefaultTitle: { id: "analyticsCatalog.metric.create.defaultTitle" },
|
|
19
|
+
createSuccess: { id: "analyticsCatalog.metric.create.success" },
|
|
20
|
+
updateSuccess: { id: "analyticsCatalog.metric.update.success" },
|
|
21
|
+
sectionHeader: { id: "analyticsCatalog.metric.dialog.sectionHeader" },
|
|
22
|
+
sectionHeaderTooltip: { id: "analyticsCatalog.metric.dialog.sectionHeader.tooltip" },
|
|
23
|
+
help: { id: "analyticsCatalog.metric.dialog.help" },
|
|
24
|
+
submitError: { id: "analyticsCatalog.metric.dialog.submit.error" },
|
|
25
|
+
loadError: { id: "analyticsCatalog.metric.load.error" },
|
|
26
|
+
deleteTitle: { id: "analyticsCatalog.metric.dialog.delete.title" },
|
|
27
|
+
deleteBody: { id: "analyticsCatalog.metric.dialog.delete.body" },
|
|
28
|
+
deleteSubmit: { id: "analyticsCatalog.metric.dialog.delete.submit" },
|
|
29
|
+
deleteSuccess: { id: "analyticsCatalog.metric.delete.success" },
|
|
30
|
+
deleteError: { id: "analyticsCatalog.metric.delete.error" },
|
|
31
|
+
deleteUsageWarning: { id: "analyticsCatalog.metric.dialog.delete.usageWarning" },
|
|
32
|
+
});
|
|
33
|
+
const actionMessages = defineMessages({
|
|
34
|
+
openInEditor: { id: "analyticsCatalog.metric.actions.openInEditor" },
|
|
35
|
+
});
|
|
36
|
+
const errorMessages = defineMessages({
|
|
37
|
+
empty: { id: "analyticsCatalog.metric.validation.empty" },
|
|
38
|
+
syntax: { id: "analyticsCatalog.metric.validation.syntax" },
|
|
39
|
+
invalidStructure: { id: "analyticsCatalog.metric.validation.invalidStructure" },
|
|
40
|
+
idImmutable: { id: "analyticsCatalog.metric.dialog.edit.idImmutable" },
|
|
41
|
+
missingMaql: { id: "analyticsCatalog.metric.validation.missingMaql" },
|
|
42
|
+
invalidTags: { id: "analyticsCatalog.metric.validation.invalidTags" },
|
|
43
|
+
});
|
|
44
|
+
function useMetricEditing() {
|
|
45
|
+
const intl = useIntl();
|
|
46
|
+
return useMemo(() => ({
|
|
47
|
+
completionSource: metricCompletions,
|
|
48
|
+
syntaxErrorMessage: intl.formatMessage(errorMessages.syntax),
|
|
49
|
+
// The editor works in the YAML shape, a lossy projection of the measure definition.
|
|
50
|
+
serialize: (definition) => serializeMetricToYaml(definitionToMetricYaml(definition)),
|
|
51
|
+
validate: (value, options) => {
|
|
52
|
+
const result = validateMetricYaml(value, options);
|
|
53
|
+
return result.isValid
|
|
54
|
+
? { isValid: true, definition: result.measure }
|
|
55
|
+
: { isValid: false, error: intl.formatMessage(errorMessages[result.errorCode]) };
|
|
56
|
+
},
|
|
57
|
+
}), [intl]);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
export const metricDescriptor = defineAsCodeDescriptor({
|
|
63
|
+
objectType: ObjectTypes.METRIC,
|
|
64
|
+
docsUrl: METRIC_DOCS_URL,
|
|
65
|
+
featureFlag: METRIC_EDITOR_FEATURE_FLAG,
|
|
66
|
+
messages,
|
|
67
|
+
useEditing: useMetricEditing,
|
|
68
|
+
createMutationPort: createMetricMutationAdapter,
|
|
69
|
+
emptyDefinition: (defaultTitle) => metricYamlToDefinition({ type: "metric", title: defaultTitle, maql: "SELECT 1" }),
|
|
70
|
+
// No editSeed: the full measure is loaded via port.load (the item carries no MAQL).
|
|
71
|
+
toCopy: createCopiedMetric,
|
|
72
|
+
applyYamlEdits: mergeCopiedMetricDefinition,
|
|
73
|
+
openAction: actionMessages.openInEditor,
|
|
74
|
+
});
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import type { IAnalyticalBackend
|
|
2
|
-
import { type
|
|
3
|
-
import type {
|
|
1
|
+
import type { IAnalyticalBackend } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
import { type IMeasureMetadataObjectDefinition } from "@gooddata/sdk-model";
|
|
3
|
+
import type { IAsCodeMutationPort } from "../asCode/descriptor.js";
|
|
4
|
+
import type { ICatalogItemMeasure } from "../catalogItem/types.js";
|
|
4
5
|
/**
|
|
6
|
+
* A metric loads its full measure before editing (the catalog item carries no MAQL) and always
|
|
7
|
+
* supports the optional `load`/`getReferencingObjectsCount` capabilities — hence `Required`.
|
|
5
8
|
* @internal
|
|
6
9
|
*/
|
|
7
|
-
export
|
|
8
|
-
create(definition: IMeasureMetadataObjectDefinition): Promise<ICatalogItemMeasure>;
|
|
9
|
-
update(existing: IMeasureMetadataObject, definition: IMeasureMetadataObjectDefinition): Promise<ICatalogItemMeasure>;
|
|
10
|
-
delete(ref: ICatalogItemRef): Promise<void>;
|
|
11
|
-
load(ref: ICatalogItemRef): Promise<IMeasureMetadataObject>;
|
|
12
|
-
getReferencingObjects(ref: ICatalogItemRef): Promise<IMeasureReferencing>;
|
|
13
|
-
}
|
|
10
|
+
export type IMetricMutationPort = Required<IAsCodeMutationPort<IMeasureMetadataObjectDefinition, ICatalogItemMeasure>>;
|
|
14
11
|
/**
|
|
15
12
|
* @internal
|
|
16
13
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metricMutationPort.d.ts","sourceRoot":"","sources":["../../src/metric/metricMutationPort.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"metricMutationPort.d.ts","sourceRoot":"","sources":["../../src/metric/metricMutationPort.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,KAAK,gCAAgC,EAAkC,MAAM,qBAAqB,CAAC;AAE5G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AASnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAInE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CACtC,mBAAmB,CAAC,gCAAgC,EAAE,mBAAmB,CAAC,CAC7E,CAAC;AAEF;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,GAClB,mBAAmB,CAoCrB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
|
-
import { idRef, } from "@gooddata/sdk-model";
|
|
2
|
+
import { idRef, isMeasureMetadataObject } from "@gooddata/sdk-model";
|
|
3
3
|
import { convertMeasureToCatalogItem } from "../catalogItem/converter.js";
|
|
4
4
|
import { createMeasureCatalogItem, deleteMeasureCatalogItem, getMeasureCatalogItem, getMeasureReferencingObjectsCatalogItem, updateMeasureCatalogItem, } from "../catalogItem/query.js";
|
|
5
5
|
import { overlayMetricYamlFields } from "./metricConverter.js";
|
|
@@ -12,28 +12,26 @@ export function createMetricMutationAdapter(backend, workspace) {
|
|
|
12
12
|
const savedMeasure = await createMeasureCatalogItem(backend, workspace, definition);
|
|
13
13
|
return convertMeasureToCatalogItem(savedMeasure);
|
|
14
14
|
},
|
|
15
|
-
async update(
|
|
16
|
-
|
|
15
|
+
async update(base, definition) {
|
|
16
|
+
// The measures endpoint is a full replace, so overlay the YAML-owned fields onto the loaded
|
|
17
|
+
// measure to carry over what the YAML cannot express (metricType, isHiddenFromKda, identity).
|
|
18
|
+
// `base` must be the persisted measure `load` returned — a bare definition (no server-managed
|
|
19
|
+
// `ref`) would silently drop those fields, so reject it loudly rather than corrupt the update.
|
|
20
|
+
if (!isMeasureMetadataObject(base)) {
|
|
21
|
+
throw new Error("Metric update requires the loaded measure as base, not a bare definition.");
|
|
22
|
+
}
|
|
23
|
+
const savedMeasure = await updateMeasureCatalogItem(backend, workspace, overlayMetricYamlFields(base, definition));
|
|
17
24
|
return convertMeasureToCatalogItem(savedMeasure);
|
|
18
25
|
},
|
|
19
26
|
async delete(ref) {
|
|
20
27
|
await deleteMeasureCatalogItem(backend, workspace, idRef(ref.identifier, "measure"));
|
|
21
28
|
},
|
|
22
|
-
async load(
|
|
23
|
-
return getMeasureCatalogItem(backend, workspace, idRef(
|
|
29
|
+
async load(item) {
|
|
30
|
+
return getMeasureCatalogItem(backend, workspace, idRef(item.identifier, "measure"));
|
|
24
31
|
},
|
|
25
|
-
async
|
|
26
|
-
|
|
32
|
+
async getReferencingObjectsCount(item) {
|
|
33
|
+
const referencing = await getMeasureReferencingObjectsCatalogItem(backend, workspace, idRef(item.identifier, "measure"));
|
|
34
|
+
return (referencing.insights?.length ?? 0) + (referencing.measures?.length ?? 0);
|
|
27
35
|
},
|
|
28
36
|
};
|
|
29
37
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Overlays the fields the as-code YAML owns onto the loaded metric.
|
|
32
|
-
*
|
|
33
|
-
* The measures update endpoint is a full replace, so fields absent from the YAML
|
|
34
|
-
* (`metricType`, `isHiddenFromKda`, identity, ...) must be carried over from the loaded metric to
|
|
35
|
-
* avoid wiping them; `overlayMetricYamlFields` preserves them via the base spread.
|
|
36
|
-
*/
|
|
37
|
-
function mergeMeasureDefinition(existing, definition) {
|
|
38
|
-
return overlayMetricYamlFields(existing, definition);
|
|
39
|
-
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metricValidation.d.ts","sourceRoot":"","sources":["../../src/metric/metricValidation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metricValidation.d.ts","sourceRoot":"","sources":["../../src/metric/metricValidation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAO5E,MAAM,MAAM,sBAAsB,GAC5B;IACI,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,gCAAgC,CAAC;CAC7C,GACD;IACI,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,yBAAyB,CAAC;CACxC,CAAC;AAER,MAAM,MAAM,yBAAyB,GAC/B,OAAO,GACP,QAAQ,GACR,kBAAkB,GAClB,aAAa,GACb,aAAa,GACb,aAAa,CAAC;AAEpB,KAAK,yBAAyB,GAAG;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,yBAA8B,GACxC,sBAAsB,CAUxB"}
|