mirror of https://github.com/zulip/zulip.git
ui_report: Reuse `channel.xhr_error_message` function in `error` method.
We should reuse the `channel.xhr_error_message` in `ui_report` to reduce code duplication. Also, I changed the type of `message` parameter to `string` instead of `string | null` so that we do not need to alter the types of the functions that depends on the return value of `xhr_error_message`.
This commit is contained in:
parent
2e07c03968
commit
cfe2ddb091
|
@ -201,10 +201,7 @@ export function patch(
|
||||||
return post(options);
|
return post(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function xhr_error_message(
|
export function xhr_error_message(message: string, xhr: JQuery.jqXHR<unknown>): string {
|
||||||
message: string | null,
|
|
||||||
xhr: JQuery.jqXHR<unknown>,
|
|
||||||
): string | null {
|
|
||||||
if (xhr.status.toString().charAt(0) === "4" && xhr.responseJSON?.msg) {
|
if (xhr.status.toString().charAt(0) === "4" && xhr.responseJSON?.msg) {
|
||||||
// Only display the error response for 4XX, where we've crafted
|
// Only display the error response for 4XX, where we've crafted
|
||||||
// a nice response.
|
// a nice response.
|
||||||
|
|
|
@ -1032,7 +1032,7 @@ export function save_message_row_edit($row) {
|
||||||
}
|
}
|
||||||
|
|
||||||
hide_message_edit_spinner($row);
|
hide_message_edit_spinner($row);
|
||||||
const message = channel.xhr_error_message(null, xhr);
|
const message = channel.xhr_error_message("", xhr);
|
||||||
const $container = compose_banner.get_compose_banner_container(
|
const $container = compose_banner.get_compose_banner_container(
|
||||||
$row.find("textarea"),
|
$row.find("textarea"),
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import $ from "jquery";
|
import $ from "jquery";
|
||||||
import _ from "lodash";
|
|
||||||
|
|
||||||
|
import * as channel from "./channel";
|
||||||
import * as common from "./common";
|
import * as common from "./common";
|
||||||
import {$t} from "./i18n";
|
import {$t} from "./i18n";
|
||||||
|
|
||||||
|
@ -38,18 +38,8 @@ export function error(
|
||||||
status_box: JQuery,
|
status_box: JQuery,
|
||||||
remove_after?: number,
|
remove_after?: number,
|
||||||
): void {
|
): void {
|
||||||
if (xhr && xhr.status >= 400 && xhr.status < 500 && xhr.responseJSON?.msg) {
|
const msg = xhr ? channel.xhr_error_message(response_html, xhr) : response_html;
|
||||||
// Only display the error response for 4XX, where we've crafted
|
message(msg, status_box, "alert-error", remove_after);
|
||||||
// a nice response.
|
|
||||||
const server_response_html = _.escape(xhr.responseJSON.msg);
|
|
||||||
if (response_html) {
|
|
||||||
response_html += ": " + server_response_html;
|
|
||||||
} else {
|
|
||||||
response_html = server_response_html;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
message(response_html, status_box, "alert-error", remove_after);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function client_error(
|
export function client_error(
|
||||||
|
|
|
@ -348,7 +348,7 @@ test("xhr_error_message", () => {
|
||||||
msg = "some message";
|
msg = "some message";
|
||||||
assert.equal(channel.xhr_error_message(msg, xhr), "some message: file not found");
|
assert.equal(channel.xhr_error_message(msg, xhr), "some message: file not found");
|
||||||
|
|
||||||
msg = null;
|
msg = "";
|
||||||
assert.equal(channel.xhr_error_message(msg, xhr), "file not found");
|
assert.equal(channel.xhr_error_message(msg, xhr), "file not found");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue