From b1640e0baa56735a077a9763bab009a947feba54 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Fri, 24 May 2019 20:24:35 +0000 Subject: [PATCH] --- ayanova/devdocs/todo.txt | 16 +- ayanova/src/assets/underconstruction.svg | 241 +++++++++++++++++++ ayanova/src/components/underconstruction.vue | 9 + ayanova/src/main.js | 12 + ayanova/src/router.js | 31 ++- ayanova/src/views/accounting.vue | 20 ++ ayanova/src/views/administration.vue | 20 ++ ayanova/src/views/dispatch.vue | 20 ++ ayanova/src/views/login.vue | 14 +- ayanova/src/views/operations.vue | 20 ++ ayanova/src/views/service.vue | 20 ++ 11 files changed, 405 insertions(+), 18 deletions(-) create mode 100644 ayanova/src/assets/underconstruction.svg create mode 100644 ayanova/src/components/underconstruction.vue create mode 100644 ayanova/src/views/accounting.vue create mode 100644 ayanova/src/views/administration.vue create mode 100644 ayanova/src/views/dispatch.vue create mode 100644 ayanova/src/views/operations.vue create mode 100644 ayanova/src/views/service.vue diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 38a7ec91..9013f40b 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -12,21 +12,15 @@ TODO: - should show currently logged in user name, doesn't actually show anywhere right now - should show the exact client browser and device info as much as possible as it also serves as the tech support info thing - Copy to clipboard button for client info and log - - LOGIN: hitting enter / return should be equivalent of clicking on OK button - - Not actionable but FF is super slow on Lenovo and had to reset and reload multiple times to get to the app, but it did update almost immediately once it was loading. - - Also the icon is still showing the old outdated favicon, didn't reset, slow and fucky, app works though, no issues - - Pixel ONLY, not on any other platform: Chrome AND FireFox as well - went through stuff, when I went to about page then attempted to select LOG from menu I noticed ??Log was showing for log + - DONE LOGIN: hitting enter / return should be equivalent of clicking on OK button + + - DONE Pixel ONLY, not on any other platform: Chrome AND FireFox as well - went through stuff, when I went to about page then attempted to select LOG from menu I noticed ??Log was showing for log - In the log it was ok at the top and backing out and back in Log showed properly in the menu from the about page so it seemed to refresh when went into the log - TODO: Check if ??Log is fetched on About page or prefetched or where it's fetched and is it doing it properly with a Promise Chain - On pixel probably all though: - Selected 420 in the widget edit form but it shows as 11:20 on the main list, localization time issue - Retest on desktop, probably a general date time conversion bug - - Some devices showed still logged in and outdated version so concievably could keep working in it with wrong version - - Figure it out - - Ideally it should logout on version change, wipe local data maybe - - Maybe also look into auto logout if it's been a certain length of time from last usage of AyaNova? - - Failed login delay works as designed, but kind of long if you just typed it wrong, maybe look at reducing the delay a little bit - - Any delay is significant for a password hacker but annoying for a user who mistyped + - On field change and lose focus, the save button is not enabled necessarily until the second click - Can the save button be enabled more quickly after losing focus on the edited field or should I revamp that? - I can see users making a quick change clicking on save once and it won't save but they think it has. @@ -36,7 +30,7 @@ TODO: ### RETEST ALL DEVICES WHEN GET TO HERE ##### TO TEST: - - About form copy button + - above changes block diff --git a/ayanova/src/assets/underconstruction.svg b/ayanova/src/assets/underconstruction.svg new file mode 100644 index 00000000..89e635d7 --- /dev/null +++ b/ayanova/src/assets/underconstruction.svg @@ -0,0 +1,241 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Under + Construction + + + + + + + + + + + + diff --git a/ayanova/src/components/underconstruction.vue b/ayanova/src/components/underconstruction.vue new file mode 100644 index 00000000..5e1aca23 --- /dev/null +++ b/ayanova/src/components/underconstruction.vue @@ -0,0 +1,9 @@ + diff --git a/ayanova/src/main.js b/ayanova/src/main.js index 67f05c65..a7b9bc26 100644 --- a/ayanova/src/main.js +++ b/ayanova/src/main.js @@ -150,6 +150,18 @@ Vue.component("gz-date-time-picker", gzdateandtimepicker); // Vue.use(VuetifyDialog); +///////////////////////////////////////////////////////////// +//DIRECTIVES +// +//Auto focus on forms +Vue.directive("focus", { + // When the bound element is inserted into the DOM... + inserted: function(el) { + // Focus the element + el.focus(); + } +}); + ///////////////////////////////////////////////////////////////// // INSTANTIATE // diff --git a/ayanova/src/router.js b/ayanova/src/router.js index 60165019..f9e2b9af 100644 --- a/ayanova/src/router.js +++ b/ayanova/src/router.js @@ -1,7 +1,11 @@ import Vue from "vue"; import Router from "vue-router"; import Home from "./views/Home.vue"; -//import { isLoggedIn, login, logout } from "./utils/auth"; +import service from "./views/service.vue"; +import dispatch from "./views/dispatch.vue"; +import accounting from "./views/accounting.vue"; +import administration from "./views/administration.vue"; +import operations from "./views/operations.vue"; Vue.use(Router); @@ -41,6 +45,31 @@ export default new Router({ component: () => import(/* webpackChunkName: "inventory" */ "./views/inventory.vue") }, + { + path: "/service", + name: "service", + component: service + }, + { + path: "/dispatch", + name: "dispatch", + component: dispatch + }, + { + path: "/accounting", + name: "accounting", + component: accounting + }, + { + path: "/admin", + name: "administration", + component: administration + }, + { + path: "/ops", + name: "operations", + component: operations + }, { path: "/inventory/widget/edit/:id", name: "inventory-widget-edit", diff --git a/ayanova/src/views/accounting.vue b/ayanova/src/views/accounting.vue new file mode 100644 index 00000000..4b9ed3ef --- /dev/null +++ b/ayanova/src/views/accounting.vue @@ -0,0 +1,20 @@ + + + diff --git a/ayanova/src/views/administration.vue b/ayanova/src/views/administration.vue new file mode 100644 index 00000000..b8fc8a3d --- /dev/null +++ b/ayanova/src/views/administration.vue @@ -0,0 +1,20 @@ + + + diff --git a/ayanova/src/views/dispatch.vue b/ayanova/src/views/dispatch.vue new file mode 100644 index 00000000..3920d2e8 --- /dev/null +++ b/ayanova/src/views/dispatch.vue @@ -0,0 +1,20 @@ + + + diff --git a/ayanova/src/views/login.vue b/ayanova/src/views/login.vue index e7f39b06..628b6c76 100644 --- a/ayanova/src/views/login.vue +++ b/ayanova/src/views/login.vue @@ -2,12 +2,7 @@ - + @@ -29,6 +24,8 @@ autocapitalize="off" spellcheck="false" :error="errorBadCreds" + v-focus + v-on:keyup.enter="onEnterUserName" > @@ -41,6 +38,7 @@ required clearable :error="errorBadCreds" + v-on:keyup.enter="login" > @@ -77,6 +75,10 @@ export default { }); }, methods: { + onEnterUserName: function() { + //move focus to password + document.getElementsByName("password")[0].focus(); + }, login() { if (this.input.username != "" && this.input.password != "") { this.errorBadCreds = false; diff --git a/ayanova/src/views/operations.vue b/ayanova/src/views/operations.vue new file mode 100644 index 00000000..25b5faf0 --- /dev/null +++ b/ayanova/src/views/operations.vue @@ -0,0 +1,20 @@ + + + diff --git a/ayanova/src/views/service.vue b/ayanova/src/views/service.vue new file mode 100644 index 00000000..3ed1b730 --- /dev/null +++ b/ayanova/src/views/service.vue @@ -0,0 +1,20 @@ + + +