diff --git a/webroot/js/autocomplete.js b/webroot/js/autocomplete.js index 1754720..a0a5958 100644 --- a/webroot/js/autocomplete.js +++ b/webroot/js/autocomplete.js @@ -2,7 +2,10 @@ export default { props: { - group: String + group: { + type: String, + default: "" + } }, inject: ['txt', 'api'], data() { @@ -13,7 +16,7 @@ export default { }; }, methods: { - addUser(search) { + addUser() { this.$emit('add', this.item); } }, @@ -22,28 +25,29 @@ export default { input.autocomplete({ source: `${this.api.find}?co=${this.api.co}&mode=${this.api.mode}`, minLength: 3, - maxShowItems: 10, - focus: function( event, ui ) { + maxShowItems: 15, + focus: ( event, ui ) => { $("#grouper-add-member-search-container .co-loading-mini").hide(); - console.log('ui item', ui.item) - this.search = `${ui.item.label} (${ui.item.value})`; - this.val = ui.item.identifier; - this.item = ui.item; return false; }, open: function (event, ui) { $("#grouper-add-member-search-container .co-loading-mini").hide(); }, + create: function (event, ui) { + $("#add-user-input").focus(); + }, close: function (event, ui) { $("#grouper-add-member-search-container .co-loading-mini").hide(); }, search: function (event, ui) { $("#grouper-add-member-search-container .co-loading-mini").show(); }, - select: function (event, ui) { + // XXX We need access to the parent data object. + // As a result we have to use arrow function syntax (ES6) + select: (event, ui) => { this.val = ui.item.identifier; - this.search = `${ui.item.label} (${ui.item.value})`; this.item = ui.item; + this.search = `${ui.item.label} (${ui.item.value})`; $("#addUserbutton").prop('disabled', false).focus(); return false; }, @@ -51,19 +55,21 @@ export default { }, template: /*html*/`