diff --git a/.eslintrc.json b/.eslintrc.json index 151af1e535..c7b67f321c 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -151,7 +151,6 @@ "subs": false, "ui": false, "ui_init": false, - "widgetize": false, "zxcvbn": false } }, diff --git a/frontend_tests/node_tests/submessage.js b/frontend_tests/node_tests/submessage.js index 8ed67503e3..5bfa6a3239 100644 --- a/frontend_tests/node_tests/submessage.js +++ b/frontend_tests/node_tests/submessage.js @@ -4,12 +4,13 @@ const {strict: assert} = require("assert"); const rewiremock = require("rewiremock/node"); -const {set_global, zrequire} = require("../zjsunit/namespace"); +const {zrequire} = require("../zjsunit/namespace"); const {run_test} = require("../zjsunit/test"); const channel = {__esModule: true}; rewiremock("../../static/js/channel").with(channel); -const widgetize = set_global("widgetize", {}); +const widgetize = {__esModule: true}; +rewiremock("../../static/js/widgetize").with(widgetize); const message_store = {__esModule: true}; rewiremock("../../static/js/message_store").with(message_store); diff --git a/static/js/bundles/app.js b/static/js/bundles/app.js index fb4201d0e9..6dbd41767d 100644 --- a/static/js/bundles/app.js +++ b/static/js/bundles/app.js @@ -16,7 +16,6 @@ import "flatpickr/dist/plugins/confirmDate/confirmDate"; import "../i18n"; import "../fold_dict"; import "../setup"; -import "../widgetize"; import "../message_list"; import "../narrow"; import "../reload"; diff --git a/static/js/global.d.ts b/static/js/global.d.ts index ac63052c41..cb522214d5 100644 --- a/static/js/global.d.ts +++ b/static/js/global.d.ts @@ -20,7 +20,6 @@ declare let pointer: any; declare let settings_profile_fields: any; declare let subs: any; declare let ui: any; -declare let widgetize: any; declare let zulip_test: any; interface JQuery { diff --git a/static/js/narrow.js b/static/js/narrow.js index 42d86268fc..0366ae8728 100644 --- a/static/js/narrow.js +++ b/static/js/narrow.js @@ -31,6 +31,7 @@ const ui_util = require("./ui_util"); const unread = require("./unread"); const unread_ops = require("./unread_ops"); const util = require("./util"); +const widgetize = require("./widgetize"); let unnarrow_times; diff --git a/static/js/submessage.js b/static/js/submessage.js index 980d02db78..2e81d31692 100644 --- a/static/js/submessage.js +++ b/static/js/submessage.js @@ -1,5 +1,6 @@ import * as channel from "./channel"; import * as message_store from "./message_store"; +import * as widgetize from "./widgetize"; export function get_message_events(message) { if (message.locally_echoed) { diff --git a/static/js/widgetize.js b/static/js/widgetize.js index d10983888a..e9f71013c6 100644 --- a/static/js/widgetize.js +++ b/static/js/widgetize.js @@ -1,9 +1,7 @@ -"use strict"; - -const narrow_state = require("./narrow_state"); -const poll_widget = require("./poll_widget"); -const todo_widget = require("./todo_widget"); -const zform = require("./zform"); +import * as narrow_state from "./narrow_state"; +import * as poll_widget from "./poll_widget"; +import * as todo_widget from "./todo_widget"; +import * as zform from "./zform"; const widgets = new Map([ ["poll", poll_widget], @@ -11,15 +9,14 @@ const widgets = new Map([ ["zform", zform], ]); -const widget_contents = new Map(); -exports.widget_contents = widget_contents; +export const widget_contents = new Map(); function set_widget_in_message(row, widget_elem) { const content_holder = row.find(".message_content"); content_holder.empty().append(widget_elem); } -exports.activate = function (in_opts) { +export function activate(in_opts) { const widget_type = in_opts.widget_type; const extra_data = in_opts.extra_data; const events = in_opts.events; @@ -76,18 +73,18 @@ exports.activate = function (in_opts) { if (events.length > 0) { widget_elem.handle_events(events); } -}; +} -exports.set_widgets_for_list = function () { +export function set_widgets_for_list() { for (const [idx, widget_elem] of widget_contents) { if (current_msg_list.get(idx) !== undefined) { const row = current_msg_list.get_row(idx); set_widget_in_message(row, widget_elem); } } -}; +} -exports.handle_event = function (widget_event) { +export function handle_event(widget_event) { const widget_elem = widget_contents.get(widget_event.message_id); if (!widget_elem) { @@ -100,6 +97,4 @@ exports.handle_event = function (widget_event) { const events = [widget_event]; widget_elem.handle_events(events); -}; - -window.widgetize = exports; +}