├── .browserslistrc ├── .editorconfig ├── .eslintrc.js ├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── babel.config.js ├── docs ├── en │ └── getting-started.md ├── img │ └── Dashboard.png └── ru │ └── getting-started.md ├── package-lock.json ├── package.json ├── postcss.config.js ├── public ├── img │ ├── avatars │ │ └── 13101802.jpg │ ├── icons │ │ ├── android-icon-144x144.png │ │ ├── android-icon-192x192.png │ │ ├── android-icon-36x36.png │ │ ├── android-icon-48x48.png │ │ ├── android-icon-72x72.png │ │ ├── android-icon-96x96.png │ │ ├── apple-icon-114x114.png │ │ ├── apple-icon-120x120.png │ │ ├── apple-icon-144x144.png │ │ ├── apple-icon-152x152.png │ │ ├── apple-icon-180x180.png │ │ ├── apple-icon-57x57.png │ │ ├── apple-icon-60x60.png │ │ ├── apple-icon-72x72.png │ │ ├── apple-icon-76x76.png │ │ ├── apple-icon-precomposed.png │ │ ├── apple-icon.png │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── favicon-96x96.png │ │ ├── favicon.ico │ │ ├── ms-icon-144x144.png │ │ ├── ms-icon-150x150.png │ │ ├── ms-icon-310x310.png │ │ └── ms-icon-70x70.png │ └── land │ │ ├── hero.jpeg │ │ ├── plane.jpg │ │ ├── section.jpg │ │ └── vva.png ├── index.html ├── manifest.json ├── robots.txt └── static │ ├── avatar │ ├── a1.jpg │ ├── a2.jpg │ ├── a3.jpg │ ├── a4.jpg │ ├── man_1.jpg │ ├── man_2.jpg │ ├── man_3.jpg │ ├── man_4.jpg │ ├── man_5.jpg │ └── me.jpeg │ ├── bg │ ├── 1.jpg │ ├── 10.jpg │ ├── 11.jpg │ ├── 12.jpg │ ├── 13.jpg │ ├── 14.jpg │ ├── 15.jpg │ ├── 16.jpg │ ├── 17.jpg │ ├── 18.jpg │ ├── 19.jpg │ ├── 2.jpg │ ├── 20.jpg │ ├── 21.jpg │ ├── 22.jpg │ ├── 23.jpg │ ├── 24.jpg │ ├── 25.jpg │ ├── 26.jpg │ ├── 27.jpg │ ├── 28.jpg │ ├── 29.jpg │ ├── 3.jpg │ ├── 30.jpg │ ├── 31.jpg │ ├── 32.jpg │ ├── 33.jpg │ ├── 34.jpg │ ├── 35.jpg │ ├── 36.jpg │ ├── 37.jpg │ ├── 38.jpg │ ├── 39.jpg │ ├── 4.jpg │ ├── 40.jpg │ ├── 5.jpg │ ├── 6.jpg │ ├── 7.jpg │ ├── 8.jpg │ └── 9.jpg │ ├── data │ ├── font-awesome.json │ └── material.json │ └── nature │ ├── n1.jpeg │ ├── n2.jpeg │ ├── n3.jpeg │ ├── n4.jpeg │ ├── n5.jpeg │ ├── n6.jpeg │ ├── n7.jpeg │ └── n8.jpg ├── src ├── App.vue ├── api │ ├── login.js │ ├── mock.js │ ├── mock_activity.js │ ├── mock_chart.js │ ├── mock_order.js │ ├── mock_project.js │ ├── mock_table.js │ └── roadmap.js ├── config.js ├── demo │ ├── api │ │ └── mock_user.js │ ├── components │ │ ├── Charts │ │ │ ├── Keyboard.vue │ │ │ ├── LineMarker.vue │ │ │ ├── MixChart.vue │ │ │ └── mixins │ │ │ │ └── resize.js │ │ ├── Dropzone │ │ │ └── index.vue │ │ ├── JsonEditor │ │ │ └── index.vue │ │ ├── Kanban │ │ │ └── index.vue │ │ ├── MarkdownEditor │ │ │ ├── default-options.js │ │ │ └── index.vue │ │ ├── Sticky │ │ │ └── index.vue │ │ └── Tinymce │ │ │ ├── EditorImage.vue │ │ │ ├── plugins.js │ │ │ └── toolbar.js │ ├── locale │ │ ├── en_US │ │ │ └── components.js │ │ ├── ru_RU │ │ │ └── components.js │ │ └── zh_CN │ │ │ └── components.js │ ├── router │ │ ├── components.js │ │ ├── nested.js │ │ └── vuetify.js │ └── views │ │ ├── Components │ │ ├── backToTop.vue │ │ ├── chart.vue │ │ ├── countTo.vue │ │ ├── dragKanban.vue │ │ ├── dropzone.vue │ │ ├── jsonEditor.vue │ │ ├── markdown.vue │ │ ├── splitpane.vue │ │ ├── sticky.vue │ │ └── tinymce.vue │ │ └── Vuetify │ │ ├── Alert.vue │ │ ├── Avatar.vue │ │ ├── Badge.vue │ │ ├── Buttons.vue │ │ ├── Calendar.vue │ │ ├── Cards.vue │ │ ├── Carousels.vue │ │ ├── Chip.vue │ │ ├── Colors.vue │ │ ├── Datepicker.vue │ │ ├── Dialogs.vue │ │ ├── Grid.vue │ │ ├── Icon.vue │ │ ├── Pagination.vue │ │ ├── Parallax.vue │ │ ├── Progress.vue │ │ ├── Slider.vue │ │ ├── Snackbar.vue │ │ ├── Tables.vue │ │ ├── Timepicker.vue │ │ ├── Tooltip.vue │ │ └── Typography.vue ├── locale │ ├── en_US │ │ ├── index.js │ │ └── route.js │ ├── index.js │ ├── ru_RU │ │ ├── index.js │ │ └── route.js │ ├── vuetify.js │ └── zh_CN │ │ ├── index.js │ │ └── route.js ├── main.js ├── plugins │ ├── vuetify.js │ └── vuetifyThemes.js ├── registerServiceWorker.js ├── router │ ├── index.js │ ├── modules │ │ ├── auth.js │ │ ├── errors.js │ │ └── permission.js │ └── permission.js ├── store │ ├── index.js │ ├── modules │ │ ├── permission.js │ │ ├── settings.js │ │ └── user.js │ └── plugins │ │ └── syncStorage.js ├── styles │ └── variables.scss ├── utils │ └── index.js └── views │ ├── auth │ ├── Landing.vue │ ├── SingIn.vue │ └── SingUp.vue │ ├── components │ ├── Dashboard │ │ ├── GithubCorner.vue │ │ ├── OptionChart.vue │ │ ├── PanelGroup.vue │ │ ├── PanelGroupItem.vue │ │ ├── PlainTable.vue │ │ ├── PlainTableOrder.vue │ │ └── index.vue │ ├── Documentation.vue │ ├── ErrorPage.vue │ ├── Guide │ │ ├── defineSteps.js │ │ └── index.vue │ ├── I18n.vue │ ├── Nasted.vue │ ├── Permission │ │ ├── Admin.vue │ │ ├── Editor.vue │ │ └── Visitor.vue │ ├── Roadmap.vue │ └── Theme.vue │ ├── layout │ ├── TheLayout.vue │ ├── TheLayoutContent.vue │ ├── TheLayoutDrawer.vue │ ├── TheLayoutDrawerList.vue │ ├── TheLayoutFab.vue │ ├── TheLayoutFooter.vue │ ├── TheLayoutToTopFab.vue │ └── TheLayoutToolbar.vue │ └── widget │ ├── AppBreadcrumbs.vue │ ├── AppCenter.vue │ ├── AppErrorLog.vue │ ├── AppFullScreen.vue │ ├── AppLocalization.vue │ ├── AppNotification.vue │ ├── AppProfile.vue │ ├── AppTheme.vue │ └── AppWidget.vue ├── tests ├── e2e │ ├── custom-assertions │ │ └── elementCount.js │ └── specs │ │ └── test.js └── unit │ ├── .eslintrc.js │ └── example.spec.js └── vue.config.js /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not ie <= 11 4 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.{js,jsx,ts,tsx,vue}] 2 | indent_style = space 3 | indent_size = 2 4 | end_of_line = lf 5 | trim_trailing_whitespace = true 6 | insert_final_newline = true 7 | max_line_length = 100 8 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true, 5 | }, 6 | extends: [ 7 | 'plugin:vue/essential', 8 | 'plugin:vue/strongly-recommended', 9 | 'plugin:vue/recommended', 10 | '@vue/airbnb', 11 | ], 12 | plugins: [ 13 | 'vuetify', 14 | ], 15 | rules: { 16 | 'no-console': 'off', // 'warn', 17 | 'no-debugger': 'warn', 18 | 'vue/array-bracket-spacing': 'warn', 19 | 'vue/arrow-spacing': 'warn', 20 | 'vue/block-spacing': 'warn', 21 | 'vue/brace-style': 'warn', 22 | 'vue/camelcase': 'warn', 23 | 'vue/comma-dangle': 'warn', 24 | 'vue/component-name-in-template-casing': 'off', // 'warn', 25 | 'vue/dot-location': 'warn', 26 | 'vue/eqeqeq': 'warn', 27 | 'vue/key-spacing': 'warn', 28 | 'vue/keyword-spacing': 'warn', 29 | 'vue/match-component-file-name': 'warn', 30 | 'vue/no-boolean-default': 'warn', 31 | 'vue/no-deprecated-scope-attribute': 'warn', 32 | 'vue/no-empty-pattern': 'warn', 33 | 'vue/no-restricted-syntax': 'warn', 34 | 'vue/object-curly-spacing': 'warn', 35 | 'vue/require-direct-export': 'warn', 36 | 'vue/script-indent': 'warn', 37 | 'vue/space-infix-ops': 'warn', 38 | 'vue/space-unary-ops': 'warn', 39 | 'vue/v-on-function-call': 'warn', 40 | 'vuetify/no-deprecated-classes': 'warn', 41 | 'vuetify/grid-unknown-attributes': 'warn', 42 | 'vuetify/no-legacy-grid': 'warn', 43 | }, 44 | parserOptions: { 45 | parser: 'babel-eslint', 46 | }, 47 | }; 48 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | /tests/e2e/reports/ 6 | selenium-debug.log 7 | 8 | # local env files 9 | .env.local 10 | .env.*.local 11 | 12 | # Log files 13 | npm-debug.log* 14 | yarn-debug.log* 15 | yarn-error.log* 16 | 17 | # Editor directories and files 18 | .idea 19 | .vscode 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw* 25 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - stable 4 | script: 5 | - npm install 6 | - npm run build 7 | notifications: 8 | email: false 9 | deploy: 10 | provider: pages 11 | skip_cleanup: true 12 | github_token: $GITHUB_TOKEN 13 | keep_history: false 14 | local_dir: dist 15 | on: 16 | branch: master -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Nikolay Nikolaev 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/app', 4 | ], 5 | }; 6 | -------------------------------------------------------------------------------- /docs/en/getting-started.md: -------------------------------------------------------------------------------- 1 | # Getting Started 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Run your tests 19 | ``` 20 | npm run test 21 | ``` 22 | 23 | ### Lints and fixes files 24 | ``` 25 | npm run lint 26 | ``` 27 | 28 | ### Run your end-to-end tests 29 | ``` 30 | npm run test:e2e 31 | ``` 32 | 33 | ### Run your unit tests 34 | ``` 35 | npm run test:unit 36 | ``` 37 | 38 | ### Customize configuration 39 | See [Configuration Reference](https://cli.vuejs.org/config/). 40 | -------------------------------------------------------------------------------- /docs/img/Dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/docs/img/Dashboard.png -------------------------------------------------------------------------------- /docs/ru/getting-started.md: -------------------------------------------------------------------------------- 1 | # Быстрый старт 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Run your tests 19 | ``` 20 | npm run test 21 | ``` 22 | 23 | ### Lints and fixes files 24 | ``` 25 | npm run lint 26 | ``` 27 | 28 | ### Run your end-to-end tests 29 | ``` 30 | npm run test:e2e 31 | ``` 32 | 33 | ### Run your unit tests 34 | ``` 35 | npm run test:unit 36 | ``` 37 | 38 | ### Customize configuration 39 | See [Configuration Reference](https://cli.vuejs.org/config/). 40 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-vuetify-admin", 3 | "title": "Vue Vuetify Admin", 4 | "version": "0.3.0", 5 | "private": true, 6 | "description": "Admin template based on Vue and Vuetify", 7 | "author": "NelsonEAX ", 8 | "scripts": { 9 | "serve": "vue-cli-service serve --https", 10 | "build": "vue-cli-service build", 11 | "lint": "vue-cli-service lint", 12 | "test:e2e": "vue-cli-service test:e2e", 13 | "test:unit": "vue-cli-service test:unit" 14 | }, 15 | "dependencies": { 16 | "@mdi/font": "^4.7.95", 17 | "@tinymce/tinymce-vue": "^3.0.1", 18 | "axios": "^0.19.0", 19 | "clipboard": "^2.0.4", 20 | "codemirror": "^5.50.0", 21 | "driver.js": "^0.9.8", 22 | "dropzone": "^5.5.1", 23 | "echarts": "^4.5.0", 24 | "file-saver": "^2.0.2", 25 | "font-awesome": "^4.7.0", 26 | "fuse.js": "^3.4.6", 27 | "jsonlint": "^1.6.3", 28 | "jszip": "^3.2.2", 29 | "material-design-icons-iconfont": "^5.0.1", 30 | "normalize.css": "^8.0.1", 31 | "nprogress": "^0.2.0", 32 | "path": "^0.12.7", 33 | "register-service-worker": "^1.6.2", 34 | "roboto-fontface": "*", 35 | "sortablejs": "^1.10.1", 36 | "tui-editor": "^1.4.10", 37 | "vue": "^2.6.11", 38 | "vue-count-to": "^1.0.13", 39 | "vue-i18n": "^8.15.3", 40 | "vue-router": "^3.1.3", 41 | "vue-splitpane": "^1.0.6", 42 | "vuedraggable": "^2.23.2", 43 | "vuetify": "^2.1.15", 44 | "vuex": "^3.1.2", 45 | "xlsx": "^0.15.3" 46 | }, 47 | "devDependencies": { 48 | "@vue/cli-plugin-babel": "^4.1.1", 49 | "@vue/cli-plugin-e2e-nightwatch": "^4.1.1", 50 | "@vue/cli-plugin-eslint": "^4.1.1", 51 | "@vue/cli-plugin-pwa": "^4.1.1", 52 | "@vue/cli-plugin-unit-mocha": "^4.1.1", 53 | "@vue/cli-service": "^4.1.1", 54 | "@vue/eslint-config-airbnb": "^5.0.0", 55 | "@vue/test-utils": "1.0.0-beta.29", 56 | "babel-eslint": "^10.0.3", 57 | "chai": "^4.2.0", 58 | "core-js": "^3.6.0", 59 | "css-loader": "^3.4.0", 60 | "eslint": "^6.8.0", 61 | "eslint-plugin-vue": "^6.0.1", 62 | "eslint-plugin-vuetify": "^1.0.0-beta.5", 63 | "less": "^3.10.3", 64 | "less-loader": "^5.0.0", 65 | "sass": "^1.24.0", 66 | "sass-loader": "^8.0.0", 67 | "script-loader": "^0.7.2", 68 | "style-loader": "^1.1.1", 69 | "stylus": "^0.54.7", 70 | "stylus-loader": "^3.0.2", 71 | "vue-cli-plugin-vuetify": "^2.0.2", 72 | "vue-template-compiler": "^2.6.11", 73 | "vuetify-loader": "^1.4.3" 74 | }, 75 | "keywords": [ 76 | "vue", 77 | "vuetify", 78 | "admin", 79 | "management-system", 80 | "admin-template" 81 | ], 82 | "license": "MIT" 83 | } 84 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | autoprefixer: {}, 4 | }, 5 | }; 6 | -------------------------------------------------------------------------------- /public/img/avatars/13101802.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/avatars/13101802.jpg -------------------------------------------------------------------------------- /public/img/icons/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/android-icon-144x144.png -------------------------------------------------------------------------------- /public/img/icons/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/android-icon-192x192.png -------------------------------------------------------------------------------- /public/img/icons/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/android-icon-36x36.png -------------------------------------------------------------------------------- /public/img/icons/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/android-icon-48x48.png -------------------------------------------------------------------------------- /public/img/icons/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/android-icon-72x72.png -------------------------------------------------------------------------------- /public/img/icons/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/android-icon-96x96.png -------------------------------------------------------------------------------- /public/img/icons/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/apple-icon-114x114.png -------------------------------------------------------------------------------- /public/img/icons/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/apple-icon-120x120.png -------------------------------------------------------------------------------- /public/img/icons/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/apple-icon-144x144.png -------------------------------------------------------------------------------- /public/img/icons/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/apple-icon-152x152.png -------------------------------------------------------------------------------- /public/img/icons/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/apple-icon-180x180.png -------------------------------------------------------------------------------- /public/img/icons/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/apple-icon-57x57.png -------------------------------------------------------------------------------- /public/img/icons/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/apple-icon-60x60.png -------------------------------------------------------------------------------- /public/img/icons/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/apple-icon-72x72.png -------------------------------------------------------------------------------- /public/img/icons/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/apple-icon-76x76.png -------------------------------------------------------------------------------- /public/img/icons/apple-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/apple-icon-precomposed.png -------------------------------------------------------------------------------- /public/img/icons/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/apple-icon.png -------------------------------------------------------------------------------- /public/img/icons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/favicon-16x16.png -------------------------------------------------------------------------------- /public/img/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/favicon-32x32.png -------------------------------------------------------------------------------- /public/img/icons/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/favicon-96x96.png -------------------------------------------------------------------------------- /public/img/icons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/favicon.ico -------------------------------------------------------------------------------- /public/img/icons/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/ms-icon-144x144.png -------------------------------------------------------------------------------- /public/img/icons/ms-icon-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/ms-icon-150x150.png -------------------------------------------------------------------------------- /public/img/icons/ms-icon-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/ms-icon-310x310.png -------------------------------------------------------------------------------- /public/img/icons/ms-icon-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/icons/ms-icon-70x70.png -------------------------------------------------------------------------------- /public/img/land/hero.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/land/hero.jpeg -------------------------------------------------------------------------------- /public/img/land/plane.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/land/plane.jpg -------------------------------------------------------------------------------- /public/img/land/section.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/land/section.jpg -------------------------------------------------------------------------------- /public/img/land/vva.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/img/land/vva.png -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Vue Vuetify Admin 9 | 10 | 11 | 17 |
18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Vue Vuetify Admin", 3 | "short_name": "VVA", 4 | "icons": [ 5 | { 6 | "src": "./img/icons/android-icon-36x36.png", 7 | "sizes": "36x36", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "./img/icons/android-icon-48x48.png", 12 | "sizes": "48x48", 13 | "type": "image/png" 14 | }, 15 | { 16 | "src": "./img/icons/android-icon-72x72.png", 17 | "sizes": "72x72", 18 | "type": "image/png" 19 | }, 20 | { 21 | "src": "./img/icons/android-icon-96x96.png", 22 | "sizes": "96x96", 23 | "type": "image/png" 24 | }, 25 | { 26 | "src": "./img/icons/android-icon-192x192.png", 27 | "sizes": "192x192", 28 | "type": "image/png" 29 | }, 30 | { 31 | "src": "./img/icons/android-icon-512x512.png", 32 | "sizes": "512x512", 33 | "type": "image/png" 34 | } 35 | ], 36 | "start_url": "./index.html", 37 | "display": "standalone", 38 | "background_color": "#424242", 39 | "theme_color": "#FFFFFF" 40 | } 41 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /public/static/avatar/a1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/avatar/a1.jpg -------------------------------------------------------------------------------- /public/static/avatar/a2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/avatar/a2.jpg -------------------------------------------------------------------------------- /public/static/avatar/a3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/avatar/a3.jpg -------------------------------------------------------------------------------- /public/static/avatar/a4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/avatar/a4.jpg -------------------------------------------------------------------------------- /public/static/avatar/man_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/avatar/man_1.jpg -------------------------------------------------------------------------------- /public/static/avatar/man_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/avatar/man_2.jpg -------------------------------------------------------------------------------- /public/static/avatar/man_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/avatar/man_3.jpg -------------------------------------------------------------------------------- /public/static/avatar/man_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/avatar/man_4.jpg -------------------------------------------------------------------------------- /public/static/avatar/man_5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/avatar/man_5.jpg -------------------------------------------------------------------------------- /public/static/avatar/me.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/avatar/me.jpeg -------------------------------------------------------------------------------- /public/static/bg/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/1.jpg -------------------------------------------------------------------------------- /public/static/bg/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/10.jpg -------------------------------------------------------------------------------- /public/static/bg/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/11.jpg -------------------------------------------------------------------------------- /public/static/bg/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/12.jpg -------------------------------------------------------------------------------- /public/static/bg/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/13.jpg -------------------------------------------------------------------------------- /public/static/bg/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/14.jpg -------------------------------------------------------------------------------- /public/static/bg/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/15.jpg -------------------------------------------------------------------------------- /public/static/bg/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/16.jpg -------------------------------------------------------------------------------- /public/static/bg/17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/17.jpg -------------------------------------------------------------------------------- /public/static/bg/18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/18.jpg -------------------------------------------------------------------------------- /public/static/bg/19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/19.jpg -------------------------------------------------------------------------------- /public/static/bg/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/2.jpg -------------------------------------------------------------------------------- /public/static/bg/20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/20.jpg -------------------------------------------------------------------------------- /public/static/bg/21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/21.jpg -------------------------------------------------------------------------------- /public/static/bg/22.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/22.jpg -------------------------------------------------------------------------------- /public/static/bg/23.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/23.jpg -------------------------------------------------------------------------------- /public/static/bg/24.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/24.jpg -------------------------------------------------------------------------------- /public/static/bg/25.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/25.jpg -------------------------------------------------------------------------------- /public/static/bg/26.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/26.jpg -------------------------------------------------------------------------------- /public/static/bg/27.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/27.jpg -------------------------------------------------------------------------------- /public/static/bg/28.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/28.jpg -------------------------------------------------------------------------------- /public/static/bg/29.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/29.jpg -------------------------------------------------------------------------------- /public/static/bg/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/3.jpg -------------------------------------------------------------------------------- /public/static/bg/30.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/30.jpg -------------------------------------------------------------------------------- /public/static/bg/31.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/31.jpg -------------------------------------------------------------------------------- /public/static/bg/32.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/32.jpg -------------------------------------------------------------------------------- /public/static/bg/33.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/33.jpg -------------------------------------------------------------------------------- /public/static/bg/34.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/34.jpg -------------------------------------------------------------------------------- /public/static/bg/35.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/35.jpg -------------------------------------------------------------------------------- /public/static/bg/36.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/36.jpg -------------------------------------------------------------------------------- /public/static/bg/37.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/37.jpg -------------------------------------------------------------------------------- /public/static/bg/38.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/38.jpg -------------------------------------------------------------------------------- /public/static/bg/39.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/39.jpg -------------------------------------------------------------------------------- /public/static/bg/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/4.jpg -------------------------------------------------------------------------------- /public/static/bg/40.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/40.jpg -------------------------------------------------------------------------------- /public/static/bg/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/5.jpg -------------------------------------------------------------------------------- /public/static/bg/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/6.jpg -------------------------------------------------------------------------------- /public/static/bg/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/7.jpg -------------------------------------------------------------------------------- /public/static/bg/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/8.jpg -------------------------------------------------------------------------------- /public/static/bg/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/bg/9.jpg -------------------------------------------------------------------------------- /public/static/nature/n1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/nature/n1.jpeg -------------------------------------------------------------------------------- /public/static/nature/n2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/nature/n2.jpeg -------------------------------------------------------------------------------- /public/static/nature/n3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/nature/n3.jpeg -------------------------------------------------------------------------------- /public/static/nature/n4.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/nature/n4.jpeg -------------------------------------------------------------------------------- /public/static/nature/n5.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/nature/n5.jpeg -------------------------------------------------------------------------------- /public/static/nature/n6.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/nature/n6.jpeg -------------------------------------------------------------------------------- /public/static/nature/n7.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/nature/n7.jpeg -------------------------------------------------------------------------------- /public/static/nature/n8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NelsonEAX/vue-vuetify-admin/5450cc55aa83123a74908aeefe54b6e17e7c95cc/public/static/nature/n8.jpg -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | -------------------------------------------------------------------------------- /src/api/login.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Vuetify theme options. 3 | */ 4 | import { userAdmin, userEditor } from '@/api/mock'; 5 | 6 | /** 7 | * Login by email and password 8 | * 9 | * @param {String} email user email 10 | * @param {String} password user password 11 | */ 12 | export const loginByEmail = async (email, password) => { 13 | console.log(`[loginByEmail] email ${email}`); 14 | let user = {}; 15 | try { 16 | if (userEditor.email === email && userEditor.password === password) { 17 | user = userEditor; 18 | } else if (userAdmin.email === email && userAdmin.password === password) { 19 | user = userAdmin; 20 | } 21 | if (!user || !user.token) { 22 | throw new Error('User is not found'); 23 | } 24 | } catch (err) { 25 | console.warn(`[loginByEmail] ${err}`); 26 | } 27 | return { user }; 28 | }; 29 | 30 | /** 31 | * Get user information by token 32 | * 33 | * @param {String} token user token 34 | */ 35 | export const getUserInfo = async (token) => { 36 | console.log(`[getUserInfo] token ${token}`); 37 | let user = {}; 38 | try { 39 | if (!token) { 40 | throw new Error('Invalid token'); 41 | } 42 | 43 | if (token === userAdmin.token) { 44 | user = userAdmin; 45 | } else { 46 | user = userEditor; 47 | } 48 | } catch (err) { 49 | console.warn(`[getUserInfo] ${err}`); 50 | } 51 | return { user }; 52 | }; 53 | -------------------------------------------------------------------------------- /src/api/mock.js: -------------------------------------------------------------------------------- 1 | export * from '@/api/mock_chart'; 2 | 3 | export const lorem = `Lorem ipsum dolor sit amet, mel at clita quando. 4 | Te sit oratio vituperatoribus, 5 | nam ad ipsum posidonium mediocritatem, explicari dissentiunt cu mea. Repudiare disputationi 6 | vim in, mollis iriure nec cu, alienum argumentum ius ad. Pri eu justo aeque torquatos.`; 7 | 8 | export const landingInfo = { 9 | title: 'Vue Vuetify Admin', 10 | email: 'example@mail.com', 11 | phone: '+79876543210', 12 | adres: 'Yekaterinburg', 13 | }; 14 | 15 | export const userAdmin = { 16 | email: 'admin@vvadmin.io', 17 | password: 'abcd1234', 18 | user: 'NelsonEAX', 19 | status: 'admin', 20 | code: '', 21 | token: '3b759a9ca80234563d87672350659b2b', 22 | name: 'Nikolaev Nikolay', 23 | avatar: 'https://avatars.githubusercontent.com/u/13101802', 24 | roles: ['admin', 'editor'], 25 | }; 26 | 27 | export const userEditor = { 28 | email: 'editor@vvadmin.io', 29 | password: 'abcd1234', 30 | user: 'Editor', 31 | status: '', 32 | code: '', 33 | token: '09d0a5b30b267c2504fadd43348fbba3', 34 | name: 'Editor Name', 35 | avatar: '', 36 | roles: ['editor'], 37 | }; 38 | -------------------------------------------------------------------------------- /src/api/mock_activity.js: -------------------------------------------------------------------------------- 1 | const Items = [ 2 | { 3 | avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/ludwiczakpawel/128.jpg', 4 | timeString: 'Just now', 5 | color: 'primary', 6 | text: 'Michael finished one task just now.', 7 | }, 8 | { 9 | avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/suprb/128.jpg', 10 | timeString: '30 min ago', 11 | color: 'teal', 12 | text: 'Jim created a new task.', 13 | }, 14 | { 15 | avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/suprb/128.jpg', 16 | timeString: '1 hour ago', 17 | color: 'indigo', 18 | text: 'Li completed the PSD to html convert.', 19 | }, 20 | { 21 | avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/suprb/128.jpg', 22 | timeString: '3 hour ago', 23 | color: 'pink', 24 | text: 'Michael upload a new pic.', 25 | }, 26 | { 27 | avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/suprb/128.jpg', 28 | timeString: '10 min ago', 29 | color: 'cyan', 30 | text: 'Li assigned a a task to Michael', 31 | }, 32 | ]; 33 | 34 | const getActivity = (limit) => { 35 | console.log(); 36 | return (limit) ? Items.slice(0, limit) : Items; 37 | }; 38 | 39 | export default { 40 | getActivity, 41 | }; 42 | -------------------------------------------------------------------------------- /src/api/mock_order.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | { 3 | id: '150', 4 | product: 'iPhone6', 5 | price: '$699', 6 | status: 'processing', 7 | }, 8 | { 9 | id: '151', 10 | product: 'iPad Pro', 11 | price: '$299', 12 | status: 'sent', 13 | }, 14 | { 15 | id: '300', 16 | product: 'Microsoft surface', 17 | price: '$1,699', 18 | status: 'processing', 19 | }, 20 | { 21 | id: '320', 22 | product: 'Galaxy S7 edge', 23 | price: '$729', 24 | status: 'processing', 25 | }, 26 | { 27 | id: '501', 28 | product: '128G SD Card', 29 | price: '$699', 30 | status: 'delivered', 31 | }, 32 | ]; 33 | -------------------------------------------------------------------------------- /src/api/mock_project.js: -------------------------------------------------------------------------------- 1 | const Projects = [ 2 | { 3 | username: 'Dessie', 4 | avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/ludwiczakpawel/128.jpg', 5 | name: 'Template PSD', 6 | deadline: '2 days later', 7 | progress: 90, 8 | color: 'pink', 9 | }, 10 | { 11 | username: 'Jakayla', 12 | avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/suprb/128.jpg', 13 | name: 'Logo Design', 14 | deadline: '1 weeks later', 15 | progress: 70, 16 | color: 'success', 17 | }, 18 | { 19 | username: 'Ludwiczakpawel', 20 | avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/ludwiczakpawel/128.jpg', 21 | name: 'REST API', 22 | deadline: '1 Month later', 23 | progress: 50, 24 | color: 'info', 25 | }, 26 | { 27 | username: 'Damenleeturks', 28 | avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/damenleeturks/128.jpg', 29 | name: 'API Unit Test', 30 | deadline: '2 Month later', 31 | progress: 30, 32 | color: 'teal', 33 | }, 34 | { 35 | username: 'Caspergrl', 36 | avatar: 'https://s3.amazonaws.com/uifaces/faces/twitter/caspergrl/128.jpg', 37 | name: 'Project Deploy', 38 | deadline: 'half year later', 39 | progress: 15, 40 | color: 'grey', 41 | }, 42 | ]; 43 | 44 | const getProject = (limit) => { 45 | console.log(`[getProject] limit=${limit}`); 46 | return (limit) ? Projects.slice(0, limit) : Projects; 47 | }; 48 | 49 | export { 50 | Projects, 51 | getProject, 52 | }; 53 | -------------------------------------------------------------------------------- /src/api/mock_table.js: -------------------------------------------------------------------------------- 1 | const headers = [ 2 | { 3 | text: 'Dessert (100g serving)', 4 | align: 'left', 5 | sortable: false, 6 | value: 'name', 7 | }, 8 | { text: 'Calories', value: 'calories' }, 9 | { text: 'Fat (g)', value: 'fat' }, 10 | { text: 'Carbs (g)', value: 'carbs' }, 11 | { text: 'Protein (g)', value: 'protein' }, 12 | { text: 'Iron (%)', value: 'iron' }, 13 | ]; 14 | 15 | const desserts = [ 16 | { 17 | name: 'Frozen Yogurt', 18 | calories: 159, 19 | fat: 6.0, 20 | carbs: 24, 21 | protein: 4.0, 22 | iron: '1%', 23 | }, 24 | { 25 | name: 'Ice cream sandwich', 26 | calories: 237, 27 | fat: 9.0, 28 | carbs: 37, 29 | protein: 4.3, 30 | iron: '1%', 31 | }, 32 | { 33 | name: 'Eclair', 34 | calories: 262, 35 | fat: 16.0, 36 | carbs: 23, 37 | protein: 6.0, 38 | iron: '7%', 39 | }, 40 | { 41 | name: 'Cupcake', 42 | calories: 305, 43 | fat: 3.7, 44 | carbs: 67, 45 | protein: 4.3, 46 | iron: '8%', 47 | }, 48 | { 49 | name: 'Gingerbread', 50 | calories: 356, 51 | fat: 16.0, 52 | carbs: 49, 53 | protein: 3.9, 54 | iron: '16%', 55 | }, 56 | { 57 | name: 'Jelly bean', 58 | calories: 375, 59 | fat: 0.0, 60 | carbs: 94, 61 | protein: 0.0, 62 | iron: '0%', 63 | }, 64 | { 65 | name: 'Lollipop', 66 | calories: 392, 67 | fat: 0.2, 68 | carbs: 98, 69 | protein: 0, 70 | iron: '2%', 71 | }, 72 | { 73 | name: 'Honeycomb', 74 | calories: 408, 75 | fat: 3.2, 76 | carbs: 87, 77 | protein: 6.5, 78 | iron: '45%', 79 | }, 80 | { 81 | name: 'Donut', 82 | calories: 452, 83 | fat: 25.0, 84 | carbs: 51, 85 | protein: 4.9, 86 | iron: '22%', 87 | }, 88 | { 89 | name: 'KitKat', 90 | calories: 518, 91 | fat: 26.0, 92 | carbs: 65, 93 | protein: 7, 94 | iron: '6%', 95 | }, 96 | ]; 97 | 98 | export { 99 | headers, 100 | desserts, 101 | }; 102 | -------------------------------------------------------------------------------- /src/api/roadmap.js: -------------------------------------------------------------------------------- 1 | const steps = [ 2 | { 3 | icon: 'https://avatars1.githubusercontent.com/u/13101802?s=60&v=4', 4 | date: null, 5 | title: 'Firebase driver for API', 6 | description: null, 7 | }, 8 | { 9 | icon: 'https://avatars1.githubusercontent.com/u/13101802?s=60&v=4', 10 | date: null, 11 | title: 'Factory pattern for API', 12 | description: null, 13 | }, 14 | { 15 | icon: 'https://avatars1.githubusercontent.com/u/13101802?s=60&v=4', 16 | date: null, 17 | title: 'ErrorLog', 18 | description: null, 19 | }, 20 | 21 | 22 | // Released ------------------------------------------------------ 23 | { 24 | icon: 'https://avatars1.githubusercontent.com/u/13101802?s=60&v=4', 25 | date: '01.2020', 26 | title: 'BEM methodology', 27 | description: 'Base components use BEM: https://en.bem.info/methodology/', 28 | }, 29 | { 30 | icon: 'https://avatars1.githubusercontent.com/u/13101802?s=60&v=4', 31 | date: '01.2020', 32 | title: 'Dark theme', 33 | description: 'In settings panel can switch to light/dark theme style', 34 | }, 35 | { 36 | icon: 'https://avatars1.githubusercontent.com/u/13101802?s=60&v=4', 37 | date: '01.2020', 38 | title: 'Add Roadmap', 39 | description: 'Now we can plan further development of the application. ' 40 | + 'And also track the appearance of new functionality', 41 | }, 42 | { 43 | icon: 'https://avatars1.githubusercontent.com/u/13101802?s=60&v=4', 44 | date: '01.2020', 45 | title: 'Update to Vuetify 2', 46 | description: 'Update application layout to new grid and components', 47 | }, 48 | { 49 | icon: 'https://avatars1.githubusercontent.com/u/13101802?s=60&v=4', 50 | date: '2019', 51 | title: 'Application wireframe', 52 | description: 'During this period, the main functionality was created. ' 53 | + 'Available components and sections are added.' 54 | + 'The basis of the project was taken Vuetifi 1.5', 55 | }, 56 | { 57 | icon: 'https://avatars1.githubusercontent.com/u/13101802?s=60&v=4', 58 | date: '05.2019', 59 | title: 'Create project', 60 | description: 'Start new project', 61 | }, 62 | ]; 63 | 64 | export { steps as default }; 65 | -------------------------------------------------------------------------------- /src/config.js: -------------------------------------------------------------------------------- 1 | const packageJson = require('../package.json'); 2 | 3 | module.exports = { 4 | title: packageJson.title, 5 | 6 | /** 7 | * @type {String} '0.0.1' 8 | * @description Application version. 9 | * After the release of the new version, it is reset to the default settings. 10 | */ 11 | version: packageJson.version, 12 | 13 | /** 14 | * @type {String} 'localStorage' | 'sessionStorage' 15 | * @description Storage for user settings and sessions. 16 | */ 17 | storage: 'localStorage', 18 | 19 | /** 20 | * @type {String} 'vva_' 21 | * @description Key prefix for data in storage. 22 | */ 23 | prefix: 'vva_', 24 | 25 | /** 26 | * @type {Number} 604800 27 | * @description User session storage time in seconds. 28 | * Default 7 days 29 | */ 30 | ttl: /* 7 * 24 * 60 * */ 60, 31 | 32 | /** 33 | * @type {Object} 34 | * @description Default application settings. 35 | */ 36 | settings: { 37 | locale: 'en', 38 | dense: true, 39 | footer: false, 40 | navbar: { 41 | show: true, 42 | dense: false, 43 | logo: false, 44 | }, 45 | fullscreen: { 46 | show: false, 47 | btn: true, 48 | }, 49 | settingsPanel: { 50 | show: false, 51 | btn: true, 52 | }, 53 | theme: { 54 | index: 0, 55 | dark: false, 56 | }, 57 | }, 58 | 59 | /** 60 | * @type {boolean} true | false 61 | * @type {string | array} 'production' | ['production', 'development'] 62 | * @description Need show err logs component. 63 | * The default is only used in the production env 64 | * If you want to also use it in dev, you can pass ['production', 'development'] 65 | */ 66 | // errorLog: 'production', 67 | }; 68 | -------------------------------------------------------------------------------- /src/demo/components/Charts/Keyboard.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 159 | -------------------------------------------------------------------------------- /src/demo/components/Charts/mixins/resize.js: -------------------------------------------------------------------------------- 1 | import debounce from '@/utils'; 2 | 3 | export default { 4 | data() {}, 5 | mounted() { 6 | this.resizeHandler = debounce(() => { 7 | if (this.chart) { 8 | this.chart.resize(); 9 | } 10 | }, 100); 11 | window.addEventListener('resize', this.resizeHandler); 12 | }, 13 | beforeDestroy() { 14 | window.removeEventListener('resize', this.resizeHandler); 15 | }, 16 | }; 17 | -------------------------------------------------------------------------------- /src/demo/components/JsonEditor/index.vue: -------------------------------------------------------------------------------- 1 |