+
+
+ {{ $t("csv_prefix_help") }}
+
+
+
@@ -466,6 +478,7 @@ import ContextMenuItem from "@/components/ContextMenu/ContextMenuItem"
import ShoppingLineItem from "@/components/ShoppingLineItem"
import DownloadPDF from "@/components/Buttons/DownloadPDF"
import DownloadCSV from "@/components/Buttons/DownloadCSV"
+import CopyToClipboard from "@/components/Buttons/CopyToClipboard"
import GenericMultiselect from "@/components/GenericMultiselect"
import GenericPill from "@/components/GenericPill"
import LookupInput from "@/components/Modals/LookupInput"
@@ -480,7 +493,7 @@ Vue.use(BootstrapVue)
export default {
name: "ShoppingListView",
mixins: [ApiMixin],
- components: { ContextMenu, ContextMenuItem, ShoppingLineItem, GenericMultiselect, GenericPill, draggable, LookupInput, DownloadPDF, DownloadCSV },
+ components: { ContextMenu, ContextMenuItem, ShoppingLineItem, GenericMultiselect, GenericPill, draggable, LookupInput, DownloadPDF, DownloadCSV, CopyToClipboard },
data() {
return {
@@ -504,6 +517,7 @@ export default {
filter_to_supermarket: false,
shopping_recent_days: 7,
csv_delim: ",",
+ csv_prefix: undefined,
},
new_supermarket: { entrymode: false, value: undefined, editmode: undefined },
new_category: { entrymode: false, value: undefined },
@@ -665,7 +679,6 @@ export default {
this.settings = getUserPreference()
this.delay = this.settings.default_delay || 4
- this.delim = this.settings.csv_delim || ","
this.supermarket_categories_only = this.settings.filter_to_supermarket
if (this.settings.shopping_auto_sync) {
window.addEventListener("online", this.updateOnlineStatus)
diff --git a/vue/src/components/Buttons/CopyToClipboard.vue b/vue/src/components/Buttons/CopyToClipboard.vue
new file mode 100644
index 000000000..cb64987eb
--- /dev/null
+++ b/vue/src/components/Buttons/CopyToClipboard.vue
@@ -0,0 +1,62 @@
+