From d49805a48254cd2e56487dd6e91f6ceca57e5c09 Mon Sep 17 00:00:00 2001 From: Irina Kuzmina Date: Mon, 27 Jan 2025 22:08:12 +0300 Subject: [PATCH] Add links to the manifest while saving wizard as editor (#2058) --- .../charts-engine/components/chart-generator.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/server/components/charts-engine/components/chart-generator.ts b/src/server/components/charts-engine/components/chart-generator.ts index 8a8ab771d4..97250c944a 100644 --- a/src/server/components/charts-engine/components/chart-generator.ts +++ b/src/server/components/charts-engine/components/chart-generator.ts @@ -1,7 +1,7 @@ import type {Request} from '@gravity-ui/expresskit'; import type {AppContext} from '@gravity-ui/nodekit'; -import type {StringParams} from '../../../../shared'; +import {type StringParams, isEnabledServerFeature} from '../../../../shared'; const commonTemplateGraph = ` const {buildHighchartsConfig, buildLibraryConfig} = require('#module'); @@ -149,8 +149,17 @@ type Chart = { statface_metric?: string; graph?: string; statface_graph?: string; + meta?: string; }; +function createChartManifect(args: {links?: Record}) { + const manifest = { + links: Object.values(args.links ?? {}), + }; + + return JSON.stringify(manifest, null, 4); +} + export const chartGenerator = { generateChart: ({ data, @@ -224,6 +233,10 @@ export const chartGenerator = { chart.js = chart.js.replace('#apiVersion', apiVersion); chart.url = chart.url.replace('#apiVersion', apiVersion); + if (isEnabledServerFeature(ctx, 'EnableChartEditorMetaTab')) { + chart.meta = createChartManifect({links}); + } + const {config: _, ...chartWithoutCOnfig} = chart; return {chart: isD3Graph ? chart : chartWithoutCOnfig, links, type};