From e3167918418f74d55490740b9a60e41992cdf27d Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 27 Aug 2020 19:30:06 +0000 Subject: [PATCH] --- ayanova/devdocs/todo.txt | 8 +++- ayanova/package-lock.json | 38 +++++++++++++---- ayanova/package.json | 2 + ayanova/src/router.js | 8 ++++ ayanova/src/views/ay-report-edit.vue | 61 ++++++++++++++++++++++++++++ ayanova/vue.config.js | 17 ++++++++ 6 files changed, 125 insertions(+), 9 deletions(-) create mode 100644 ayanova/src/views/ay-report-edit.vue diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index e3fa9944..eb118017 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -2,7 +2,13 @@ @@@@@@@@@@@@@@@ ROADMAP STAGE 4 - REPORTING / DASHBOARD / KPI @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ - +todo: chunk-vendors has fa-brands in it which is fucking huge, what else is in there I don't need? + eradicate fa-brands! + Looks like I'm doing it wrong, I was using a generic NPM module when there is a Vue specific one that also has guidance to limit to just the icons I actually use: + https://github.com/FortAwesome/vue-fontawesome + This could be a big breaking change so need to do it carefully and all at once as it's own project + Definitely need to do though, it will save a lot of size to just include the actual icons I'm using which is a handful + REPORTING diff --git a/ayanova/package-lock.json b/ayanova/package-lock.json index 985a957b..1cc9859d 100644 --- a/ayanova/package-lock.json +++ b/ayanova/package-lock.json @@ -5808,8 +5808,7 @@ "big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, "binary-extensions": { "version": "1.12.0", @@ -13420,7 +13419,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -13430,14 +13428,12 @@ "emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" }, "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, "requires": { "minimist": "^1.2.0" } @@ -13445,8 +13441,7 @@ "minimist": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" } } }, @@ -14011,6 +14006,19 @@ "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" }, + "monaco-editor": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.20.0.tgz", + "integrity": "sha512-hkvf4EtPJRMQlPC3UbMoRs0vTAFAYdzFQ+gpMb8A+9znae1c43q8Mab9iVsgTcg/4PNiLGGn3SlDIa8uvK1FIQ==" + }, + "monaco-editor-webpack-plugin": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/monaco-editor-webpack-plugin/-/monaco-editor-webpack-plugin-1.9.0.tgz", + "integrity": "sha512-tOiiToc94E1sb50BgZ8q8WK/bxus77SRrwCqIpAB5er3cpX78SULbEBY4YPOB8kDolOzKRt30WIHG/D6gz69Ww==", + "requires": { + "loader-utils": "^1.2.3" + } + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -14071,6 +14079,11 @@ "dev": true, "optional": true }, + "nano-assign": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/nano-assign/-/nano-assign-1.0.1.tgz", + "integrity": "sha512-1K8ncUoAYFPYcCZqrB+K2XQaFCmA35rryJCtPkGrG3zYkwm+iIUZRIHyaAfuy6zxaK9siPdjeJq7+Inijm6xhw==" + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -19014,6 +19027,15 @@ } } }, + "vue-monaco": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/vue-monaco/-/vue-monaco-1.2.1.tgz", + "integrity": "sha512-2orch8gJ9sxb95UJbFe7YIS5t9q0Op5ppU+rWUjHgHHsY2Hc2svcnJsbXBKNJYYyJLdzRq0uO4eP0N7mi1iG7w==", + "requires": { + "monaco-editor": "^0.20.0", + "nano-assign": "^1.0.0" + } + }, "vue-router": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.3.4.tgz", diff --git a/ayanova/package.json b/ayanova/package.json index 0d527e95..690561c8 100644 --- a/ayanova/package.json +++ b/ayanova/package.json @@ -20,12 +20,14 @@ "jwt-decode": "^2.2.0", "luxon": "^1.24.1", "marked": "^0.8.2", + "monaco-editor-webpack-plugin": "^1.9.0", "nprogress": "^0.2.0", "register-service-worker": "^1.7.1", "typeface-roboto": "0.0.75", "vue": "^2.6.11", "vue-chartjs": "^3.5.0", "vue-currency-input": "^1.19.0", + "vue-monaco": "^1.2.1", "vue-router": "^3.3.4", "vuetify": "^2.3.0", "vuex": "^3.4.0", diff --git a/ayanova/src/router.js b/ayanova/src/router.js index 7f7e4411..378b6f34 100644 --- a/ayanova/src/router.js +++ b/ayanova/src/router.js @@ -520,6 +520,14 @@ export default new Router({ component: () => import(/* webpackChunkName: "ay-common" */ "./views/ay-report.vue") }, + { + path: "/report-edit/:reportid", + name: "ay-report-edit", + component: () => + import( + /* webpackChunkName: "ay-report-edit" */ "./views/ay-report-edit.vue" + ) + }, //TEST TEST TEST TEST TEST { diff --git a/ayanova/src/views/ay-report-edit.vue b/ayanova/src/views/ay-report-edit.vue new file mode 100644 index 00000000..a9eef54f --- /dev/null +++ b/ayanova/src/views/ay-report-edit.vue @@ -0,0 +1,61 @@ + + + + diff --git a/ayanova/vue.config.js b/ayanova/vue.config.js index 78a95453..3ed3b58e 100644 --- a/ayanova/vue.config.js +++ b/ayanova/vue.config.js @@ -1,3 +1,20 @@ +const MonacoWebpackPlugin = require("monaco-editor-webpack-plugin"); module.exports = { + configureWebpack: { + plugins: [ + new MonacoWebpackPlugin({ + // available options are documented at https://github.com/Microsoft/monaco-editor-webpack-plugin#options + languages: [ + "javascript", + "css", + "html", + "typescript", + "json", + "handlebars" + ] + }) + ] + }, + transpileDependencies: ["vuetify"] };