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"]
};