webpack: Enable explicitPartialContext for handlebars-loader.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2024-11-15 18:24:11 -08:00
committed by Tim Abbott
parent 44c50b3e64
commit e172c717f7
75 changed files with 130 additions and 124 deletions

View File

@@ -153,7 +153,7 @@ def tokenize(text: str, template_format: str | None = None) -> list[Token]:
kind = "handlebars_partial"
elif looking_at_handlebars_partial_block():
s = get_handlebars_partial(text, state.i)
tag = s[5:-2]
tag = s[5:-2].split(None, 1)[0]
kind = "handlebars_partial_block"
elif looking_at_html_start():
s = get_html_tag(text, state.i)

View File

@@ -11,19 +11,19 @@
{{else if subscribed }}
{{#tr}}
You subscribed to <z-stream-name></z-stream-name>. <channel-settings-link></channel-settings-link>
{{#*inline "z-stream-name"}}{{> stream_privacy }} {{stream_name}}{{/inline}}
{{#*inline "z-stream-name"}}{{> stream_privacy . }} {{stream_name}}{{/inline}}
{{#*inline "channel-settings-link"}} <a href="#channels/{{stream_id}}/{{stream_name}}/personal">{{t 'Manage channel settings'}}</a>{{/inline}}
{{/tr}}
{{else if just_unsubscribed }}
{{#tr}}
You unsubscribed from <z-stream-name></z-stream-name>. <channel-settings-link></channel-settings-link>
{{#*inline "z-stream-name"}}{{> stream_privacy }} {{stream_name}}{{/inline}}
{{#*inline "z-stream-name"}}{{> stream_privacy . }} {{stream_name}}{{/inline}}
{{#*inline "channel-settings-link"}} <a href="#channels/{{stream_id}}/{{stream_name}}/general">{{t 'View in channel settings'}}</a>{{/inline}}
{{/tr}}
{{else}}
{{#tr}}
You are not subscribed to <z-stream-name></z-stream-name>.
{{#*inline "z-stream-name"}}{{> stream_privacy }} {{stream_name}}{{/inline}}
{{#*inline "z-stream-name"}}{{> stream_privacy . }} {{stream_name}}{{/inline}}
{{/tr}}
{{/if}}
</span>

View File

@@ -5,7 +5,7 @@
{{#if should_render_privacy_icon}}
{{#tr}}
Notifications are based on your configuration for <z-stream-name></z-stream-name>.
{{#*inline "z-stream-name"}}<span class="tooltip-privacy-icon">{{> stream_privacy }}<span class="privacy-tooltip-stream-name">{{name}}</span></span>{{/inline}}
{{#*inline "z-stream-name"}}<span class="tooltip-privacy-icon">{{> stream_privacy . }}<span class="privacy-tooltip-stream-name">{{name}}</span></span>{{/inline}}
{{/tr}}
{{else}}
{{current_visibility_policy_str}}

View File

@@ -102,7 +102,7 @@
</div>
<div id="message-formatting-controls-container">
{{> compose_control_buttons }}
{{> compose_control_buttons . }}
</div>
</div>
</div>

View File

@@ -1,4 +1,4 @@
{{#> compose_banner }}
{{#> compose_banner . }}
<p class="banner_message">
{{#if followed}}
{{#tr}}

View File

@@ -1,4 +1,4 @@
{{#> compose_banner }}
{{#> compose_banner . }}
<p class="banner_message">
{{error_message}}
{{#tr}}

View File

@@ -1,4 +1,4 @@
{{#> compose_banner }}
{{#> compose_banner . }}
<p class="banner_message">
{{#tr}}Viewing the conversation where you sent your message. To go back, use the <b>back</b> button in your browser or desktop app.{{/tr}}
</p>

View File

@@ -1,4 +1,4 @@
{{#> compose_banner }}
{{#> compose_banner . }}
<p class="banner_message">
{{#if can_subscribe_other_users}}
{{#if should_add_guest_user_indicator}}

View File

@@ -1,4 +1,4 @@
{{#> compose_banner }}
{{#> compose_banner . }}
<p class="banner_message">
{{#tr}}Warning: <strong>#{channel_name}</strong> is a private channel.{{/tr}}
</p>

View File

@@ -1,4 +1,4 @@
{{#> compose_banner }}
{{#> compose_banner . }}
<p class="banner_message">
{{#tr}}
The channel <b>#{channel_name}</b> does not exist. Manage your subscriptions

View File

@@ -1,4 +1,4 @@
{{#> compose_banner }}
{{#> compose_banner . }}
<p class="banner_message">
{{#tr}}
Are you sure you want to send @-mention notifications to the <strong>{subscriber_count}</strong> users subscribed to #{channel_name}? If not, please edit your message to remove the <strong>@{wildcard_mention}</strong> mention.

View File

@@ -1,4 +1,4 @@
{{#> compose_banner }}
{{#> compose_banner . }}
<p class="banner_message">
{{#if (eq muted_narrow "stream")}}
{{#tr}}Your message was sent to a channel you have muted.{{/tr}}

View File

@@ -1,4 +1,4 @@
{{#> compose_banner }}
{{#> compose_banner . }}
<p class="banner_message">
{{#if wildcard_mention_string}}
{{#tr}}You do not have permission to use <b>@{wildcard_mention_string}</b> mentions in this channel.{{/tr}}

View File

@@ -34,11 +34,11 @@
</div>
<div class="show_popover_buttons_2">
<div class="divider">|</div>
{{> popovers/compose_control_buttons/compose_control_buttons_in_popover_2}}
{{> popovers/compose_control_buttons/compose_control_buttons_in_popover_2 .}}
</div>
<div class="show_popover_buttons">
<div class="divider">|</div>
{{> popovers/compose_control_buttons/compose_control_buttons_in_popover}}
{{> popovers/compose_control_buttons/compose_control_buttons_in_popover .}}
</div>
<div class="compose_control_menu_wrapper" role="button" tabindex=0>
<a class="compose_control_button zulip-icon zulip-icon-more-vertical hide compose_control_menu" tabindex="-1" data-tippy-content="Compose actions"></a>

View File

@@ -1,6 +1,6 @@
<p>
{{#tr}}
Are you sure you want to unstar all messages in <stream-topic></stream-topic>? This action cannot be undone.
{{#*inline "stream-topic"}}{{> ../stream_topic_widget}}{{/inline}}
{{#*inline "stream-topic"}}{{> ../stream_topic_widget .}}{{/inline}}
{{/tr}}
</p>

View File

@@ -5,7 +5,7 @@
<h1 class="modal__title dialog_heading">
{{{ heading_text }}}
{{#if link}}
{{> help_link_widget }}
{{> help_link_widget . }}
{{/if}}
</h1>
<button class="modal__close" aria-label="{{t 'Close modal' }}" data-micromodal-close></button>

View File

@@ -5,7 +5,7 @@
<div class="message-header-contents" style="background: {{recipient_bar_color}};">
<div class="message_label_clickable stream_label">
<span class="stream-privacy-modified-color-{{stream_id}} stream-privacy filter-icon" style="color: {{stream_privacy_icon_color}}">
{{> stream_privacy}}
{{> stream_privacy .}}
</span>
{{#if stream_name}}
{{stream_name}}

View File

@@ -33,13 +33,13 @@
<div id="drafts-from-conversation">
<h2>{{narrow_drafts_header}}</h2>
{{#each narrow_drafts}}
{{> draft}}
{{> draft .}}
{{/each}}
</div>
<div id="other-drafts">
<h2 id="other-drafts-header">{{t "Other drafts" }}</h2>
{{#each other_drafts}}
{{> draft}}
{{> draft .}}
{{/each}}
</div>
</div>

View File

@@ -4,6 +4,6 @@
</label>
<span class="prop-element hide" id="id_{{widget_name}}" data-setting-widget-type="dropdown-list-widget" {{#if value_type}}data-setting-value-type="{{value_type}}"{{/if}}></span>
<div class="dropdown_widget_with_label_wrapper">
{{> dropdown_widget}}
{{> dropdown_widget .}}
</div>
</div>

View File

@@ -1,3 +1,3 @@
<div id="{{widget_name}}_widget_wrapper" tabindex="0">
{{> dropdown_widget disable_keyboard_focus="true"}}
{{> dropdown_widget . disable_keyboard_focus="true"}}
</div>

View File

@@ -25,5 +25,5 @@
</div>
<div id="inbox-streams-container">
{{> inbox_stream_container }}
{{> inbox_stream_container . }}
</div>

View File

@@ -1,5 +1,5 @@
{{#if is_stream}}
{{> inbox_stream_header_row}}
{{> inbox_stream_header_row .}}
{{else}}
<div id="inbox-row-conversation-{{conversation_key}}" class="inbox-row {{#if is_hidden}}hidden_by_filters{{/if}} {{#if is_collapsed}}collapsed_container{{/if}}" tabindex="0" data-col-index="{{ column_indexes.RECIPIENT }}">
<div class="inbox-focus-border">

View File

@@ -6,7 +6,7 @@
<div tabindex="0" class="inbox-header-name">
<div class="inbox-header-name-focus-border">
<span class="stream-privacy-original-color-{{stream_id}} stream-privacy filter-icon" style="color: {{stream_color}}">
{{> ../stream_privacy }}
{{> ../stream_privacy . }}
</span>
<a tabindex="-1" href="{{stream_url}}">{{stream_name}}</a>
{{#if is_archived}}

View File

@@ -12,6 +12,6 @@
</div>
{{> inbox_no_unreads}}
<div id="inbox-list">
{{> inbox_list}}
{{> inbox_list .}}
</div>
</div>

View File

@@ -1,5 +1,5 @@
{{#if include_sender}}
{{> message_avatar ~}}
{{> message_avatar . ~}}
{{/if}}
<span class="message_sender">
{{#if include_sender}}
@@ -17,11 +17,11 @@
{{#if status_message}}
<span class="rendered_markdown status-message">{{rendered_markdown status_message}}</span>
{{#if message_edit_notices_for_status_message}}
{{> edited_notice}}
{{> edited_notice .}}
{{/if}}
{{/if}}
{{#if message_edit_notices_alongside_sender}}
{{> edited_notice}}
{{> edited_notice .}}
{{/if}}
{{/if}}
</span>
@@ -43,7 +43,7 @@
{{> message_controls_failed_msg}}
{{/if}}
{{else}}
{{> message_controls}}
{{> message_controls .}}
{{/if}}
</div>
@@ -64,11 +64,11 @@
{{/unless}}
{{#if message_edit_notices_in_left_col}}
{{> edited_notice}}
{{> edited_notice .}}
{{/if}}
<div class="message_length_controller"></div>
{{#if (and (not is_hidden) msg.message_reactions)}}
{{> message_reactions }}
{{> message_reactions . }}
{{/if}}

View File

@@ -19,7 +19,7 @@
<div class="controls edit-controls">
{{#if is_editable}}
<div class="message-edit-feature-group">
{{> compose_control_buttons }}
{{> compose_control_buttons . }}
</div>
{{/if}}
<div class="message-edit-buttons-and-timer">

View File

@@ -3,14 +3,14 @@
{{#each message_groups}}
{{#with this}}
{{#if bookend_top}}
{{> bookend}}
{{> bookend .}}
{{/if}}
<div class="recipient_row" id="{{message_group_id}}">
{{> recipient_row use_match_properties=../use_match_properties}}
{{> recipient_row . use_match_properties=../use_match_properties}}
{{#each message_containers}}
{{#with this}}
{{> single_message use_match_properties=../../use_match_properties message_list_id=../../message_list_id is_archived=../is_archived}}
{{> single_message . use_match_properties=../../use_match_properties message_list_id=../../message_list_id is_archived=../is_archived}}
{{/with}}
{{/each}}
</div>

View File

@@ -1,6 +1,6 @@
<div class="message_reactions">
{{#each this/msg/message_reactions}}
{{> message_reaction is_archived=../is_archived}}
{{> message_reaction . is_archived=../is_archived}}
{{/each}}
{{#unless is_archived}}
<div class="reaction_button" role="button" aria-haspopup="true" data-tooltip-template-id="add-emoji-tooltip-template" aria-label="{{t 'Add emoji reaction' }} (:)">

View File

@@ -1,7 +1,7 @@
{{#if stream_settings_link}}
{{#unless stream.is_archived}}
<a class="message-header-stream-settings-button tippy-zulip-tooltip" data-tooltip-template-id="stream-details-tooltip-template" data-tippy-placement="bottom" href="{{stream_settings_link}}">
{{> navbar_icon_and_title }}
{{> navbar_icon_and_title . }}
</a>
<template id="stream-details-tooltip-template">
<div>
@@ -15,7 +15,7 @@
</template>
{{else}}
<span class="navbar_title">
{{> navbar_icon_and_title }}
{{> navbar_icon_and_title . }}
</span>
{{/unless}}
<span class="narrow_description rendered_markdown single-line-rendered-markdown">
@@ -31,7 +31,7 @@
</span>
{{else}}
<span class="navbar_title">
{{> navbar_icon_and_title }}
{{> navbar_icon_and_title . }}
</span>
{{#if description}}
<span class="narrow_description rendered_markdown single-line-rendered-markdown">{{description}}

View File

@@ -1,5 +1,5 @@
{{#unless realm_has_description}}
{{#> modal_banner }}
{{#> modal_banner . }}
<p class="banner_message">
{{#tr}}
You may want to <z-link>configure</z-link> your organization's login page prior to inviting users.
@@ -8,7 +8,7 @@
</p>
{{/modal_banner}}
{{else unless realm_has_user_set_icon}}
{{#> modal_banner }}
{{#> modal_banner . }}
<p class="banner_message">
{{#tr}}
You may want to <z-link>upload a profile picture</z-link> for your organization prior to inviting users.
@@ -18,7 +18,7 @@
{{/modal_banner}}
{{/unless}}
{{#unless realm_has_custom_profile_fields}}
{{#> modal_banner }}
{{#> modal_banner . }}
<p class="banner_message">
{{#tr}}
You may want to configure <z-link-1>default new user settings</z-link-1> and <z-link-2>custom profile fields</z-link-2> prior to inviting users.

View File

@@ -1,4 +1,4 @@
{{#> modal_banner }}
{{#> modal_banner . }}
<p class="banner_message">
{{#tr}}
Channel <z-link>#{stream_name}</z-link> created!

View File

@@ -1,4 +1,4 @@
{{#> modal_banner }}
{{#> modal_banner . }}
<p class="banner_message">
{{#tr}}Channels organize conversations based on who needs to see them.{{/tr}}
</p>

View File

@@ -1,4 +1,4 @@
{{#> modal_banner }}
{{#> modal_banner . }}
<p class="banner_message">
{{#tr}}User groups offer a flexible way to manage permissions in your organization.{{/tr}}
</p>

View File

@@ -1,4 +1,4 @@
<div class="compose-control-buttons-container order-1 {{#if preview_mode_on}} preview_mode {{/if}}">
{{> compose_control_buttons_in_popover_2}}
{{> compose_control_buttons_in_popover}}
{{> compose_control_buttons_in_popover_2 .}}
{{> compose_control_buttons_in_popover .}}
</div>

View File

@@ -5,7 +5,7 @@
<a class="user-presence-link" href="{{href}}">
<div class="user-name-and-status-wrapper">
<div class="user-name-and-status-emoji">
{{> user_full_name}}
{{> user_full_name .}}
{{> status_emoji status_emoji_info}}
</div>
<span class="status-text">{{status_text}}</span>
@@ -19,7 +19,7 @@
<a class="user-presence-link" href="{{href}}">
<div class="user-name-and-status-wrapper">
<div class="user-name-and-status-emoji">
{{> user_full_name}}
{{> user_full_name .}}
{{> status_emoji status_emoji_info}}
</div>
<span class="status-text">{{status_text}}</span>
@@ -29,7 +29,7 @@
<span class="{{user_circle_class}} user_circle"></span>
<a class="user-presence-link" href="{{href}}">
<div class="user-name-and-status-emoji">
{{> user_full_name}}
{{> user_full_name .}}
{{> status_emoji status_emoji_info}}
</div>
</a>

View File

@@ -1,3 +1,3 @@
{{#each presence_rows}}
{{> presence_row}}
{{> presence_row .}}
{{/each}}

View File

@@ -7,7 +7,7 @@
<a href="{{pm_url}}" class="recent-view-table-link">{{t "Direct messages" }}</a>
{{else}}
<span class="stream-privacy-original-color-{{stream_id}} stream-privacy filter-icon" style="color: {{stream_color}}">
{{> stream_privacy }}
{{> stream_privacy . }}
</span>
<a href="{{topic_url}}" class="recent-view-table-link">{{stream_name}}</a>
{{/if}}

View File

@@ -1,6 +1,6 @@
<div id="recent_view_filter_buttons" class="button-group" role="group">
<div id="recent_filters_group">
{{> recent_view_filters}}
{{> recent_view_filters .}}
</div>
<div class="search_group" role="group">
<input type="text" id="recent_view_search" class="filter_text_input" value="{{ search_val }}" autocomplete="off" placeholder="{{t 'Filter topics (t)' }}" />

View File

@@ -6,7 +6,7 @@
href="{{stream_url}}"
data-tippy-content="{{t 'Go to #{display_recipient}' }}">
<span class="stream-privacy-modified-color-{{stream_id}} stream-privacy filter-icon" style="color: {{stream_privacy_icon_color}}">
{{> stream_privacy}}
{{> stream_privacy .}}
</span>
{{~! Recipient (e.g. stream/topic or topic) ~}}

View File

@@ -6,7 +6,7 @@
<div class="message-header-contents" style="background: {{recipient_bar_color}};">
<div class="message_label_clickable stream_label">
<span class="stream-privacy-modified-color-{{stream_id}} stream-privacy filter-icon" style="color: {{stream_privacy_icon_color}}">
{{> stream_privacy}}
{{> stream_privacy .}}
</span>
{{stream_name}}
</div>
@@ -17,7 +17,7 @@
</div>
</span>
<span class="recipient_bar_controls"></span>
{{> scheduled_message_stream_pm_common}}
{{> scheduled_message_stream_pm_common .}}
</div>
</div>
{{else}}
@@ -27,7 +27,7 @@
<span class="private_message_header_icon"><i class="zulip-icon zulip-icon-user"></i></span>
<span class="private_message_header_name">{{t "You and {recipients}" }}</span>
</div>
{{> scheduled_message_stream_pm_common}}
{{> scheduled_message_stream_pm_common .}}
</div>
</div>
{{/if}}

View File

@@ -19,7 +19,7 @@
{{this.operator}}
{{~#each this.users}}
{{#if this.valid_user}}
{{> user_pill}}
{{> user_pill .}}
{{else}}
{{this.operand}}
{{/if}}

View File

@@ -8,7 +8,7 @@
<button class="modal__close" aria-label="{{t 'Close modal' }}" data-micromodal-close></button>
</header>
<main class="modal__content">
{{> send_later_modal_options }}
{{> send_later_modal_options . }}
</main>
</div>
</div>

View File

@@ -1,7 +1,7 @@
<div class="user-status-content-wrapper">
<div class="tippy-zulip-tooltip" data-tippy-content="{{t 'Select emoji' }}" data-tippy-placement="top" aria-label="{{t 'Select emoji' }}" id="selected_emoji">
<div class="status-emoji-wrapper" tabindex="0">
{{> status_emoji_selector}}
{{> status_emoji_selector .}}
</div>
</div>
<input type="text" class="user-status modal_text_input" placeholder="{{t 'Your status' }}" maxlength="60"/>

View File

@@ -13,7 +13,7 @@
<td>
{{#if author}}
{{#with author}}
<span class="emoji_author panel_user_list">{{> ../user_display_only_pill display_value=full_name img_src=avatar_url}}</span>
<span class="emoji_author panel_user_list">{{> ../user_display_only_pill . display_value=full_name img_src=avatar_url}}</span>
{{/with}}
{{else}}
<span class="emoji_author">{{t "Unknown author" }}</span>

View File

@@ -3,28 +3,28 @@
{{> admin_settings_modals}}
{{> organization_profile_admin }}
{{> organization_profile_admin . }}
{{> organization_settings_admin }}
{{> organization_settings_admin . }}
{{> organization_permissions_admin }}
{{> organization_permissions_admin . }}
{{> organization_user_settings_defaults }}
{{> organization_user_settings_defaults . }}
{{> emoji_settings_admin }}
{{> emoji_settings_admin . }}
{{> user_list_admin }}
{{> user_list_admin . }}
{{> bot_list_admin }}
{{> bot_list_admin . }}
{{> default_streams_list_admin }}
{{> default_streams_list_admin . }}
{{> auth_methods_settings_admin }}
{{> auth_methods_settings_admin . }}
{{> linkifier_settings_admin }}
{{> linkifier_settings_admin . }}
{{> playground_settings_admin }}
{{> playground_settings_admin . }}
{{> profile_field_settings_admin }}
{{> profile_field_settings_admin . }}
{{> data_exports_admin }}
{{> data_exports_admin . }}

View File

@@ -14,7 +14,7 @@
<div class="profile-field-choices" name="profile_field_choices_edit">
<div class="edit_profile_field_choices_container">
{{#each choices}}
{{> profile_field_choice }}
{{> profile_field_choice . }}
{{/each}}
</div>
</div>

View File

@@ -71,7 +71,7 @@
setting_name="realm_can_create_public_channel_group"
label=(t 'Who can create public channels')}}
{{> upgrade_tip_widget }}
{{> upgrade_tip_widget . }}
{{> settings_checkbox
setting_name="realm_enable_spectator_access"
prefix="id_"

View File

@@ -58,7 +58,7 @@
<h3>{{t "Organization logo" }}
{{> ../help_link_widget link="/help/create-your-organization-profile#add-a-wide-logo" }}
</h3>
{{> upgrade_tip_widget }}
{{> upgrade_tip_widget . }}
</div>
<p>{{t "A wide image (200×25 pixels) for the upper left corner of the app." }}</p>

View File

@@ -75,7 +75,7 @@
{{> settings_save_discard_widget section_name="message-retention" }}
</div>
{{> upgrade_tip_widget }}
{{> upgrade_tip_widget . }}
<div class="inline-block organization-settings-parent">
<div class="input-group time-limit-setting">

View File

@@ -6,9 +6,9 @@
{{#*inline "z-link"}}<a href="/help/configure-default-new-user-settings" target="_blank" rel="noopener noreferrer">{{> @partial-block }}</a>{{/inline}}
{{/tr}}
</div>
{{> preferences prefix="realm_" for_realm_settings=true full_name=full_name}}
{{> preferences . prefix="realm_" for_realm_settings=true full_name=full_name}}
{{> notification_settings prefix="realm_" for_realm_settings=true}}
{{> notification_settings . prefix="realm_" for_realm_settings=true}}
<div class="privacy_settings settings-subsection-parent">
<div class="subsection-header inline-block">

View File

@@ -1,9 +1,9 @@
<form class="preferences-settings-form">
{{>preferences_general}}
{{>preferences_general .}}
{{>preferences_emoji}}
{{>preferences_emoji .}}
{{>preferences_navigation}}
{{>preferences_navigation .}}
{{>preferences_information}}
{{>preferences_information .}}
</form>

View File

@@ -2,10 +2,10 @@
<div class="tab-container"></div>
{{>active_user_list_admin}}
{{>active_user_list_admin .}}
{{>deactivated_users_admin}}
{{>deactivated_users_admin .}}
{{>invites_list_admin}}
{{>invites_list_admin .}}
</div>

View File

@@ -1,3 +1,3 @@
<div id="user-notification-settings" class="settings-section" data-name="notifications">
{{> notification_settings prefix="user_" for_realm_settings=false}}
{{> notification_settings . prefix="user_" for_realm_settings=false}}
</div>

View File

@@ -1,3 +1,3 @@
<div id="user-preferences" class="settings-section" data-name="preferences">
{{> preferences prefix="user_" for_realm_settings=false}}
{{> preferences . prefix="user_" for_realm_settings=false}}
</div>

View File

@@ -1,13 +1,13 @@
<div id="settings-change-box">
{{> settings/profile_settings }}
{{> settings/profile_settings . }}
{{> settings/account_settings }}
{{> settings/account_settings . }}
{{> settings/user_preferences }}
{{> settings/user_preferences . }}
{{> settings/user_notification_settings }}
{{> settings/user_notification_settings . }}
{{> settings/bot_settings }}
{{> settings/bot_settings . }}
{{> settings/alert_word_settings }}

View File

@@ -10,7 +10,7 @@
<div class="unread_marker message_unread_marker"><div class="unread-marker-fill"></div></div>
<div class="messagebox">
<div class="messagebox-content {{#if status_message}}is-me-message{{/if}}">
{{> message_body}}
{{> message_body .}}
{{!-- message_edit_form.hbs is inserted here when editing a message. --}}
</div>
</div>

View File

@@ -1,3 +1,3 @@
{{#each subscriptions}}
{{> browse_streams_list_item }}
{{> browse_streams_list_item . }}
{{/each}}

View File

@@ -47,12 +47,12 @@
<div class='sub_unsub_status'></div>
</div>
{{/if}}
{{> subscription_setting_icon }}
{{> subscription_setting_icon . }}
<div class="sub-info-box">
<div class="top-bar">
<div class="stream-name">{{name}}</div>
<div class="subscriber-count tippy-zulip-tooltip" data-tippy-content="{{t 'Subscriber count' }}">
{{> subscriber_count}}
{{> subscriber_count .}}
</div>
</div>
<div class="bottom-bar">

View File

@@ -1,6 +1,6 @@
<tr>
<td class="panel_user_list">
{{> ../user_display_only_pill display_value=full_name strikethrough=soft_removed is_active=true}}
{{> ../user_display_only_pill . display_value=full_name strikethrough=soft_removed is_active=true}}
</td>
{{#if email}}
<td class="subscriber-email settings-email-column {{#if soft_removed}} strikethrough {{/if}}">{{email}}</td>

View File

@@ -25,7 +25,7 @@
</section>
<section id="make-invite-only">
<div class="stream-types">
{{> stream_types
{{> stream_types .
stream_post_policy=stream_post_policy_values.everyone.code
is_stream_edit=false
can_remove_subscribers_setting_widget_name="new_stream_can_remove_subscribers_group" }}

View File

@@ -1,6 +1,6 @@
<tr data-subscriber-id="{{user_id}}">
<td class="subscriber-name panel_user_list">
{{> ../user_display_only_pill display_value=name is_active=true}}
{{> ../user_display_only_pill . display_value=name is_active=true}}
</td>
{{#if email}}
<td class="subscriber-email settings-email-column">{{email}}</td>

View File

@@ -5,7 +5,7 @@
</h4>
<div class="subscriber_list_settings">
<div class="subscriber_list_add float-left">
{{> add_subscribers_form}}
{{> add_subscribers_form .}}
<div class="stream_subscription_request_result"></div>
</div>
<div class="clear-float"></div>
@@ -17,7 +17,7 @@
</span>
</div>
<div class="subscriber-list-box">
{{> stream_members_table}}
{{> stream_members_table .}}
</div>
</div>
{{/render_subscribers}}

View File

@@ -36,7 +36,7 @@
<div class="stream_section" data-stream-section="general">
{{#with sub}}
<div class="stream-settings-tip-container">
{{> stream_settings_tip}}
{{> stream_settings_tip .}}
</div>
<div class="stream-header">
{{> stream_privacy_icon
@@ -57,7 +57,7 @@
rendered_description=rendered_description
}}
</div>
{{> stream_types
{{> stream_types .
stream_post_policy_values=../stream_post_policy_values
stream_privacy_policy_values=../stream_privacy_policy_values
stream_privacy_policy=../stream_privacy_policy
@@ -79,7 +79,7 @@
</div>
{{#with sub}}
<div class="creator_details stream_details_subsection">
{{> ../creator_details}}
{{> ../creator_details .}}
</div>
<div class="stream_details_subsection">
{{t "Channel ID"}}<br/>
@@ -154,7 +154,7 @@
<div class="stream_section" data-stream-section="subscribers">
{{#with sub}}
<div class="edit_subscribers_for_stream">
{{> stream_members}}
{{> stream_members .}}
</div>
{{/with}}
</div>

View File

@@ -76,7 +76,7 @@
<div id="stream_settings" class="settings" data-simplebar data-simplebar-tab-index="-1" data-simplebar-auto-hide="false">
{{!-- edit stream here --}}
</div>
{{> stream_creation_form }}
{{> stream_creation_form . }}
</div>
</div>
</div>

View File

@@ -28,7 +28,7 @@
{{#if ask_to_announce_stream}}
<div id="announce-new-stream">
{{>announce_stream_checkbox }}
{{>announce_stream_checkbox . }}
</div>
{{/if}}
@@ -78,7 +78,7 @@
{{> ../help_link_widget link="/help/message-retention-policy" }}
</label>
{{> ../settings/upgrade_tip_widget}}
{{> ../settings/upgrade_tip_widget .}}
<select name="stream_message_retention_setting"
class="stream_message_retention_setting prop-element settings_select bootstrap-focus-style"

View File

@@ -5,7 +5,7 @@
<div class="subscription_block selectable_sidebar_block {{#if hide_unread_count}}hide_unread_counts{{/if}}">
<span class="stream-privacy-original-color-{{id}} stream-privacy filter-icon" style="color: {{color}}">
{{> stream_privacy }}
{{> stream_privacy . }}
</span>
<a href="{{url}}" class="stream-name">{{name}}</a>

View File

@@ -4,7 +4,7 @@
<li class="typing_notification">{{t "Several people are typing…" }}</li>
{{else}}
{{#each users}}
{{> typing_notification}}
{{> typing_notification .}}
{{/each}}
{{/if}}
</ul>

View File

@@ -1,6 +1,6 @@
<tr>
<td class="panel_user_list" colspan="2">
{{> ../user_group_display_only_pill strikethrough=soft_removed}}
{{> ../user_group_display_only_pill . strikethrough=soft_removed}}
</td>
<td>
{{#if soft_removed}}

View File

@@ -4,7 +4,7 @@
</h4>
<div class="member_list_settings">
<div class="member_list_add float-left">
{{> add_members_form}}
{{> add_members_form .}}
<div class="user_group_subscription_request_result"></div>
</div>
<div class="clear-float"></div>
@@ -16,6 +16,6 @@
</span>
</div>
<div class="member-list-box">
{{> user_group_members_table}}
{{> user_group_members_table .}}
</div>
</div>

View File

@@ -59,7 +59,7 @@
</h3>
</div>
<div class="creator_details group_details_box_subsection">
{{> ../creator_details }}
{{> ../creator_details . }}
</div>
<div class="group_details_box_subsection">
{{t "User group ID"}}<br/>
@@ -70,7 +70,7 @@
<div class="group_member_settings group_setting_section" data-group-section="members">
<div class="edit_members_for_user_group">
{{> user_group_members}}
{{> user_group_members .}}
</div>
</div>
</div>

View File

@@ -63,7 +63,7 @@
<div id="user_group_settings" class="settings" data-simplebar data-simplebar-tab-index="-1" data-simplebar-auto-hide="false">
{{!-- edit user group here --}}
</div>
{{> user_group_creation_form }}
{{> user_group_creation_form . }}
</div>
</div>
</div>

View File

@@ -1,6 +1,6 @@
<tr data-subgroup-id="{{group_id}}">
<td class="subgroup-name panel_user_list" colspan="2">
{{> ../user_group_display_only_pill}}
{{> ../user_group_display_only_pill .}}
</td>
{{#if can_edit}}
<td class="remove">

View File

@@ -1,7 +1,7 @@
<tr data-stream-id="{{stream_id}}">
<td class="subscription_list_stream">
<span class="stream-privacy-original-color-{{stream_id}} stream-privacy filter-icon" style="color: {{stream_color}}">
{{> stream_privacy }}
{{> stream_privacy . }}
</span>
<a class = "stream_list_item" href="{{stream_edit_url}}">{{name}}</a>
</td>

View File

@@ -24,7 +24,12 @@ hb.JavaScriptCompiler = ZJavaScriptCompiler;
function compile_hbs(module, filename) {
const code = fs.readFileSync(filename, "utf8");
const pc = hb.precompile(code, {preventIndent: true, srcName: filename, strict: true});
const pc = hb.precompile(code, {
preventIndent: true,
srcName: filename,
strict: true,
explicitPartialContext: true,
});
const node = new SourceNode();
node.add([
'const Handlebars = require("handlebars/runtime.js");\n',

View File

@@ -182,6 +182,7 @@ const config = (
precompileOptions: {
knownHelpersOnly: true,
strict: true,
explicitPartialContext: true,
},
preventIndent: true,
// This replaces relative image resources with