diff --git a/adminSiteClient/VariableEditPage.tsx b/adminSiteClient/VariableEditPage.tsx index aa43c7f8acf..627bf9011b2 100644 --- a/adminSiteClient/VariableEditPage.tsx +++ b/adminSiteClient/VariableEditPage.tsx @@ -7,6 +7,7 @@ import { autorun, IReactionDisposer, } from "mobx" +import { dump } from "js-yaml" import * as lodash from "lodash" import { Prompt, Redirect } from "react-router-dom" import { AdminLayout } from "./AdminLayout.js" @@ -15,9 +16,11 @@ import { BindString, BindFloat, FieldsRow, Toggle } from "./Forms.js" import { OwidVariableWithDataAndSource, OwidVariableDisplayConfig, + OwidVariablePresentation, DimensionProperty, EPOCH_DATE, getETLPathComponents, + OwidProcessingLevel, } from "@ourworldindata/utils" import { GrapherFigureView } from "../site/GrapherFigureView.js" import { ChartList, ChartListItem } from "./ChartList.js" @@ -37,6 +40,10 @@ interface VariablePageData source: { id: number; name: string } } +const createBulletList = (items: string[]): string => { + return items.map((item) => `• ${item}`).join("\n") +} + class VariableEditable implements Omit< @@ -51,9 +58,19 @@ class VariableEditable @observable entityAnnotationsMap = "" @observable display = new OwidVariableDisplayConfig() + @observable descriptionShort = "" + @observable descriptionFromProducer = "" + @observable descriptionKey: string[] = [] + @observable descriptionProcessing = "" + @observable processingLevel: OwidProcessingLevel | undefined = undefined + + @observable presentation = {} as OwidVariablePresentation + constructor(json: any) { for (const key in this) { if (key === "display") lodash.extend(this.display, json.display) + else if (key === "presentation") + lodash.extend(this.presentation, json.presentation) else this[key] = json[key] } } @@ -158,6 +175,7 @@ class VariableEditor extends React.Component<{ variable: VariablePageData }> { needed in the Github UI)
+