diff --git a/client/src/views/fields/link-multiple.js b/client/src/views/fields/link-multiple.js index f09e1893f5..2a0b25608f 100644 --- a/client/src/views/fields/link-multiple.js +++ b/client/src/views/fields/link-multiple.js @@ -234,6 +234,10 @@ define('views/fields/link-multiple', 'views/fields/base', function (Dep) { var $element = this.$element; if (!this.autocompleteDisabled) { + this.$element.on('blur', () => { + setTimeout(() => this.$element.autocomplete('clear'), 100); + }); + this.$element.autocomplete({ serviceUrl: (q) => { return this.getAutocompleteUrl(q); diff --git a/client/src/views/fields/link-parent.js b/client/src/views/fields/link-parent.js index 239d675de2..7c1db46e34 100644 --- a/client/src/views/fields/link-parent.js +++ b/client/src/views/fields/link-parent.js @@ -277,19 +277,17 @@ define('views/fields/link-parent', 'views/fields/base', function (Dep) { this.trigger('change'); }); - if (this.mode === 'edit') { - this.$elementName.on('blur', (e) => { - setTimeout(() => { - if (this.model.has(this.nameName)) { - e.currentTarget.value = this.model.get(this.nameName); - } + this.$elementName.on('blur', e => { + setTimeout(() => { + if (this.mode === 'edit') { + e.currentTarget.value = this.model.get(this.nameName) || ''; + } - if (!this.autocompleteDisabled) { - this.$elementName.autocomplete('clear'); - } - }, 100); - }); - } + if (!this.autocompleteDisabled) { + this.$elementName.autocomplete('clear'); + } + }, 100); + }); if (!this.autocompleteDisabled) { this.$elementName.autocomplete({ @@ -345,12 +343,6 @@ define('views/fields/link-parent', 'views/fields/base', function (Dep) { var $elementName = this.$elementName; - $elementName.on('change', () => { - if (!this.model.get(this.idName)) { - $elementName.val(this.model.get(this.nameName)); - } - }); - this.once('render', () => { $elementName.autocomplete('dispose'); }); diff --git a/client/src/views/fields/link.js b/client/src/views/fields/link.js index ef84d8211e..19c335b32c 100644 --- a/client/src/views/fields/link.js +++ b/client/src/views/fields/link.js @@ -300,19 +300,17 @@ define('views/fields/link', 'views/fields/base', function (Dep) { } }); - if (this.mode === 'edit') { - this.$elementName.on('blur', (e) => { - setTimeout(() => { - if (this.model.has(this.nameName)) { - e.currentTarget.value = this.model.get(this.nameName); - } + this.$elementName.on('blur', e => { + setTimeout(() => { + if (this.mode === 'edit' && this.model.has(this.nameName)) { + e.currentTarget.value = this.model.get(this.nameName); + } - if (!this.autocompleteDisabled) { - this.$elementName.autocomplete('clear'); - } - }, 100); - }); - } + if (!this.autocompleteDisabled) { + this.$elementName.autocomplete('clear'); + } + }, 100); + }); var $elementName = this.$elementName;