Description
ChipContainer and Chip components are built not as generic/base as they could be. They are very coupled with the internal structure of strings in the zobject table, which means that every alias added needs a rowId, etc.
It would be useful to decouple the internal data structure behavior from a component that could easily be generic. Having it too coupled means that we need to do certain hacks to use it in a context in which strings aren't necessarily being saved in the store (e.g. AboutEditMetadataDialog.vue component)
Some other improvements for this component:
- Handle repeated aliases (maybe set this behavior by prop flag), if a string is entered and it's already in the available list, temporarily highlight the existing one instead of adding a duplicate
Completion checklist
- Before closing this task, review one by one the checklist available here: https://www.mediawiki.org/wiki/Abstract_Wikipedia_team/Definition_of_Done#Front-end_Task/Bug_Completion_Checklist