Summary
As part of our dataset creation workflow in the frontend, we need to support two new item types:
- TableField: a table that represent fields in the dataset schema. It may have 1 column (i.e. a list of values), or multiple column
- TableQuestion: Questions that allow creating and editing
table annotation
This issue tracks adding UI and logic support for creating TableField and TableQuestion within the extralit-frontend/components/features/dataset-creation/ module.
Requirements
- Update dataset creation composables (e.g.
useDatasetConfiguration) to:
- for Dataset fields, allow mapping json types to TableField
- Allow creating TableQuestion
- Extend DatasetConfiguration UI:
- Add a new
TableFieldSelector component under configuration/questions/
- Add a new
DatasetConfigurationTableQuestion.vue to render and configure table questions
- Ensure record preview and question mapping correctly handle table contexts
- Add unit tests covering:
- Initialization of TableField and TableQuestion in the store/composable
- Rendering of Table questions in the form
Acceptance Criteria
- Dropdowns and forms allow users to add and configure table fields/questions
- Configuration persists in the
dataset object and flows through to preview
- No regressions in existing question types
Feel free to iterate on the UI/UX in follow-up PRs. SchemaService and full SDK integration are out of scope for this sprint.
Summary
As part of our dataset creation workflow in the frontend, we need to support two new item types:
table annotation
This issue tracks adding UI and logic support for creating TableField and TableQuestion within the
extralit-frontend/components/features/dataset-creation/module.Requirements
useDatasetConfiguration) to:TableFieldSelectorcomponent underconfiguration/questions/DatasetConfigurationTableQuestion.vueto render and configure table questionsAcceptance Criteria
datasetobject and flows through to previewFeel free to iterate on the UI/UX in follow-up PRs. SchemaService and full SDK integration are out of scope for this sprint.