mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 13:33:24 +00:00
settings: Simplify logic to show push notification tooltip in templates.
Instead of having logical expressions in templates, it's always preferred to calculating them in javascript and pass the results as a context. It also enhances the readability of templates and testing of such logic is easier in js over templates.
This commit is contained in:
committed by
Tim Abbott
parent
1871443d10
commit
83933034a4
@@ -3,10 +3,14 @@ zrequire('muting');
|
|||||||
zrequire('people');
|
zrequire('people');
|
||||||
zrequire('stream_data');
|
zrequire('stream_data');
|
||||||
zrequire('unread');
|
zrequire('unread');
|
||||||
|
|
||||||
|
set_global('page_params', {
|
||||||
|
realm_push_notifications_enabled: false,
|
||||||
|
});
|
||||||
zrequire('settings_notifications');
|
zrequire('settings_notifications');
|
||||||
|
|
||||||
const FoldDict = zrequire('fold_dict').FoldDict;
|
const FoldDict = zrequire('fold_dict').FoldDict;
|
||||||
|
|
||||||
set_global('page_params', {});
|
|
||||||
set_global('blueslip', {});
|
set_global('blueslip', {});
|
||||||
set_global('narrow_state', {});
|
set_global('narrow_state', {});
|
||||||
set_global('current_msg_list', {});
|
set_global('current_msg_list', {});
|
||||||
|
|||||||
@@ -114,8 +114,8 @@ exports.build_page = function () {
|
|||||||
twenty_four_hour_time_values: settings_config.twenty_four_hour_time_values,
|
twenty_four_hour_time_values: settings_config.twenty_four_hour_time_values,
|
||||||
notification_settings: settings_notifications.all_notifications.settings,
|
notification_settings: settings_notifications.all_notifications.settings,
|
||||||
desktop_icon_count_display_values: settings_notifications.desktop_icon_count_display_values,
|
desktop_icon_count_display_values: settings_notifications.desktop_icon_count_display_values,
|
||||||
push_notification_tooltip:
|
show_push_notifications_tooltip:
|
||||||
settings_notifications.all_notifications.push_notification_tooltip,
|
settings_notifications.all_notifications.show_push_notifications_tooltip,
|
||||||
display_settings: settings_config.get_all_display_settings(),
|
display_settings: settings_config.get_all_display_settings(),
|
||||||
user_can_change_name: settings_account.user_can_change_name(),
|
user_can_change_name: settings_account.user_can_change_name(),
|
||||||
user_can_change_avatar: settings_account.user_can_change_avatar(),
|
user_can_change_avatar: settings_account.user_can_change_avatar(),
|
||||||
|
|||||||
@@ -54,10 +54,10 @@ exports.all_notifications = {
|
|||||||
mobile_notification_settings: mobile_notification_settings,
|
mobile_notification_settings: mobile_notification_settings,
|
||||||
email_notification_settings: email_notification_settings,
|
email_notification_settings: email_notification_settings,
|
||||||
},
|
},
|
||||||
push_notification_tooltip: {
|
show_push_notifications_tooltip: {
|
||||||
enable_stream_push_notifications: true,
|
enable_stream_push_notifications: !page_params.realm_push_notifications_enabled,
|
||||||
enable_offline_push_notifications: true,
|
enable_offline_push_notifications: !page_params.realm_push_notifications_enabled,
|
||||||
enable_online_push_notifications: true,
|
enable_online_push_notifications: !page_params.realm_push_notifications_enabled,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -12,8 +12,7 @@
|
|||||||
setting_name=this
|
setting_name=this
|
||||||
is_checked=(lookup ../page_params this)
|
is_checked=(lookup ../page_params this)
|
||||||
label=(lookup ../settings_label this)
|
label=(lookup ../settings_label this)
|
||||||
realm_push_notifications_enabled=(lookup ../page_params "realm_push_notifications_enabled")
|
show_push_notifications_tooltip=(lookup ../show_push_notifications_tooltip this)}}
|
||||||
push_notifications_tooltip=(lookup ../push_notification_tooltip this)}}
|
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
||||||
<p class="notification-settings-note">
|
<p class="notification-settings-note">
|
||||||
@@ -30,8 +29,7 @@
|
|||||||
setting_name=this
|
setting_name=this
|
||||||
is_checked=(lookup ../page_params this)
|
is_checked=(lookup ../page_params this)
|
||||||
label=(lookup ../settings_label this)
|
label=(lookup ../settings_label this)
|
||||||
realm_push_notifications_enabled=(lookup ../page_params "realm_push_notifications_enabled")
|
show_push_notifications_tooltip=(lookup ../show_push_notifications_tooltip this)}}
|
||||||
push_notifications_tooltip=(lookup ../push_notification_tooltip this)}}
|
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -81,8 +79,7 @@
|
|||||||
setting_name=this
|
setting_name=this
|
||||||
is_checked=(lookup ../page_params this)
|
is_checked=(lookup ../page_params this)
|
||||||
label=(lookup ../settings_label this)
|
label=(lookup ../settings_label this)
|
||||||
realm_push_notifications_enabled=(lookup ../page_params "realm_push_notifications_enabled")
|
show_push_notifications_tooltip=(lookup ../show_push_notifications_tooltip this)}}
|
||||||
push_notifications_tooltip=(lookup ../push_notification_tooltip this)}}
|
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
||||||
<h5>{{t "Email" }}</h5>
|
<h5>{{t "Email" }}</h5>
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
{{#unless (eq render_only false)}}
|
{{#unless (eq render_only false)}}
|
||||||
<div class="input-group {{#if is_nested}}disableable{{/if}} {{#if (and push_notifications_tooltip (not realm_push_notifications_enabled))}}control-label-disabled{{/if}}">
|
<div class="input-group {{#if is_nested}}disableable{{/if}} {{#if show_push_notifications_tooltip}}control-label-disabled{{/if}}">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input type="checkbox" class="inline-block setting-widget prop-element" name="{{setting_name}}" data-setting-widget-type="bool"
|
<input type="checkbox" class="inline-block setting-widget prop-element" name="{{setting_name}}" data-setting-widget-type="bool"
|
||||||
id="{{prefix}}{{setting_name}}"
|
id="{{prefix}}{{setting_name}}"
|
||||||
{{#if (and push_notifications_tooltip (not realm_push_notifications_enabled))}}disabled="disabled"{{/if}}
|
{{#if show_push_notifications_tooltip}}disabled="disabled"{{/if}}
|
||||||
{{#if is_checked}}
|
{{#if is_checked}}
|
||||||
{{#unless (and push_notifications_tooltip (not realm_push_notifications_enabled))}}
|
{{#unless show_push_notifications_tooltip}}
|
||||||
checked="checked"
|
checked="checked"
|
||||||
{{/unless}}
|
{{/unless}}
|
||||||
{{/if}} />
|
{{/if}} />
|
||||||
@@ -14,8 +14,8 @@
|
|||||||
<label for="{{prefix}}{{setting_name}}" class="inline-block" id="{{prefix}}{{setting_name}}_label">
|
<label for="{{prefix}}{{setting_name}}" class="inline-block" id="{{prefix}}{{setting_name}}_label">
|
||||||
{{{label}}}
|
{{{label}}}
|
||||||
</label>
|
</label>
|
||||||
{{#if push_notifications_tooltip}}
|
{{#if show_push_notifications_tooltip}}
|
||||||
<i class="fa fa-question-circle settings-info-icon" {{#if realm_push_notifications_enabled}}style="display:none"{{/if}} data-toggle="tooltip"
|
<i class="fa fa-question-circle settings-info-icon" data-toggle="tooltip"
|
||||||
title="{{t 'Mobile push notifications are not configured on this server.' }}"></i>
|
title="{{t 'Mobile push notifications are not configured on this server.' }}"></i>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user