├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ └── codeql-analysis.yml ├── .gitignore ├── LICENSE ├── babel.config.js ├── package.json ├── public ├── favicon.ico └── index.html ├── readme.md ├── src ├── App.vue ├── assets │ ├── images │ │ ├── dashmin.gif │ │ ├── icon.png │ │ └── icon.svg │ └── scss │ │ ├── app.scss │ │ └── dashmin.scss ├── components │ ├── Navbar.vue │ └── Sidebar.vue ├── main.js ├── router │ └── index.js ├── vendor.js └── views │ ├── Alerts.vue │ ├── Forms.vue │ ├── Index.vue │ ├── Login.vue │ ├── Register.vue │ └── Tables.vue └── yarn.lock /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: dacoto97 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/workflows/codeql-analysis.yml: -------------------------------------------------------------------------------- 1 | # For most projects, this workflow file will not need changing; you simply need 2 | # to commit it to your repository. 3 | # 4 | # You may wish to alter this file to override the set of languages analyzed, 5 | # or to provide custom queries or build logic. 6 | # 7 | # ******** NOTE ******** 8 | # We have attempted to detect the languages in your repository. Please check 9 | # the `language` matrix defined below to confirm you have the correct set of 10 | # supported CodeQL languages. 11 | # 12 | name: "CodeQL" 13 | 14 | on: 15 | push: 16 | branches: [ main ] 17 | pull_request: 18 | # The branches below must be a subset of the branches above 19 | branches: [ main ] 20 | schedule: 21 | - cron: '26 2 * * 4' 22 | 23 | jobs: 24 | analyze: 25 | name: Analyze 26 | runs-on: ubuntu-latest 27 | permissions: 28 | actions: read 29 | contents: read 30 | security-events: write 31 | 32 | strategy: 33 | fail-fast: false 34 | matrix: 35 | language: [ 'javascript' ] 36 | # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] 37 | # Learn more: 38 | # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed 39 | 40 | steps: 41 | - name: Checkout repository 42 | uses: actions/checkout@v2 43 | 44 | # Initializes the CodeQL tools for scanning. 45 | - name: Initialize CodeQL 46 | uses: github/codeql-action/init@v1 47 | with: 48 | languages: ${{ matrix.language }} 49 | # If you wish to specify custom queries, you can do so here or in a config file. 50 | # By default, queries listed here will override any specified in a config file. 51 | # Prefix the list here with "+" to use these queries and those in the config file. 52 | # queries: ./path/to/local/query, your-org/your-repo/queries@main 53 | 54 | # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). 55 | # If this step fails, then you should remove it and run the build manually (see below) 56 | - name: Autobuild 57 | uses: github/codeql-action/autobuild@v1 58 | 59 | # ℹ️ Command-line programs to run using the OS shell. 60 | # 📚 https://git.io/JvXDl 61 | 62 | # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines 63 | # and modify them (or add more) to build your code if your project 64 | # uses a compiled language 65 | 66 | #- run: | 67 | # make bootstrap 68 | # make release 69 | 70 | - name: Perform CodeQL Analysis 71 | uses: github/codeql-action/analyze@v1 72 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 dacoto.com 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. 22 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dashmin-vue", 3 | "version": "2.0.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build", 8 | "lint": "vue-cli-service lint" 9 | }, 10 | "dependencies": { 11 | "@fortawesome/fontawesome-free": "^5.15.3", 12 | "bootstrap": "^4.6.0", 13 | "core-js": "^3.6.5", 14 | "icheck-bootstrap": "^3.0.1", 15 | "jquery": "^3.6.0", 16 | "list.js": "^2.3.1", 17 | "nprogress": "^0.2.0", 18 | "popper.js": "^1.16.1", 19 | "select2": "^4.1.0-rc.0", 20 | "sweetalert": "^2.1.2", 21 | "toastr": "^2.1.4", 22 | "vue": "^2.6.11", 23 | "vue-router": "^3.2.0" 24 | }, 25 | "devDependencies": { 26 | "@vue/cli-plugin-babel": "~4.5.0", 27 | "@vue/cli-plugin-eslint": "~4.5.0", 28 | "@vue/cli-plugin-router": "~4.5.0", 29 | "@vue/cli-service": "~4.5.0", 30 | "babel-eslint": "^10.1.0", 31 | "eslint": "^6.7.2", 32 | "eslint-plugin-vue": "^6.2.2", 33 | "sass": "^1.35.1", 34 | "sass-loader": "^10.2.0", 35 | "vue-template-compiler": "^2.6.11" 36 | }, 37 | "eslintConfig": { 38 | "root": true, 39 | "env": { 40 | "node": true 41 | }, 42 | "extends": [ 43 | "plugin:vue/essential", 44 | "eslint:recommended" 45 | ], 46 | "parserOptions": { 47 | "parser": "babel-eslint" 48 | }, 49 | "rules": {} 50 | }, 51 | "browserslist": [ 52 | "> 1%", 53 | "last 2 versions", 54 | "not dead" 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dacoto/dashmin-vue/ee3dbd7229f8b9a501fe3465fceaafe810de26ea/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <%= htmlWebpackPlugin.options.title %> 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | ![Image of dashmin](./src/assets/images/dashmin.gif) 2 | 3 | # Dashmin Vue | Bootstrap 4 & Vue.js SPA Dashboard 4 | 5 | Admin dashboard template based on Bootstrap 4.x. with Vue.js and with the SPA architecture. 6 | 7 | ### [VIEW DEMO](https://dashmin-vue.vercel.app/) 8 | 9 | ## Project setup 10 | 11 | ``` 12 | yarn install 13 | ``` 14 | 15 | ### Compiles and hot-reloads for development 16 | 17 | ``` 18 | yarn serve 19 | ``` 20 | 21 | ### Compiles and minifies for production 22 | 23 | ``` 24 | yarn build 25 | ``` 26 | 27 | ### Lints and fixes files 28 | 29 | ``` 30 | yarn lint 31 | ``` 32 | 33 | ### Customize configuration 34 | 35 | See [Configuration Reference](https://cli.vuejs.org/config/). 36 | 37 | ### Dependencies 38 | 39 | |Package|Docs| 40 | |--- |--- | 41 | | fontawesome-free | https://fontawesome.com/ | 42 | | bootstrap | https://getbootstrap.com/ | 43 | | icheck-bootstrap | https://bantikyan.github.io/icheck-bootstrap/ | 44 | | jquery | https://jquery.com/ | 45 | | list.js| http://listjs.com/ | 46 | | nprogress | http://ricostacruz.com/nprogress/ | 47 | | popper.js | https://popper.js.org/ | 48 | | select2 | https://select2.org/ | 49 | | sweetalert | https://sweetalert.js.org/ | 50 | | toastr | http://codeseven.github.io/toastr/ | 51 | | vue | https://vuejs.org/ | 52 | | vue-router | https://router.vuejs.org/ | 53 | 54 | ### License 55 | 56 | MIT 57 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /src/assets/images/dashmin.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dacoto/dashmin-vue/ee3dbd7229f8b9a501fe3465fceaafe810de26ea/src/assets/images/dashmin.gif -------------------------------------------------------------------------------- /src/assets/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dacoto/dashmin-vue/ee3dbd7229f8b9a501fe3465fceaafe810de26ea/src/assets/images/icon.png -------------------------------------------------------------------------------- /src/assets/images/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 18 | 20 | 22 | 24 | 25 | 27 | 28 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /src/assets/scss/app.scss: -------------------------------------------------------------------------------- 1 | $fa-font-path: "../../../node_modules/@fortawesome/fontawesome-free/webfonts/"; 2 | 3 | @import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro'); 4 | @import '~bootstrap/scss/bootstrap'; 5 | @import '~toastr/toastr'; 6 | @import '~select2/dist/css/select2.css'; 7 | @import '~@fortawesome/fontawesome-free/scss/fontawesome'; 8 | @import '~@fortawesome/fontawesome-free/scss/brands'; 9 | @import '~@fortawesome/fontawesome-free/scss/regular'; 10 | @import '~@fortawesome/fontawesome-free/scss/solid'; 11 | @import '~icheck-bootstrap/icheck-bootstrap.css'; 12 | @import '~nprogress/nprogress.css'; 13 | 14 | @import "dashmin"; 15 | -------------------------------------------------------------------------------- /src/assets/scss/dashmin.scss: -------------------------------------------------------------------------------- 1 | html, body { 2 | height: 100%; 3 | } 4 | 5 | html { 6 | font-size: 14px; 7 | } 8 | 9 | body { 10 | overflow-x: hidden; 11 | font-family: 'Source Sans Pro', sans-serif; 12 | } 13 | 14 | .navbar-dark { 15 | .navbar-nav .nav-link, .navbar-text { 16 | color: rgba(255, 255, 255, 0.75); 17 | } 18 | 19 | .navbar-nav .nav-link { 20 | &:focus, &:hover { 21 | color: rgba(255, 255, 255, 1); 22 | } 23 | } 24 | 25 | .sidebar-toggle { 26 | color: rgba(255, 255, 255, 1); 27 | } 28 | } 29 | 30 | .navbar-light { 31 | .navbar-nav .nav-link, .navbar-text { 32 | color: rgba(0, 0, 0, 0.75); 33 | } 34 | 35 | .navbar-nav .nav-link { 36 | &:focus, &:hover { 37 | color: rgba(0, 0, 0, 1); 38 | } 39 | } 40 | 41 | .sidebar-toggle { 42 | color: rgba(0, 0, 0, 1); 43 | } 44 | } 45 | 46 | .sidebar { 47 | min-width: 230px; 48 | max-width: 230px; 49 | min-height: calc(100vh - 49px); 50 | transition: all 0.3s; 51 | 52 | ul { 53 | li a { 54 | display: block; 55 | padding: .75rem 1rem; 56 | text-decoration: none; 57 | } 58 | 59 | ul a { 60 | padding-left: 2.5rem; 61 | } 62 | } 63 | 64 | [data-toggle="collapse"] { 65 | position: relative; 66 | 67 | &:before { 68 | content: "\f0d7"; 69 | font-family: "Font Awesome 5 Free"; 70 | font-weight: 900; 71 | position: absolute; 72 | right: 1rem; 73 | } 74 | } 75 | 76 | [aria-expanded="true"]:before { 77 | content: "\f0d8"; 78 | } 79 | 80 | &.toggled { 81 | margin-left: -230px; 82 | } 83 | } 84 | 85 | .sidebar-dark { 86 | ul { 87 | li a { 88 | color: rgba(255, 255, 255, 0.75); 89 | } 90 | 91 | ul a { 92 | background: rgba(0, 0, 0, 0.15); 93 | } 94 | 95 | li a:hover, a.active { 96 | color: rgba(255, 255, 255, 1); 97 | background: rgba(0, 0, 0, 0.15); 98 | } 99 | } 100 | 101 | [aria-expanded="true"] { 102 | background: rgba(0, 0, 0, 0.15); 103 | } 104 | } 105 | 106 | .sidebar-light { 107 | ul { 108 | li a { 109 | color: rgba(0, 0, 0, 0.75); 110 | } 111 | 112 | ul a { 113 | background: rgba(0, 0, 0, 0.05); 114 | } 115 | 116 | li a:hover, a.active { 117 | color: rgba(0, 0, 0, 1); 118 | background: rgba(0, 0, 0, 0.05); 119 | } 120 | } 121 | 122 | [aria-expanded="true"] { 123 | background: rgba(0, 0, 0, 0.05); 124 | } 125 | } 126 | 127 | .btn-square { 128 | border-radius: 0; 129 | } 130 | 131 | .btn-pill { 132 | border-radius: 1.5rem; 133 | } 134 | 135 | .btn-icon { 136 | padding: .375rem .5rem; 137 | 138 | &.btn-sm { 139 | padding: .25rem .375rem; 140 | } 141 | 142 | &.btn-lg { 143 | padding: .5rem .675rem; 144 | } 145 | } 146 | 147 | .accordion .card-header { 148 | padding: 0; 149 | 150 | a { 151 | padding: .75rem 1.25rem; 152 | display: block; 153 | color: inherit; 154 | text-decoration: none; 155 | } 156 | 157 | .collapse-icon:before { 158 | content: "\f068"; 159 | font-family: "Font Awesome 5 Free"; 160 | font-weight: 900; 161 | } 162 | 163 | .collapsed .collapse-icon:before { 164 | content: "\f067"; 165 | } 166 | } 167 | 168 | .content { 169 | width: 100%; 170 | } 171 | 172 | @media (max-width: 768px) { 173 | .sidebar { 174 | margin-left: -230px; 175 | 176 | &.toggled { 177 | margin-left: 0; 178 | } 179 | } 180 | } 181 | 182 | .icon { 183 | margin-right: 5px; 184 | } 185 | 186 | .navbar-icon { 187 | margin-right: 5px; 188 | width: 25px; 189 | } 190 | 191 | .pagination a { 192 | position: relative; 193 | display: block; 194 | padding: 0.5rem 0.75rem; 195 | margin-left: -1px; 196 | line-height: 1.25; 197 | color: #007bff; 198 | background-color: #fff; 199 | border: 1px solid #dee2e6; 200 | 201 | :hover { 202 | z-index: 2; 203 | color: #0056b3; 204 | text-decoration: none; 205 | background-color: #e9ecef; 206 | border-color: #dee2e6; 207 | } 208 | 209 | :focus { 210 | z-index: 2; 211 | outline: 0; 212 | box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); 213 | } 214 | 215 | :not(:disabled):not(.disabled) { 216 | cursor: pointer; 217 | } 218 | } 219 | 220 | .sort { 221 | &:after { 222 | display: inline-block; 223 | width: 0; 224 | height: 0; 225 | border-left: 5px solid transparent; 226 | border-right: 5px solid transparent; 227 | border-bottom: 5px solid transparent; 228 | content: ""; 229 | position: relative; 230 | top: -10px; 231 | right: -5px; 232 | } 233 | 234 | &.asc:after { 235 | width: 0; 236 | height: 0; 237 | border-left: 5px solid transparent; 238 | border-right: 5px solid transparent; 239 | border-top: 5px solid #fff; 240 | content: ""; 241 | position: relative; 242 | top: 4px; 243 | right: -5px; 244 | } 245 | 246 | &.desc:after { 247 | width: 0; 248 | height: 0; 249 | border-left: 5px solid transparent; 250 | border-right: 5px solid transparent; 251 | border-bottom: 5px solid #fff; 252 | content: ""; 253 | position: relative; 254 | top: -4px; 255 | right: -5px; 256 | } 257 | } 258 | 259 | html, body { 260 | height: 100%; 261 | } 262 | 263 | .my-login-page { 264 | .brand { 265 | width: 90px; 266 | height: 90px; 267 | overflow: hidden; 268 | border-radius: 50%; 269 | margin: 0 auto; 270 | margin: 40px auto; 271 | box-shadow: 0 0 40px rgba(0, 0, 0, 0.05); 272 | 273 | img { 274 | width: 100%; 275 | } 276 | } 277 | 278 | .card-wrapper { 279 | width: 400px; 280 | } 281 | 282 | .card { 283 | border-color: transparent; 284 | box-shadow: 0 0 40px rgba(0, 0, 0, 0.05); 285 | 286 | &.fat { 287 | padding: 10px; 288 | } 289 | 290 | .card-title { 291 | margin-bottom: 30px; 292 | } 293 | } 294 | 295 | .form-control { 296 | border-width: 2.3px; 297 | } 298 | 299 | .form-group label { 300 | width: 100%; 301 | } 302 | 303 | .margin-top20 { 304 | margin-top: 20px; 305 | } 306 | 307 | .no-margin { 308 | margin: 0; 309 | } 310 | 311 | .footer { 312 | margin: 40px 0; 313 | color: #888; 314 | text-align: center; 315 | } 316 | } 317 | 318 | #nprogress { 319 | .bar { 320 | background: white; 321 | } 322 | 323 | .spinner-icon { 324 | border-top-color: white; 325 | border-left-color: white; 326 | } 327 | } 328 | -------------------------------------------------------------------------------- /src/components/Navbar.vue: -------------------------------------------------------------------------------- 1 | 25 | 26 | 31 | -------------------------------------------------------------------------------- /src/components/Sidebar.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 33 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import "./vendor" 2 | 3 | import Vue from "vue" 4 | import App from "./App.vue" 5 | import router from "./router" 6 | 7 | import "./assets/scss/app.scss" 8 | 9 | Vue.config.productionTip = false 10 | 11 | new Vue({ 12 | router, 13 | render: h => h(App), 14 | data () { 15 | return { 16 | showSidebar: false 17 | } 18 | } 19 | }).$mount("#app") 20 | -------------------------------------------------------------------------------- /src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from "vue" 2 | import VueRouter from "vue-router" 3 | 4 | Vue.use(VueRouter) 5 | 6 | const routes = [ 7 | { path: "/", name: "index", component: require("../views/Index.vue").default }, 8 | { path: "/forms", name: "forms", component: require("../views/Forms.vue").default }, 9 | { path: "/alerts", name: "alerts", component: require("../views/Alerts.vue").default }, 10 | { path: "/tables", name: "tables", component: require("../views/Tables.vue").default }, 11 | { path: "/login", name: "login", component: require("../views/Login.vue").default }, 12 | { path: "/register", name: "register", component: require("../views/Register.vue").default } 13 | ] 14 | 15 | const router = new VueRouter({ 16 | routes, 17 | mode: "history", 18 | linkExactActiveClass: "active" 19 | }) 20 | 21 | router.beforeResolve((to, from, next) => { 22 | if (to.name) { 23 | window.NProgress.start() 24 | } 25 | next() 26 | }) 27 | router.afterEach(() => { 28 | window.NProgress.done() 29 | }) 30 | 31 | export default router 32 | -------------------------------------------------------------------------------- /src/vendor.js: -------------------------------------------------------------------------------- 1 | window.$ = window.jQuery = require("jquery") 2 | require("popper.js") 3 | require("bootstrap") 4 | require("select2") 5 | window.List = require("list.js") 6 | window.swal = require("sweetalert") 7 | window.toastr = require("toastr") 8 | window.NProgress = require("nprogress") 9 | -------------------------------------------------------------------------------- /src/views/Alerts.vue: -------------------------------------------------------------------------------- 1 | 29 | 30 | 68 | -------------------------------------------------------------------------------- /src/views/Forms.vue: -------------------------------------------------------------------------------- 1 | 66 | 67 | 83 | -------------------------------------------------------------------------------- /src/views/Index.vue: -------------------------------------------------------------------------------- 1 | 53 | 54 | 64 | -------------------------------------------------------------------------------- /src/views/Login.vue: -------------------------------------------------------------------------------- 1 | 55 | 56 | 63 | -------------------------------------------------------------------------------- /src/views/Register.vue: -------------------------------------------------------------------------------- 1 | 55 | 56 | 63 | -------------------------------------------------------------------------------- /src/views/Tables.vue: -------------------------------------------------------------------------------- 1 | 58 | 59 | 77 | --------------------------------------------------------------------------------