108108 <PencilOutline :size =" 25" />
109109 </template >
110110 </NcActionButton >
111+ <NcActionButton v-if =" showEditColumn"
112+ :aria-label =" t('tables', 'Duplicate column')"
113+ @click =" duplicateColumn()" >
114+ <template #icon >
115+ <ContentCopy :size =" 25" />
116+ </template >
117+ </NcActionButton >
111118 <NcActionButton v-if =" showDeleteColumn"
112119 :aria-label =" t('tables', 'Delete column')"
113120 data-cy =" deleteColumnActionBtn"
@@ -127,6 +134,7 @@ import generalHelper from '../../../mixins/generalHelper.js'
127134import SortAsc from ' vue-material-design-icons/SortAscending.vue'
128135import SortDesc from ' vue-material-design-icons/SortDescending.vue'
129136import DeleteOutline from ' vue-material-design-icons/TrashCanOutline.vue'
137+ import ContentCopy from ' vue-material-design-icons/ContentCopy.vue'
130138import PencilOutline from ' vue-material-design-icons/PencilOutline.vue'
131139import EyeOffOutline from ' vue-material-design-icons/EyeOffOutline.vue'
132140import ChevronLeft from ' vue-material-design-icons/ChevronLeft.vue'
@@ -149,6 +157,7 @@ export default {
149157 EyeOffOutline,
150158 DeleteOutline,
151159 PencilOutline,
160+ ContentCopy,
152161 ChevronLeft,
153162 FilterCogOutline,
154163 Magnify,
@@ -255,6 +264,10 @@ export default {
255264 showDeleteColumn () {
256265 return this .column .id >= 0 && this .config .canDeleteColumns
257266 },
267+ duplicateColumn () {
268+ this .close ()
269+ this .$emit (' duplicate-column' , this .column )
270+ },
258271 selectedOperator: {
259272 get () {
260273 if (this .operator === null ) {
0 commit comments