mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 06:53:25 +00:00
typeahead: Stop using html() to set value from updater().
I confirmed that updater() only returns a string or undefined.
composebox_typeahead.js
- compsebox calls `content_typeahead_selected` which returns the composebox
text content
- stream and PM: implicitly returns undefined
pill_typeahead.js
- implicitly returns undefined
search.js
- narrow_or_search_for_term — returns `get_search_bar_text` or empty string
custom_profile_fields.js, settings_playground.js
- no updater function
If no updater function is provided, then updater returns the
value passed to it, which is
`this.$menu.find(".active").data("typeahead-value")`, which is a string.
This commit is contained in:
@@ -191,10 +191,10 @@ Typeahead.prototype = {
|
|||||||
select(e) {
|
select(e) {
|
||||||
const val = this.$menu.find(".active").data("typeahead-value");
|
const val = this.$menu.find(".active").data("typeahead-value");
|
||||||
if (this.$element.is("[contenteditable]")) {
|
if (this.$element.is("[contenteditable]")) {
|
||||||
this.$element.html(this.updater(val, e)).trigger("change");
|
this.$element.text(this.updater(val, e)).trigger("change");
|
||||||
// Empty textContent after the change event handler
|
// Empty text after the change event handler
|
||||||
// converts the input text to html elements.
|
// converts the input text to html elements.
|
||||||
this.$element.html("");
|
this.$element.text("");
|
||||||
} else {
|
} else {
|
||||||
const after_text = this.updater(val, e);
|
const after_text = this.updater(val, e);
|
||||||
const [from, to_before, to_after] = get_string_diff(this.$element.val(), after_text);
|
const [from, to_before, to_after] = get_string_diff(this.$element.val(), after_text);
|
||||||
|
|||||||
Reference in New Issue
Block a user