suyiScreen/node_modules/.cache/vue-loader/b5f6eaf23766b1ffc6069091d92...

1 line
14 KiB
JSON

{"remainingRequest":"D:\\Hjm项目\\suyi1111\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Hjm项目\\suyi1111\\node_modules\\@jiaminghi\\data-view\\lib\\components\\scrollRankingBoard\\src\\main.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\Hjm项目\\suyi1111\\node_modules\\@jiaminghi\\data-view\\lib\\components\\scrollRankingBoard\\src\\main.vue","mtime":499162500000},{"path":"D:\\Hjm项目\\suyi1111\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\Hjm项目\\suyi1111\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\Hjm项目\\suyi1111\\node_modules\\babel-loader\\lib\\index.js","mtime":499162500000},{"path":"D:\\Hjm项目\\suyi1111\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\Hjm项目\\suyi1111\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBhdXRvUmVzaXplIGZyb20gJy4uLy4uLy4uL21peGluL2F1dG9SZXNpemUnCgppbXBvcnQgeyBkZWVwTWVyZ2UgfSBmcm9tICdAamlhbWluZ2hpL2NoYXJ0cy9saWIvdXRpbC9pbmRleCcKCmltcG9ydCB7IGRlZXBDbG9uZSB9IGZyb20gJ0BqaWFtaW5naGkvYy1yZW5kZXIvbGliL3BsdWdpbi91dGlsJwoKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdEdlNjcm9sbFJhbmtpbmdCb2FyZCcsCiAgbWl4aW5zOiBbYXV0b1Jlc2l6ZV0sCiAgcHJvcHM6IHsKICAgIGNvbmZpZzogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6ICgpID0+ICh7fSkKICAgIH0KICB9LAogIGRhdGEgKCkgewogICAgcmV0dXJuIHsKICAgICAgcmVmOiAnc2Nyb2xsLXJhbmtpbmctYm9hcmQnLAoKICAgICAgZGVmYXVsdENvbmZpZzogewogICAgICAgIC8qKgogICAgICAgICAqIEBkZXNjcmlwdGlvbiBCb2FyZCBkYXRhCiAgICAgICAgICogQHR5cGUge0FycmF5PE9iamVjdD59CiAgICAgICAgICogQGRlZmF1bHQgZGF0YSA9IFtdCiAgICAgICAgICovCiAgICAgICAgZGF0YTogW10sCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIFJvdyBudW0KICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQogICAgICAgICAqIEBkZWZhdWx0IHJvd051bSA9IDUKICAgICAgICAgKi8KICAgICAgICByb3dOdW06IDUsCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIFNjcm9sbCB3YWl0IHRpbWUKICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQogICAgICAgICAqIEBkZWZhdWx0IHdhaXRUaW1lID0gMjAwMAogICAgICAgICAqLwogICAgICAgIHdhaXRUaW1lOiAyMDAwLAogICAgICAgIC8qKgogICAgICAgICAqIEBkZXNjcmlwdGlvbiBDYXJvdXNlbCB0eXBlCiAgICAgICAgICogQHR5cGUge1N0cmluZ30KICAgICAgICAgKiBAZGVmYXVsdCBjYXJvdXNlbCA9ICdzaW5nbGUnCiAgICAgICAgICogQGV4YW1wbGUgY2Fyb3VzZWwgPSAnc2luZ2xlJyB8ICdwYWdlJwogICAgICAgICAqLwogICAgICAgIGNhcm91c2VsOiAnc2luZ2xlJywKICAgICAgICAvKioKICAgICAgICAgKiBAZGVzY3JpcHRpb24gVmFsdWUgdW5pdAogICAgICAgICAqIEB0eXBlIHtTdHJpbmd9CiAgICAgICAgICogQGRlZmF1bHQgdW5pdCA9ICcnCiAgICAgICAgICogQGV4YW1wbGUgdW5pdCA9ICd0b24nCiAgICAgICAgICovCiAgICAgICAgdW5pdDogJycsCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEF1dG8gc29ydCBieSB2YWx1ZQogICAgICAgICAqIEB0eXBlIHtCb29sZWFufQogICAgICAgICAqIEBkZWZhdWx0IHNvcnQgPSB0cnVlCiAgICAgICAgICovCiAgICAgICAgc29ydDogdHJ1ZQogICAgICB9LAoKICAgICAgbWVyZ2VkQ29uZmlnOiBudWxsLAoKICAgICAgcm93c0RhdGE6IFtdLAoKICAgICAgcm93czogW10sCgogICAgICBoZWlnaHRzOiBbXSwKCiAgICAgIGFuaW1hdGlvbkluZGV4OiAwLAoKICAgICAgYW5pbWF0aW9uSGFuZGxlcjogJycsCgogICAgICB1cGRhdGVyOiAwCiAgICB9CiAgfSwKICB3YXRjaDogewogICAgY29uZmlnICgpIHsKICAgICAgY29uc3QgeyBzdG9wQW5pbWF0aW9uLCBjYWxjRGF0YSB9ID0gdGhpcwoKICAgICAgc3RvcEFuaW1hdGlvbigpCgogICAgICBjYWxjRGF0YSgpCiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICBhZnRlckF1dG9SZXNpemVNaXhpbkluaXQgKCkgewogICAgICBjb25zdCB7IGNhbGNEYXRhIH0gPSB0aGlzCgogICAgICBjYWxjRGF0YSgpCiAgICB9LAogICAgb25SZXNpemUgKCkgewogICAgICBjb25zdCB7IG1lcmdlZENvbmZpZywgY2FsY0hlaWdodHMgfSA9IHRoaXMKCiAgICAgIGlmICghbWVyZ2VkQ29uZmlnKSByZXR1cm4KCiAgICAgIGNhbGNIZWlnaHRzKHRydWUpCiAgICB9LAogICAgY2FsY0RhdGEgKCkgewogICAgICBjb25zdCB7IG1lcmdlQ29uZmlnLCBjYWxjUm93c0RhdGEgfSA9IHRoaXMKCiAgICAgIG1lcmdlQ29uZmlnKCkKCiAgICAgIGNhbGNSb3dzRGF0YSgpCgogICAgICBjb25zdCB7IGNhbGNIZWlnaHRzIH0gPSB0aGlzCgogICAgICBjYWxjSGVpZ2h0cygpCgogICAgICBjb25zdCB7IGFuaW1hdGlvbiB9ID0gdGhpcwoKICAgICAgYW5pbWF0aW9uKHRydWUpCiAgICB9LAogICAgbWVyZ2VDb25maWcgKCkgewogICAgICBsZXQgeyBjb25maWcsIGRlZmF1bHRDb25maWcgfSA9IHRoaXMKCiAgICAgIHRoaXMubWVyZ2VkQ29uZmlnID0gZGVlcE1lcmdlKGRlZXBDbG9uZShkZWZhdWx0Q29uZmlnLCB0cnVlKSwgY29uZmlnIHx8IHt9KQogICAgfSwKICAgIGNhbGNSb3dzRGF0YSAoKSB7CiAgICAgIGxldCB7IGRhdGEsIHJvd051bSwgc29ydCB9ID0gdGhpcy5tZXJnZWRDb25maWcKCiAgICAgIHNvcnQgJiYgZGF0YS5zb3J0KCh7IHZhbHVlOiBhIH0sIHsgdmFsdWU6IGIgfSkgPT4gewogICAgICAgIGlmIChhID4gYikgcmV0dXJuIC0xCiAgICAgICAgaWYgKGEgPCBiKSByZXR1cm4gMQogICAgICAgIGlmIChhID09PSBiKSByZXR1cm4gMAogICAgICB9KQoKICAgICAgY29uc3QgdmFsdWUgPSBkYXRhLm1hcCgoeyB2YWx1ZSB9KSA9PiB2YWx1ZSkKCiAgICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KC4uLnZhbHVlKSB8fCAwCgogICAgICBkYXRhID0gZGF0YS5tYXAoKHJvdywgaSkgPT4gKHsgLi4ucm93LCByYW5raW5nOiBpICsgMSwgcGVyY2VudDogcm93LnZhbHVlIC8gbWF4ICogMTAwIH0pKQoKICAgICAgY29uc3Qgcm93TGVuZ3RoID0gZGF0YS5sZW5ndGgKCiAgICAgIGlmIChyb3dMZW5ndGggPiByb3dOdW0gJiYgcm93TGVuZ3RoIDwgMiAqIHJvd051bSkgewogICAgICAgIGRhdGEgPSBbLi4uZGF0YSwgLi4uZGF0YV0KICAgICAgfQoKICAgICAgZGF0YSA9IGRhdGEubWFwKChkLCBpKSA9PiAoeyAuLi5kLCBzY3JvbGw6IGkgfSkpCgogICAgICB0aGlzLnJvd3NEYXRhID0gZGF0YQogICAgICB0aGlzLnJvd3MgPSBkYXRhCiAgICB9LAogICAgY2FsY0hlaWdodHMgKG9ucmVzaXplID0gZmFsc2UpIHsKICAgICAgY29uc3QgeyBoZWlnaHQsIG1lcmdlZENvbmZpZyB9ID0gdGhpcwoKICAgICAgY29uc3QgeyByb3dOdW0sIGRhdGEgfSA9IG1lcmdlZENvbmZpZwoKICAgICAgY29uc3QgYXZnSGVpZ2h0ID0gaGVpZ2h0IC8gcm93TnVtCgogICAgICB0aGlzLmF2Z0hlaWdodCA9IGF2Z0hlaWdodAoKICAgICAgaWYgKCFvbnJlc2l6ZSkgdGhpcy5oZWlnaHRzID0gbmV3IEFycmF5KGRhdGEubGVuZ3RoKS5maWxsKGF2Z0hlaWdodCkKICAgIH0sCiAgICBhc3luYyBhbmltYXRpb24gKHN0YXJ0ID0gZmFsc2UpIHsKICAgICAgbGV0IHsgYXZnSGVpZ2h0LCBhbmltYXRpb25JbmRleCwgbWVyZ2VkQ29uZmlnLCByb3dzRGF0YSwgYW5pbWF0aW9uLCB1cGRhdGVyIH0gPSB0aGlzCgogICAgICBjb25zdCB7IHdhaXRUaW1lLCBjYXJvdXNlbCwgcm93TnVtIH0gPSBtZXJnZWRDb25maWcKCiAgICAgIGNvbnN0IHJvd0xlbmd0aCA9IHJvd3NEYXRhLmxlbmd0aAoKICAgICAgaWYgKHJvd051bSA+PSByb3dMZW5ndGgpIHJldHVybgoKICAgICAgaWYgKHN0YXJ0KSB7CiAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHdhaXRUaW1lKSkKICAgICAgICBpZiAodXBkYXRlciAhPT0gdGhpcy51cGRhdGVyKSByZXR1cm4KICAgICAgfQoKICAgICAgY29uc3QgYW5pbWF0aW9uTnVtID0gY2Fyb3VzZWwgPT09ICdzaW5nbGUnID8gMSA6IHJvd051bQoKICAgICAgbGV0IHJvd3MgPSByb3dzRGF0YS5zbGljZShhbmltYXRpb25JbmRleCkKICAgICAgcm93cy5wdXNoKC4uLnJvd3NEYXRhLnNsaWNlKDAsIGFuaW1hdGlvbkluZGV4KSkKCiAgICAgIHRoaXMucm93cyA9IHJvd3MKICAgICAgdGhpcy5oZWlnaHRzID0gbmV3IEFycmF5KHJvd0xlbmd0aCkuZmlsbChhdmdIZWlnaHQpCgogICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMzAwKSkKICAgICAgaWYgKHVwZGF0ZXIgIT09IHRoaXMudXBkYXRlcikgcmV0dXJuCgogICAgICB0aGlzLmhlaWdodHMuc3BsaWNlKDAsIGFuaW1hdGlvbk51bSwgLi4ubmV3IEFycmF5KGFuaW1hdGlvbk51bSkuZmlsbCgwKSkKCiAgICAgIGFuaW1hdGlvbkluZGV4ICs9IGFuaW1hdGlvbk51bQoKICAgICAgY29uc3QgYmFjayA9IGFuaW1hdGlvbkluZGV4IC0gcm93TGVuZ3RoCiAgICAgIGlmIChiYWNrID49IDApIGFuaW1hdGlvbkluZGV4ID0gYmFjawoKICAgICAgdGhpcy5hbmltYXRpb25JbmRleCA9IGFuaW1hdGlvbkluZGV4CiAgICAgIHRoaXMuYW5pbWF0aW9uSGFuZGxlciA9IHNldFRpbWVvdXQoYW5pbWF0aW9uLCB3YWl0VGltZSAtIDMwMCkKICAgIH0sCiAgICBzdG9wQW5pbWF0aW9uICgpIHsKICAgICAgY29uc3QgeyBhbmltYXRpb25IYW5kbGVyLCB1cGRhdGVyIH0gPSB0aGlzCgogICAgICB0aGlzLnVwZGF0ZXIgPSAodXBkYXRlciArIDEpICUgOTk5OTk5CgogICAgICBpZiAoIWFuaW1hdGlvbkhhbmRsZXIpIHJldHVybgoKICAgICAgY2xlYXJUaW1lb3V0KGFuaW1hdGlvbkhhbmRsZXIpCiAgICB9CiAgfSwKICBkZXN0cm95ZWQgKCkgewogICAgY29uc3QgeyBzdG9wQW5pbWF0aW9uIH0gPSB0aGlzCgogICAgc3RvcEFuaW1hdGlvbigpCiAgfQp9Cg=="},{"version":3,"sources":["main.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA","file":"main.vue","sourceRoot":"node_modules/@jiaminghi/data-view/lib/components/scrollRankingBoard/src","sourcesContent":["<template>\n <div class=\"dv-scroll-ranking-board\" :ref=\"ref\">\n <div\n class=\"row-item\"\n v-for=\"(item, i) in rows\"\n :key=\"item.toString() + item.scroll\"\n :style=\"`height: ${heights[i]}px;`\"\n >\n <div class=\"ranking-info\">\n <div class=\"rank\">No.{{ item.ranking }}</div>\n <div class=\"info-name\" v-html=\"item.name\" />\n <div class=\"ranking-value\">{{ item.value + mergedConfig.unit }}</div>\n </div>\n\n <div class=\"ranking-column\">\n <div\n class=\"inside-column\"\n :style=\"`width: ${item.percent}%;`\"\n >\n <div class=\"shine\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport autoResize from '../../../mixin/autoResize'\n\nimport { deepMerge } from '@jiaminghi/charts/lib/util/index'\n\nimport { deepClone } from '@jiaminghi/c-render/lib/plugin/util'\n\nexport default {\n name: 'DvScrollRankingBoard',\n mixins: [autoResize],\n props: {\n config: {\n type: Object,\n default: () => ({})\n }\n },\n data () {\n return {\n ref: 'scroll-ranking-board',\n\n defaultConfig: {\n /**\n * @description Board data\n * @type {Array<Object>}\n * @default data = []\n */\n data: [],\n /**\n * @description Row num\n * @type {Number}\n * @default rowNum = 5\n */\n rowNum: 5,\n /**\n * @description Scroll wait time\n * @type {Number}\n * @default waitTime = 2000\n */\n waitTime: 2000,\n /**\n * @description Carousel type\n * @type {String}\n * @default carousel = 'single'\n * @example carousel = 'single' | 'page'\n */\n carousel: 'single',\n /**\n * @description Value unit\n * @type {String}\n * @default unit = ''\n * @example unit = 'ton'\n */\n unit: '',\n /**\n * @description Auto sort by value\n * @type {Boolean}\n * @default sort = true\n */\n sort: true\n },\n\n mergedConfig: null,\n\n rowsData: [],\n\n rows: [],\n\n heights: [],\n\n animationIndex: 0,\n\n animationHandler: '',\n\n updater: 0\n }\n },\n watch: {\n config () {\n const { stopAnimation, calcData } = this\n\n stopAnimation()\n\n calcData()\n }\n },\n methods: {\n afterAutoResizeMixinInit () {\n const { calcData } = this\n\n calcData()\n },\n onResize () {\n const { mergedConfig, calcHeights } = this\n\n if (!mergedConfig) return\n\n calcHeights(true)\n },\n calcData () {\n const { mergeConfig, calcRowsData } = this\n\n mergeConfig()\n\n calcRowsData()\n\n const { calcHeights } = this\n\n calcHeights()\n\n const { animation } = this\n\n animation(true)\n },\n mergeConfig () {\n let { config, defaultConfig } = this\n\n this.mergedConfig = deepMerge(deepClone(defaultConfig, true), config || {})\n },\n calcRowsData () {\n let { data, rowNum, sort } = this.mergedConfig\n\n sort && data.sort(({ value: a }, { value: b }) => {\n if (a > b) return -1\n if (a < b) return 1\n if (a === b) return 0\n })\n\n const value = data.map(({ value }) => value)\n\n const max = Math.max(...value) || 0\n\n data = data.map((row, i) => ({ ...row, ranking: i + 1, percent: row.value / max * 100 }))\n\n const rowLength = data.length\n\n if (rowLength > rowNum && rowLength < 2 * rowNum) {\n data = [...data, ...data]\n }\n\n data = data.map((d, i) => ({ ...d, scroll: i }))\n\n this.rowsData = data\n this.rows = data\n },\n calcHeights (onresize = false) {\n const { height, mergedConfig } = this\n\n const { rowNum, data } = mergedConfig\n\n const avgHeight = height / rowNum\n\n this.avgHeight = avgHeight\n\n if (!onresize) this.heights = new Array(data.length).fill(avgHeight)\n },\n async animation (start = false) {\n let { avgHeight, animationIndex, mergedConfig, rowsData, animation, updater } = this\n\n const { waitTime, carousel, rowNum } = mergedConfig\n\n const rowLength = rowsData.length\n\n if (rowNum >= rowLength) return\n\n if (start) {\n await new Promise(resolve => setTimeout(resolve, waitTime))\n if (updater !== this.updater) return\n }\n\n const animationNum = carousel === 'single' ? 1 : rowNum\n\n let rows = rowsData.slice(animationIndex)\n rows.push(...rowsData.slice(0, animationIndex))\n\n this.rows = rows\n this.heights = new Array(rowLength).fill(avgHeight)\n\n await new Promise(resolve => setTimeout(resolve, 300))\n if (updater !== this.updater) return\n\n this.heights.splice(0, animationNum, ...new Array(animationNum).fill(0))\n\n animationIndex += animationNum\n\n const back = animationIndex - rowLength\n if (back >= 0) animationIndex = back\n\n this.animationIndex = animationIndex\n this.animationHandler = setTimeout(animation, waitTime - 300)\n },\n stopAnimation () {\n const { animationHandler, updater } = this\n\n this.updater = (updater + 1) % 999999\n\n if (!animationHandler) return\n\n clearTimeout(animationHandler)\n }\n },\n destroyed () {\n const { stopAnimation } = this\n\n stopAnimation()\n }\n}\n</script>"]}]}