{"remainingRequest":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\源码\\vue-element-admin-master\\src\\views\\dashboard\\admin\\components\\TodoList\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\源码\\vue-element-admin-master\\src\\views\\dashboard\\admin\\components\\TodoList\\index.vue","mtime":1649647926000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\源码\\vue-element-admin-master\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCBUb2RvIGZyb20gJy4vVG9kby52dWUnCgpjb25zdCBTVE9SQUdFX0tFWSA9ICd0b2RvcycKY29uc3QgZmlsdGVycyA9IHsKICBhbGw6IHRvZG9zID0+IHRvZG9zLAogIGFjdGl2ZTogdG9kb3MgPT4gdG9kb3MuZmlsdGVyKHRvZG8gPT4gIXRvZG8uZG9uZSksCiAgY29tcGxldGVkOiB0b2RvcyA9PiB0b2Rvcy5maWx0ZXIodG9kbyA9PiB0b2RvLmRvbmUpCn0KY29uc3QgZGVmYWx1dExpc3QgPSBbCiAgeyB0ZXh0OiAnc3RhciB0aGlzIHJlcG9zaXRvcnknLCBkb25lOiBmYWxzZSB9LAogIHsgdGV4dDogJ2ZvcmsgdGhpcyByZXBvc2l0b3J5JywgZG9uZTogZmFsc2UgfSwKICB7IHRleHQ6ICdmb2xsb3cgYXV0aG9yJywgZG9uZTogZmFsc2UgfSwKICB7IHRleHQ6ICd2dWUtZWxlbWVudC1hZG1pbicsIGRvbmU6IHRydWUgfSwKICB7IHRleHQ6ICd2dWUnLCBkb25lOiB0cnVlIH0sCiAgeyB0ZXh0OiAnZWxlbWVudC11aScsIGRvbmU6IHRydWUgfSwKICB7IHRleHQ6ICdheGlvcycsIGRvbmU6IHRydWUgfSwKICB7IHRleHQ6ICd3ZWJwYWNrJywgZG9uZTogdHJ1ZSB9Cl0KZXhwb3J0IGRlZmF1bHQgewogIGNvbXBvbmVudHM6IHsgVG9kbyB9LAogIGZpbHRlcnM6IHsKICAgIHBsdXJhbGl6ZTogKG4sIHcpID0+IG4gPT09IDEgPyB3IDogdyArICdzJywKICAgIGNhcGl0YWxpemU6IHMgPT4gcy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHMuc2xpY2UoMSkKICB9LAogIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICB2aXNpYmlsaXR5OiAnYWxsJywKICAgICAgZmlsdGVycywKICAgICAgLy8gdG9kb3M6IEpTT04ucGFyc2Uod2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfS0VZKSkgfHwgZGVmYWx1dExpc3QKICAgICAgdG9kb3M6IGRlZmFsdXRMaXN0CiAgICB9CiAgfSwKICBjb21wdXRlZDogewogICAgYWxsQ2hlY2tlZCgpIHsKICAgICAgcmV0dXJuIHRoaXMudG9kb3MuZXZlcnkodG9kbyA9PiB0b2RvLmRvbmUpCiAgICB9LAogICAgZmlsdGVyZWRUb2RvcygpIHsKICAgICAgcmV0dXJuIGZpbHRlcnNbdGhpcy52aXNpYmlsaXR5XSh0aGlzLnRvZG9zKQogICAgfSwKICAgIHJlbWFpbmluZygpIHsKICAgICAgcmV0dXJuIHRoaXMudG9kb3MuZmlsdGVyKHRvZG8gPT4gIXRvZG8uZG9uZSkubGVuZ3RoCiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICBzZXRMb2NhbFN0b3JhZ2UoKSB7CiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShTVE9SQUdFX0tFWSwgSlNPTi5zdHJpbmdpZnkodGhpcy50b2RvcykpCiAgICB9LAogICAgYWRkVG9kbyhlKSB7CiAgICAgIGNvbnN0IHRleHQgPSBlLnRhcmdldC52YWx1ZQogICAgICBpZiAodGV4dC50cmltKCkpIHsKICAgICAgICB0aGlzLnRvZG9zLnB1c2goewogICAgICAgICAgdGV4dCwKICAgICAgICAgIGRvbmU6IGZhbHNlCiAgICAgICAgfSkKICAgICAgICB0aGlzLnNldExvY2FsU3RvcmFnZSgpCiAgICAgIH0KICAgICAgZS50YXJnZXQudmFsdWUgPSAnJwogICAgfSwKICAgIHRvZ2dsZVRvZG8odmFsKSB7CiAgICAgIHZhbC5kb25lID0gIXZhbC5kb25lCiAgICAgIHRoaXMuc2V0TG9jYWxTdG9yYWdlKCkKICAgIH0sCiAgICBkZWxldGVUb2RvKHRvZG8pIHsKICAgICAgdGhpcy50b2Rvcy5zcGxpY2UodGhpcy50b2Rvcy5pbmRleE9mKHRvZG8pLCAxKQogICAgICB0aGlzLnNldExvY2FsU3RvcmFnZSgpCiAgICB9LAogICAgZWRpdFRvZG8oeyB0b2RvLCB2YWx1ZSB9KSB7CiAgICAgIHRvZG8udGV4dCA9IHZhbHVlCiAgICAgIHRoaXMuc2V0TG9jYWxTdG9yYWdlKCkKICAgIH0sCiAgICBjbGVhckNvbXBsZXRlZCgpIHsKICAgICAgdGhpcy50b2RvcyA9IHRoaXMudG9kb3MuZmlsdGVyKHRvZG8gPT4gIXRvZG8uZG9uZSkKICAgICAgdGhpcy5zZXRMb2NhbFN0b3JhZ2UoKQogICAgfSwKICAgIHRvZ2dsZUFsbCh7IGRvbmUgfSkgewogICAgICB0aGlzLnRvZG9zLmZvckVhY2godG9kbyA9PiB7CiAgICAgICAgdG9kby5kb25lID0gZG9uZQogICAgICAgIHRoaXMuc2V0TG9jYWxTdG9yYWdlKCkKICAgICAgfSkKICAgIH0KICB9Cn0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA;;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;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;AACA","file":"index.vue","sourceRoot":"src/views/dashboard/admin/components/TodoList","sourcesContent":["<template>\n <section class=\"todoapp\">\n <!-- header -->\n <header class=\"header\">\n <input class=\"new-todo\" autocomplete=\"off\" placeholder=\"Todo List\" @keyup.enter=\"addTodo\">\n </header>\n <!-- main section -->\n <section v-show=\"todos.length\" class=\"main\">\n <input id=\"toggle-all\" :checked=\"allChecked\" class=\"toggle-all\" type=\"checkbox\" @change=\"toggleAll({ done: !allChecked })\">\n <label for=\"toggle-all\" />\n <ul class=\"todo-list\">\n <todo\n v-for=\"(todo, index) in filteredTodos\"\n :key=\"index\"\n :todo=\"todo\"\n @toggleTodo=\"toggleTodo\"\n @editTodo=\"editTodo\"\n @deleteTodo=\"deleteTodo\"\n />\n </ul>\n </section>\n <!-- footer -->\n <footer v-show=\"todos.length\" class=\"footer\">\n <span class=\"todo-count\">\n <strong>{{ remaining }}</strong>\n {{ remaining | pluralize('item') }} left\n </span>\n <ul class=\"filters\">\n <li v-for=\"(val, key) in filters\" :key=\"key\">\n <a :class=\"{ selected: visibility === key }\" @click.prevent=\"visibility = key\">{{ key | capitalize }}</a>\n </li>\n </ul>\n <!-- <button class=\"clear-completed\" v-show=\"todos.length > remaining\" @click=\"clearCompleted\">\n Clear completed\n </button> -->\n </footer>\n </section>\n</template>\n\n<script>\nimport Todo from './Todo.vue'\n\nconst STORAGE_KEY = 'todos'\nconst filters = {\n all: todos => todos,\n active: todos => todos.filter(todo => !todo.done),\n completed: todos => todos.filter(todo => todo.done)\n}\nconst defalutList = [\n { text: 'star this repository', done: false },\n { text: 'fork this repository', done: false },\n { text: 'follow author', done: false },\n { text: 'vue-element-admin', done: true },\n { text: 'vue', done: true },\n { text: 'element-ui', done: true },\n { text: 'axios', done: true },\n { text: 'webpack', done: true }\n]\nexport default {\n components: { Todo },\n filters: {\n pluralize: (n, w) => n === 1 ? w : w + 's',\n capitalize: s => s.charAt(0).toUpperCase() + s.slice(1)\n },\n data() {\n return {\n visibility: 'all',\n filters,\n // todos: JSON.parse(window.localStorage.getItem(STORAGE_KEY)) || defalutList\n todos: defalutList\n }\n },\n computed: {\n allChecked() {\n return this.todos.every(todo => todo.done)\n },\n filteredTodos() {\n return filters[this.visibility](this.todos)\n },\n remaining() {\n return this.todos.filter(todo => !todo.done).length\n }\n },\n methods: {\n setLocalStorage() {\n window.localStorage.setItem(STORAGE_KEY, JSON.stringify(this.todos))\n },\n addTodo(e) {\n const text = e.target.value\n if (text.trim()) {\n this.todos.push({\n text,\n done: false\n })\n this.setLocalStorage()\n }\n e.target.value = ''\n },\n toggleTodo(val) {\n val.done = !val.done\n this.setLocalStorage()\n },\n deleteTodo(todo) {\n this.todos.splice(this.todos.indexOf(todo), 1)\n this.setLocalStorage()\n },\n editTodo({ todo, value }) {\n todo.text = value\n this.setLocalStorage()\n },\n clearCompleted() {\n this.todos = this.todos.filter(todo => !todo.done)\n this.setLocalStorage()\n },\n toggleAll({ done }) {\n this.todos.forEach(todo => {\n todo.done = done\n this.setLocalStorage()\n })\n }\n }\n}\n</script>\n\n<style lang=\"scss\">\n @import './index.scss';\n</style>\n"]}]}
|