1 line
12 KiB
JSON
1 line
12 KiB
JSON
{"remainingRequest":"/Users/kang/Gitea/vue-element-admin-i18n/node_modules/babel-loader/lib/index.js!/Users/kang/Gitea/vue-element-admin-i18n/node_modules/cache-loader/dist/cjs.js??ref--0-0!/Users/kang/Gitea/vue-element-admin-i18n/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/kang/Gitea/vue-element-admin-i18n/src/views/table/drag-table.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/kang/Gitea/vue-element-admin-i18n/src/views/table/drag-table.vue","mtime":1599486365000},{"path":"/Users/kang/Gitea/vue-element-admin-i18n/babel.config.js","mtime":1599486365000},{"path":"/Users/kang/Gitea/vue-element-admin-i18n/node_modules/cache-loader/dist/cjs.js","mtime":1754408227855},{"path":"/Users/kang/Gitea/vue-element-admin-i18n/node_modules/babel-loader/lib/index.js","mtime":1754408228132},{"path":"/Users/kang/Gitea/vue-element-admin-i18n/node_modules/cache-loader/dist/cjs.js","mtime":1754408227855},{"path":"/Users/kang/Gitea/vue-element-admin-i18n/node_modules/vue-loader/lib/index.js","mtime":1754408228175}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvciBmcm9tICIvVXNlcnMva2FuZy9HaXRlYS92dWUtZWxlbWVudC1hZG1pbi1pMThuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvci5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICIvVXNlcnMva2FuZy9HaXRlYS92dWUtZWxlbWVudC1hZG1pbi1pMThuL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc2xpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5zcGxpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLm1hcC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgeyBmZXRjaExpc3QgfSBmcm9tICdAL2FwaS9hcnRpY2xlJzsKaW1wb3J0IFNvcnRhYmxlIGZyb20gJ3NvcnRhYmxlanMnOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogJ0RyYWdUYWJsZScsCiAgZmlsdGVyczogewogICAgc3RhdHVzRmlsdGVyOiBmdW5jdGlvbiBzdGF0dXNGaWx0ZXIoc3RhdHVzKSB7CiAgICAgIHZhciBzdGF0dXNNYXAgPSB7CiAgICAgICAgcHVibGlzaGVkOiAnc3VjY2VzcycsCiAgICAgICAgZHJhZnQ6ICdpbmZvJywKICAgICAgICBkZWxldGVkOiAnZGFuZ2VyJwogICAgICB9OwogICAgICByZXR1cm4gc3RhdHVzTWFwW3N0YXR1c107CiAgICB9CiAgfSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgbGlzdDogbnVsbCwKICAgICAgdG90YWw6IG51bGwsCiAgICAgIGxpc3RMb2FkaW5nOiB0cnVlLAogICAgICBsaXN0UXVlcnk6IHsKICAgICAgICBwYWdlOiAxLAogICAgICAgIGxpbWl0OiAxMAogICAgICB9LAogICAgICBzb3J0YWJsZTogbnVsbCwKICAgICAgb2xkTGlzdDogW10sCiAgICAgIG5ld0xpc3Q6IFtdCiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHRoaXMuZ2V0TGlzdCgpOwogIH0sCiAgbWV0aG9kczogewogICAgZ2V0TGlzdDogZnVuY3Rpb24gZ2V0TGlzdCgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3IoKS5tKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgICAgdmFyIF95aWVsZCRmZXRjaExpc3QsIGRhdGE7CiAgICAgICAgcmV0dXJuIF9yZWdlbmVyYXRvcigpLncoZnVuY3Rpb24gKF9jb250ZXh0KSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dC5uKSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfdGhpcy5saXN0TG9hZGluZyA9IHRydWU7CiAgICAgICAgICAgICAgX2NvbnRleHQubiA9IDE7CiAgICAgICAgICAgICAgcmV0dXJuIGZldGNoTGlzdChfdGhpcy5saXN0UXVlcnkpOwogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgX3lpZWxkJGZldGNoTGlzdCA9IF9jb250ZXh0LnY7CiAgICAgICAgICAgICAgZGF0YSA9IF95aWVsZCRmZXRjaExpc3QuZGF0YTsKICAgICAgICAgICAgICBfdGhpcy5saXN0ID0gZGF0YS5pdGVtczsKICAgICAgICAgICAgICBfdGhpcy50b3RhbCA9IGRhdGEudG90YWw7CiAgICAgICAgICAgICAgX3RoaXMubGlzdExvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgICBfdGhpcy5vbGRMaXN0ID0gX3RoaXMubGlzdC5tYXAoZnVuY3Rpb24gKHYpIHsKICAgICAgICAgICAgICAgIHJldHVybiB2LmlkOwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIF90aGlzLm5ld0xpc3QgPSBfdGhpcy5vbGRMaXN0LnNsaWNlKCk7CiAgICAgICAgICAgICAgX3RoaXMuJG5leHRUaWNrKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIF90aGlzLnNldFNvcnQoKTsKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dC5hKDIpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBzZXRTb3J0OiBmdW5jdGlvbiBzZXRTb3J0KCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgdmFyIGVsID0gdGhpcy4kcmVmcy5kcmFnVGFibGUuJGVsLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lbC10YWJsZV9fYm9keS13cmFwcGVyID4gdGFibGUgPiB0Ym9keScpWzBdOwogICAgICB0aGlzLnNvcnRhYmxlID0gU29ydGFibGUuY3JlYXRlKGVsLCB7CiAgICAgICAgZ2hvc3RDbGFzczogJ3NvcnRhYmxlLWdob3N0JywKICAgICAgICAvLyBDbGFzcyBuYW1lIGZvciB0aGUgZHJvcCBwbGFjZWhvbGRlciwKICAgICAgICBzZXREYXRhOiBmdW5jdGlvbiBzZXREYXRhKGRhdGFUcmFuc2ZlcikgewogICAgICAgICAgLy8gdG8gYXZvaWQgRmlyZWZveCBidWcKICAgICAgICAgIC8vIERldGFpbCBzZWUgOiBodHRwczovL2dpdGh1Yi5jb20vUnViYVhhL1NvcnRhYmxlL2lzc3Vlcy8xMDEyCiAgICAgICAgICBkYXRhVHJhbnNmZXIuc2V0RGF0YSgnVGV4dCcsICcnKTsKICAgICAgICB9LAogICAgICAgIG9uRW5kOiBmdW5jdGlvbiBvbkVuZChldnQpIHsKICAgICAgICAgIHZhciB0YXJnZXRSb3cgPSBfdGhpczIubGlzdC5zcGxpY2UoZXZ0Lm9sZEluZGV4LCAxKVswXTsKICAgICAgICAgIF90aGlzMi5saXN0LnNwbGljZShldnQubmV3SW5kZXgsIDAsIHRhcmdldFJvdyk7CgogICAgICAgICAgLy8gZm9yIHNob3cgdGhlIGNoYW5nZXMsIHlvdSBjYW4gZGVsZXRlIGluIHlvdSBjb2RlCiAgICAgICAgICB2YXIgdGVtcEluZGV4ID0gX3RoaXMyLm5ld0xpc3Quc3BsaWNlKGV2dC5vbGRJbmRleCwgMSlbMF07CiAgICAgICAgICBfdGhpczIubmV3TGlzdC5zcGxpY2UoZXZ0Lm5ld0luZGV4LCAwLCB0ZW1wSW5kZXgpOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CiAgfQp9Ow=="},{"version":3,"names":["fetchList","Sortable","name","filters","statusFilter","status","statusMap","published","draft","deleted","data","list","total","listLoading","listQuery","page","limit","sortable","oldList","newList","created","getList","methods","_this","_asyncToGenerator","_regenerator","m","_callee","_yield$fetchList","w","_context","n","v","items","map","id","slice","$nextTick","setSort","a","_this2","el","$refs","dragTable","$el","querySelectorAll","create","ghostClass","setData","dataTransfer","onEnd","evt","targetRow","splice","oldIndex","newIndex","tempIndex"],"sources":["src/views/table/drag-table.vue"],"sourcesContent":["<template>\n <div class=\"app-container\">\n <!-- Note that row-key is necessary to get a correct row order. -->\n <el-table ref=\"dragTable\" v-loading=\"listLoading\" :data=\"list\" row-key=\"id\" border fit highlight-current-row style=\"width: 100%\">\n <el-table-column align=\"center\" label=\"ID\" width=\"65\">\n <template slot-scope=\"{row}\">\n <span>{{ row.id }}</span>\n </template>\n </el-table-column>\n\n <el-table-column width=\"180px\" align=\"center\" label=\"Date\">\n <template slot-scope=\"{row}\">\n <span>{{ row.timestamp | parseTime('{y}-{m}-{d} {h}:{i}') }}</span>\n </template>\n </el-table-column>\n\n <el-table-column min-width=\"300px\" label=\"Title\">\n <template slot-scope=\"{row}\">\n <span>{{ row.title }}</span>\n </template>\n </el-table-column>\n\n <el-table-column width=\"110px\" align=\"center\" label=\"Author\">\n <template slot-scope=\"{row}\">\n <span>{{ row.author }}</span>\n </template>\n </el-table-column>\n\n <el-table-column width=\"100px\" label=\"Importance\">\n <template slot-scope=\"{row}\">\n <svg-icon v-for=\"n in + row.importance\" :key=\"n\" icon-class=\"star\" class=\"icon-star\" />\n </template>\n </el-table-column>\n\n <el-table-column align=\"center\" label=\"Readings\" width=\"95\">\n <template slot-scope=\"{row}\">\n <span>{{ row.pageviews }}</span>\n </template>\n </el-table-column>\n\n <el-table-column class-name=\"status-col\" label=\"Status\" width=\"110\">\n <template slot-scope=\"{row}\">\n <el-tag :type=\"row.status | statusFilter\">\n {{ row.status }}\n </el-tag>\n </template>\n </el-table-column>\n\n <el-table-column align=\"center\" label=\"Drag\" width=\"80\">\n <template slot-scope=\"{}\">\n <svg-icon class=\"drag-handler\" icon-class=\"drag\" />\n </template>\n </el-table-column>\n </el-table>\n <!-- $t is vue-i18n global function to translate lang (lang in @/lang) -->\n <div class=\"show-d\">\n <el-tag style=\"margin-right:12px;\">{{ $t('table.dragTips1') }} :</el-tag> {{ oldList }}\n </div>\n <div class=\"show-d\">\n <el-tag>{{ $t('table.dragTips2') }} :</el-tag> {{ newList }}\n </div>\n </div>\n</template>\n\n<script>\nimport { fetchList } from '@/api/article'\nimport Sortable from 'sortablejs'\n\nexport default {\n name: 'DragTable',\n filters: {\n statusFilter(status) {\n const statusMap = {\n published: 'success',\n draft: 'info',\n deleted: 'danger'\n }\n return statusMap[status]\n }\n },\n data() {\n return {\n list: null,\n total: null,\n listLoading: true,\n listQuery: {\n page: 1,\n limit: 10\n },\n sortable: null,\n oldList: [],\n newList: []\n }\n },\n created() {\n this.getList()\n },\n methods: {\n async getList() {\n this.listLoading = true\n const { data } = await fetchList(this.listQuery)\n this.list = data.items\n this.total = data.total\n this.listLoading = false\n this.oldList = this.list.map(v => v.id)\n this.newList = this.oldList.slice()\n this.$nextTick(() => {\n this.setSort()\n })\n },\n setSort() {\n const el = this.$refs.dragTable.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]\n this.sortable = Sortable.create(el, {\n ghostClass: 'sortable-ghost', // Class name for the drop placeholder,\n setData: function(dataTransfer) {\n // to avoid Firefox bug\n // Detail see : https://github.com/RubaXa/Sortable/issues/1012\n dataTransfer.setData('Text', '')\n },\n onEnd: evt => {\n const targetRow = this.list.splice(evt.oldIndex, 1)[0]\n this.list.splice(evt.newIndex, 0, targetRow)\n\n // for show the changes, you can delete in you code\n const tempIndex = this.newList.splice(evt.oldIndex, 1)[0]\n this.newList.splice(evt.newIndex, 0, tempIndex)\n }\n })\n }\n }\n}\n</script>\n\n<style>\n.sortable-ghost{\n opacity: .8;\n color: #fff!important;\n background: #42b983!important;\n}\n</style>\n\n<style scoped>\n.icon-star{\n margin-right:2px;\n}\n.drag-handler{\n width: 20px;\n height: 20px;\n cursor: pointer;\n}\n.show-d{\n margin-top: 15px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiEA,SAAAA,SAAA;AACA,OAAAC,QAAA;AAEA;EACAC,IAAA;EACAC,OAAA;IACAC,YAAA,WAAAA,aAAAC,MAAA;MACA,IAAAC,SAAA;QACAC,SAAA;QACAC,KAAA;QACAC,OAAA;MACA;MACA,OAAAH,SAAA,CAAAD,MAAA;IACA;EACA;EACAK,IAAA,WAAAA,KAAA;IACA;MACAC,IAAA;MACAC,KAAA;MACAC,WAAA;MACAC,SAAA;QACAC,IAAA;QACAC,KAAA;MACA;MACAC,QAAA;MACAC,OAAA;MACAC,OAAA;IACA;EACA;EACAC,OAAA,WAAAA,QAAA;IACA,KAAAC,OAAA;EACA;EACAC,OAAA;IACAD,OAAA,WAAAA,QAAA;MAAA,IAAAE,KAAA;MAAA,OAAAC,iBAAA,cAAAC,YAAA,GAAAC,CAAA,UAAAC,QAAA;QAAA,IAAAC,gBAAA,EAAAlB,IAAA;QAAA,OAAAe,YAAA,GAAAI,CAAA,WAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,CAAA;YAAA;cACAR,KAAA,CAAAV,WAAA;cAAAiB,QAAA,CAAAC,CAAA;cAAA,OACA/B,SAAA,CAAAuB,KAAA,CAAAT,SAAA;YAAA;cAAAc,gBAAA,GAAAE,QAAA,CAAAE,CAAA;cAAAtB,IAAA,GAAAkB,gBAAA,CAAAlB,IAAA;cACAa,KAAA,CAAAZ,IAAA,GAAAD,IAAA,CAAAuB,KAAA;cACAV,KAAA,CAAAX,KAAA,GAAAF,IAAA,CAAAE,KAAA;cACAW,KAAA,CAAAV,WAAA;cACAU,KAAA,CAAAL,OAAA,GAAAK,KAAA,CAAAZ,IAAA,CAAAuB,GAAA,WAAAF,CAAA;gBAAA,OAAAA,CAAA,CAAAG,EAAA;cAAA;cACAZ,KAAA,CAAAJ,OAAA,GAAAI,KAAA,CAAAL,OAAA,CAAAkB,KAAA;cACAb,KAAA,CAAAc,SAAA;gBACAd,KAAA,CAAAe,OAAA;cACA;YAAA;cAAA,OAAAR,QAAA,CAAAS,CAAA;UAAA;QAAA,GAAAZ,OAAA;MAAA;IACA;IACAW,OAAA,WAAAA,QAAA;MAAA,IAAAE,MAAA;MACA,IAAAC,EAAA,QAAAC,KAAA,CAAAC,SAAA,CAAAC,GAAA,CAAAC,gBAAA;MACA,KAAA5B,QAAA,GAAAhB,QAAA,CAAA6C,MAAA,CAAAL,EAAA;QACAM,UAAA;QAAA;QACAC,OAAA,WAAAA,QAAAC,YAAA;UACA;UACA;UACAA,YAAA,CAAAD,OAAA;QACA;QACAE,KAAA,WAAAA,MAAAC,GAAA;UACA,IAAAC,SAAA,GAAAZ,MAAA,CAAA7B,IAAA,CAAA0C,MAAA,CAAAF,GAAA,CAAAG,QAAA;UACAd,MAAA,CAAA7B,IAAA,CAAA0C,MAAA,CAAAF,GAAA,CAAAI,QAAA,KAAAH,SAAA;;UAEA;UACA,IAAAI,SAAA,GAAAhB,MAAA,CAAArB,OAAA,CAAAkC,MAAA,CAAAF,GAAA,CAAAG,QAAA;UACAd,MAAA,CAAArB,OAAA,CAAAkC,MAAA,CAAAF,GAAA,CAAAI,QAAA,KAAAC,SAAA;QACA;MACA;IACA;EACA;AACA","ignoreList":[]}]} |