mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-08-29 10:17:35 +02:00
Merge branch 'master' into develop
This commit is contained in:
@@ -9,19 +9,23 @@
|
||||
<button type="button" class="btn btn-ghost btn-sm dropdown-toggle w-100" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span component="group-selector-selected">{group.displayName}</span> <span class="caret"></span>
|
||||
</button>
|
||||
<div component="group-selector-search" class="hidden position-absolute w-100">
|
||||
<input type="text" class="form-control" autocomplete="off">
|
||||
|
||||
<div class="dropdown-menu p-1">
|
||||
<div component="group-selector-search" class="p-1 hidden">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
<hr class="mt-2 mb-0"/>
|
||||
</div>
|
||||
<ul component="group-list" class="list-unstyled mb-0 text-sm dropdown-menu-end group-dropdown-menu overflow-auto ghost-scrollbar" role="menu" style="max-height: 500px;">
|
||||
<li component="group-no-matches" role="presentation" class="group hidden">
|
||||
<a class="dropdown-item rounded-1" role="menuitem">[[search:no-matches]]</a>
|
||||
</li>
|
||||
{{{ each groupNames }}}
|
||||
<li role="presentation" class="group" data-name="{groupNames.displayName}">
|
||||
<a class="dropdown-item rounded-1" href="{config.relative_path}/admin/manage/groups/{groupNames.encodedName}" role="menuitem">{groupNames.displayName}</a>
|
||||
</li>
|
||||
{{{ end }}}
|
||||
</ul>
|
||||
</div>
|
||||
<ul component="group-list" class="dropdown-menu dropdown-menu-end group-dropdown-menu overflow-auto p-1" role="menu" style="max-height: 500px;">
|
||||
<li component="group-no-matches" role="presentation" class="group hidden">
|
||||
<a class="dropdown-item rounded-1" role="menuitem">[[search:no-matches]]</a>
|
||||
</li>
|
||||
{{{ each groupNames }}}
|
||||
<li role="presentation" class="group" data-name="{groupNames.displayName}">
|
||||
<a class="dropdown-item rounded-1" href="{config.relative_path}/admin/manage/groups/{groupNames.encodedName}" role="menuitem">{groupNames.displayName}</a>
|
||||
</li>
|
||||
{{{ end }}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-md-4 px-0 px-md-3 ">
|
||||
@@ -157,26 +161,30 @@
|
||||
<button type="button" class="btn btn-ghost btn-sm d-flex gap-2 align-items-center flex-fill dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fa fa-fw fa-lock text-primary"></i> <span>[[admin/manage/groups:privileges]]</span> <span class="caret"></span>
|
||||
</button>
|
||||
<div component="category-selector-search" class="hidden position-absolute">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
|
||||
<div class="dropdown-menu p-1">
|
||||
<div component="category-selector-search" class="p-1 hidden">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
<hr class="mt-2 mb-0"/>
|
||||
</div>
|
||||
<ul component="category/list" class="list-unstyled mb-0 text-sm category-dropdown-menu dropdown-menu-end ghost-scrollbar" role="menu">
|
||||
<li component="category/no-matches" role="presentation" class="category hidden">
|
||||
<a class="dropdown-item" role="menuitem">[[search:no-matches]]</a>
|
||||
</li>
|
||||
{{{each categories}}}
|
||||
<li role="presentation" class="category {{{ if categories.disabledClass }}}disabled{{{ end }}}" data-cid="{categories.cid}" data-name="{categories.name}" data-parent-cid="{categories.parentCid}">
|
||||
<a class="dropdown-item rounded-1" role="menuitem">{categories.level}
|
||||
<span component="category-markup">
|
||||
<div class="category-item d-inline-block">
|
||||
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
||||
{./name}
|
||||
</div>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
{{{end}}}
|
||||
</ul>
|
||||
</div>
|
||||
<ul component="category/list" class="dropdown-menu category-dropdown-menu dropdown-menu-end p-1" role="menu">
|
||||
<li component="category/no-matches" role="presentation" class="category hidden">
|
||||
<a class="dropdown-item" role="menuitem">[[search:no-matches]]</a>
|
||||
</li>
|
||||
{{{each categories}}}
|
||||
<li role="presentation" class="category {{{ if categories.disabledClass }}}disabled{{{ end }}}" data-cid="{categories.cid}" data-name="{categories.name}" data-parent-cid="{categories.parentCid}">
|
||||
<a class="dropdown-item rounded-1" role="menuitem">{categories.level}
|
||||
<span component="category-markup">
|
||||
<div class="category-item d-inline-block">
|
||||
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
||||
{./name}
|
||||
</div>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
{{{end}}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -1,19 +1,21 @@
|
||||
<form type="form">
|
||||
<div class="form-group">
|
||||
<div component="category-selector" class="btn-group">
|
||||
<button type="button" class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span component="category-selector-selected">[[topic:thread-tools.select-category]]</span> <span class="caret"></span>
|
||||
</button>
|
||||
<div component="category-selector-search" class="hidden position-absolute">
|
||||
<input type="text" class="form-control" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
<div class="mb-3">
|
||||
<div component="category-selector" class="btn-group">
|
||||
<button type="button" class="btn btn-ghost border dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span component="category-selector-selected">[[topic:thread-tools.select-category]]</span> <span class="caret"></span>
|
||||
</button>
|
||||
|
||||
<div class="dropdown-menu p-1">
|
||||
<div component="category-selector-search" class="p-1 hidden">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
<hr class="mt-2 mb-0"/>
|
||||
</div>
|
||||
<ul component="category/list" class="dropdown-menu category-dropdown-menu" role="menu">
|
||||
<ul component="category/list" class="list-unstyled mb-0 text-sm category-dropdown-menu ghost-scrollbar" role="menu">
|
||||
<li component="category/no-matches" role="presentation" class="category hidden">
|
||||
<a class="dropdown-item" role="menuitem">[[search:no-matches]]</a>
|
||||
<a class="dropdown-item rounded-1" role="menuitem">[[search:no-matches]]</a>
|
||||
</li>
|
||||
{{{ each categories }}}
|
||||
<li role="presentation" class="category {{{if categories.disabledClass}}}disabled{{{end}}}" data-cid="{categories.cid}" data-name="{categories.name}">
|
||||
<a class="dropdown-item" role="menuitem">{categories.level}
|
||||
<a class="dropdown-item rounded-1" role="menuitem">{categories.level}
|
||||
<span component="category-markup">
|
||||
<div class="category-item d-inline-block">
|
||||
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
||||
@@ -26,7 +28,8 @@
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{{{ if message }}}
|
||||
<div>{message}</div>
|
||||
{{{ end }}}
|
||||
@@ -11,25 +11,30 @@
|
||||
</span>
|
||||
</span> <span class="caret"></span>
|
||||
</button>
|
||||
<div component="category-selector-search" class="hidden position-absolute">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
</div>
|
||||
<ul component="category/list" class="dropdown-menu category-dropdown-menu p-1" role="menu">
|
||||
<li component="category/no-matches" role="presentation" class="category hidden">
|
||||
<a class="dropdown-item rounded-1" role="menu-item">[[search:no-matches]]</a>
|
||||
</li>
|
||||
{{{each categoryItems}}}
|
||||
<li role="presentation" class="category {{{ if ./disabledClass }}}disabled {{{ end }}}" data-cid="{./cid}" data-name="{./name}" data-parent-cid="{./parentCid}">
|
||||
<a href="#" class="dropdown-item rounded-1" role="menu-item">{./level}
|
||||
<span component="category-markup" style="{{{ if ./match }}}font-weight: bold;{{{end}}}">
|
||||
<div class="category-item d-inline-flex align-items-center gap-1">
|
||||
{{{ if ./icon }}}
|
||||
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
||||
{{{ end }}}
|
||||
{./name}
|
||||
</div>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
{{{ end }}}
|
||||
</ul>
|
||||
|
||||
<div class="dropdown-menu p-1">
|
||||
<div component="category-selector-search" class="p-1 hidden">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
<hr class="mt-2 mb-0"/>
|
||||
</div>
|
||||
|
||||
<ul component="category/list" class="list-unstyled mb-0 text-sm category-dropdown-menu" role="menu">
|
||||
<li component="category/no-matches" role="presentation" class="category hidden">
|
||||
<a class="dropdown-item rounded-1" role="menu-item">[[search:no-matches]]</a>
|
||||
</li>
|
||||
{{{each categoryItems}}}
|
||||
<li role="presentation" class="category {{{ if ./disabledClass }}}disabled {{{ end }}}" data-cid="{./cid}" data-name="{./name}" data-parent-cid="{./parentCid}">
|
||||
<a href="#" class="dropdown-item rounded-1" role="menu-item">{./level}
|
||||
<span component="category-markup" style="{{{ if ./match }}}font-weight: bold;{{{end}}}">
|
||||
<div class="category-item d-inline-flex align-items-center gap-1">
|
||||
{{{ if ./icon }}}
|
||||
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
||||
{{{ end }}}
|
||||
{./name}
|
||||
</div>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
{{{ end }}}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -1,25 +0,0 @@
|
||||
<div component="category-selector" class="btn-group">
|
||||
<button type="button" class="btn btn-light btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fa fa-fw fa-lock text-primary"></i> <span>[[admin/manage/groups:privileges]]</span> <span class="caret"></span>
|
||||
</button>
|
||||
<div component="category-selector-search" class="hidden position-absolute">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
</div>
|
||||
<ul component="category/list" class="dropdown-menu category-dropdown-menu dropdown-menu-end p-1" role="menu">
|
||||
<li component="category/no-matches" role="presentation" class="category hidden">
|
||||
<a class="dropdown-item" role="menuitem">[[search:no-matches]]</a>
|
||||
</li>
|
||||
{{{each categories}}}
|
||||
<li role="presentation" class="category {{{ if categories.disabledClass }}}disabled{{{ end }}}" data-cid="{categories.cid}" data-name="{categories.name}" data-parent-cid="{categories.parentCid}">
|
||||
<a class="dropdown-item rounded-1" role="menuitem">{categories.level}
|
||||
<span component="category-markup">
|
||||
<div class="category-item d-inline-block">
|
||||
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
||||
{./name}
|
||||
</div>
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
{{{end}}}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -9,11 +9,12 @@
|
||||
<span class="d-none d-md-inline fw-semibold">[[unread:all-categories]]</span>{{{ end }}}
|
||||
</button>
|
||||
|
||||
<div component="category-selector-search" class="hidden position-absolute" style="min-width: 120px;">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
</div>
|
||||
|
||||
<div class="dropdown-menu p-1">
|
||||
<div component="category-selector-search" class="p-1 hidden">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
<hr class="mt-2 mb-0"/>
|
||||
</div>
|
||||
|
||||
<ul component="category/list" class="list-unstyled mb-0 text-sm category-dropdown-menu ghost-scrollbar" role="menu">
|
||||
<li role="presentation" class="category" data-cid="all">
|
||||
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{{{ if allCategoriesUrl }}}{config.relative_path}/{allCategoriesUrl}{{{ else }}}#{{{ end }}}">
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
</span>
|
||||
</button>
|
||||
|
||||
<div component="category-selector-search" class="hidden position-absolute">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
</div>
|
||||
|
||||
<div class="dropdown-menu p-1">
|
||||
<div component="category-selector-search" class="p-1 hidden">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
<hr class="mt-2 mb-0"/>
|
||||
</div>
|
||||
<ul component="category/list" class="list-unstyled mb-0 text-sm category-dropdown-menu ghost-scrollbar" role="menu">
|
||||
<li component="category/no-matches" role="presentation" class="category hidden">
|
||||
<a class="dropdown-item rounded-1" role="menuitem">[[search:no-matches]]</a>
|
||||
|
||||
@@ -23,11 +23,12 @@
|
||||
{{{ end }}}
|
||||
<span class="caret text-primary opacity-75"></span>
|
||||
</button>
|
||||
<div component="category-selector-search" class="hidden position-absolute">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
</div>
|
||||
|
||||
<div class="dropdown-menu p-1">
|
||||
<div component="category-selector-search" class="p-1 hidden">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
<hr class="mt-2 mb-0"/>
|
||||
</div>
|
||||
<ul component="category/list" class="list-unstyled mb-0 text-sm category-dropdown-menu ghost-scrollbar" role="menu">
|
||||
{{{each categoryItems}}}
|
||||
<li role="presentation" class="category {{{ if ../disabledClass }}}disabled{{{ end }}}" data-cid="{../cid}" data-parent-cid="{../parentCid}" data-name="{../name}">
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
{{{ end }}}
|
||||
</button>
|
||||
|
||||
<div component="tag/filter/search" class="hidden position-absolute" style="min-width: 120px;">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
</div>
|
||||
|
||||
<div class="dropdown-menu p-1">
|
||||
<div component="tag/filter/search" class="p-1 hidden">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
||||
<hr class="mt-2 mb-0"/>
|
||||
</div>
|
||||
<ul component="tag/filter/list" class="list-unstyled mb-0 text-sm overflow-auto ghost-scrollbar" role="menu" style="max-height: 500px;" role="menu">
|
||||
<li role="presentation" data-tag="">
|
||||
<a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#">
|
||||
|
||||
Reference in New Issue
Block a user