├── .editorconfig
├── .eslintignore
├── .eslintrc.js
├── .gitignore
├── .postcssrc.js
├── .vscode
├── extensions.json
└── settings.json
├── README.md
├── babel.config.js
├── docs
├── print.png
└── print2.png
├── jsconfig.json
├── package.json
├── quasar.conf.js
├── src
├── App.vue
├── assets
│ ├── quasar-logo-full.svg
│ └── sad.svg
├── boot
│ ├── .gitkeep
│ ├── antvf2.js
│ ├── axios.js
│ └── i18n.js
├── components
│ ├── CardBase.vue
│ ├── EssentialLink.vue
│ ├── F2AppleWatch.vue
│ ├── F2Area.vue
│ ├── F2Basic.vue
│ ├── F2Heatmap.vue
│ ├── F2Line.vue
│ └── F2Pie.vue
├── css
│ └── app.css
├── i18n
│ ├── en-us
│ │ └── index.js
│ └── index.js
├── index.template.html
├── layouts
│ └── MainLayout.vue
├── pages
│ ├── Dashboard.vue
│ ├── Error404.vue
│ └── Index.vue
├── router
│ ├── index.js
│ └── routes.js
└── statics
│ ├── analysis.svg
│ ├── fundo-menu.jpg
│ ├── icons
│ ├── favicon-128x128.png
│ ├── favicon-16x16.png
│ ├── favicon-32x32.png
│ ├── favicon-96x96.png
│ └── favicon.ico
│ └── patrick_perfil.png
└── yarn.lock
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | charset = utf-8
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | /dist
2 | /src-bex/www
3 | /src-capacitor
4 | /src-cordova
5 | /.quasar
6 | /node_modules
7 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy
3 | // This option interrupts the configuration hierarchy at this file
4 | // Remove this if you have an higher level ESLint config file (it usually happens into a monorepos)
5 | root: true,
6 |
7 | parserOptions: {
8 | parser: 'babel-eslint',
9 | ecmaVersion: 2018, // Allows for the parsing of modern ECMAScript features
10 | sourceType: 'module' // Allows for the use of imports
11 | },
12 |
13 | env: {
14 | browser: true
15 | },
16 |
17 | // Rules order is important, please avoid shuffling them
18 | extends: [
19 | // Base ESLint recommended rules
20 | // 'eslint:recommended',
21 |
22 |
23 | // Uncomment any of the lines below to choose desired strictness,
24 | // but leave only one uncommented!
25 | // See https://eslint.vuejs.org/rules/#available-rules
26 | 'plugin:vue/essential', // Priority A: Essential (Error Prevention)
27 | // 'plugin:vue/strongly-recommended', // Priority B: Strongly Recommended (Improving Readability)
28 | // 'plugin:vue/recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead)
29 |
30 | 'standard'
31 |
32 | ],
33 |
34 | plugins: [
35 | // https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-file
36 | // required to lint *.vue files
37 | 'vue',
38 |
39 | ],
40 |
41 | globals: {
42 | ga: true, // Google Analytics
43 | cordova: true,
44 | __statics: true,
45 | process: true,
46 | Capacitor: true,
47 | chrome: true
48 | },
49 |
50 | // add your custom rules here
51 | rules: {
52 | // allow async-await
53 | 'generator-star-spacing': 'off',
54 | // allow paren-less arrow functions
55 | 'arrow-parens': 'off',
56 | 'one-var': 'off',
57 |
58 | 'import/first': 'off',
59 | 'import/named': 'error',
60 | 'import/namespace': 'error',
61 | 'import/default': 'error',
62 | 'import/export': 'error',
63 | 'import/extensions': 'off',
64 | 'import/no-unresolved': 'off',
65 | 'import/no-extraneous-dependencies': 'off',
66 | 'prefer-promise-reject-errors': 'off',
67 |
68 |
69 | // allow debugger during development only
70 | 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
71 | }
72 | }
73 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | .thumbs.db
3 | node_modules
4 |
5 | # Quasar core related directories
6 | .quasar
7 | /dist
8 | /docs
9 |
10 | # Cordova related directories and files
11 | /src-cordova/node_modules
12 | /src-cordova/platforms
13 | /src-cordova/plugins
14 | /src-cordova/www
15 |
16 | # Capacitor related directories and files
17 | /src-capacitor/www
18 | /src-capacitor/node_modules
19 |
20 | # BEX related directories and files
21 | /src-bex/www
22 | /src-bex/js/core
23 |
24 | # Log files
25 | npm-debug.log*
26 | yarn-debug.log*
27 | yarn-error.log*
28 |
29 | # Editor directories and files
30 | .idea
31 | *.suo
32 | *.ntvs*
33 | *.njsproj
34 | *.sln
35 |
--------------------------------------------------------------------------------
/.postcssrc.js:
--------------------------------------------------------------------------------
1 | // https://github.com/michael-ciniawsky/postcss-load-config
2 |
3 | module.exports = {
4 | plugins: [
5 | // to edit target browsers: use "browserslist" field in package.json
6 | require('autoprefixer')
7 | ]
8 | }
9 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "dbaeumer.vscode-eslint",
4 |
5 | "octref.vetur"
6 | ],
7 | "unwantedRecommendations": [
8 | "hookyqr.beautify",
9 | "dbaeumer.jshint",
10 | "ms-vscode.vscode-typescript-tslint-plugin"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "vetur.validation.template": false,
3 |
4 | "eslint.validate": ["javascript", "javascriptreact", "typescript", "vue"],
5 |
6 | "vetur.experimental.templateInterpolationService": true
7 | }
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | [](https://quasar.dev)
3 | [](https://quasar.dev)
4 | [](https://quasar.dev)
5 |
6 |
7 | # Quasar Antv F2 Charts (quasar-f2-charts)
8 |
9 | Dashboard project using Quasar and Antv F2
10 |
11 | > F2 is born for mobile, developed for developers as well as designers. It is Html5 Canvas-based, and is also compatible with Node.js, Weex and React Native. Based on the grammar of graphics, F2 provides all the chart types you'll need. Our mobile design guidelines enable better user experience in mobile visualzation projects
12 |
13 | ## Dependencies used
14 |
15 | - [@antv/f2](https://f2.antv.vision/en)
16 |
17 | ## Print
18 |
19 | [](http://quasar-f2-charts.surge.sh/)
20 |
21 | [](http://quasar-f2-charts.surge.sh/)
22 |
23 | ## Demo
24 |
25 | http://quasar-f2-charts.surge.sh/
26 |
27 | ## Install the dependencies
28 | ```bash
29 | npm install
30 | ```
31 |
32 | ### Start the app in development mode (hot-code reloading, error reporting, etc.)
33 | ```bash
34 | quasar dev
35 | ```
36 |
37 | ### Build the app for production
38 | ```bash
39 | quasar build
40 | ```
41 |
42 |
43 | ## Donations
44 |
45 | I've been contributing to the Vue.js and Quasar community for a few years with lots of content like articles, example projects, videos on my youtube channel. But I do all this for free to try to help those who are starting in this new world of modern front-end.
46 |
47 | If my content has helped you in any way and you want to buy me a coffee, you can use my PICPAY QRCode below. Any value is welcome and encourages me to continue creating content for the community.
48 |
49 |
50 | ### 🇧🇷 **BR**
51 |
52 | Estou há alguns anos contribuindo para a comunidade Vue.js e Quasar com muitos conteúdos como artigos, projetos de exemplos, vídeos no meu canal do youtube. Porém faço tudo isso de forma gratuita para tentar ajudar aqueles que estão iniciando nesse novo mundo de front-end moderno.
53 |
54 | Caso meu algum de meus conteúdos tenha lhe ajudado de alguma forma e você queira me pagar um café, pode utilizar meu QRCode do PICPAY abaixo. Qualquer valor é bem vindo e me estimula a continuar criando conteúdos para a comunidade.
55 |
56 | https://picpay.me/patrickmonteiroo
57 |
58 |
59 |

60 |
61 |
62 | ### Pantreon
63 |
64 | - [Pantreon Patrick Monteiro](https://www.patreon.com/patrickmonteiroo)
65 |
66 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 |
2 | module.exports = {
3 | presets: [
4 | '@quasar/babel-preset-app'
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/docs/print.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-f2-charts/40cb91df908428ca2f2f533f6ce22a7bcea3352d/docs/print.png
--------------------------------------------------------------------------------
/docs/print2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-f2-charts/40cb91df908428ca2f2f533f6ce22a7bcea3352d/docs/print2.png
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "paths": {
5 | "src/*": [
6 | "src/*"
7 | ],
8 | "app/*": [
9 | "*"
10 | ],
11 | "components/*": [
12 | "src/components/*"
13 | ],
14 | "layouts/*": [
15 | "src/layouts/*"
16 | ],
17 | "pages/*": [
18 | "src/pages/*"
19 | ],
20 | "assets/*": [
21 | "src/assets/*"
22 | ],
23 | "boot/*": [
24 | "src/boot/*"
25 | ],
26 | "vue$": [
27 | "node_modules/vue/dist/vue.esm.js"
28 | ]
29 | }
30 | },
31 | "exclude": [
32 | "dist",
33 | ".quasar",
34 | "node_modules"
35 | ]
36 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "quasar-f2-charts",
3 | "version": "0.0.1",
4 | "description": "A Quasar Framework app",
5 | "productName": "Quasar F2 Charts",
6 | "cordovaId": "org.cordova.quasar.app",
7 | "capacitorId": "",
8 | "author": "Patrick Monteiro ",
9 | "private": true,
10 | "scripts": {
11 | "lint": "eslint --ext .js,.vue ./",
12 | "test": "echo \"No test specified\" && exit 0"
13 | },
14 | "dependencies": {
15 | "@antv/f2": "^3.6.4-beta.7",
16 | "@quasar/extras": "^1.9.12",
17 | "axios": "^0.18.1",
18 | "quasar": "^1.14.7",
19 | "vue-i18n": "^8.0.0"
20 | },
21 | "devDependencies": {
22 | "@quasar/app": "^1.0.0",
23 | "babel-eslint": "^10.0.1",
24 | "eslint": "^6.8.0",
25 | "eslint-config-standard": "^14.1.0",
26 | "eslint-loader": "^3.0.3",
27 | "eslint-plugin-import": "^2.14.0",
28 | "eslint-plugin-node": "^11.0.0",
29 | "eslint-plugin-promise": "^4.0.1",
30 | "eslint-plugin-standard": "^4.0.0",
31 | "eslint-plugin-vue": "^6.1.2"
32 | },
33 | "engines": {
34 | "node": ">= 10.18.1",
35 | "npm": ">= 6.13.4",
36 | "yarn": ">= 1.21.1"
37 | },
38 | "browserslist": [
39 | "last 1 version, not dead, ie >= 11"
40 | ],
41 | "resolutions": {
42 | "@babel/parser": "7.7.5"
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/quasar.conf.js:
--------------------------------------------------------------------------------
1 | /*
2 | * This file runs in a Node context (it's NOT transpiled by Babel), so use only
3 | * the ES6 features that are supported by your Node version. https://node.green/
4 | */
5 |
6 | // Configuration for your app
7 | // https://quasar.dev/quasar-cli/quasar-conf-js
8 | /* eslint-env node */
9 |
10 | module.exports = function (/* ctx */) {
11 | return {
12 | // https://quasar.dev/quasar-cli/cli-documentation/supporting-ie
13 | supportIE: false,
14 |
15 | // https://quasar.dev/quasar-cli/cli-documentation/supporting-ts
16 | supportTS: false,
17 |
18 | // https://quasar.dev/quasar-cli/cli-documentation/prefetch-feature
19 | // preFetch: true,
20 |
21 | // app boot file (/src/boot)
22 | // --> boot files are part of "main.js"
23 | // https://quasar.dev/quasar-cli/cli-documentation/boot-files
24 | boot: [
25 |
26 | 'i18n',
27 | 'axios',
28 | 'antvf2'
29 | ],
30 |
31 | // https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
32 | css: [
33 | 'app.css'
34 | ],
35 |
36 | // https://github.com/quasarframework/quasar/tree/dev/extras
37 | extras: [
38 | // 'ionicons-v4',
39 | // 'mdi-v5',
40 | // 'fontawesome-v5',
41 | // 'eva-icons',
42 | // 'themify',
43 | // 'line-awesome',
44 | // 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
45 | 'fontawesome-v5',
46 | 'roboto-font', // optional, you are not bound to it
47 | 'material-icons' // optional, you are not bound to it
48 | ],
49 |
50 | // Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
51 | build: {
52 | vueRouterMode: 'hash', // available values: 'hash', 'history'
53 |
54 | // Add dependencies for transpiling with Babel (Array of regexes)
55 | // (from node_modules, which are by default not transpiled).
56 | // Does not applies to modern builds.
57 | // transpileDependencies: [],
58 |
59 | // modern: true, // https://quasar.dev/quasar-cli/modern-build
60 | // rtl: false, // https://quasar.dev/options/rtl-support
61 | // preloadChunks: true,
62 | // showProgress: false,
63 | // gzip: true,
64 | // analyze: true,
65 |
66 | // Options below are automatically set depending on the env, set them if you want to override
67 | // extractCSS: false,
68 |
69 | // https://quasar.dev/quasar-cli/cli-documentation/handling-webpack
70 | extendWebpack (cfg) {
71 | cfg.module.rules.push({
72 | enforce: 'pre',
73 | test: /\.(js|vue)$/,
74 | loader: 'eslint-loader',
75 | exclude: /node_modules/
76 | })
77 | }
78 | },
79 |
80 | // Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
81 | devServer: {
82 | https: false,
83 | port: 8080,
84 | open: true // opens browser window automatically
85 | },
86 |
87 | // https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
88 | framework: {
89 | iconSet: 'material-icons', // Quasar icon set
90 | lang: 'en-us', // Quasar language pack
91 |
92 | // Possible values for "all":
93 | // * 'auto' - Auto-import needed Quasar components & directives
94 | // (slightly higher compile time; next to minimum bundle size; most convenient)
95 | // * false - Manually specify what to import
96 | // (fastest compile time; minimum bundle size; most tedious)
97 | // * true - Import everything from Quasar
98 | // (not treeshaking Quasar; biggest bundle size; convenient)
99 | all: 'auto',
100 |
101 | components: [],
102 | directives: [],
103 |
104 | // Quasar plugins
105 | plugins: [
106 | 'AppFullscreen'
107 | ]
108 | },
109 |
110 | // animations: 'all', // --- includes all animations
111 | // https://quasar.dev/options/animations
112 | animations: [],
113 |
114 | // https://quasar.dev/quasar-cli/developing-ssr/configuring-ssr
115 | ssr: {
116 | pwa: false
117 | },
118 |
119 | // https://quasar.dev/quasar-cli/developing-pwa/configuring-pwa
120 | pwa: {
121 | workboxPluginMode: 'GenerateSW', // 'GenerateSW' or 'InjectManifest'
122 | workboxOptions: {}, // only for GenerateSW
123 | manifest: {
124 | name: 'Quasar F2 Charts',
125 | short_name: 'Quasar F2 Charts',
126 | description: 'A Quasar Framework app',
127 | display: 'standalone',
128 | orientation: 'portrait',
129 | background_color: '#ffffff',
130 | theme_color: '#027be3',
131 | icons: [
132 | {
133 | src: 'statics/icons/icon-128x128.png',
134 | sizes: '128x128',
135 | type: 'image/png'
136 | },
137 | {
138 | src: 'statics/icons/icon-192x192.png',
139 | sizes: '192x192',
140 | type: 'image/png'
141 | },
142 | {
143 | src: 'statics/icons/icon-256x256.png',
144 | sizes: '256x256',
145 | type: 'image/png'
146 | },
147 | {
148 | src: 'statics/icons/icon-384x384.png',
149 | sizes: '384x384',
150 | type: 'image/png'
151 | },
152 | {
153 | src: 'statics/icons/icon-512x512.png',
154 | sizes: '512x512',
155 | type: 'image/png'
156 | }
157 | ]
158 | }
159 | },
160 |
161 | // Full list of options: https://quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
162 | cordova: {
163 | // noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
164 | id: 'org.cordova.quasar.app'
165 | },
166 |
167 | // Full list of options: https://quasar.dev/quasar-cli/developing-capacitor-apps/configuring-capacitor
168 | capacitor: {
169 | hideSplashscreen: true
170 | },
171 |
172 | // Full list of options: https://quasar.dev/quasar-cli/developing-electron-apps/configuring-electron
173 | electron: {
174 | bundler: 'packager', // 'packager' or 'builder'
175 |
176 | packager: {
177 | // https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
178 |
179 | // OS X / Mac App Store
180 | // appBundleId: '',
181 | // appCategoryType: '',
182 | // osxSign: '',
183 | // protocol: 'myapp://path',
184 |
185 | // Windows only
186 | // win32metadata: { ... }
187 | },
188 |
189 | builder: {
190 | // https://www.electron.build/configuration/configuration
191 |
192 | appId: 'quasar-f2-charts'
193 | },
194 |
195 | // More info: https://quasar.dev/quasar-cli/developing-electron-apps/node-integration
196 | nodeIntegration: true,
197 |
198 | extendWebpack (/* cfg */) {
199 | // do something with Electron main process Webpack cfg
200 | // chainWebpack also available besides this extendWebpack
201 | }
202 | }
203 | }
204 | }
205 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
--------------------------------------------------------------------------------
/src/assets/quasar-logo-full.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
192 |
--------------------------------------------------------------------------------
/src/assets/sad.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/boot/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-f2-charts/40cb91df908428ca2f2f533f6ce22a7bcea3352d/src/boot/.gitkeep
--------------------------------------------------------------------------------
/src/boot/antvf2.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import F2 from '@antv/f2'
3 |
4 | // const F2 = require('@antv/f2');
5 |
6 | Vue.prototype.$f2 = F2
7 |
--------------------------------------------------------------------------------
/src/boot/axios.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import axios from 'axios'
3 |
4 | Vue.prototype.$axios = axios
5 |
--------------------------------------------------------------------------------
/src/boot/i18n.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueI18n from 'vue-i18n'
3 | import messages from 'src/i18n'
4 |
5 | Vue.use(VueI18n)
6 |
7 | const i18n = new VueI18n({
8 | locale: 'en-us',
9 | fallbackLocale: 'en-us',
10 | messages
11 | })
12 |
13 | export default ({ app }) => {
14 | // Set i18n instance on app
15 | app.i18n = i18n
16 | }
17 |
18 | export { i18n }
19 |
--------------------------------------------------------------------------------
/src/components/CardBase.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
16 |
--------------------------------------------------------------------------------
/src/components/EssentialLink.vue:
--------------------------------------------------------------------------------
1 |
2 |
8 |
12 |
13 |
14 |
15 |
16 | {{ title }}
17 |
18 | {{ caption }}
19 |
20 |
21 |
22 |
23 |
24 |
50 |
--------------------------------------------------------------------------------
/src/components/F2AppleWatch.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
102 |
103 |
110 |
--------------------------------------------------------------------------------
/src/components/F2Area.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
96 |
--------------------------------------------------------------------------------
/src/components/F2Basic.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
48 |
--------------------------------------------------------------------------------
/src/components/F2Heatmap.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
119 |
--------------------------------------------------------------------------------
/src/components/F2Line.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
102 |
--------------------------------------------------------------------------------
/src/components/F2Pie.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
102 |
--------------------------------------------------------------------------------
/src/css/app.css:
--------------------------------------------------------------------------------
1 | /* app global css */
2 |
--------------------------------------------------------------------------------
/src/i18n/en-us/index.js:
--------------------------------------------------------------------------------
1 | // This is just an example,
2 | // so you can safely delete all default props below
3 |
4 | export default {
5 | failed: 'Action failed',
6 | success: 'Action was successful'
7 | }
8 |
--------------------------------------------------------------------------------
/src/i18n/index.js:
--------------------------------------------------------------------------------
1 | import enUS from './en-us'
2 |
3 | export default {
4 | 'en-us': enUS
5 | }
6 |
--------------------------------------------------------------------------------
/src/index.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | <%= htmlWebpackPlugin.options.productName %>
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/layouts/MainLayout.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
12 |
13 |
14 |
15 |
16 | Quasar + Antv F2
17 |
18 |
19 |
24 |
25 |
26 |
27 |
28 |
36 |
37 |
38 | Menu
39 |
40 |
41 |
42 |
43 |
44 | Home
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 | Dashboard
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | Github do Projeto
61 | Repositório com o código fonte
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
Patrick Monteiro
72 |
73 |
75 |
77 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
105 |
106 |
111 |
--------------------------------------------------------------------------------
/src/pages/Dashboard.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
27 |
--------------------------------------------------------------------------------
/src/pages/Error404.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 | Sorry, nothing here...(404)
11 |
12 |
18 |
19 |
20 |
21 |
26 |
--------------------------------------------------------------------------------
/src/pages/Index.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |

10 |
11 |
12 |
13 | Quasar Antv F2
14 |
15 |
16 |
17 |
18 |
19 |
20 |
25 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 |
4 | import routes from './routes'
5 |
6 | Vue.use(VueRouter)
7 |
8 | /*
9 | * If not building with SSR mode, you can
10 | * directly export the Router instantiation;
11 | *
12 | * The function below can be async too; either use
13 | * async/await or return a Promise which resolves
14 | * with the Router instance.
15 | */
16 |
17 | export default function (/* { store, ssrContext } */) {
18 | const Router = new VueRouter({
19 | scrollBehavior: () => ({ x: 0, y: 0 }),
20 | routes,
21 |
22 | // Leave these as they are and change in quasar.conf.js instead!
23 | // quasar.conf.js -> build -> vueRouterMode
24 | // quasar.conf.js -> build -> publicPath
25 | mode: process.env.VUE_ROUTER_MODE,
26 | base: process.env.VUE_ROUTER_BASE
27 | })
28 |
29 | return Router
30 | }
31 |
--------------------------------------------------------------------------------
/src/router/routes.js:
--------------------------------------------------------------------------------
1 |
2 | const routes = [
3 | {
4 | path: '/',
5 | component: () => import('layouts/MainLayout.vue'),
6 | children: [
7 | { path: '', component: () => import('pages/Index.vue') },
8 | { path: 'dashboard', component: () => import('pages/Dashboard.vue') }
9 | ]
10 | }
11 | ]
12 |
13 | // Always leave this as last one
14 | if (process.env.MODE !== 'ssr') {
15 | routes.push({
16 | path: '*',
17 | component: () => import('pages/Error404.vue')
18 | })
19 | }
20 |
21 | export default routes
22 |
--------------------------------------------------------------------------------
/src/statics/analysis.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/statics/fundo-menu.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-f2-charts/40cb91df908428ca2f2f533f6ce22a7bcea3352d/src/statics/fundo-menu.jpg
--------------------------------------------------------------------------------
/src/statics/icons/favicon-128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-f2-charts/40cb91df908428ca2f2f533f6ce22a7bcea3352d/src/statics/icons/favicon-128x128.png
--------------------------------------------------------------------------------
/src/statics/icons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-f2-charts/40cb91df908428ca2f2f533f6ce22a7bcea3352d/src/statics/icons/favicon-16x16.png
--------------------------------------------------------------------------------
/src/statics/icons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-f2-charts/40cb91df908428ca2f2f533f6ce22a7bcea3352d/src/statics/icons/favicon-32x32.png
--------------------------------------------------------------------------------
/src/statics/icons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-f2-charts/40cb91df908428ca2f2f533f6ce22a7bcea3352d/src/statics/icons/favicon-96x96.png
--------------------------------------------------------------------------------
/src/statics/icons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-f2-charts/40cb91df908428ca2f2f533f6ce22a7bcea3352d/src/statics/icons/favicon.ico
--------------------------------------------------------------------------------
/src/statics/patrick_perfil.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/patrickmonteiro/quasar-f2-charts/40cb91df908428ca2f2f533f6ce22a7bcea3352d/src/statics/patrick_perfil.png
--------------------------------------------------------------------------------