This commit is contained in:
2019-04-19 20:57:06 +00:00
parent 56f8ee0a35
commit 2a15d8e1aa
6 changed files with 39 additions and 33 deletions

View File

@@ -6,10 +6,10 @@ All platforms and browsers
- STATUS: I'm going to do another update and see if it's handled properly - STATUS: I'm going to do another update and see if it's handled properly
- I thought they would update automatically via the loader code?!? - I thought they would update automatically via the loader code?!?
- -
- IMPLEMENTED / NOT TESTED: Login user name field auto capitalizes first character on phones, need that to not do it - DONE: Login user name field auto capitalizes first character on phones, need that to not do it
- IMPLEMENTED / NOT TESTED: Login, doesn't have any ui if failed login, maybe a red frowny face icon? :) - DONE: Login, doesn't have any ui if failed login, maybe a red frowny face icon? :)
- IMPLEMENTED / NOT TESTED: need clear buttons on pw and login - DONE: need clear buttons on pw and login
- IMPLEMENTED / NOT TESTED: Numeric input fields don't give numeric keyboard - DONE: Numeric input fields don't give numeric keyboard
- MENU STUFF - MENU STUFF
- DONE Global Help link on *every* page - DONE Global Help link on *every* page
- will change on each page - will change on each page
@@ -37,13 +37,12 @@ All platforms and browsers
- DONE Instead, change back to using data but add a third parameter to make sure that keys are unique somehow - DONE Instead, change back to using data but add a third parameter to make sure that keys are unique somehow
- DONE That way we can put anything into the data key again because in future might need whole objects etc (almost certainly will) - DONE That way we can put anything into the data key again because in future might need whole objects etc (almost certainly will)
- DONE Move ABOUT item to just above HELP in menu and remove from main NAV and make it navigate properly on click - DONE Move ABOUT item to just above HELP in menu and remove from main NAV and make it navigate properly on click
- DONE Make about contextual and insert a menu item to view log - DONE Make about contextual and insert a menu item to view log
- TODO navigating through menu doesn't "back" properly when clicking back on browser controls
- WIRE up save menu item and add code to disable save on broken rules (and make red, disabled etc) - WIRE up save menu item and add code to disable save on broken rules (and make red, disabled etc)
- Wire up delete menu item - Wire up delete menu item
- api code is stubbed out for delete, need to write that as well - api code is stubbed out for delete, need to write that as well
- DONE TODO navigating through menu doesn't "back" properly when clicking back on browser controls
- DO I need to institute a back button? (in APP MODE?? installed to "desktop" on device will I be able to easily navigate without back and forward buttons)
- Widget list, refresh page causes items per page to reset back to 5 from custom setting, it should cache that shit at least for a session anyway - Widget list, refresh page causes items per page to reset back to 5 from custom setting, it should cache that shit at least for a session anyway
@@ -54,7 +53,7 @@ All platforms and browsers
- currently widget edit doesn't have a particular look or title so if you are at the top of it on a small device you can't see the url fully or really know which page it is - currently widget edit doesn't have a particular look or title so if you are at the top of it on a small device you can't see the url fully or really know which page it is
- A small title top left that stands out might be approprpiate, also a icon beside it? - A small title top left that stands out might be approprpiate, also a icon beside it?
- IMPLEMENTED / NOT TESTED: Application name is all lowercase "ayanova" when installed to device, must be something in the manifest files? - DONE: Application name is all lowercase "ayanova" when installed to device, must be something in the manifest files?
- Check about page localization code, is it firing in the right place because on Edge and iPad firefox it didn't show localized at first until a refresh so it fetched the keys but didn't display properly - Check about page localization code, is it firing in the right place because on Edge and iPad firefox it didn't show localized at first until a refresh so it fetched the keys but didn't display properly
- Calendar on iPad in two occasions with ff and opera the calendar date could not be selected until a time was changed then the date worked. Before that it would always stay the same no matter what selection was made and the UI would not show a change on select or press of date either. - Calendar on iPad in two occasions with ff and opera the calendar date could not be selected until a time was changed then the date worked. Before that it would always stay the same no matter what selection was made and the UI would not show a change on select or press of date either.
- On login, sometimes the home page is not showing as localized! Some kind of timing issue or wrong event used to localize it or something. ?? - On login, sometimes the home page is not showing as localized! Some kind of timing issue or wrong event used to localize it or something. ??
@@ -67,6 +66,7 @@ All platforms and browsers
End to end action End to end action
- Code for new record to the server - Code for new record to the server
TODO: INVESTIGATE - DO I need to institute a back button? (in APP MODE?? installed to "desktop" on device will I be able to easily navigate without back and forward buttons)
TODO: Delete widget button and rights stuff TODO: Delete widget button and rights stuff
TODO: History button, other AyaNova 7 example buttons all need to be there or their equivalent, do we need a top menu type thing? TODO: History button, other AyaNova 7 example buttons all need to be there or their equivalent, do we need a top menu type thing?
- Also Save button at bottom seems like an issue too - Also Save button at bottom seems like an issue too

