diff --git a/static/js/custom_markdown.js b/static/js/custom_markdown.js deleted file mode 100644 index 5f8837358b..0000000000 --- a/static/js/custom_markdown.js +++ /dev/null @@ -1,126 +0,0 @@ -var custom_markdown = (function () { - -var exports = {}; - -(function () { - // Javascript for bugdown.StreamSubscribeButton - - // A map of stream names to ids to select inline subscribe node without - // needing to escape the CSS selectors. - var inline_subscribe_id_map = {}; - - function add_sub(stream_name, $status_message) { - channel.post({ - url: '/json/users/me/subscriptions', - data: { - subscriptions: JSON.stringify([{name: stream_name}]), - }, - }).then( - function (data) { - if (!$.isEmptyObject(data.already_subscribed)) { - // Display the canonical stream capitalization. - var my_email = people.my_current_email(); - var true_stream_name = data.already_subscribed[my_email][0]; - ui_report.success(i18n.t("Already subscribed to __stream__", {stream: true_stream_name}), - $status_message); - } - }, function (xhr) { - ui_report.error(i18n.t("Error adding subscription"), xhr, $status_message); - } - ); - } - - function remove_sub(stream_name, $status_message) { - channel.del({ - url: '/json/users/me/subscriptions', - data: { - subscriptions: JSON.stringify([stream_name]), - }, - }).then( - function () { - $status_message.hide(); - }, function (xhr) { - ui_report.error(i18n.t("Error removing subscription"), xhr, $status_message); - } - ); - } - - function display_subscribe($button, stream_name) { - $button.text(i18n.t('Subscribe to __stream__', {stream: stream_data.canonicalized_name(stream_name)})) - .removeClass('btn-success') - .addClass('btn-default'); - } - - function display_unsubscribe($button, stream_name) { - $button.text(i18n.t('Unsubscribe from __stream__', {stream: stream_data.canonicalized_name(stream_name)})) - .removeClass('btn-default') - .addClass('btn-success'); - } - - function update_button_display($button, stream_name) { - if (stream_data.is_subscribed(stream_name)) { - display_unsubscribe($button, stream_name); - } else { - display_subscribe($button, stream_name); - } - } - - $(function () { - $('#main_div').on('click', '.inline-subscribe-button', function (e) { - var $button = $(e.target); - var stream_name = $button.closest('.inline-subscribe').attr('data-stream-name'); - var $status_message = $button.siblings('.inline-subscribe-error'); - e.preventDefault(); - e.stopPropagation(); - - if (stream_data.is_subscribed(stream_name)) { - remove_sub(stream_name, $status_message); - } else { - add_sub(stream_name, $status_message); - } - }); - }); - - $(document).on('message_rendered.zulip', function (e) { - var $inline_subscribe; - var $button; - var stream_name; - var id; - $inline_subscribe = $(e.target).find('.inline-subscribe'); - if ($inline_subscribe.length === 0) { - return; - } - stream_name = $inline_subscribe.attr('data-stream-name'); - $button = $inline_subscribe.find('.inline-subscribe-button'); - - if (inline_subscribe_id_map[stream_name]) { - id = inline_subscribe_id_map[stream_name]; - } else { - id = _.uniqueId('inline-subscribe-id-'); - inline_subscribe_id_map[stream_name] = id; - } - // Can not use data here, jQuery only stores into expando so our jQuery - // selectors will not be able to find it. - $inline_subscribe.attr('data-stream-ui-id', id); - - update_button_display($button, stream_name); - }); - - var sub_event_handler = function (e) { - var stream_name = e.sub.name; - var id = inline_subscribe_id_map[stream_name]; - var $button = $('#main_div'). - find('.inline-subscribe[data-stream-ui-id="'+ id + '"] .inline-subscribe-button'); - update_button_display($button, stream_name); - }; - $(document).on('subscription_add_done.zulip', sub_event_handler); - $(document).on('subscription_remove_done.zulip', sub_event_handler); -}()); - - -return exports; - -}()); -if (typeof module !== 'undefined') { - module.exports = custom_markdown; -} diff --git a/zerver/fixtures/markdown_test_cases.json b/zerver/fixtures/markdown_test_cases.json index 50a0f780c6..144df66804 100644 --- a/zerver/fixtures/markdown_test_cases.json +++ b/zerver/fixtures/markdown_test_cases.json @@ -566,19 +566,6 @@ "expected_output": "
!gravatar(username@example.com)
", - "marked_expected_output": "
!_stream_subscribe_button(streamname)
", - "text_content": "Subscribe to streamname" - }, - { - "name": "stream_subscribe_button_escaped", - "input": "`!_stream_subscribe_button(streamname)`", - "expected_output": "!_stream_subscribe_button(streamname)
There #Nonexistentstream
') self.assertEqual(msg.mentions_user_ids, set()) - def test_stream_subscribe_button_simple(self) -> None: - msg = '!_stream_subscribe_button(simple)' - converted = bugdown_convert(msg) - self.assertEqual( - converted, - '' - '' - '' - '' - '' - '
' - ) - - def test_stream_subscribe_button_in_name(self) -> None: - msg = '!_stream_subscribe_button(simple (not\\))' - converted = bugdown_convert(msg) - self.assertEqual( - converted, - '' - '' - '' - '' - '' - '
' - ) - - def test_stream_subscribe_button_after_name(self) -> None: - msg = '!_stream_subscribe_button(simple) (not)' - converted = bugdown_convert(msg) - self.assertEqual( - converted, - '' - '' - '' - '' - '' - ' (not)
' - ) - - def test_stream_subscribe_button_slash(self) -> None: - msg = '!_stream_subscribe_button(simple\\\\)' - converted = bugdown_convert(msg) - self.assertEqual( - converted, - '' - '' - '' - '' - '' - '
' - ) - def test_in_app_modal_link(self) -> None: msg = '!modal_link(#settings, Settings page)' converted = bugdown_convert(msg) diff --git a/zproject/settings.py b/zproject/settings.py index aeae24d568..f0878dba01 100644 --- a/zproject/settings.py +++ b/zproject/settings.py @@ -1144,7 +1144,6 @@ JS_SPECS = { 'js/admin.js', 'js/tab_bar.js', 'js/emoji.js', - 'js/custom_markdown.js', 'js/bot_data.js', 'js/reactions.js', 'js/typing.js',