├── .gitignore ├── README.md ├── babel.config.js ├── package-lock.json ├── package.json ├── public ├── favicon.ico └── index.html ├── src ├── App.vue ├── assets │ └── logo.png ├── components │ ├── Gantt.vue │ └── Info.vue ├── main.js └── styles │ ├── quasar.styl │ └── quasar.variables.styl └── vue.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw* 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-gantt-elastic 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 | ### Customize configuration 29 | See [Configuration Reference](https://cli.vuejs.org/config/). 30 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "presets": [ 3 | "@vue/app" 4 | ], 5 | "plugins": [ 6 | [ 7 | "transform-imports", 8 | { 9 | "quasar": { 10 | "transform": "quasar/dist/babel-transforms/imports.js", 11 | "preventFullImport": true 12 | } 13 | } 14 | ] 15 | ] 16 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-gantt-elastic", 3 | "version": "1.0.1", 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 | "@quasar/extras": "^1.1.2", 12 | "dayjs": "^1.8.14", 13 | "gantt-elastic": "^1.0.0", 14 | "gantt-elastic-header": "^0.1.11", 15 | "quasar": "^1.0.0-beta.23", 16 | "vue": "^2.6.10", 17 | "vue-router": "^3.0.6" 18 | }, 19 | "devDependencies": { 20 | "@vue/cli-plugin-babel": "^3.7.0", 21 | "@vue/cli-plugin-eslint": "^3.7.0", 22 | "@vue/cli-service": "^3.7.0", 23 | "@vue/eslint-config-prettier": "^4.0.1", 24 | "babel-eslint": "^10.0.1", 25 | "babel-plugin-transform-imports": "1.5.0", 26 | "eslint": "^5.16.0", 27 | "eslint-plugin-vue": "^5.0.0", 28 | "stylus": "^0.54.5", 29 | "stylus-loader": "^3.0.2", 30 | "vue-cli-plugin-quasar": "^1.0.0-beta.1", 31 | "vue-template-compiler": "^2.6.10" 32 | }, 33 | "eslintConfig": { 34 | "root": true, 35 | "env": { 36 | "node": true 37 | }, 38 | "extends": [ 39 | "plugin:vue/essential", 40 | "eslint:recommended" 41 | ], 42 | "rules": {}, 43 | "parserOptions": { 44 | "parser": "babel-eslint" 45 | } 46 | }, 47 | "postcss": { 48 | "plugins": { 49 | "autoprefixer": {} 50 | } 51 | }, 52 | "browserslist": [ 53 | "> 1%", 54 | "last 2 versions", 55 | "not ie <= 8" 56 | ] 57 | } 58 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neuronetio/vue-gantt-elastic/14b5aa7eb646469b255f3cc10755954cc60b3fd0/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | vue-gantt-elastic 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 46 | 47 | 59 | 60 | 62 | -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/neuronetio/vue-gantt-elastic/14b5aa7eb646469b255f3cc10755954cc60b3fd0/src/assets/logo.png -------------------------------------------------------------------------------- /src/components/Gantt.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 19 | 20 | 373 | -------------------------------------------------------------------------------- /src/components/Info.vue: -------------------------------------------------------------------------------- 1 | 20 | 21 | 38 | 39 | 41 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import App from './App.vue'; 3 | import Gantt from './components/Gantt.vue'; 4 | import Info from './components/Info.vue'; 5 | 6 | import Router from 'vue-router'; 7 | Vue.use(Router); 8 | 9 | const router = new Router({ 10 | routes: [ 11 | { 12 | path: '/', 13 | component: Gantt 14 | }, 15 | { 16 | path: '/info', 17 | component: Info 18 | } 19 | ] 20 | }); 21 | 22 | import './styles/quasar.styl'; 23 | import iconSet from 'quasar/icon-set/mdi-v3.js'; 24 | import '@quasar/extras/roboto-font/roboto-font.css'; 25 | import '@quasar/extras/mdi-v3/mdi-v3.css'; 26 | import { 27 | Quasar, 28 | QLayout, 29 | QHeader, 30 | QDrawer, 31 | QPageContainer, 32 | QPage, 33 | QToolbar, 34 | QToolbarTitle, 35 | QBtn, 36 | QIcon, 37 | QList, 38 | QItem, 39 | QItemSection, 40 | QItemLabel 41 | } from 'quasar'; 42 | 43 | Vue.use(Quasar, { 44 | config: {}, 45 | components: { 46 | QLayout, 47 | QHeader, 48 | QDrawer, 49 | QPageContainer, 50 | QPage, 51 | QToolbar, 52 | QToolbarTitle, 53 | QBtn, 54 | QIcon, 55 | QList, 56 | QItem, 57 | QItemSection, 58 | QItemLabel 59 | }, 60 | directives: {}, 61 | plugins: {}, 62 | iconSet: iconSet 63 | }); 64 | 65 | Vue.config.productionTip = false; 66 | 67 | new Vue({ 68 | router, 69 | render: h => h(App) 70 | }).$mount('#app'); 71 | -------------------------------------------------------------------------------- /src/styles/quasar.styl: -------------------------------------------------------------------------------- 1 | @import './quasar.variables' 2 | @import '~quasar-styl' 3 | // @import '~quasar-addon-styl' 4 | -------------------------------------------------------------------------------- /src/styles/quasar.variables.styl: -------------------------------------------------------------------------------- 1 | // It's highly recommended to change the default colors 2 | // to match your app's branding. 3 | 4 | $primary = #027BE3 5 | $secondary = #26A69A 6 | $accent = #9C27B0 7 | 8 | $positive = #21BA45 9 | $negative = #C10015 10 | $info = #31CCEC 11 | $warning = #F2C037 12 | 13 | @import '~quasar-variables-styl' 14 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | pluginOptions: { 3 | quasar: { 4 | treeShake: true 5 | } 6 | }, 7 | transpileDependencies: [ 8 | /[\\\/]node_modules[\\\/]quasar[\\\/]/ 9 | ] 10 | } 11 | --------------------------------------------------------------------------------