This commit is contained in:
@@ -9,13 +9,11 @@ NEXT TODOS:
|
|||||||
|
|
||||||
|
|
||||||
DONE (for widgetlist grid and basic views): VIEW PERSISTANCE / STATE
|
DONE (for widgetlist grid and basic views): VIEW PERSISTANCE / STATE
|
||||||
|
- There is temporary SESSION DATA and PERSISTED SESSION DATA
|
||||||
|
- Some needs to go on closing session (login/logout) and some needs to stay
|
||||||
- Persist view on return
|
- Persist view on return
|
||||||
- useful info here: https://vuejsdevelopers.com/2017/04/16/vue-js-browser-button-ux/
|
- useful info here: https://vuejsdevelopers.com/2017/04/16/vue-js-browser-button-ux/
|
||||||
- there's another item like this below somewhere.
|
- 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
|
|
||||||
- Although people probably would want this to be saved to survive sessions
|
|
||||||
- maybe it should save it per device locally only so that the customizations are local to the device so they can customize differently for different ui's?
|
|
||||||
- Or, maybe they always want to see 50 widgets no matter where but 10 clients??
|
|
||||||
- SCROLL POSITION !! - Very important, must return UI to exact scroll position on navigation backwards, not doing so causes a hellish UI to use.
|
- SCROLL POSITION !! - Very important, must return UI to exact scroll position on navigation backwards, not doing so causes a hellish UI to use.
|
||||||
- Seems to be a thing in teh vue router already:
|
- Seems to be a thing in teh vue router already:
|
||||||
- https://router.vuejs.org/guide/advanced/scroll-behavior.html
|
- https://router.vuejs.org/guide/advanced/scroll-behavior.html
|
||||||
@@ -63,7 +61,7 @@ TODO: Local user settings page / UI where can
|
|||||||
- set locale choices and values
|
- set locale choices and values
|
||||||
- Reset to default form settings
|
- Reset to default form settings
|
||||||
- Other shit I can't think of right now but there will be a lot
|
- Other shit I can't think of right now but there will be a lot
|
||||||
|
TODO: Add formstate data to technical support information
|
||||||
|
|
||||||
|
|
||||||
### RETEST ALL DEVICES WHEN GET TO HERE #####
|
### RETEST ALL DEVICES WHEN GET TO HERE #####
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ export function processLogout() {
|
|||||||
store.commit("logItem", "auth::processLogout -> User logged out");
|
store.commit("logItem", "auth::processLogout -> User logged out");
|
||||||
}
|
}
|
||||||
store.commit("logout");
|
store.commit("logout");
|
||||||
|
sessionStorage.clear(); //clear all temporary session storage data
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isLoggedIn() {
|
export function isLoggedIn() {
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import Vue from "vue";
|
|||||||
import errorHandler from "./errorhandler";
|
import errorHandler from "./errorhandler";
|
||||||
import store from "../store";
|
import store from "../store";
|
||||||
|
|
||||||
|
|
||||||
var triggeringChange = false;
|
var triggeringChange = false;
|
||||||
|
|
||||||
function isEmpty(o) {
|
function isEmpty(o) {
|
||||||
@@ -512,20 +513,35 @@ export default {
|
|||||||
// for form specified or empty object if there is none
|
// for form specified or empty object if there is none
|
||||||
// EAch form is responsible for what it stores and how it initializes, this just provides that
|
// EAch form is responsible for what it stores and how it initializes, this just provides that
|
||||||
// the form does the actual work of what settings it requires
|
// the form does the actual work of what settings it requires
|
||||||
|
// Form settings are temp and saved, saved ones go into vuex and localstorage and temporary ones are stored in session storage
|
||||||
//
|
//
|
||||||
getFormSettings(formKey) {
|
getFormSettings(formKey) {
|
||||||
var theFormSettings = store.state.formSettings[formKey];
|
return {
|
||||||
return theFormSettings;
|
temp: JSON.parse(sessionStorage.getItem(formKey)),
|
||||||
|
saved: store.state.formSettings[formKey]
|
||||||
|
};
|
||||||
},
|
},
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
// Set form settings
|
// Set form settings
|
||||||
// for form key specified
|
// for form key specified
|
||||||
//
|
// requires object with one or both keys {temp:{...tempformsettings...},saved:{...persistedformsettings...}}
|
||||||
//
|
//
|
||||||
setFormSettings(formKey, formSettings) {
|
setFormSettings(formKey, formSettings) {
|
||||||
store.commit("setFormSettings", {
|
if (errorHandler.devMode()) {
|
||||||
formKey: formKey,
|
if (!formSettings.saved && !formSettings.temp) {
|
||||||
formSettings: formSettings
|
throw "gzform:setFormSettings - saved AND temp keys are both missing from form data!";
|
||||||
});
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (formSettings.saved) {
|
||||||
|
store.commit("setFormSettings", {
|
||||||
|
formKey: formKey,
|
||||||
|
formSettings: formSettings.saved
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (formSettings.temp) {
|
||||||
|
sessionStorage.setItem(formKey, JSON.stringify(formSettings.temp));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -97,15 +97,31 @@ export default {
|
|||||||
});
|
});
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
var storedFormSettings = that.$gzform.getFormSettings(FORM_KEY);
|
var formSettings = that.$gzform.getFormSettings(FORM_KEY);
|
||||||
|
/**
|
||||||
|
* {
|
||||||
|
temp: { page: that.localFormSettings.pagination.page },
|
||||||
|
saved: {
|
||||||
|
rowsPerPage: that.localFormSettings.pagination.rowsPerPage,
|
||||||
|
sortBy: that.localFormSettings.pagination.sortBy,
|
||||||
|
descending: that.localFormSettings.pagination.descending
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
//set default values for form settings if they are not present yet
|
//set default values for form settings if they are not present yet
|
||||||
if (!storedFormSettings) {
|
if (!formSettings.saved || !formSettings.saved.rowsPerPage) {
|
||||||
storedFormSettings = {
|
that.localFormSettings = {
|
||||||
pagination: {}
|
pagination: {}
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
that.localFormSettings = storedFormSettings;
|
that.localFormSettings.pagination = {
|
||||||
|
rowsPerPage: formSettings.saved.rowsPerPage,
|
||||||
|
sortBy: formSettings.saved.sortBy,
|
||||||
|
descending: formSettings.saved.descending
|
||||||
|
};
|
||||||
|
if (formSettings.temp && formSettings.temp.page) {
|
||||||
|
that.localFormSettings.pagination.page = formSettings.temp.page;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
that.formState.ready = true;
|
that.formState.ready = true;
|
||||||
@@ -192,7 +208,14 @@ export default {
|
|||||||
that.localFormSettings.pagination &&
|
that.localFormSettings.pagination &&
|
||||||
that.localFormSettings.pagination.rowsPerPage
|
that.localFormSettings.pagination.rowsPerPage
|
||||||
) {
|
) {
|
||||||
that.$gzform.setFormSettings(FORM_KEY, that.localFormSettings);
|
that.$gzform.setFormSettings(FORM_KEY, {
|
||||||
|
temp: { page: that.localFormSettings.pagination.page },
|
||||||
|
saved: {
|
||||||
|
rowsPerPage: that.localFormSettings.pagination.rowsPerPage,
|
||||||
|
sortBy: that.localFormSettings.pagination.sortBy,
|
||||||
|
descending: that.localFormSettings.pagination.descending
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user