UNPKG

ideaz-element

Version:

<p align="center"> <a href="" target="_blank" rel="noopener noreferrer"> <img src="./docs/public/logo.svg" alt="Ideaz Element" width="180" style="width: 180px;" /> </a> </p>

1 lines 3.1 kB
{"version":3,"file":"useDraggable.mjs","sources":["../../../../../../packages/element/table/src/hooks/useDraggable.ts"],"sourcesContent":["import type { Ref } from 'vue'\n\nexport function useDraggable(emit: any, tableData: Ref<any>, middleTableCols: Ref<any>) {\n const dragging = ref(false)\n\n const draggableOptions = [\n {\n selector: 'tbody',\n options: {\n animation: 200,\n handle: '.z-table-column-draggable',\n ghostClass: 'ghost',\n dragClass: 'drag-class',\n onStart: () => {\n dragging.value = true\n },\n onEnd: (evt: any) => {\n dragging.value = false\n const { oldIndex, newIndex } = evt\n const newArr = [...tableData.value]\n const objToMove = newArr[oldIndex]\n newArr.splice(oldIndex, 1)\n newArr.splice(newIndex, 0, objToMove)\n emit('update:data', newArr)\n emit('drag-sort-end', tableData.value)\n },\n },\n },\n {\n selector: '.el-table__header-wrapper tr',\n options: {\n animation: 150,\n delay: 0,\n ghostClass: 'table-col__ghost',\n onEnd: (evt: any) => {\n const { newIndex, oldIndex } = evt\n const arr = [...middleTableCols.value]\n const [moveRowData] = [...arr.splice(oldIndex as number, 1)]\n arr.splice(newIndex as number, 0, moveRowData)\n middleTableCols.value = []\n nextTick(() => {\n middleTableCols.value = [...arr]\n emit(\n 'drag-column-end',\n middleTableCols.value.filter((item: any) => item.prop)[evt.newIndex],\n evt.newIndex,\n evt.oldIndex,\n )\n })\n },\n },\n },\n ]\n\n return { draggableOptions, dragging }\n}\n"],"names":["useDraggable","emit","tableData","middleTableCols","dragging","ref","evt","oldIndex","newIndex","newArr","objToMove","arr","moveRowData","nextTick","item"],"mappings":";AAEgB,SAAAA,EAAAC,GAAAC,GAAAC,GAAA;AACd,QAAAC,IAAAC,EAAA,EAAA;AAmDA,SAAA,EAAA,kBAjDA;AAAA,IAAyB;AAAA,MACvB,UAAA;AAAA,MACY,SAAA;AAAA,QACD,WAAA;AAAA,QACI,QAAA;AAAA,QACH,YAAA;AAAA,QACI,WAAA;AAAA,QACD,SAAA,MAAA;AAET,UAAAD,EAAA,QAAA;AAAA,QAAiB;AAAA,QACnB,OAAA,CAAAE,MAAA;AAEE,UAAAF,EAAA,QAAA;AACA,gBAAA,EAAA,UAAAG,GAAA,UAAAC,EAAA,IAAAF,GACAG,IAAA,CAAA,GAAAP,EAAA,KAAA,GACAQ,IAAAD,EAAAF,CAAA;AACA,UAAAE,EAAA,OAAAF,GAAA,CAAA,GACAE,EAAA,OAAAD,GAAA,GAAAE,CAAA,GACAT,EAAA,eAAAQ,CAAA,GACAR,EAAA,iBAAAC,EAAA,KAAA;AAAA,QAAqC;AAAA,MACvC;AAAA,IACF;AAAA,IACF;AAAA,MACA,UAAA;AAAA,MACY,SAAA;AAAA,QACD,WAAA;AAAA,QACI,OAAA;AAAA,QACJ,YAAA;AAAA,QACK,OAAA,CAAAI,MAAA;AAEV,gBAAA,EAAA,UAAAE,GAAA,UAAAD,EAAA,IAAAD,GACAK,IAAA,CAAA,GAAAR,EAAA,KAAA,GACA,CAAAS,CAAA,IAAA,CAAA,GAAAD,EAAA,OAAAJ,GAAA,CAAA,CAAA;AACA,UAAAI,EAAA,OAAAH,GAAA,GAAAI,CAAA,GACAT,EAAA,QAAA,CAAA,GACAU,EAAA,MAAA;AACE,YAAAV,EAAA,QAAA,CAAA,GAAAQ,CAAA,GACAV;AAAA,cAAA;AAAA,cACEE,EAAA,MAAA,OAAA,CAAAW,MAAAA,EAAA,IAAA,EAAAR,EAAA,QAAA;AAAA,cACmEA,EAAA;AAAA,cAC/DA,EAAA;AAAA,YACA;AAAA,UACN,CAAA;AAAA,QACD;AAAA,MACH;AAAA,IACF;AAAA,EACF,GAGF,UAAAF,EAAA;AACF;"}