diff --git a/apps/metadata-utils/src/types.ts b/apps/metadata-utils/src/types.ts index 111f907ccc..3c1e5567ec 100644 --- a/apps/metadata-utils/src/types.ts +++ b/apps/metadata-utils/src/types.ts @@ -104,3 +104,10 @@ export type columnValue = string | number | boolean | columnValueObject; interface columnValueObject { [x: string]: columnValue; } + +export type IInputValue = string | number | boolean; + +export type IInputValueLabel = { + value: IInputValue | IInputValue[] | null; + label?: string; +}; diff --git a/apps/tailwind-components/assets/css/main.css b/apps/tailwind-components/assets/css/main.css index 81f2ffc914..c423815896 100644 --- a/apps/tailwind-components/assets/css/main.css +++ b/apps/tailwind-components/assets/css/main.css @@ -79,6 +79,9 @@ --background-color-invalid: var(--color-red-200); --background-color-input: var(--color-white); --background-color-input-checked: var(--color-yellow-500); + --background-color-listbox: var(--color-white); + --background-color-listbox-hover: var(--color-gray-100); + --background-color-listbox-selected: var(--color-blue-500); --background-color-table: var(--color-white); --background-color-notification: var(--color-red-700); @@ -128,6 +131,10 @@ --text-color-pagination-input: var(--text-color-title); --text-color-pagination-hover: var(--text-color-title); --text-color-footer-link: var(--color-yellow-500); + --text-color-listbox: var(--color-black); + --text-color-listbox-hover: var(--color-black); + --text-color-listbox-selected: var(--color-blue-50); + --text-color-button-input-toggle: var(--color-black); --text-color-table-column-header: var(--color-gray-600); --text-color-form-header: var(--color-blue-800); --text-color-input-description: var(--color-blue-800); @@ -157,6 +164,8 @@ --border-color-pagination: var(--color-transparent); --border-color-input: #C0C0C0; --border-color-input-inverted: var(--color-gray-600); + --border-color-listbox-option: var(--color-gray-100); + --border-color-listbox: var(--border-color-input); --border-radius-3px: 3px; --border-radius-50px: 50px; diff --git a/apps/tailwind-components/components/form/Field.vue b/apps/tailwind-components/components/form/Field.vue index 5f2dacf3cc..ed72ccbb49 100644 --- a/apps/tailwind-components/components/form/Field.vue +++ b/apps/tailwind-components/components/form/Field.vue @@ -35,30 +35,54 @@ function validate(value: columnValue) { formFieldInput.value.validate(value); } + +const refData = ref(); + +onMounted(async () => { + if (["ONTOLOGY", "ONTOLOGY_ARRAY"].includes(props.column.columnType)) { + const response = await fetchTableData( + props.column.refSchemaId as string, + props.column.refTableId as string + ); + refData.value = response.rows.map((row) => row.name); + } +});