This commit is contained in:
@@ -45,39 +45,34 @@ CURRENT TODOs
|
|||||||
|
|
||||||
TODO: FILTER AT CLIENT
|
TODO: FILTER AT CLIENT
|
||||||
|
|
||||||
PICKLIST
|
|
||||||
- Picklists have all teh same requirements except they are used all over and replicated on many forms so they will have their own store considerations when the time comes
|
|
||||||
|
|
||||||
|
|
||||||
DataTable host FORM:
|
|
||||||
- Allows selection of listView, has button to go edit the listview
|
|
||||||
|
|
||||||
DataTable control:
|
|
||||||
- accepts formkey and DataListKey
|
|
||||||
- Checks for source of ListView JSON and uses it if present
|
|
||||||
- If ID and cached copy of JSON in form settings temp storage then uses cached copy
|
|
||||||
- If ID but no cached copy fetches and stores in form settings temp storeage cache and uses
|
|
||||||
- If saved JSON but no id then just uses directly
|
|
||||||
|
|
||||||
ListViewEditor
|
ListViewEditor
|
||||||
- Needs to know what formsettings key is in use to check with PUT ON ROUTE
|
- Edit list view, can also duplicate to create fresh one
|
||||||
- Needs to know which DataList key to work with PUT ON ROUTE
|
|
||||||
|
- gets listviewid and datalistkey on route
|
||||||
|
- INIT
|
||||||
|
- First GET DataListFields for the DataListKey from DataList ListFields route (query string DataListKey value supplied )
|
||||||
|
- This is the pool of available fields
|
||||||
|
- Second get the ListView that is currently in use so can setup the page view
|
||||||
|
- If listviewid is zero then that's starting with the default list view so need to fetch it and then init the form
|
||||||
|
- If listviewid is -1 then that's staring with an unsaved listview so get that from the saved form store
|
||||||
|
- If listviewid is greater than 0 then it's a saved listview and there sb a cached version of it but ideally maybe fetch it from
|
||||||
|
- Third: Make up the working copy array that the UI is tied to
|
||||||
|
- Fourth: when the working copy array changes that should trigger the UI to draw accordingly
|
||||||
|
- Editing
|
||||||
|
- any changes to UI objects affects working copy
|
||||||
|
- Also the cached listview stuff needs to be changed so if user leaves form and goes back the changes are immediately seen in the datatable
|
||||||
|
- Put unsaved listview into formsettings and set id to -1
|
||||||
|
- Saving
|
||||||
|
- process working copy to generate a ListView suitable to save and save it
|
||||||
|
- On save set formsettings listviewid to whatever the id is and put listview into temp cache and clear out unsaved listview
|
||||||
|
- duplicate
|
||||||
|
- Make a listview and save under new duplicate name or however Widget was coded (makes a default then user changes name I guess)
|
||||||
|
- set formsettings listviewid to duplicates new id and clear out formsettings unsaved listview and put formsettings listivew into cache
|
||||||
|
- delete
|
||||||
|
- Remove listview from server, fixup local formsetting to use default listview and id 0
|
||||||
|
|
||||||
|
|
||||||
DataTable form ListView picker
|
|
||||||
- when open form check store for formsettings for this form:
|
|
||||||
- If store SAVED formkey settings has listview ID then selects that item from listview picklist on form
|
|
||||||
- If store SAVED FORMKEY has no listview id and has JSON listView then then says -1 value and displays "Unsaved ListView" (User has to open listview editor to save it)
|
|
||||||
- If store SAVED FORMKEY has no listivew Id and no JSON listView then selects 0 and shows "-" meaning no selection
|
|
||||||
- On change:
|
|
||||||
- If a selection is made and there is an unsaved filter the unsaved gets obliterated and selection changes
|
|
||||||
- ListView picker has unsaved item removed from it's list
|
|
||||||
- when selection changes to a saved id item
|
|
||||||
- gzform formsettings saved ListView id is set to value selected
|
|
||||||
- gzform formsettings saved EditedListViewJson is set to empty / undefined
|
|
||||||
- When selection changes to the empty "-" default no selection
|
|
||||||
- formsettings ListViewId is set to 0
|
|
||||||
- EditedListViewJson is set undefined empty
|
|
||||||
- Tells gz-data-table control it should update itself
|
|
||||||
|
|
||||||
GZFORM FORMSETTINGS RELATED TO DATALISTVIEW
|
GZFORM FORMSETTINGS RELATED TO DATALISTVIEW
|
||||||
- formSettings.saved.dataTable.{listViewId:[0 if none or else the last saved view id selected], unsavedListView:[edited but unsaved listview json, only if listviewId=0]}
|
- formSettings.saved.dataTable.{listViewId:[0 if none or else the last saved view id selected], unsavedListView:[edited but unsaved listview json, only if listviewId=0]}
|
||||||
|
|||||||
@@ -102,6 +102,10 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
var vm = this;
|
var vm = this;
|
||||||
|
|
||||||
|
//set route values in data object so init form can handle
|
||||||
|
vm.dataListKey = this.$route.params.dataListKey;
|
||||||
|
vm.listViewId = this.$route.params.listViewId;
|
||||||
// //rehydrate last form settings
|
// //rehydrate last form settings
|
||||||
// var formSettings = window.$gz.form.getFormSettings(this.formKey);
|
// var formSettings = window.$gz.form.getFormSettings(this.formKey);
|
||||||
|
|
||||||
@@ -116,8 +120,7 @@ export default {
|
|||||||
.then(() => {
|
.then(() => {
|
||||||
// path: "/ay-data-list-view/:listViewId/:dataListKey",
|
// path: "/ay-data-list-view/:listViewId/:dataListKey",
|
||||||
vm.formState.ready = true;
|
vm.formState.ready = true;
|
||||||
vm.dataListKey = this.$route.params.dataListKey;
|
|
||||||
vm.listViewId = this.$route.params.listViewId;
|
|
||||||
window.$gz.eventBus.$on("menu-click", clickHandler);
|
window.$gz.eventBus.$on("menu-click", clickHandler);
|
||||||
//NOTE: this would normally be in getDataFromAPI but this form doesn't really need that function so doing it here
|
//NOTE: this would normally be in getDataFromAPI but this form doesn't really need that function so doing it here
|
||||||
//modify the menu as necessary
|
//modify the menu as necessary
|
||||||
|
|||||||
Reference in New Issue
Block a user