mirror of https://github.com/zulip/zulip.git
stream_edit: Use `this` instead of `e.target`.
These were all manually checked to still work. `e.currentTarget` is equivalent to `this`, and all instance of `e.target` were either the same as `this` or used with a `closest` function that still got the same value.
This commit is contained in:
parent
287c7e8f05
commit
de8caa1b43
|
@ -305,8 +305,8 @@ export function update_muting_rendering(sub) {
|
|||
$edit_container.find(".mute-note").toggleClass("hide-mute-note", !sub.is_muted);
|
||||
}
|
||||
|
||||
function stream_notification_reset(e) {
|
||||
const sub = get_sub_for_target(e.target);
|
||||
function stream_notification_reset(elem) {
|
||||
const sub = get_sub_for_target(elem);
|
||||
const data = [{stream_id: sub.stream_id, property: "is_muted", value: false}];
|
||||
for (const [per_stream_setting_name, global_setting_name] of Object.entries(
|
||||
settings_config.generalize_stream_notification_setting,
|
||||
|
@ -320,14 +320,14 @@ function stream_notification_reset(e) {
|
|||
|
||||
stream_settings_api.bulk_set_stream_property(
|
||||
data,
|
||||
$(e.target).closest(".subsection-parent").find(".alert-notification"),
|
||||
$(elem).closest(".subsection-parent").find(".alert-notification"),
|
||||
);
|
||||
}
|
||||
|
||||
function stream_setting_changed(e) {
|
||||
const sub = get_sub_for_target(e.target);
|
||||
const $status_element = $(e.target).closest(".subsection-parent").find(".alert-notification");
|
||||
const setting = e.target.name;
|
||||
function stream_setting_changed(elem) {
|
||||
const sub = get_sub_for_target(elem);
|
||||
const $status_element = $(elem).closest(".subsection-parent").find(".alert-notification");
|
||||
const setting = elem.name;
|
||||
const notification_setting = notification_labels_schema.safeParse(setting);
|
||||
if (notification_setting.success && sub[setting] === null) {
|
||||
sub[setting] =
|
||||
|
@ -337,7 +337,7 @@ function stream_setting_changed(e) {
|
|||
}
|
||||
stream_settings_api.set_stream_property(
|
||||
sub,
|
||||
{property: setting, value: e.target.checked},
|
||||
{property: setting, value: elem.checked},
|
||||
$status_element,
|
||||
);
|
||||
}
|
||||
|
@ -444,10 +444,10 @@ export function initialize() {
|
|||
stream_settings_components.sub_or_unsub(sub);
|
||||
});
|
||||
|
||||
$("#channels_overlay_container").on("click", "#open_stream_info_modal", (e) => {
|
||||
$("#channels_overlay_container").on("click", "#open_stream_info_modal", function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
const stream_id = get_stream_id(e.target);
|
||||
const stream_id = get_stream_id(this);
|
||||
const stream = sub_store.get(stream_id);
|
||||
const template_data = {
|
||||
stream_name: stream.name,
|
||||
|
@ -513,8 +513,8 @@ export function initialize() {
|
|||
},
|
||||
);
|
||||
|
||||
function save_stream_info(e) {
|
||||
const sub = get_sub_for_target(e.currentTarget);
|
||||
function save_stream_info() {
|
||||
const sub = get_sub_for_target(this);
|
||||
|
||||
const url = `/json/streams/${sub.stream_id}`;
|
||||
const data = {};
|
||||
|
@ -531,11 +531,11 @@ export function initialize() {
|
|||
dialog_widget.submit_api_request(channel.patch, url, data);
|
||||
}
|
||||
|
||||
$("#channels_overlay_container").on("click", ".copy_email_button", (e) => {
|
||||
$("#channels_overlay_container").on("click", ".copy_email_button", function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
const stream_id = get_stream_id(e.target);
|
||||
const stream_id = get_stream_id(this);
|
||||
|
||||
channel.get({
|
||||
url: "/json/streams/" + stream_id + "/email_address",
|
||||
|
@ -556,24 +556,28 @@ export function initialize() {
|
|||
$("#channels_overlay_container").on(
|
||||
"click",
|
||||
".subsection-parent .reset-stream-notifications-button",
|
||||
stream_notification_reset,
|
||||
function on_click() {
|
||||
stream_notification_reset(this);
|
||||
},
|
||||
);
|
||||
|
||||
$("#channels_overlay_container").on(
|
||||
"change",
|
||||
".sub_setting_checkbox .sub_setting_control",
|
||||
stream_setting_changed,
|
||||
function on_change() {
|
||||
stream_setting_changed(this);
|
||||
},
|
||||
);
|
||||
|
||||
// This handler isn't part of the normal edit interface; it's the convenient
|
||||
// checkmark in the subscriber list.
|
||||
$("#channels_overlay_container").on("click", ".sub_unsub_button", (e) => {
|
||||
if ($(e.currentTarget).hasClass("disabled")) {
|
||||
$("#channels_overlay_container").on("click", ".sub_unsub_button", function (e) {
|
||||
if ($(this).hasClass("disabled")) {
|
||||
// We do not allow users to subscribe themselves to private streams.
|
||||
return;
|
||||
}
|
||||
|
||||
const sub = get_sub_for_target(e.target);
|
||||
const sub = get_sub_for_target(this);
|
||||
// Makes sure we take the correct stream_row.
|
||||
const $stream_row = $(
|
||||
`#channels_overlay_container div.stream-row[data-stream-id='${CSS.escape(
|
||||
|
@ -591,11 +595,11 @@ export function initialize() {
|
|||
e.stopPropagation();
|
||||
});
|
||||
|
||||
$("#channels_overlay_container").on("click", ".deactivate", (e) => {
|
||||
$("#channels_overlay_container").on("click", ".deactivate", function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
const stream_id = get_stream_id(e.target);
|
||||
const stream_id = get_stream_id(this);
|
||||
|
||||
function do_archive_stream() {
|
||||
const stream_id = Number($(".dialog_submit_button").attr("data-stream-id"));
|
||||
|
@ -640,34 +644,34 @@ export function initialize() {
|
|||
$(".dialog_submit_button").attr("data-stream-id", stream_id);
|
||||
});
|
||||
|
||||
$("#channels_overlay_container").on("click", ".stream-row", function (e) {
|
||||
if ($(e.target).closest(".check, .subscription_settings").length === 0) {
|
||||
$("#channels_overlay_container").on("click", ".stream-row", function () {
|
||||
if ($(this).closest(".check, .subscription_settings").length === 0) {
|
||||
open_edit_panel_for_row(this);
|
||||
}
|
||||
});
|
||||
|
||||
$("#channels_overlay_container").on("change", ".stream_message_retention_setting", (e) => {
|
||||
const message_retention_setting_dropdown_value = e.target.value;
|
||||
$("#channels_overlay_container").on("change", ".stream_message_retention_setting", function () {
|
||||
const message_retention_setting_dropdown_value = this.value;
|
||||
settings_components.change_element_block_display_property(
|
||||
"stream_message_retention_custom_input",
|
||||
message_retention_setting_dropdown_value === "custom_period",
|
||||
);
|
||||
});
|
||||
|
||||
$("#channels_overlay_container").on("change input", "input, select, textarea", (e) => {
|
||||
$("#channels_overlay_container").on("change input", "input, select, textarea", function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
if ($(e.target).hasClass("no-input-change-detection")) {
|
||||
if ($(this).hasClass("no-input-change-detection")) {
|
||||
// This is to prevent input changes detection in elements
|
||||
// within a subsection whose changes should not affect the
|
||||
// visibility of the discard button
|
||||
return false;
|
||||
}
|
||||
|
||||
const stream_id = get_stream_id(e.target);
|
||||
const stream_id = get_stream_id(this);
|
||||
const sub = sub_store.get(stream_id);
|
||||
const $subsection = $(e.target).closest(".settings-subsection-parent");
|
||||
const $subsection = $(this).closest(".settings-subsection-parent");
|
||||
settings_components.save_discard_stream_settings_widget_status_handler($subsection, sub);
|
||||
if (sub && $subsection.attr("id") === "stream_permission_settings") {
|
||||
stream_ui_updates.update_default_stream_and_stream_privacy_state($subsection);
|
||||
|
@ -678,10 +682,10 @@ export function initialize() {
|
|||
$("#channels_overlay_container").on(
|
||||
"click",
|
||||
".subsection-header .subsection-changes-save button",
|
||||
(e) => {
|
||||
function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
const $save_button = $(e.currentTarget);
|
||||
const $save_button = $(this);
|
||||
const $subsection_elem = $save_button.closest(".settings-subsection-parent");
|
||||
|
||||
const stream_id = Number(
|
||||
|
@ -717,16 +721,16 @@ export function initialize() {
|
|||
$("#channels_overlay_container").on(
|
||||
"click",
|
||||
".subsection-header .subsection-changes-discard button",
|
||||
(e) => {
|
||||
function (e) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
const stream_id = Number(
|
||||
$(e.target).closest(".subscription_settings.show").attr("data-stream-id"),
|
||||
$(this).closest(".subscription_settings.show").attr("data-stream-id"),
|
||||
);
|
||||
const sub = sub_store.get(stream_id);
|
||||
|
||||
const $subsection = $(e.target).closest(".settings-subsection-parent");
|
||||
const $subsection = $(this).closest(".settings-subsection-parent");
|
||||
settings_org.discard_stream_settings_subsection_changes($subsection, sub);
|
||||
if ($subsection.attr("id") === "stream_permission_settings") {
|
||||
stream_ui_updates.update_default_stream_and_stream_privacy_state($subsection);
|
||||
|
|
Loading…
Reference in New Issue