From b9653e985166b01ee8e20a73d51bf93d762a141d Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Mon, 23 Mar 2020 18:59:02 +0000 Subject: [PATCH] --- ayanova/devdocs/todo.txt | 12 ++++++----- ayanova/src/components/pick-list.vue | 30 ++++++++++++++++++---------- ayanova/src/views/home-dashboard.vue | 2 +- 3 files changed, 28 insertions(+), 16 deletions(-) diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 96282219..f271c885 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -48,13 +48,15 @@ CURRENT TODOs @@@@@@@@@@@ ROADMAP STAGE 1 and 2: -todo: consider adding a global setting that allows case *in*sensitive searches or vice versa for picklists - - Case is a pain in the ass on devices -todo: make sure that the picklist control has a delay in it so it doesn't go search on every character typed - - make some sane limits to it +todo: CASE insensitive + - make default case in-sensitive since majority of our clients are english anyway. + - Add a setting at server to make it case sensitive as an option but insenstive as the default as insurance in case other languages are fucked by that setting + - Case is a pain in the ass on devices and just a hinderance to finding things that start with a capitalized first name like company names etc + todo: stuff below go-over and make sure nothing missed -todo: once server and tests completed come back here and implement the actual component + todo: modify Widget form to use picklist to select user, test with huge tracts o'data + todo: once get here go back to server project todo which is documentation I believe at this point - probably deserves it's own page as we want each topic small and focused, not a huge page of text in the user docs diff --git a/ayanova/src/components/pick-list.vue b/ayanova/src/components/pick-list.vue index 681c7f57..2fd956ec 100644 --- a/ayanova/src/components/pick-list.vue +++ b/ayanova/src/components/pick-list.vue @@ -41,6 +41,8 @@ import _ from "../libs/lodash.min.js"; /* todo: set actual seleted ID value from our local selected whole object so outer form just gets id +todo: needs to fill in the selected value when the form opens regardless of what any other setting is, in other words it needs to ensure the pre-selected + value is in the list todo test multiple selection todo: option to display icon to open the record selected, (we have the type and the id and in v7 you could click on most titles to navigate to that record) if I add that then maybe need a "new" option on edit forms because it's a two step way to get to adding a new one of whatever it is without having to go @@ -60,9 +62,11 @@ export default { } else { if (vm.noSelectionValid) { window.$gz.form.addNoSelectionItem(vm.searchResults); - if (vm.value == null) { - vm.value = 0; - } + // debugger; + + //TODO: this may be needed to force new records to have a zero in their no selection valid fields rather than null + // however it could overwrite a valid value maybe so needs further testing + //this.$emit("input", 0); } } }, @@ -90,7 +94,7 @@ export default { props: { // value: { // type: Number, - // default: 0 + // default: null // }, ayaType: { type: Number, @@ -131,12 +135,18 @@ export default { //console.log("WATCH::SEARCHENTRY doing search now"); this.doSearch(); }, - value(val) { - //this ensures the parent form gets the onchange event - //not actually sure why there are two here but it worked with the datetime picker so I replicated it here - //To answer above it appears both are necessary for proper operation - this.$emit("input", val); - this.$emit("change", val); + // value(val) { + // //this ensures the parent form gets the onchange event + // //not actually sure why there are two here but it worked with the datetime picker so I replicated it here + // //To answer above it appears both are necessary for proper operation + // this.$emit("input", val); + // this.$emit("change", val); + // }, + selected(val) { + if (val && val.id) { + this.$emit("input", val.id); + //this.$emit("change", val.id); + } }, errors(val) { if (this.hasError()) { diff --git a/ayanova/src/views/home-dashboard.vue b/ayanova/src/views/home-dashboard.vue index 8f717e65..50aab724 100644 --- a/ayanova/src/views/home-dashboard.vue +++ b/ayanova/src/views/home-dashboard.vue @@ -49,7 +49,7 @@ export default { data() { return { selectedWidget: null, - selectedUser: null + selectedUser: 1 }; }, methods: {