mirror of https://github.com/zulip/zulip.git
invite: Add checkbox to select all default streams.
We now add a checkbox in "Steams they should join" to directly select all default streams in the realm for the invite. We hide the stream list if that option is selected.
This commit is contained in:
parent
4ca887bade
commit
0ec16407ba
|
@ -45,11 +45,17 @@ function get_common_invitation_data() {
|
||||||
expires_in = Number.parseFloat($("#expires_in").val());
|
expires_in = Number.parseFloat($("#expires_in").val());
|
||||||
}
|
}
|
||||||
|
|
||||||
const stream_ids = [];
|
let stream_ids = [];
|
||||||
$("#invite-stream-checkboxes input:checked").each(function () {
|
const default_stream_ids = stream_data.get_default_stream_ids();
|
||||||
const stream_id = Number.parseInt($(this).val(), 10);
|
if (default_stream_ids.length !== 0 && $("#invite_select_default_streams").prop("checked")) {
|
||||||
stream_ids.push(stream_id);
|
stream_ids = default_stream_ids;
|
||||||
});
|
} else {
|
||||||
|
$("#invite-stream-checkboxes input:checked").each(function () {
|
||||||
|
const stream_id = Number.parseInt($(this).val(), 10);
|
||||||
|
stream_ids.push(stream_id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const data = {
|
const data = {
|
||||||
csrfmiddlewaretoken: csrf_token,
|
csrfmiddlewaretoken: csrf_token,
|
||||||
invite_as,
|
invite_as,
|
||||||
|
@ -231,6 +237,17 @@ function set_custom_time_inputs_visibility() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function set_streams_to_join_list_visibility() {
|
||||||
|
const default_streams_selected = $("#invite_select_default_streams").prop("checked");
|
||||||
|
if (default_streams_selected) {
|
||||||
|
$("#streams_to_add .invite-stream-controls").hide();
|
||||||
|
$("#invite-stream-checkboxes").hide();
|
||||||
|
} else {
|
||||||
|
$("#streams_to_add .invite-stream-controls").show();
|
||||||
|
$("#invite-stream-checkboxes").show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function open_invite_user_modal(e) {
|
function open_invite_user_modal(e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
@ -247,6 +264,7 @@ function open_invite_user_modal(e) {
|
||||||
time_choices: time_unit_choices,
|
time_choices: time_unit_choices,
|
||||||
streams: get_invite_streams(),
|
streams: get_invite_streams(),
|
||||||
notifications_stream: stream_data.get_notifications_stream(),
|
notifications_stream: stream_data.get_notifications_stream(),
|
||||||
|
show_select_default_streams_option: stream_data.get_default_stream_ids().length !== 0,
|
||||||
});
|
});
|
||||||
|
|
||||||
function invite_user_modal_post_render() {
|
function invite_user_modal_post_render() {
|
||||||
|
@ -256,6 +274,7 @@ function open_invite_user_modal(e) {
|
||||||
|
|
||||||
set_custom_time_inputs_visibility();
|
set_custom_time_inputs_visibility();
|
||||||
set_expires_on_text();
|
set_expires_on_text();
|
||||||
|
set_streams_to_join_list_visibility();
|
||||||
|
|
||||||
function toggle_invite_submit_button() {
|
function toggle_invite_submit_button() {
|
||||||
$("#invite-user-modal .dialog_submit_button").prop(
|
$("#invite-user-modal .dialog_submit_button").prop(
|
||||||
|
@ -319,12 +338,16 @@ function open_invite_user_modal(e) {
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#invite_check_all_button").on("click", () => {
|
$("#invite_check_all_button").on("click", () => {
|
||||||
$("#streams_to_add input[type=checkbox]").prop("checked", true);
|
$("#invite-stream-checkboxes input[type=checkbox]").prop("checked", true);
|
||||||
toggle_invite_submit_button();
|
toggle_invite_submit_button();
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#invite_uncheck_all_button").on("click", () => {
|
$("#invite_uncheck_all_button").on("click", () => {
|
||||||
$("#streams_to_add input[type=checkbox]").prop("checked", false);
|
$("#invite-stream-checkboxes input[type=checkbox]").prop("checked", false);
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#invite_select_default_streams").on("change", () => {
|
||||||
|
set_streams_to_join_list_visibility();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,15 @@
|
||||||
<div>
|
<div>
|
||||||
<label>{{t "Streams they should join" }}</label>
|
<label>{{t "Streams they should join" }}</label>
|
||||||
<div id="streams_to_add">
|
<div id="streams_to_add">
|
||||||
|
{{#if show_select_default_streams_option}}
|
||||||
|
<div class="select_default_streams new-style">
|
||||||
|
<label class="checkbox display-block">
|
||||||
|
<input type="checkbox" id="invite_select_default_streams" checked="checked" />
|
||||||
|
<span></span>
|
||||||
|
{{t 'Default streams for this organization'}}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
<div class="invite-stream-controls">
|
<div class="invite-stream-controls">
|
||||||
<button class="btn btn-link" type="button" id="invite_check_all_button">{{t "Check all" }}</button> |
|
<button class="btn btn-link" type="button" id="invite_check_all_button">{{t "Check all" }}</button> |
|
||||||
<button class="btn btn-link" type="button" id="invite_uncheck_all_button">{{t "Uncheck all" }}</button>
|
<button class="btn btn-link" type="button" id="invite_uncheck_all_button">{{t "Uncheck all" }}</button>
|
||||||
|
|
Loading…
Reference in New Issue