55 <draggable v-model =" settings['ai.translation_provider_preferences']" @change =" saveChanges" >
66 <div v-for =" (providerClass, i) in settings['ai.translation_provider_preferences']" :key =" providerClass" class =" draggable__item" >
77 <DragVerticalIcon /> <span class =" draggable__number" >{{ i+1 }}</span > {{ translationProviders.find(p => p.class === providerClass)?.name }}
8+ <NcButton aria-label =" Move up" type =" tertiary" @click =" settings['ai.translation_provider_preferences'].splice(Math.min(i-1,0), 0, ...settings['ai.translation_provider_preferences'].splice(i, 1)); saveChanges()" ><template #icon ><ArrowUpIcon /></template ></NcButton >
9+ <NcButton aria-label =" Move down" type =" tertiary" @click =" settings['ai.translation_provider_preferences'].splice(i+1, 0, ...settings['ai.translation_provider_preferences'].splice(i, 1)); saveChanges()" ><template #icon ><ArrowDownIcon /></template ></NcButton >
810 </div >
911 </draggable >
1012 </NcSettingsSection >
@@ -59,8 +61,11 @@ import axios from '@nextcloud/axios'
5961import NcCheckboxRadioSwitch from ' @nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'
6062import NcSettingsSection from ' @nextcloud/vue/dist/Components/NcSettingsSection.js'
6163import NcSelect from ' @nextcloud/vue/dist/Components/NcSelect.js'
64+ import NcButton from ' @nextcloud/vue/dist/Components/NcButton.js'
6265import draggable from ' vuedraggable'
6366import DragVerticalIcon from ' vue-material-design-icons/DragVertical.vue'
67+ import ArrowDownIcon from ' vue-material-design-icons/ArrowDown.vue'
68+ import ArrowUpIcon from ' vue-material-design-icons/ArrowUp.vue'
6469import { loadState } from ' @nextcloud/initial-state'
6570
6671import { generateUrl } from ' @nextcloud/router'
@@ -73,6 +78,9 @@ export default {
7378 NcSelect,
7479 draggable,
7580 DragVerticalIcon,
81+ ArrowDownIcon,
82+ ArrowUpIcon,
83+ NcButton
7684 },
7785 data () {
7886 return {
@@ -110,6 +118,8 @@ export default {
110118<style scoped>
111119.draggable__item {
112120 margin-bottom : 5px ;
121+ display : flex ;
122+ align-items : center ;
113123}
114124
115125.draggable__item ,
@@ -121,7 +131,8 @@ export default {
121131 border-radius : 20px ;
122132 border : 2px solid var (--color-primary-default );
123133 color : var (--color-primary-default );
124- padding : 2px 7px ;
134+ padding : 0px 7px ;
135+ margin-right : 3px ;
125136}
126137
127138.drag-vertical-icon {
0 commit comments