mirror of
https://github.com/zulip/zulip.git
synced 2025-11-16 20:02:15 +00:00
Before this change, we were using sequentially generated ids on the client side to identify streams. Now we just use the ids from the server. The goal here is to reduce the confusion of having two different ids attached to a stream. Also, not that it matters a ton, but this also means that the browser basically has an immutable id for each stream that is future-proof to reloads, multiple create_sub calls, etc. It also a bit easier to grep for ".stream_id" than ".id". (imported from commit 057f9e50dfee127edfe3facd52da93108241666a)
106 lines
4.9 KiB
Handlebars
106 lines
4.9 KiB
Handlebars
{{! Client-side Mustache template for rendering subscriptions.}}
|
|
{{#with this}}
|
|
<div class="subscription_row" id="subscription_{{stream_id}}" data-subscription-id="{{stream_id}}">
|
|
<div class="subscription_table_elem subscription_header collapsed" data-toggle="collapse" data-target="#subscription_settings_{{stream_id}}">
|
|
<span class="subscription-setting-icon">
|
|
{{partial "subscription_setting_icon"}}
|
|
</span>
|
|
<span class="subscription_block">
|
|
<span class="subscription_name subscription-name-row">{{name}}</span>
|
|
<span class="subscription_description subscription-description-row">{{description}}</span>
|
|
</span>
|
|
<span class="sub_arrow"><i class="icon-vector-chevron-down"></i></span>
|
|
<button class="zulip-button sub_unsub_button {{^subscribed}}gray-button{{/subscribed}}{{#subscribed}} green-button subscribed-button{{/subscribed}}"
|
|
type="button" name="subscription">
|
|
{{#subscribed}}
|
|
Subscribed
|
|
{{/subscribed}}
|
|
{{^subscribed}}
|
|
Subscribe
|
|
{{/subscribed}}
|
|
</button>
|
|
</div>
|
|
|
|
<div id="subscription_settings_{{stream_id}}" class="collapse subscription_settings">
|
|
<div class="regular_subscription_settings collapse {{#subscribed}}in{{/subscribed}}">
|
|
<div class="subscription-type">
|
|
{{partial "subscription_type"}}
|
|
</div>
|
|
<div class="subscription-config">
|
|
<ul>
|
|
<li>
|
|
<div id="sub_setting_not_in_home_view" class="sub_setting_checkbox">
|
|
<input id="mutestream-{{stream_id}}" class="sub_setting_control" type="checkbox" tabindex="-1" {{#unless in_home_view}}checked{{/unless}} />
|
|
<label class="subscription-control-label">Mute stream</label>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<div id="sub_setting_notifications" class="sub_setting_checkbox">
|
|
<input id="notifystream-{{stream_id}}" class="sub_setting_control" type="checkbox" tabindex="-1" {{#if notifications}}checked{{/if}} />
|
|
<label class="subscription-control-label">Show desktop notifications<br/>for traffic on this stream</label>
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<span class="sub_setting_control">
|
|
<input stream_name="{{name}}" class="colorpicker" id="streamcolor" type="text" value="{{color}}" tabindex="-1" />
|
|
</span>
|
|
<label for="streamcolor" class="subscription-control-label">Stream color</label>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
{{#if_and subscribed email_address}}
|
|
<div class="stream-email-box">
|
|
<span class="sub_settings_title">Email address <i class="icon-vector-question-sign stream-email-hint" id="email-address-hint-{{stream_id}}"></i></span>
|
|
<div class="stream-email">
|
|
<span class="email-address">{{email_address}}</span>
|
|
</div>
|
|
</div>
|
|
{{/if_and}}
|
|
|
|
{{#if is_admin}}
|
|
<div class="admin-settings">
|
|
<span class="sub_settings_title">Administrator settings</span>
|
|
<div class="rename-stream">
|
|
<form class="form-inline">
|
|
<input type="text" name="new-name" value="" class="input-block new-stream-name" tabindex="-1" />
|
|
<input type="submit" name="rename" value="Rename stream" class="zulip-button red-button stream-rename-button" tabindex="-1" />
|
|
</form>
|
|
</div>
|
|
<div class="change-stream-description">
|
|
<form class="form-inline">
|
|
<input type="hidden" name="stream_name" value="{{name}}" />
|
|
<input type="text" name="description" value="{{description}}" class="input-block description" tabindex="-1" />
|
|
<input type="submit" name="change-stream-description" value="Change stream description" class="zulip-button red-button change-stream-description-button" tabindex="-1" />
|
|
</form>
|
|
</div>
|
|
<div class="change-stream-privacy">
|
|
{{partial "change_stream_privacy"}}
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
|
|
{{#render_subscribers}}
|
|
<div class="subscriber_list_settings">
|
|
<span class="sub_settings_title">Stream membership</span>
|
|
<div class="subscriber_list_add">
|
|
<form class="form-inline">
|
|
<input type="text" name="principal" placeholder="Email address" value="" class="input-block" tabindex="-1" />
|
|
<input type="submit" name="add_subscriber" value="Add" class="zulip-button blue-button add-subscriber-button" tabindex="-1 "/>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="subscriber-list-box">
|
|
<div class="subscriber_list_container">
|
|
<div class="subscriber_list_loading_indicator"></div>
|
|
<div class="alert alert-error hide"></div>
|
|
<div class="alert alert-warning hide"></div>
|
|
<table class="subscriber-list">
|
|
</table>
|
|
</div>
|
|
</div>
|
|
{{/render_subscribers}}
|
|
</div>
|
|
</div>
|
|
{{/with}}
|