diff --git a/komga-webui/package-lock.json b/komga-webui/package-lock.json index c08dadd55..5fcc4b2d6 100644 --- a/komga-webui/package-lock.json +++ b/komga-webui/package-lock.json @@ -2898,6 +2898,15 @@ "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==", "dev": true }, + "@types/vuedraggable": { + "version": "2.23.1", + "resolved": "https://registry.npmjs.org/@types/vuedraggable/-/vuedraggable-2.23.1.tgz", + "integrity": "sha512-icDSUwIc1xqtMBxYlaO76ywpzxBumcGV3gC7WVtRl37A+TNuNFg3bMwPpi3M5KZWrIYChBmM9uwMNB7C8hvWWQ==", + "dev": true, + "requires": { + "vue": ">=2.0.0" + } + }, "@types/vuelidate": { "version": "0.7.10", "resolved": "https://registry.npmjs.org/@types/vuelidate/-/vuelidate-0.7.10.tgz", @@ -15505,6 +15514,11 @@ "is-plain-obj": "^1.0.0" } }, + "sortablejs": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz", + "integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A==" + }, "source-list-map": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", @@ -16945,6 +16959,14 @@ "resolved": "https://registry.npmjs.org/vue-typed-mixins/-/vue-typed-mixins-0.2.0.tgz", "integrity": "sha512-0OxuinandPWv3nm5k/reYkuKtX3jjPZ40Sy9roJz0ih8PUzmI7zSRiXFEJ62LsyRegw9Tqy+qMkajk7ipKP8Vg==" }, + "vuedraggable": { + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.23.2.tgz", + "integrity": "sha512-PgHCjUpxEAEZJq36ys49HfQmXglattf/7ofOzUrW2/rRdG7tu6fK84ir14t1jYv4kdXewTEa2ieKEAhhEMdwkQ==", + "requires": { + "sortablejs": "^1.10.1" + } + }, "vuelidate": { "version": "0.7.5", "resolved": "https://registry.npmjs.org/vuelidate/-/vuelidate-0.7.5.tgz", diff --git a/komga-webui/package.json b/komga-webui/package.json index 26a706ee3..7f05ba9f6 100644 --- a/komga-webui/package.json +++ b/komga-webui/package.json @@ -21,6 +21,7 @@ "vue-moment": "^4.1.0", "vue-router": "^3.1.5", "vue-typed-mixins": "^0.2.0", + "vuedraggable": "^2.23.2", "vuelidate": "^0.7.5", "vuetify": "^2.2.14", "vuex": "^3.1.2", @@ -31,6 +32,7 @@ "@mdi/font": "^4.9.95", "@types/jest": "^25.1.3", "@types/lodash": "^4.14.149", + "@types/vuedraggable": "^2.23.1", "@types/vuelidate": "^0.7.10", "@vue/cli-plugin-babel": "^4.2.2", "@vue/cli-plugin-eslint": "^4.2.2", diff --git a/komga-webui/src/components/CollectionActionsMenu.vue b/komga-webui/src/components/CollectionActionsMenu.vue new file mode 100644 index 000000000..22feee2dc --- /dev/null +++ b/komga-webui/src/components/CollectionActionsMenu.vue @@ -0,0 +1,64 @@ + + + diff --git a/komga-webui/src/components/CollectionAddToDialog.vue b/komga-webui/src/components/CollectionAddToDialog.vue new file mode 100644 index 000000000..8a3b0538c --- /dev/null +++ b/komga-webui/src/components/CollectionAddToDialog.vue @@ -0,0 +1,174 @@ + + + + + diff --git a/komga-webui/src/components/CollectionDeleteDialog.vue b/komga-webui/src/components/CollectionDeleteDialog.vue new file mode 100644 index 000000000..8c545e301 --- /dev/null +++ b/komga-webui/src/components/CollectionDeleteDialog.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/komga-webui/src/components/CollectionEditDialog.vue b/komga-webui/src/components/CollectionEditDialog.vue new file mode 100644 index 000000000..7d54a0579 --- /dev/null +++ b/komga-webui/src/components/CollectionEditDialog.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/komga-webui/src/components/HorizontalScroller.vue b/komga-webui/src/components/HorizontalScroller.vue index a80116445..dfa038fa0 100644 --- a/komga-webui/src/components/HorizontalScroller.vue +++ b/komga-webui/src/components/HorizontalScroller.vue @@ -1,6 +1,8 @@