View File

@@ -128,7 +128,7 @@ export default {
mounted() { mounted() {
//redirect to login if not authenticated //redirect to login if not authenticated
if (!this.$store.state.authenticated) { if (!this.$store.state.authenticated) {
this.$router.replace({ name: "login" }); this.$router.push({ name: "login" });
} }
}, },
computed: { computed: {

View File

@@ -87,7 +87,7 @@ export default {
// //
// Deal with a menu change request // Deal with a menu change request
// called from App.vue // called from App.vue
handleAppClick(that, menuitem) { handleAppClick(that, menuItem) {
//Key will start with the string "app:" if it's a global application command that should be handled here, //Key will start with the string "app:" if it's a global application command that should be handled here,
//otherwise it's a local command for a local form only //otherwise it's a local command for a local form only
//If there is any extended information required for the command it will be in the data property of the menu item //If there is any extended information required for the command it will be in the data property of the menu item
@@ -95,41 +95,45 @@ export default {
//each part is separated by a colon //each part is separated by a colon
//Handle different items //Handle different items
if (!menuitem.disabled && menuitem.key.startsWith("app:")) { var item = this.parseMenuItem(menuItem);
var keyparts = menuitem.key.split(":"); if (!item.disabled && item.owner == "app") {
var cmd = keyparts[1]; switch (item.key) {
switch (cmd) {
case "help": case "help":
var helpurl = that.$store.state.helpUrl + menuitem.data; var helpurl = that.$store.state.helpUrl + item.data;
window.open(helpurl, "_blank"); window.open(helpurl, "_blank");
break; break;
case "logout": case "logout":
processLogout(); processLogout();
that.$router.replace({ name: "login" }); that.$router.push({ name: "login" });
break; break;
case "nav": case "nav":
that.$router.replace({ name: menuitem.data }); that.$router.push({ name: item.data });
break; break;
default: default:
alert( alert(
"gzmenu:handleAppClick - unrecognized command [" + "gzmenu:handleAppClick - unrecognized command [" +
menuitem.key + menuItem.key +
"]" "]"
); );
} }
} }
}, },
/////////////////////////////// ///////////////////////////////
// CONFIRM RELEVANT CLICK // PARSE MENU ITEM CLICK
// //
// confirm the click is relevant // parse out the parts of a
// to a contextual caller // menu item from a click event
// called by all forms except app.vue //
isRelevantClick(menuitem) { parseMenuItem(menuItem) {
if (!menuitem.disabled && !menuitem.key.startsWith("app:")) { //format is "AREA:KEY:UNIQUEID"
return true; //and data is in data portion
} var keyparts = menuItem.key.split(":");
return false; return {
owner: keyparts[0],
key: keyparts[1],
data: menuItem.data,
disabled: menuItem.disabled
};
} }
//new functions above here //new functions above here
}; };

View File

@@ -107,9 +107,10 @@
/* Xeslint-disable */ /* Xeslint-disable */
import aboutInfo from "../api/aboutinfo"; import aboutInfo from "../api/aboutinfo";
// function clickHandler(item) { // function clickHandler(menuItem) {
// if (this.$gzmenu.isRelevantClick(item)) { // var item = this.$gzmenu.parseMenuItem(menuItem);
// alert("about.vue::context click: " + item.key); // if (item.owner == "about" && !item.disabled) {
// alert("about::context click: " + item.key);
// } // }
// } // }

View File

@@ -130,8 +130,9 @@
<script> <script>
/* xeslint-disable */ /* xeslint-disable */
function clickHandler(item) { function clickHandler(menuItem) {
if (this.$gzmenu.isRelevantClick(item)) { var item = this.$gzmenu.parseMenuItem(menuItem);
if (item.owner == "inventory-widget-edit" && !item.disabled) {
alert("inventory-widget-edit.vue::context click: " + item.key); alert("inventory-widget-edit.vue::context click: " + item.key);
} }
} }

View File

@@ -79,7 +79,7 @@ export default {
auth auth
.authenticate(this.input.username, this.input.password) .authenticate(this.input.username, this.input.password)
.then(() => { .then(() => {
this.$router.replace({ name: "home" }); this.$router.push({ name: "home" });
}) })
.catch(function handleCaughtLoginError(error) { .catch(function handleCaughtLoginError(error) {
/* xeslint-disable-next-line */ /* xeslint-disable-next-line */