mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
templates: Fix invalid <th> inside <thead> (missing <tr>).
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
committed by
Tim Abbott
parent
d3238e9a1b
commit
460d63c4dc
@@ -653,9 +653,11 @@ export function handle_sort<Key, Item>($th: JQuery, list: ListWidget<Key, Item>)
|
||||
to find custom sort function
|
||||
|
||||
<thead>
|
||||
<th data-sort="alphabetic" data-sort-prop="name"></th>
|
||||
<th data-sort="numeric" data-sort-prop="age"></th>
|
||||
<th data-sort="status"></th>
|
||||
<tr>
|
||||
<th data-sort="alphabetic" data-sort-prop="name"></th>
|
||||
<th data-sort="numeric" data-sort-prop="age"></th>
|
||||
<th data-sort="status"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
*/
|
||||
const sort_type = $th.attr("data-sort");
|
||||
|
@@ -12,21 +12,23 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="user_role" data-sort="role">{{t "Role" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="last_active" data-sort="last_active">{{t "Last active" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
{{/if}}
|
||||
<tr>
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="user_role" data-sort="role">{{t "Role" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="last_active" data-sort="last_active">{{t "Last active" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
{{/if}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="admin_users_table" class="admin_user_table"
|
||||
data-empty="{{t 'No users match your filters.' }}"></tbody>
|
||||
|
@@ -18,10 +18,12 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th data-sort="alphabetic" data-sort-prop="word">{{t "Word" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
<tr>
|
||||
<th data-sort="alphabetic" data-sort-prop="word">{{t "Word" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="alert-words-table" class="alert-words-table"
|
||||
data-empty="{{t 'There are no current alert words.' }}"></tbody>
|
||||
|
@@ -9,19 +9,21 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th data-sort="alphabetic" data-sort-prop="name" class="upload-file-name">{{t "File" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="active upload-date" data-sort="numeric" data-sort-prop="create_time">{{t "Date uploaded" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="upload-mentioned-in" data-sort="mentioned_in">{{t "Mentioned in" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="upload-size" data-sort="numeric" data-sort-prop="size">{{t "Size" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="upload-actions actions">{{t "Actions" }}</th>
|
||||
<tr>
|
||||
<th data-sort="alphabetic" data-sort-prop="name" class="upload-file-name">{{t "File" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="active upload-date" data-sort="numeric" data-sort-prop="create_time">{{t "Date uploaded" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="upload-mentioned-in" data-sort="mentioned_in">{{t "Mentioned in" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="upload-size" data-sort="numeric" data-sort-prop="size">{{t "Size" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="upload-actions actions">{{t "Actions" }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-empty="{{t 'You have not uploaded any files.' }}" data-search-results-empty="{{t 'No uploaded files match your current filter.' }}" id="uploaded_files_table"></tbody>
|
||||
</table>
|
||||
|
@@ -27,24 +27,26 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="user_role" data-sort="role">{{t "Role" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="bot_owner">{{t "Owner" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="alphabetic" data-sort-prop="bot_type" class="bot_type">{{t "Bot type" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
{{/if}}
|
||||
<tr>
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="user_role" data-sort="role">{{t "Role" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="bot_owner">{{t "Owner" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="alphabetic" data-sort-prop="bot_type" class="bot_type">{{t "Bot type" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
{{/if}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="admin_bots_table" class="admin_bot_table"
|
||||
data-empty="{{t 'There are no bots.' }}" data-search-results-empty="{{t 'No bots match your current filter.' }}"></tbody>
|
||||
|
@@ -43,15 +43,17 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table admin_exports_table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="active" data-sort="user">{{t "Requesting user" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th>{{t "Type"}}</th>
|
||||
<th data-sort="numeric" data-sort-prop="export_time">{{t "Time" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th>{{t "Status" }}</th>
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
<tr>
|
||||
<th class="active" data-sort="user">{{t "Requesting user" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th>{{t "Type"}}</th>
|
||||
<th data-sort="numeric" data-sort-prop="export_time">{{t "Time" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th>{{t "Status" }}</th>
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="admin_exports_table" data-empty="{{t 'There are no exports.' }}"></tbody>
|
||||
</table>
|
||||
@@ -70,8 +72,10 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="active" data-sort="full_name">{{t "Name" }}</th>
|
||||
<th>{{t "Export permission"}}</th>
|
||||
<tr>
|
||||
<th class="active" data-sort="full_name">{{t "Name" }}</th>
|
||||
<th>{{t "Export permission"}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="admin_export_consents_table"></tbody>
|
||||
</table>
|
||||
|
@@ -15,20 +15,22 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" {{#if allow_sorting_deactivated_users_list_by_email}}data-sort="email"{{/if}}>{{t "Email" }}
|
||||
{{#if allow_sorting_deactivated_users_list_by_email}}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
<tr>
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" {{#if allow_sorting_deactivated_users_list_by_email}}data-sort="email"{{/if}}>{{t "Email" }}
|
||||
{{#if allow_sorting_deactivated_users_list_by_email}}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
{{/if}}
|
||||
</th>
|
||||
<th class="user_role" data-sort="role">{{t "Role" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
{{/if}}
|
||||
</th>
|
||||
<th class="user_role" data-sort="role">{{t "Role" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
{{/if}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="admin_deactivated_users_table" class="admin_user_table"
|
||||
data-empty="{{t 'There are no deactivated users.' }}"
|
||||
|
@@ -20,12 +20,14 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions"></th>
|
||||
{{/if}}
|
||||
<tr>
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions"></th>
|
||||
{{/if}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-empty="{{t 'There are no default channels.' }}" data-search-results-empty="{{t 'No default channels match your current filter.' }}"
|
||||
id="admin_default_streams_table" class="admin_default_stream_table"></tbody>
|
||||
|
@@ -20,14 +20,16 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table admin_emoji_table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="image">{{t "Image" }}</th>
|
||||
<th class="image" data-sort="author_full_name">{{t "Author" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
<tr>
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="image">{{t "Image" }}</th>
|
||||
<th class="image" data-sort="author_full_name">{{t "Author" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="admin_emoji_table" data-empty="{{t 'There are no custom emoji.' }}" data-search-results-empty="{{t 'No custom emojis match your current filter.' }}"></tbody>
|
||||
</table>
|
||||
|
@@ -30,24 +30,26 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="active" data-sort="invitee">{{t "Invitee" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin }}
|
||||
<th data-sort="alphabetic" data-sort-prop="referrer_name">{{t "Invited by" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{/if}}
|
||||
<th data-sort="numeric" data-sort-prop="invited">{{t "Invited at" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="numeric" data-sort-prop="expiry_date">{{t "Expires at" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="numeric" data-sort-prop="invited_as">{{t "Invited as" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
<tr>
|
||||
<th class="active" data-sort="invitee">{{t "Invitee" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin }}
|
||||
<th data-sort="alphabetic" data-sort-prop="referrer_name">{{t "Invited by" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{/if}}
|
||||
<th data-sort="numeric" data-sort-prop="invited">{{t "Invited at" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="numeric" data-sort-prop="expiry_date">{{t "Expires at" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="numeric" data-sort-prop="invited_as">{{t "Invited as" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="admin_invites_table" class="admin_invites_table" data-empty="{{t 'There are no invitations.' }}" data-search-results-empty="{{t 'No invitations match your current filter.' }}"></tbody>
|
||||
</table>
|
||||
|
@@ -66,11 +66,13 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table admin_linkifiers_table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th>{{t "Pattern" }}</th>
|
||||
<th>{{t "URL template" }}</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
{{/if}}
|
||||
<tr>
|
||||
<th>{{t "Pattern" }}</th>
|
||||
<th>{{t "URL template" }}</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
{{/if}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="admin_linkifiers_table" data-empty="{{t 'No linkifiers configured.' }}" data-search-results-empty="{{t 'No linkifiers match your current filter.' }}"></tbody>
|
||||
</table>
|
||||
|
@@ -6,13 +6,15 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th data-sort="alphabetic" data-sort-prop="user_name">{{t "User" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="numeric" data-sort-prop="date_muted">{{t "Date muted" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
<tr>
|
||||
<th data-sort="alphabetic" data-sort-prop="user_name">{{t "User" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="numeric" data-sort-prop="date_muted">{{t "Date muted" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="muted_users_table" data-empty="{{t 'You have not muted any users yet.'}}" data-search-results-empty="{{t 'No users match your current filter.' }}"></tbody>
|
||||
</table>
|
||||
|
@@ -74,18 +74,20 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table admin_playgrounds_table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="pygments_language">{{t "Language" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="alphabetic" data-sort-prop="name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="alphabetic" data-sort-prop="url_template">{{t "URL template" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
{{/if}}
|
||||
<tr>
|
||||
<th class="active" data-sort="alphabetic" data-sort-prop="pygments_language">{{t "Language" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="alphabetic" data-sort-prop="name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="alphabetic" data-sort-prop="url_template">{{t "URL template" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if is_admin}}
|
||||
<th class="actions">{{t "Actions" }}</th>
|
||||
{{/if}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="admin_playgrounds_table" data-empty="{{t 'No playgrounds configured.' }}" data-search-results-empty="{{t 'No playgrounds match your current filter.' }}"></tbody>
|
||||
</table>
|
||||
|
@@ -1,8 +1,10 @@
|
||||
<table class="table table-stripped" id="realm_domains_table">
|
||||
<thead>
|
||||
<th>{{t "Domain" }}</th>
|
||||
<th>{{t "Allow subdomains"}}</th>
|
||||
<th>{{t "Action" }}</th>
|
||||
<tr>
|
||||
<th>{{t "Domain" }}</th>
|
||||
<th>{{t "Allow subdomains"}}</th>
|
||||
<th>{{t "Action" }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
|
@@ -17,18 +17,20 @@
|
||||
<div class="progressive-table-wrapper" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="table table-striped wrapped-table">
|
||||
<thead class="table-sticky-headers">
|
||||
<th data-sort="alphabetic" data-sort-prop="stream">{{t "Channel" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="alphabetic" data-sort-prop="topic">{{t "Topic" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="numeric" data-sort-prop="visibility_policy">{{t "Status" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="numeric" data-sort-prop="date_updated" class="active topic_date_updated">{{t "Date updated" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<tr>
|
||||
<th data-sort="alphabetic" data-sort-prop="stream">{{t "Channel" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="alphabetic" data-sort-prop="topic">{{t "Topic" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="numeric" data-sort-prop="visibility_policy">{{t "Status" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th data-sort="numeric" data-sort-prop="date_updated" class="active topic_date_updated">{{t "Date updated" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="user_topics_table" data-empty="{{t 'You have not configured any topics yet.'}}" data-search-results-empty="{{t 'No topics match your current filter.' }}"></tbody>
|
||||
</table>
|
||||
|
@@ -17,13 +17,15 @@
|
||||
<div class="subscriber_list_container" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="subscriber-list table table-striped">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="panel_user_list" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="action-column">{{t "Action" }}</th>
|
||||
<tr>
|
||||
<th class="panel_user_list" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="action-column">{{t "Action" }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="create_stream_subscribers" class="subscriber_table" data-empty="{{t 'This channel has no subscribers.' }}" data-search-results-empty="{{t 'No channel subscribers match your current filter.'}}"></tbody>
|
||||
</table>
|
||||
|
@@ -2,15 +2,17 @@
|
||||
<div class="subscriber_list_loading_indicator"></div>
|
||||
<table id="stream_members_list" class="subscriber-list table table-striped">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="panel_user_list" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if can_remove_subscribers}}
|
||||
<th class="remove-button-column"></th>
|
||||
{{/if}}
|
||||
<tr>
|
||||
<th class="panel_user_list" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
{{#if can_remove_subscribers}}
|
||||
<th class="remove-button-column"></th>
|
||||
{{/if}}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="subscriber_table" data-empty="{{t 'This channel has no subscribers.' }}" data-search-results-empty="{{t 'No channel subscribers match your current filter.'}}"></tbody>
|
||||
</table>
|
||||
|
@@ -15,13 +15,15 @@
|
||||
<div class="member_list_container" data-simplebar data-simplebar-tab-index="-1">
|
||||
<table class="member-list table table-striped">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="panel_user_list" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="action-column">{{t "Action" }}</th>
|
||||
<tr>
|
||||
<th class="panel_user_list" data-sort="alphabetic" data-sort-prop="full_name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="action-column">{{t "Action" }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="create_user_group_members" class="member_table" data-empty="{{t 'This group has no members.' }}" data-search-results-empty="{{t 'No group members match your current filter.'}}"></tbody>
|
||||
</table>
|
||||
|
@@ -2,13 +2,15 @@
|
||||
<div class="member_list_loading_indicator"></div>
|
||||
<table class="member-list table table-striped">
|
||||
<thead class="table-sticky-headers">
|
||||
<th class="panel_user_list" data-sort="name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="remove-button-column" {{#unless can_remove_members}}style="display:none"{{/unless}}></th>
|
||||
<tr>
|
||||
<th class="panel_user_list" data-sort="name">{{t "Name" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="settings-email-column" data-sort="email">{{t "Email" }}
|
||||
<i class="table-sortable-arrow zulip-icon zulip-icon-sort-arrow-down"></i>
|
||||
</th>
|
||||
<th class="remove-button-column" {{#unless can_remove_members}}style="display:none"{{/unless}}></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="member_table" data-empty="{{t 'This group has no members.' }}" data-search-results-empty="{{t 'No group members match your current filter.'}}"></tbody>
|
||||
</table>
|
||||
|
Reference in New Issue
Block a user