mirror of
https://github.com/zulip/zulip.git
synced 2025-11-12 18:06:44 +00:00
js: Convert static/js/stream_pill.js to ES6 module.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
committed by
Tim Abbott
parent
a17ce6aeee
commit
3b49cf6f24
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user