diff --git a/.eslintrc.json b/.eslintrc.json index 580bdaa103..1040c8fa49 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -271,7 +271,6 @@ "stream_topic_history": false, "stream_list": false, "stream_muting": false, - "stream_pill": false, "stream_popover": false, "stream_sort": false, "stream_ui_updates": false, diff --git a/static/js/bundles/app.js b/static/js/bundles/app.js index fb773e8ed6..c53bc57c1a 100644 --- a/static/js/bundles/app.js +++ b/static/js/bundles/app.js @@ -24,7 +24,6 @@ import "../localstorage"; import "../drafts"; import "../input_pill"; import "../user_pill"; -import "../stream_pill"; import "../compose_pm_pill"; import "../channel"; import "../setup"; diff --git a/static/js/global.d.ts b/static/js/global.d.ts index 290e7544f2..7700a8b286 100644 --- a/static/js/global.d.ts +++ b/static/js/global.d.ts @@ -137,7 +137,6 @@ declare let stream_edit: any; declare let stream_events: any; declare let stream_list: any; declare let stream_muting: any; -declare let stream_pill: any; declare let stream_popover: any; declare let stream_sort: any; declare let stream_ui_updates: any; diff --git a/static/js/pill_typeahead.js b/static/js/pill_typeahead.js index 40f17a242b..2f2e98bd36 100644 --- a/static/js/pill_typeahead.js +++ b/static/js/pill_typeahead.js @@ -2,6 +2,7 @@ const people = require("./people"); const settings_data = require("./settings_data"); +const stream_pill = require("./stream_pill"); exports.set_up = function (input, pills, opts) { let source = opts.source; diff --git a/static/js/stream_edit.js b/static/js/stream_edit.js index b196f1bc41..007ba27325 100644 --- a/static/js/stream_edit.js +++ b/static/js/stream_edit.js @@ -10,6 +10,7 @@ const peer_data = require("./peer_data"); const people = require("./people"); const settings_config = require("./settings_config"); const settings_data = require("./settings_data"); +const stream_pill = require("./stream_pill"); const util = require("./util"); function setup_subscriptions_stream_hash(sub) { diff --git a/static/js/stream_pill.js b/static/js/stream_pill.js index e3868672e9..c1416ed4f8 100644 --- a/static/js/stream_pill.js +++ b/static/js/stream_pill.js @@ -1,13 +1,11 @@ -"use strict"; - -const peer_data = require("./peer_data"); +import * as peer_data from "./peer_data"; function display_pill(sub) { const sub_count = peer_data.get_subscriber_count(sub.stream_id); return "#" + sub.name + ": " + sub_count + " users"; } -exports.create_item_from_stream_name = function (stream_name, current_items) { +export function create_item_from_stream_name(stream_name, current_items) { stream_name = stream_name.trim(); if (!stream_name.startsWith("#")) { return undefined; @@ -31,11 +29,11 @@ exports.create_item_from_stream_name = function (stream_name, current_items) { }; return item; -}; +} -exports.get_stream_name_from_item = function (item) { +export function get_stream_name_from_item(item) { return item.stream_name; -}; +} function get_user_ids_from_subs(items) { let user_ids = []; @@ -48,41 +46,39 @@ function get_user_ids_from_subs(items) { return user_ids; } -exports.get_user_ids = function (pill_widget) { +export function get_user_ids(pill_widget) { const items = pill_widget.items(); let user_ids = get_user_ids_from_subs(items); user_ids = Array.from(new Set(user_ids)); user_ids = user_ids.filter(Boolean); return user_ids; -}; +} -exports.append_stream = function (stream, pill_widget) { +export function append_stream(stream, pill_widget) { pill_widget.appendValidatedData({ display_value: display_pill(stream), stream_id: stream.stream_id, stream_name: stream.name, }); pill_widget.clear_text(); -}; +} -exports.get_stream_ids = function (pill_widget) { +export function get_stream_ids(pill_widget) { const items = pill_widget.items(); let stream_ids = items.map((item) => item.stream_id); stream_ids = stream_ids.filter(Boolean); return stream_ids; -}; +} -exports.filter_taken_streams = function (items, pill_widget) { - const taken_stream_ids = exports.get_stream_ids(pill_widget); +export function filter_taken_streams(items, pill_widget) { + const taken_stream_ids = get_stream_ids(pill_widget); items = items.filter((item) => !taken_stream_ids.includes(item.stream_id)); return items; -}; +} -exports.typeahead_source = function (pill_widget) { +export function typeahead_source(pill_widget) { const potential_streams = stream_data.get_unsorted_subs(); - return exports.filter_taken_streams(potential_streams, pill_widget); -}; - -window.stream_pill = exports; + return filter_taken_streams(potential_streams, pill_widget); +}