diff --git a/apps/metadata-utils/src/fieldHelpers.ts b/apps/metadata-utils/src/fieldHelpers.ts index ab14bed241..0d71684404 100644 --- a/apps/metadata-utils/src/fieldHelpers.ts +++ b/apps/metadata-utils/src/fieldHelpers.ts @@ -32,6 +32,7 @@ export const fieldTypes = () => { "TEXT_ARRAY", "UUID", "UUID_ARRAY", + "JSON", ]; }; @@ -56,7 +57,8 @@ export const isValueType = (column: IColumn) => { column.columnType === "DATETIME" || column.columnType === "INT" || column.columnType === "LONG" || - column.columnType === "DECIMAL" + column.columnType === "DECIMAL" || + column.columnType === "JSON" ); }; diff --git a/apps/metadata-utils/src/types.ts b/apps/metadata-utils/src/types.ts index 300eca7fa1..2aab5dfeb6 100644 --- a/apps/metadata-utils/src/types.ts +++ b/apps/metadata-utils/src/types.ts @@ -30,8 +30,7 @@ export type CellValueType = | "DATETIME" | "DATETIME_ARRAY" | "PERIOD" - | "JSONB" - | "JSONB_ARRAY" + | "JSON" | "REF" | "REF_ARRAY" | "REFBACK" diff --git a/apps/molgenis-components/lib/main.js b/apps/molgenis-components/lib/main.js index 17a41f446d..e98009dd43 100644 --- a/apps/molgenis-components/lib/main.js +++ b/apps/molgenis-components/lib/main.js @@ -53,6 +53,7 @@ import InputDate from "../src/components/forms/InputDate.vue"; import InputDateTime from "../src/components/forms/InputDateTime.vue"; import InputDecimal from "../src/components/forms/InputDecimal.vue"; import InputEmail from "../src/components/forms/InputEmail.vue"; +import InputJson from "../src/components/forms/InputJson.vue"; import InputFile from "../src/components/forms/InputFile.vue"; import InputGroup from "../src/components/forms/InputGroup.vue"; import InputHeading from "../src/components/forms/InputHeading.vue"; @@ -189,6 +190,7 @@ export { InputDateTime, InputDecimal, InputEmail, + InputJson, InputFile, InputGroup, InputHeading, diff --git a/apps/molgenis-components/src/components/filters/FilterInput.vue b/apps/molgenis-components/src/components/filters/FilterInput.vue index e22194fe4b..e454b4b732 100644 --- a/apps/molgenis-components/src/components/filters/FilterInput.vue +++ b/apps/molgenis-components/src/components/filters/FilterInput.vue @@ -48,6 +48,7 @@ const filterTypeMap = { HYPERLINK_ARRAY: StringFilter, TEXT: StringFilter, TEXT_ARRAY: StringFilter, + JSON: StringFilter, UUID: StringFilter, UUID_ARRAY: StringFilter, INT: IntegerFilter, diff --git a/apps/molgenis-components/src/components/forms/FormInput.vue b/apps/molgenis-components/src/components/forms/FormInput.vue index 9d4992dc9e..eddb232438 100644 --- a/apps/molgenis-components/src/components/forms/FormInput.vue +++ b/apps/molgenis-components/src/components/forms/FormInput.vue @@ -34,6 +34,7 @@ import InputText from "../forms/InputText.vue"; import BaseInput from "../forms/baseInputs/BaseInput.vue"; import InputEmail from "./InputEmail.vue"; import InputHyperlink from "./InputHyperlink.vue"; +import InputJson from "./InputJson.vue"; import InputRefList from "./InputRefList.vue"; const typeToInputMap = { @@ -43,6 +44,7 @@ const typeToInputMap = { HYPERLINK: InputHyperlink, STRING: InputString, TEXT: InputText, + JSON: InputJson, INT: InputInt, LONG: InputLong, DECIMAL: InputDecimal, @@ -368,6 +370,17 @@ export default {
You typed: {{ JSON.stringify(textValueArray, null, 2) }}
+ +
+ +
+
You typed: {{ jsonValue }}
+
+ + +