diff --git a/package-lock.json b/package-lock.json index f256b8d..4222137 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "devDependencies": { "@tsconfig/node18": "^18.2.0", "@types/node": "^18.17.0", + "@vicons/material": "^0.12.0", "@vitejs/plugin-vue": "^4.2.3", "@vitejs/plugin-vue-jsx": "^3.0.1", "@vue/tsconfig": "^0.4.0", @@ -1001,6 +1002,12 @@ "integrity": "sha512-xlR1jahfizdplZYRU59JlUx9uzF1ARa8jbhM11ccpCJya8kvos5jwdm2ZAgxSCwOl0fq21svP18EVwPBXMQudw==", "dev": true }, + "node_modules/@vicons/material": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@vicons/material/-/material-0.12.0.tgz", + "integrity": "sha512-chv1CYAl8P32P3Ycwgd5+vw/OFNc2mtkKdb1Rw4T5IJmKy6GVDsoUKV3N2l208HATn7CCQphZtuPDdsm7K2kmA==", + "dev": true + }, "node_modules/@vitejs/plugin-vue": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", diff --git a/package.json b/package.json index 1dcdd7c..25d6121 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "devDependencies": { "@tsconfig/node18": "^18.2.0", "@types/node": "^18.17.0", + "@vicons/material": "^0.12.0", "@vitejs/plugin-vue": "^4.2.3", "@vitejs/plugin-vue-jsx": "^3.0.1", "@vue/tsconfig": "^0.4.0", diff --git a/src/TaskEdit.vue b/src/TaskEdit.vue index 32a3c2a..fe9fda7 100644 --- a/src/TaskEdit.vue +++ b/src/TaskEdit.vue @@ -1,13 +1,15 @@ + + diff --git a/src/components/RecognizerEdit.vue b/src/components/RecognizerEdit.vue new file mode 100644 index 0000000..8f73999 --- /dev/null +++ b/src/components/RecognizerEdit.vue @@ -0,0 +1,130 @@ + + + diff --git a/src/components/SingleArrayEdit.vue b/src/components/SingleArrayEdit.vue index 48a3108..6c45483 100644 --- a/src/components/SingleArrayEdit.vue +++ b/src/components/SingleArrayEdit.vue @@ -6,13 +6,15 @@ import SingleArrayButton from './SingleArrayButton.vue' const props = withDefaults( defineProps<{ nullable?: boolean + noSingle?: boolean def: () => T isT: (v: T | T[]) => boolean onAdd?: () => void onDel?: (idx: number) => void }>(), { - nullable: false + nullable: false, + noSingle: false } ) @@ -60,7 +62,11 @@ const single = computed({ function add() { if (isSingle.value) { if (props.nullable && val.value === null) { - val.value = props.def() + if (props.noSingle) { + val.value = [props.def()] + } else { + val.value = props.def() + } } } else { ;(val.value as T[]).push(props.def()) @@ -92,7 +98,10 @@ function remove(idx: number) {