mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 21:13:36 +00:00
js: Convert static/js/muting_ui.js to ES6 module.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
committed by
Tim Abbott
parent
94a5da325c
commit
6e045e4470
@@ -1,13 +1,11 @@
|
||||
"use strict";
|
||||
import render_muted_topic_ui_row from "../templates/muted_topic_ui_row.hbs";
|
||||
import render_topic_muted from "../templates/topic_muted.hbs";
|
||||
|
||||
const render_muted_topic_ui_row = require("../templates/muted_topic_ui_row.hbs");
|
||||
const render_topic_muted = require("../templates/topic_muted.hbs");
|
||||
|
||||
const channel = require("./channel");
|
||||
const feedback_widget = require("./feedback_widget");
|
||||
const muting = require("./muting");
|
||||
const settings_muting = require("./settings_muting");
|
||||
const unread_ui = require("./unread_ui");
|
||||
import * as channel from "./channel";
|
||||
import * as feedback_widget from "./feedback_widget";
|
||||
import * as muting from "./muting";
|
||||
import * as settings_muting from "./settings_muting";
|
||||
import * as unread_ui from "./unread_ui";
|
||||
|
||||
function timestamp_ms() {
|
||||
return Date.now();
|
||||
@@ -15,7 +13,7 @@ function timestamp_ms() {
|
||||
|
||||
let last_topic_update = 0;
|
||||
|
||||
exports.rerender_on_topic_update = function () {
|
||||
export function rerender_on_topic_update() {
|
||||
// Note: We tend to optimistically rerender muting preferences before
|
||||
// the backend actually acknowledges the mute. This gives a more
|
||||
// immediate feel to the user, and if the backend fails temporarily,
|
||||
@@ -29,11 +27,11 @@ exports.rerender_on_topic_update = function () {
|
||||
home_msg_list.update_muting_and_rerender();
|
||||
}
|
||||
if (overlays.settings_open() && settings_muting.loaded) {
|
||||
exports.set_up_muted_topics_ui();
|
||||
set_up_muted_topics_ui();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
exports.persist_topic_mute = function (stream_id, topic_name) {
|
||||
export function persist_topic_mute(stream_id, topic_name) {
|
||||
const data = {
|
||||
stream_id,
|
||||
topic: topic_name,
|
||||
@@ -45,9 +43,9 @@ exports.persist_topic_mute = function (stream_id, topic_name) {
|
||||
idempotent: true,
|
||||
data,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
exports.persist_topic_unmute = function (stream_id, topic_name) {
|
||||
export function persist_topic_unmute(stream_id, topic_name) {
|
||||
const data = {
|
||||
stream_id,
|
||||
topic: topic_name,
|
||||
@@ -59,9 +57,9 @@ exports.persist_topic_unmute = function (stream_id, topic_name) {
|
||||
idempotent: true,
|
||||
data,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
exports.handle_topic_updates = function (muted_topics) {
|
||||
export function handle_topic_updates(muted_topics) {
|
||||
if (timestamp_ms() < last_topic_update + 1000) {
|
||||
// This topic update is either the one that we just rendered, or,
|
||||
// much less likely, it's coming from another device and would probably
|
||||
@@ -69,16 +67,16 @@ exports.handle_topic_updates = function (muted_topics) {
|
||||
return;
|
||||
}
|
||||
|
||||
exports.update_muted_topics(muted_topics);
|
||||
exports.rerender_on_topic_update();
|
||||
};
|
||||
update_muted_topics(muted_topics);
|
||||
rerender_on_topic_update();
|
||||
}
|
||||
|
||||
exports.update_muted_topics = function (muted_topics) {
|
||||
export function update_muted_topics(muted_topics) {
|
||||
muting.set_muted_topics(muted_topics);
|
||||
unread_ui.update_unread_counts();
|
||||
};
|
||||
}
|
||||
|
||||
exports.set_up_muted_topics_ui = function () {
|
||||
export function set_up_muted_topics_ui() {
|
||||
const muted_topics = muting.get_muted_topics();
|
||||
const muted_topics_table = $("#muted_topics_table");
|
||||
const $search_input = $("#muted_topics_search");
|
||||
@@ -100,16 +98,16 @@ exports.set_up_muted_topics_ui = function () {
|
||||
parent_container: $("#muted-topic-settings"),
|
||||
simplebar_container: $("#muted-topic-settings .progressive-table-wrapper"),
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
exports.mute_topic = function (stream_id, topic) {
|
||||
export function mute_topic(stream_id, topic) {
|
||||
const stream_name = stream_data.maybe_get_stream_name(stream_id);
|
||||
|
||||
stream_popover.hide_topic_popover();
|
||||
muting.add_muted_topic(stream_id, topic);
|
||||
unread_ui.update_unread_counts();
|
||||
exports.rerender_on_topic_update();
|
||||
exports.persist_topic_mute(stream_id, topic);
|
||||
rerender_on_topic_update();
|
||||
persist_topic_mute(stream_id, topic);
|
||||
feedback_widget.show({
|
||||
populate(container) {
|
||||
const rendered_html = render_topic_muted();
|
||||
@@ -118,36 +116,34 @@ exports.mute_topic = function (stream_id, topic) {
|
||||
container.find(".topic").text(topic);
|
||||
},
|
||||
on_undo() {
|
||||
exports.unmute_topic(stream_id, topic);
|
||||
unmute_topic(stream_id, topic);
|
||||
},
|
||||
title_text: i18n.t("Topic muted"),
|
||||
undo_button_text: i18n.t("Unmute"),
|
||||
});
|
||||
recent_topics.update_topic_is_muted(stream_id, topic);
|
||||
};
|
||||
}
|
||||
|
||||
exports.unmute_topic = function (stream_id, topic) {
|
||||
export function unmute_topic(stream_id, topic) {
|
||||
// we don't run a unmute_notify function because it isn't an issue as much
|
||||
// if someone accidentally unmutes a stream rather than if they mute it
|
||||
// and miss out on info.
|
||||
stream_popover.hide_topic_popover();
|
||||
muting.remove_muted_topic(stream_id, topic);
|
||||
unread_ui.update_unread_counts();
|
||||
exports.rerender_on_topic_update();
|
||||
exports.persist_topic_unmute(stream_id, topic);
|
||||
rerender_on_topic_update();
|
||||
persist_topic_unmute(stream_id, topic);
|
||||
feedback_widget.dismiss();
|
||||
recent_topics.update_topic_is_muted(stream_id, topic);
|
||||
};
|
||||
}
|
||||
|
||||
exports.toggle_topic_mute = function (message) {
|
||||
export function toggle_topic_mute(message) {
|
||||
const stream_id = message.stream_id;
|
||||
const topic = message.topic;
|
||||
|
||||
if (muting.is_topic_muted(stream_id, topic)) {
|
||||
exports.unmute_topic(stream_id, topic);
|
||||
unmute_topic(stream_id, topic);
|
||||
} else if (message.type === "stream") {
|
||||
exports.mute_topic(stream_id, topic);
|
||||
mute_topic(stream_id, topic);
|
||||
}
|
||||
};
|
||||
|
||||
window.muting_ui = exports;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user