diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index c3fb9387..bc102e72 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -42,31 +42,30 @@ CURRENT ROADMAP CURRENT TODOs =-=-=-=-=-=-= -todo: outstanding question about below: - - how will it work in practice if Name is the third column desired and set in listview? - - how is client to know it's the default column if it's in third place? - - do I force the leftmost to be immovable and always present? Seems wierd but maybe not as sort and filter not determined by order, acutally it kind of is, shit - - Ok maybe if defined in field definitions first is default but server includes a flag to indicate it's default no matter the order. - - Nope, convention sucks in this case due to column order needs, need to go back to a deterministic method with an added property of datalistfielddefinition object - - it has to be there but in any order so needs a flag instead and some server work to ensure it's returned -todo: re-plan immediate below based on deterministic method with an added property as above, then implement -todo: default "df" thing isn't really working at the moment, I can remove the Name column from widgets and then I can't open a widget from teh grid - - see if "df" has any purpose other than my initial though of an openable option for the record - - it was required to know what object the row identifies so that bulk actions can be peformed when multiple selected, but other ways to do that - - OLD CHANGES (NO, CHANGE THIS FIRST), replace df column with a CONVENTION of first column (as defined in field column definitions) is always required and identifies the row: + +todo: default "df" thing isn't really working at the moment, I can remove the Name column from widgets and then I can't open a widget from teh grid + - CHANGES replace df column with a flag indicating which column is the required rowID column or "RID" or "rid" of first column (as defined in field column definitions) is always required and identifies the row: - Remove df column from server, client and tests - - NEW CONVENTION TO REPLACE DF: - - The first column output by datalist (as defined in datalist definition object) is *always* the row ID column and can't be hidden and is required to show in datatable - - Add code to listVieweditor to always have first column in field definitions set to required / visible and cannot be set to hidden (take away the switch to make it obvious) - -It can be moved all they want but never not included - - Change datalist SQL builder select columns code at server to always return row id column even if not in listview - - ListView save Validation change to check that first column is *always* present in listview, not valid if it's missing - - this will happen with our tools automatically but need it for api users - - TESTS: write a test to ensure the first column as defined is always included even if attempt to circumvent by not defining it + - SERVER: + - Change datalist SQL builder select columns code at server to always return rid column even if not in listview + - ListView save Validation change to check that rid column is *always* present in listview, not valid if it's missing + - this will happen with our tools automatically but need it for api users + + - CLIENT: column with rid:true or rid:1 or just present is *always* the row ID column and can't be hidden and is required to show in datatable + - must be present but doesn't matter which order it's in as long as it's there + + - Add code to listVieweditor to always have rid flagged column set to required / visible and cannot be set to hidden (take away the switch to make it obvious) + -It can be moved all they want but never not included + + + - INTEGRATION TESTS: + - test to ensure the rid column as is always included even if attempt to circumvent by not defining it + - validation test to ensure attempt to save a listview without the rid column present results in fail required + + - - Update integration tests as required to support lack of df column todo: when duplicate is inactive it looks the same, is it really being set inactive?