diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 135c61d6..ea5479c1 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -76,9 +76,7 @@ DONE: For form initialization modify widget edit make an simple init call for 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 -TODO: TAGS!!! - - Adding a new tag doesn't flag the record as dirty! (selecting does though) - - Layout: tags seems to buried into the rest of the form fields, maybe needs more whitespace around it, or a box +TODO: TAGS!!! - COMPONENTIZE - Could auto-insert tags in suggestion list like the current year or month or year/month/day or user name or ?? diff --git a/ayanova/src/components/gzdateandtimepicker.vue b/ayanova/src/components/date-time-control.vue similarity index 98% rename from ayanova/src/components/gzdateandtimepicker.vue rename to ayanova/src/components/date-time-control.vue index 1a62554a..7440df30 100644 --- a/ayanova/src/components/gzdateandtimepicker.vue +++ b/ayanova/src/components/date-time-control.vue @@ -61,10 +61,10 @@ export default { //check pre-requisites exist just in case if (this.$gzdevmode()) { if (!this.$dayjs) { - throw "GzDateAndTimePicker: the DayJS library is required and missing"; + throw "DateTimeControl: the DayJS library is required and missing"; } if (!this.$gzlocale) { - throw "GzDateAndTimePicker: $gzlocale is required and missing"; + throw "DateTimeControl: $gzlocale is required and missing"; } } }, diff --git a/ayanova/src/components/tag-picker.vue b/ayanova/src/components/tag-picker.vue new file mode 100644 index 00000000..e69de29b diff --git a/ayanova/src/main.js b/ayanova/src/main.js index 84f0b77c..f0d6cbb3 100644 --- a/ayanova/src/main.js +++ b/ayanova/src/main.js @@ -28,7 +28,7 @@ import gzform from "./api/gzform"; import roles from "./api/authorizationroles"; import gztype from "./api/ayatype"; import "@/assets/css/main.css"; -import gzdateandtimepicker from "./components/gzdateandtimepicker.vue"; +import dateTimeControl from "./components/date-time-control.vue"; ///////////////////////////////////////////////////////////////// // LIBS AND GLOBAL ITEMS @@ -147,7 +147,7 @@ Vue.filter("boolastext", function vueFilterBoolAsText(value) { ///////////////////////////////////////////////////////////// //GZ COMPONENTS // -Vue.component("gz-date-time-picker", gzdateandtimepicker); +Vue.component("gz-date-time-picker", dateTimeControl); //////////////////////////////////////////////////////// //3rd party ui components diff --git a/ayanova/src/views/inventory-widget-edit.vue b/ayanova/src/views/inventory-widget-edit.vue index d0a543dc..1cd474d5 100644 --- a/ayanova/src/views/inventory-widget-edit.vue +++ b/ayanova/src/views/inventory-widget-edit.vue @@ -563,16 +563,16 @@ export default { } }, addTag() { - //todo: clean the tag to server standards first so it's de-duped in the record var theTag = this.tagSearchEntry; theTag = this.$gzutil.normalizeTag(theTag); - //make sure there are no existing of the same tag + //make sure there are no existing of the same tag? this.pickLists.tags.push(theTag); this.obj.tags.push(theTag); this.tagSearchEntry = ""; - //add tags to existing picklist so that it contains all the unique tags ever searched for or present in the object - //vm.pickLists.tags+=tags - //vm.pickLists.tags=uniqueonly(vm.pickLists.tags) + this.$gzform.setFormState({ + vm: this, + dirty: true + }); } } };