diff --git a/ayanova/devdocs/test protocol.txt b/ayanova/devdocs/test protocol.txt index 63c85ea1..055c3b4a 100644 --- a/ayanova/devdocs/test protocol.txt +++ b/ayanova/devdocs/test protocol.txt @@ -24,10 +24,7 @@ Test protocol for latest build: - TIME INPUT UTC HONOURED? Date time input fucked: - 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 - - RELOAD DELETED RECORD HANDLED PROPERLY? On object not found when deleting an item and trying to reload the edit page, shoudl redirect to home or back instead or just not there - - NOT DOING THIS AS DIRTY CHECK COVERS IT ANYWAY....On save of record should have a brief notification that auto closes that says "SAVED" or something just to handle the case of people not clicking on save?? - - or, would the dirty check on nav away cover this anyway? - - Would it be annoying on a small device? + - 404 WORKS ON ALL DEVICES DISPLAYS PROPERLY - Can enter a route of /bad and it will just show an empty form like it thinks it's valid or something - UNDER CONSTRUCTION DISPLAYS PROPERLY? diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 141ce495..26acd821 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -42,100 +42,38 @@ BIG PLAN -NEXT TODOS: +IMMEDIATE TODOS: -UPDATE vue CLI 3.x to 4.x , Vuetify 1.5 to 2.x (many breaking changes) and all the things before commencing work -https://cli.vuejs.org/migrating-from-v3/ -https://vuetifyjs.com/en/getting-started/releases-and-migrations#migration-guide -https://blog.anoff.io/2019-10-migrating-vuetify-1-to-2/ -https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide +- UPDATE vue CLI 3.x to 4.x , Vuetify 1.5 to 2.x (many breaking changes) and all the things before commencing work + https://cli.vuejs.org/migrating-from-v3/ + https://vuetifyjs.com/en/getting-started/releases-and-migrations#migration-guide + https://blog.anoff.io/2019-10-migrating-vuetify-1-to-2/ + https://github.com/vuetifyjs/vuetify/releases/tag/v2.0.0#user-content-upgrade-guide -GRID and other useful porting info: -https://blog.anoff.io/2019-10-migrating-vuetify-1-to-2/ + GRID and other useful porting info: + https://blog.anoff.io/2019-10-migrating-vuetify-1-to-2/ -=============== UPGRADING NOTES ================= -Vuetify source code for components is here: https://github.com/vuetifyjs/vuetify/tree/master/packages/vuetify/src/components + =============== UPGRADING NOTES ================= + Vuetify source code for components is here: https://github.com/vuetifyjs/vuetify/tree/master/packages/vuetify/src/components -** NOTE: can start dev server, go to *it's* client to see a working older version of ayanova client for comparision! -http://localhost:7575/login -http://localhost:8080/login + ** NOTE: can start dev server, go to *it's* client to see a working older version of ayanova client for comparision! + http://localhost:7575/login + http://localhost:8080/login -CURRENT WORK: - - Get edit form existing features completely working (also need new reportchooser not based on the original dialog component) - new record entry is a bit fucked up: - Getting validation errors that don't make sense - DateTime isn't defaulting - Not sure how many of these are original errors and not new -- Back to other items listed here after edit form working again + ================================================= - - - - - - - -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 - - useful info here: https://vuejsdevelopers.com/2017/04/16/vue-js-browser-button-ux/ - - 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 - - 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: - - https://router.vuejs.org/guide/advanced/scroll-behavior.html - - Same position in window - - Same settings in any grids being shown and scrolled to same point in grids - - CODING: - - Need two types of page state, one that survives a logout login session and the other that is cleared - - For example, a user may want to always show 30 items in one list but 5 in another so this should survive login - - On the other hand the scroll position should not survive a session and should be cleared - - We don't need to worry about this for the pages in theory as there is a built in method used in router to enable it which seems flakey but it's the way to do it - - Focus only on the type that survives a session for now, the rest as required -DONE: ADD NEW WIDGET - - Add new record button to the edit form for a widget - - Hook up new record button on top of widget list - - Code for new record to the server - - Need a path to making a new record - - ID 0 maybe -DONE: New widget exposes issue with empty dates and the picker, it gives an error if the date is empty - -DONE: DUPLICATE - - Make it work, maybe server should do the duplicating and just return a record when user selects this, a duplicate route -TODO (NEEDS re-test ON MOBILE for appearance and functionality): Reports - stub out - - Stub out some fake reports in a drop down selection for testing, doesn't have to do anything but be present - - Currently implementing as a dialog, either I need to follow the vuetify dialog example and put it in the shell app.vue or I'm going to use the dialog library I already have once I get an answer on templates - - If I use the vuetify example it means there needs to be a dialog in the shell that is activated from any form inside it but it also needs to be bound and shit and won't be very clean - - If I use the library dialog component and figure it out in theory it will just popup when required and not pollute the shell template with anything. I guess it inserts itself into the dom. - - I have a question in to the developer about how to do the example with templates here: https://github.com/yariksav/vuetify-dialog/issues/39 - - The vuetify dialog example I would use is here: https://vuetifyjs.com/en/components/dialogs#form and the top one without activator here: https://vuetifyjs.com/en/components/dialogs#without-activator -DONE: For form initialization modify widget edit make an simple init call for onCreate - - Init should be promisified and have a chain of promises for form initialization so async stuff can properly finalize before init is done and code moves on -DONE: Turn widget edit ROLES into a static select populated from server - - Use the enumpicklist route to get a list of roles and use it for the widget UI -DONE: Widget - NOTES FIELD -DONE: TAGS!!! - - Implement and componentize - -DONE: Server SEED DATA WIDGET CUSTOM FIELDS DEFINITION - -DONE: WIDGET Customize menu item - - Make a menu item that shows in Widget edit form for users who are BizAdminFull only, title is "customize" - - this takes user to customize form where they can customize the widget form, set custom fields, maybe what shows or not etc - - this is to customize the form but it should contain a link to the locale text editor in case that's what they actually intend to customize - - -//DONE: Move all of my libs and code into the Window object under window.$gz(.local, .api etc) - - TODO (NEEDS re-test ON MOBILE for appearance and functionality): Reports - stub out - Stub out some fake reports in a drop down selection for testing, doesn't have to do anything but be present - WAS implementing as a dialog, that needs to be replaced now, either I need to follow the vuetify dialog example and put it in the shell app.vue or I'm going to use the dialog library I already have once I get an answer on templates @@ -159,6 +97,9 @@ TODO: BUG? If I open a widget record, make no changes just click on another nav - It's trying to open this url: https://test.helloayanova.com/inventory/widget/edit/ops for some reason tagging ops on to the current route, not replacing the route entirely + +TODO: Hover / hint text on copy log and log buttons (and possibly others?) + TODO: Modify underconstruction to support alternate size image - right now it just cuts off on smaller form factors, would be much nicer and cleaner if it shows responsively - Important because it's going to be seen by beta testers @@ -223,6 +164,11 @@ TODO: save and new button in edit form like v7? Or only from main? RETEST HERE ON ALL DEVICES +TODO: Clean up TODO list, have only actionable, not completed items. + - Make a to_test.txt doc so can move todo's to to test doc for testing + - anything in this doc that isn't related directly to individual todo's other than a small big picture stuff at top sb elsewhere + - Idea is to have a focused, clean actionable list here. + TODO: NOW THAT FORM IS THERE MOSTLY, CLEAN UP CODE FOR RE-USE in many other forms - Look for things to componentize - Look for things that are not specific to the widget edit form but can be abstracted away for other forms @@ -232,12 +178,15 @@ TODO: NOW THAT FORM IS THERE MOSTLY, CLEAN UP CODE FOR RE-USE in many other form - formstate shit is also menu shit really so can they be combined somehow, like present two sets of menu options one read only and one fully read-write? - some forms will have special needs but could handle them outside of the regular boilerplate shit? +TODO: AUTOMATIC TEST *** SUPER IMPORTANT ***** + - Once widget form is solid then need an automatic UI test for it to get that ball rolling and to ensure no slips during development + - Ideally it will test every input component and validate the entire record round trips properly, maybe it needs to also try different states like creating new, editing etc + + + TODO: Outstanding case with vuetify bug in clear button when readonly, check if fixed and if it isn't might need a workaround TODO: Document in user manual the Widget form as an example with instruction on how to use the various controls etc - "Anatomy of a AyaNova Form" -TODO: AUTOMATIC TEST - - Once widget form is solid then need an automatic UI test for it to get that ball rolling and to ensure no slips during development - - Ideally it will test every input component and validate the entire record round trips properly, maybe it needs to also try different states like creating new, editing etc TODO: Server needs to do widget validation 666.66 dollar amount test rules not only in debug mode so can test when put up to the devops server - Test code is in widgetbiz.cs around line 445, but do we need it? Maybe just find a proper server error that can be made to happen naturally? @@ -288,7 +237,7 @@ TODO: INVESTIGATE - Grid / LIST VIEW COLUMNS SELECTABLE?? I know customers will - Security and business rules may affect this as well, for some users they have rights to some of the record but not all of it, i.e. subcontractor so we do need granular field level control over what goes out from the server and at the client expectations - Maybe list objects also return a list of fields the current user will expect to see so the list can be pre-set up with the columns at the client *then* the data fetched to populate the list - Server should not send fields that are restricted or have them blocked out or something. -DONE: Grid list view should be easier to open, the open button should not be at the far right but more of the whole entire element or a larger portion of it maybe? + TODO: List view FILTER button - Get it working TODO: Grid list STUB OUT other options