+
{{ property }}
+
+ copyColumnToClipboard(
+ props.list
+ .filter(rowHasCurrentValues)
+ .map((item) => renderItem(item, key, property))
+ .join('\n')
+ )
+ "
+ >
+
+
{
delete filterValues[`${key}.${property}`]
@@ -252,6 +286,7 @@ import { sortArray } from '@/helpers/arrays.js'
import { vResizeColumn } from '@/directives/resizeColumn.js'
import { humanize } from '@/helpers/strings'
import VBtn from '@/components/ui/VBtn/index.vue'
+import VIcon from '@/components/ui/VIcon/index.vue'
import HandyScroll from 'vue-handy-scroll'
import RadialNavigation from '@/components/radials/navigation/radial.vue'
import RadialAnnotator from '@/components/radials/annotator/annotator.vue'
@@ -340,6 +375,15 @@ const dataAttributeHeaders = computed(() => {
const filterValues = ref({})
+function copyColumnToClipboard(text) {
+ navigator.clipboard
+ .writeText(text)
+ .then(() => {
+ TW.workbench.alert.create('Copied to clipboard', 'notice')
+ })
+ .catch(() => {})
+}
+
function rowHasCurrentValues(item) {
return Object.entries(filterValues.value).every(([properties, value]) => {
const itemValue = getValue(item, properties)