mirror of
https://github.com/zulip/zulip.git
synced 2025-11-13 10:26:28 +00:00
compose_tooltip: Remove delay for invalid messages.
Does what714def080fwas trying to do without the side effects. Fixes:714def080f
This commit is contained in:
committed by
Tim Abbott
parent
58f16468ca
commit
54fd02b173
@@ -146,7 +146,7 @@ function clear_box(): void {
|
|||||||
"disabled-on-hover",
|
"disabled-on-hover",
|
||||||
);
|
);
|
||||||
// Reset send button status.
|
// Reset send button status.
|
||||||
$(".message-send-controls").removeClass("disabled-message-send-controls");
|
$("#compose-send-button").removeClass("disabled-message-send-controls");
|
||||||
}
|
}
|
||||||
|
|
||||||
let autosize_callback_opts: ComposeActionsStartOpts;
|
let autosize_callback_opts: ComposeActionsStartOpts;
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ export function initialize() {
|
|||||||
compose_validate.update_send_button_status();
|
compose_validate.update_send_button_status();
|
||||||
});
|
});
|
||||||
$("#compose-send-button").on("mouseleave", () => {
|
$("#compose-send-button").on("mouseleave", () => {
|
||||||
$(".message-send-controls").removeClass("disabled-message-send-controls");
|
$("#compose-send-button").removeClass("disabled-message-send-controls");
|
||||||
});
|
});
|
||||||
|
|
||||||
$("textarea#compose-textarea").on("input propertychange", () => {
|
$("textarea#compose-textarea").on("input propertychange", () => {
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ export function initialize(): void {
|
|||||||
});
|
});
|
||||||
|
|
||||||
tippy.delegate("body", {
|
tippy.delegate("body", {
|
||||||
target: "#compose-send-button",
|
target: "#compose-send-button:not(.disabled-message-send-controls)",
|
||||||
delay: EXTRA_LONG_HOVER_DELAY,
|
delay: EXTRA_LONG_HOVER_DELAY,
|
||||||
// By default, tippyjs uses a trigger value of "mouseenter focus",
|
// By default, tippyjs uses a trigger value of "mouseenter focus",
|
||||||
// but by specifying "mouseenter", this will prevent showing the
|
// but by specifying "mouseenter", this will prevent showing the
|
||||||
@@ -217,18 +217,11 @@ export function initialize(): void {
|
|||||||
trigger: "mouseenter",
|
trigger: "mouseenter",
|
||||||
appendTo: () => document.body,
|
appendTo: () => document.body,
|
||||||
onShow(instance) {
|
onShow(instance) {
|
||||||
// Don't show send-area tooltips if the popover is displayed or if the send button is disabled.
|
// Don't show send-area tooltips if the popover is displayed.
|
||||||
if (popover_menus.is_scheduled_messages_popover_displayed()) {
|
if (popover_menus.is_scheduled_messages_popover_displayed()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (user_settings.enter_sends) {
|
||||||
if ($(".message-send-controls").hasClass("disabled-message-send-controls")) {
|
|
||||||
instance.setContent(
|
|
||||||
compose_recipient.get_posting_policy_error_message() ||
|
|
||||||
compose_validate.get_disabled_send_tooltip(),
|
|
||||||
);
|
|
||||||
return undefined;
|
|
||||||
} else if (user_settings.enter_sends) {
|
|
||||||
instance.setContent(parse_html($("#send-enter-tooltip-template").html()));
|
instance.setContent(parse_html($("#send-enter-tooltip-template").html()));
|
||||||
} else {
|
} else {
|
||||||
instance.setContent(parse_html($("#send-ctrl-enter-tooltip-template").html()));
|
instance.setContent(parse_html($("#send-ctrl-enter-tooltip-template").html()));
|
||||||
@@ -237,6 +230,22 @@ export function initialize(): void {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
tippy.delegate("body", {
|
||||||
|
target: "#compose-send-button.disabled-message-send-controls",
|
||||||
|
// 350px at 14px/1em
|
||||||
|
maxWidth: "25em",
|
||||||
|
onShow(instance) {
|
||||||
|
instance.setContent(
|
||||||
|
compose_recipient.get_posting_policy_error_message() ||
|
||||||
|
compose_validate.get_disabled_send_tooltip(),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
appendTo: () => document.body,
|
||||||
|
onHidden(instance) {
|
||||||
|
instance.destroy();
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
tippy.delegate("body", {
|
tippy.delegate("body", {
|
||||||
target: ".narrow_to_compose_recipients",
|
target: ".narrow_to_compose_recipients",
|
||||||
delay: LONG_HOVER_DELAY,
|
delay: LONG_HOVER_DELAY,
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ export function set_recipient_disallowed(status: boolean): void {
|
|||||||
|
|
||||||
export function update_send_button_status(): void {
|
export function update_send_button_status(): void {
|
||||||
const recipient_type = compose_state.get_message_type();
|
const recipient_type = compose_state.get_message_type();
|
||||||
$(".message-send-controls").toggleClass(
|
$("#compose-send-button").toggleClass(
|
||||||
"disabled-message-send-controls",
|
"disabled-message-send-controls",
|
||||||
upload_in_progress ||
|
upload_in_progress ||
|
||||||
no_channel_selected ||
|
no_channel_selected ||
|
||||||
|
|||||||
@@ -381,7 +381,7 @@ function handle_keydown(
|
|||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
if (
|
if (
|
||||||
compose_validate.validate_message_length($("#send_message_form")) &&
|
compose_validate.validate_message_length($("#send_message_form")) &&
|
||||||
!$(".message-send-controls").hasClass("disabled-message-send-controls")
|
!$("#compose-send-button").hasClass("disabled-message-send-controls")
|
||||||
) {
|
) {
|
||||||
on_enter_send();
|
on_enter_send();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1455,18 +1455,16 @@ textarea.new_message_textarea {
|
|||||||
flex-direction: column-reverse;
|
flex-direction: column-reverse;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.disabled-message-send-controls {
|
|
||||||
& button {
|
|
||||||
cursor: default;
|
|
||||||
opacity: 0.5;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.compose-button-disabled {
|
.compose-button-disabled {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#compose-send-button.disabled-message-send-controls {
|
||||||
|
cursor: default;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
.drag {
|
.drag {
|
||||||
display: none;
|
display: none;
|
||||||
height: 18px;
|
height: 18px;
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ class FakeComposeBox {
|
|||||||
|
|
||||||
assert.ok(this.$content_textarea.hasClass("textarea-over-limit"));
|
assert.ok(this.$content_textarea.hasClass("textarea-over-limit"));
|
||||||
assert.ok($(".message-limit-indicator").hasClass("textarea-over-limit"));
|
assert.ok($(".message-limit-indicator").hasClass("textarea-over-limit"));
|
||||||
assert.ok(!$(".message-send-controls").hasClass("disabled-message-send-controls"));
|
assert.ok(!$("#compose-send-button").hasClass("disabled-message-send-controls"));
|
||||||
}
|
}
|
||||||
|
|
||||||
assert_message_size_is_under_the_limit(desired_html) {
|
assert_message_size_is_under_the_limit(desired_html) {
|
||||||
@@ -161,7 +161,7 @@ class FakeComposeBox {
|
|||||||
|
|
||||||
assert.ok(!this.$content_textarea.hasClass("textarea-over-limit"));
|
assert.ok(!this.$content_textarea.hasClass("textarea-over-limit"));
|
||||||
assert.ok(!$(".message-limit-indicator").hasClass("textarea-over-limit"));
|
assert.ok(!$(".message-limit-indicator").hasClass("textarea-over-limit"));
|
||||||
assert.ok(!$(".message-send-controls").hasClass("disabled-message-send-controls"));
|
assert.ok(!$("#compose-send-button").hasClass("disabled-message-send-controls"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ test("show_error_message", ({mock_template}) => {
|
|||||||
$("#compose-send-button").prop("disabled", true);
|
$("#compose-send-button").prop("disabled", true);
|
||||||
|
|
||||||
upload.show_error_message(upload.compose_config, "Error message");
|
upload.show_error_message(upload.compose_config, "Error message");
|
||||||
assert.ok(!$(".message-send-controls").hasClass("disabled-message-send-controls"));
|
assert.ok(!$("#compose-send-button").hasClass("disabled-message-send-controls"));
|
||||||
assert.ok(banner_shown);
|
assert.ok(banner_shown);
|
||||||
|
|
||||||
mock_template("compose_banner/upload_banner.hbs", false, (data) => {
|
mock_template("compose_banner/upload_banner.hbs", false, (data) => {
|
||||||
@@ -198,9 +198,9 @@ test("upload_files", async ({mock_template, override, override_rewire}) => {
|
|||||||
assert.equal(config.mode, "compose");
|
assert.equal(config.mode, "compose");
|
||||||
});
|
});
|
||||||
const config = upload.compose_config;
|
const config = upload.compose_config;
|
||||||
$(".message-send-controls").removeClass("disabled-message-send-controls");
|
$("#compose-send-button").removeClass("disabled-message-send-controls");
|
||||||
await upload.upload_files(uppy, config, []);
|
await upload.upload_files(uppy, config, []);
|
||||||
assert.ok(!$(".message-send-controls").hasClass("disabled-message-send-controls"));
|
assert.ok(!$("#compose-send-button").hasClass("disabled-message-send-controls"));
|
||||||
|
|
||||||
let banner_shown = false;
|
let banner_shown = false;
|
||||||
mock_template("compose_banner/upload_banner.hbs", false, (data) => {
|
mock_template("compose_banner/upload_banner.hbs", false, (data) => {
|
||||||
@@ -239,7 +239,7 @@ test("upload_files", async ({mock_template, override, override_rewire}) => {
|
|||||||
$("#compose .undo_markdown_preview").on("click", () => {
|
$("#compose .undo_markdown_preview").on("click", () => {
|
||||||
markdown_preview_hide_button_clicked = true;
|
markdown_preview_hide_button_clicked = true;
|
||||||
});
|
});
|
||||||
$(".message-send-controls").removeClass("disabled-message-send-controls");
|
$("#compose-send-button").removeClass("disabled-message-send-controls");
|
||||||
$("#compose_banners .upload_banner").remove();
|
$("#compose_banners .upload_banner").remove();
|
||||||
$("#compose .undo_markdown_preview").show();
|
$("#compose .undo_markdown_preview").show();
|
||||||
|
|
||||||
@@ -250,7 +250,7 @@ test("upload_files", async ({mock_template, override, override_rewire}) => {
|
|||||||
});
|
});
|
||||||
override(compose_state, "get_message_type", () => "stream");
|
override(compose_state, "get_message_type", () => "stream");
|
||||||
await upload.upload_files(uppy, config, files);
|
await upload.upload_files(uppy, config, files);
|
||||||
assert.ok($(".message-send-controls").hasClass("disabled-message-send-controls"));
|
assert.ok($("#compose-send-button").hasClass("disabled-message-send-controls"));
|
||||||
assert.ok(banner_shown);
|
assert.ok(banner_shown);
|
||||||
assert.ok(compose_ui_insert_syntax_and_focus_called);
|
assert.ok(compose_ui_insert_syntax_and_focus_called);
|
||||||
assert.ok(compose_ui_autosize_textarea_called);
|
assert.ok(compose_ui_autosize_textarea_called);
|
||||||
|
|||||||
Reference in New Issue
Block a user