[Rt-commit] rt branch, 5.0/enable-live-search-for-selects, created. rt-5.0.0-135-gd4fddec8c4

Craig Kaiser craig at bestpractical.com
Tue Dec 8 11:23:12 EST 2020


The branch, 5.0/enable-live-search-for-selects has been created
        at  d4fddec8c447617b595c5d17728bff80a48c7390 (commit)

- Log -----------------------------------------------------------------
commit d4fddec8c447617b595c5d17728bff80a48c7390
Author: craig kaiser <craig at bestpractical.com>
Date:   Tue Dec 8 11:22:42 2020 -0500

    Add live-search attribute to select inputs

diff --git a/share/html/Admin/Assets/Catalogs/index.html b/share/html/Admin/Assets/Catalogs/index.html
index b966b60bef..1bf95e684d 100644
--- a/share/html/Admin/Assets/Catalogs/index.html
+++ b/share/html/Admin/Assets/Catalogs/index.html
@@ -74,7 +74,7 @@
 
   <div class="form-row">
     <div class="col-auto">
-      <select class="form-control selectpicker" name="Field">
+      <select data-live-search="true" class="form-control selectpicker" name="Field">
 % foreach my $col (qw(id Name Description Lifecycle)) {
         <option <% $Field eq $col ? 'selected="selected"' : '' |n %> value="<% $col %>"><% loc($col) %></option>
 % }
diff --git a/share/html/Admin/CustomFields/index.html b/share/html/Admin/CustomFields/index.html
index 945e80ba36..6bc6c8c91d 100644
--- a/share/html/Admin/CustomFields/index.html
+++ b/share/html/Admin/CustomFields/index.html
@@ -58,7 +58,7 @@
       <&|/l&>Only show custom fields for:</&>
     </div>
     <div class="value col-auto">
-      <select name="Type" class="form-control selectpicker">
+      <select data-live-search="true" name="Type" class="form-control selectpicker">
         <option value="" <% !$Type && 'selected="selected"'%> ><% loc('(any)') %></option>
 % for my $type ( $tmp->LookupTypes ) {
         <option value="<% $type %>" <% $type eq $Type && 'selected="selected"'%> ><% $tmp->FriendlyLookupType( $type ) %></option>
diff --git a/share/html/Admin/CustomRoles/index.html b/share/html/Admin/CustomRoles/index.html
index 2737769db2..c91d58cfb4 100644
--- a/share/html/Admin/CustomRoles/index.html
+++ b/share/html/Admin/CustomRoles/index.html
@@ -58,7 +58,7 @@
 
 <div class="form-row">
   <div class="col-auto">
-    <select class="form-control selectpicker" name="SearchField">
+    <select data-live-search="true" class="form-control selectpicker" name="SearchField">
 % foreach my $col (qw(Name Description EntryHint)) {
       <option <% $SearchField eq $col ? 'selected="selected"' : '' |n %> value="<% $col %>"><% loc($col) %></option>
 % }
diff --git a/share/html/Admin/Elements/AddCustomFieldValue b/share/html/Admin/Elements/AddCustomFieldValue
index 753299e205..db1013ae1b 100644
--- a/share/html/Admin/Elements/AddCustomFieldValue
+++ b/share/html/Admin/Elements/AddCustomFieldValue
@@ -81,7 +81,7 @@
     </div>
 % if ( $CustomField->Type ne 'Combobox' && $Categories ) {
     <div class="value col-2">
-      <select class="form-control selectpicker editcategory " name="<% $paramtag %>-Category" size="1">
+      <select data-live-search="true" class="form-control selectpicker editcategory " name="<% $paramtag %>-Category" size="1">
 <option value=""><&|/l&>(no value)</&></option>
 % while (my $Value = $Categories->Next) {
         <option value="<% $Value->Name %>"><% $Value->Name %></option>
diff --git a/share/html/Admin/Elements/EditCustomFieldValues b/share/html/Admin/Elements/EditCustomFieldValues
index 6393cb2dfe..b79f123c69 100644
--- a/share/html/Admin/Elements/EditCustomFieldValues
+++ b/share/html/Admin/Elements/EditCustomFieldValues
@@ -95,7 +95,7 @@
   <div class="value col-2">
 % my $selected = $value->Category;
 % $selected = '' unless defined $selected;
-    <select class="editcategory form-control selectpicker" name="<% $paramtag %>-Category" size="1">
+    <select data-live-search="true" class="editcategory form-control selectpicker" name="<% $paramtag %>-Category" size="1">
 <option value=""<% $selected eq '' ? q[ selected="selected"] : "" |n%>><&|/l&>(no value)</&></option>
 % while (my $Value = $Categories->Next) {
     <option value="<% $Value->Name %>"<% $selected eq $Value->Name ? q[ selected="selected"] : "" |n%>><% $Value->Name %></option>
diff --git a/share/html/Admin/Elements/EditCustomFieldValuesCanonicalizer b/share/html/Admin/Elements/EditCustomFieldValuesCanonicalizer
index f43be05399..7324542dd3 100644
--- a/share/html/Admin/Elements/EditCustomFieldValuesCanonicalizer
+++ b/share/html/Admin/Elements/EditCustomFieldValuesCanonicalizer
@@ -46,7 +46,7 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 <div id="canonicalize-class-block">
-<select class='form-control selectpicker' name="CanonicalizeClass">
+<select data-live-search="true" class='form-control selectpicker' name="CanonicalizeClass">
 <option value="">-</option>
 % foreach my $canonicalizer (@canonicalizers) {
 <option value="<% $canonicalizer %>" <% $canonicalizer eq ($CustomField->CanonicalizeClass||'') && 'selected="selected"' %>><% $canonicalizer->Description %></option>
diff --git a/share/html/Admin/Elements/EditCustomFieldValuesSource b/share/html/Admin/Elements/EditCustomFieldValuesSource
index d3aaf1438c..c4c6c94f20 100644
--- a/share/html/Admin/Elements/EditCustomFieldValuesSource
+++ b/share/html/Admin/Elements/EditCustomFieldValuesSource
@@ -46,7 +46,7 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 <div id="values-source-class-block">
-<select class="form-control selectpicker" name="ValuesClass">
+<select data-live-search="true" class="form-control selectpicker" name="ValuesClass">
 % foreach my $source( @sources ) {
 <option value="<% $source->{'Class'} %>" <% $source->{'Class'} eq $CustomField->ValuesClass && 'selected="selected"' %>><% $source->{'Description'} %></option>
 % }
diff --git a/share/html/Admin/Elements/SelectCustomField b/share/html/Admin/Elements/SelectCustomField
index 683ca912c8..c39c291429 100644
--- a/share/html/Admin/Elements/SelectCustomField
+++ b/share/html/Admin/Elements/SelectCustomField
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select class="form-control selectpicker" name="<%$Name%>">
+<select data-live-search="true" class="form-control selectpicker" name="<%$Name%>">
 <option value="" <% not $Default and qq[ selected="selected"] |n %>>--</option>
 % while (my $CustomFieldObj = $CustomFields->Next) {
 % next if $OnlySelectionType and not $CustomFieldObj->IsSelectionType;
diff --git a/share/html/Admin/Elements/SelectCustomFieldLookupType b/share/html/Admin/Elements/SelectCustomFieldLookupType
index a1c48b4703..019a51bdb6 100644
--- a/share/html/Admin/Elements/SelectCustomFieldLookupType
+++ b/share/html/Admin/Elements/SelectCustomFieldLookupType
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select class="form-control selectpicker" name="<%$Name%>">
+<select data-live-search="true" class="form-control selectpicker" name="<%$Name%>">
 %for my $option ($cf->LookupTypes) {
 <option value="<%$option%>"<%defined ($Default) && ($option eq $Default) && qq[ selected="selected"] |n%>><% $cf->FriendlyLookupType($option) %></option>
 %}
diff --git a/share/html/Admin/Elements/SelectCustomFieldRenderType b/share/html/Admin/Elements/SelectCustomFieldRenderType
index 30c2298a09..e3e0c0da76 100644
--- a/share/html/Admin/Elements/SelectCustomFieldRenderType
+++ b/share/html/Admin/Elements/SelectCustomFieldRenderType
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select class="form-control selectpicker" name="<%$Name%>">
+<select data-live-search="true" class="form-control selectpicker" name="<%$Name%>">
 %for my $option (@types) {
 <option value="<%$option%>"<%$option eq $Default && qq[ selected="selected"] |n%>><% $option %></option>
 %}
diff --git a/share/html/Admin/Elements/SelectCustomFieldType b/share/html/Admin/Elements/SelectCustomFieldType
index a10df8f7fe..493afce465 100644
--- a/share/html/Admin/Elements/SelectCustomFieldType
+++ b/share/html/Admin/Elements/SelectCustomFieldType
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select class="form-control selectpicker" name="<%$Name%>">
+<select data-live-search="true" class="form-control selectpicker" name="<%$Name%>">
 %for my $option ($cf->TypeComposites) {
 <option value="<%$option%>"<%$option eq $Default && qq[ selected="selected"] |n%>><% $cf->FriendlyTypeComposite($option) %></option>
 %}
diff --git a/share/html/Admin/Elements/SelectGroups b/share/html/Admin/Elements/SelectGroups
index ea85fe08e7..5dfcacb0f7 100644
--- a/share/html/Admin/Elements/SelectGroups
+++ b/share/html/Admin/Elements/SelectGroups
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select multiple="multiple" name="<%$Name%>" class="tall" size="10">
+<select data-live-search="true" multiple="multiple" name="<%$Name%>" class="tall" size="10">
 %while (my $group = $groups->Next) {
 <option value="<%$group->id%>"><%$group->Label%>
 %}
diff --git a/share/html/Admin/Elements/SelectScripAction b/share/html/Admin/Elements/SelectScripAction
index 7110820c9e..057fd1997f 100644
--- a/share/html/Admin/Elements/SelectScripAction
+++ b/share/html/Admin/Elements/SelectScripAction
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" name="<%$Name%>" class="form-control selectpicker">
 <option value="" 
 <% ! defined $Default && qq[ selected="selected"] |n %>
 >-</option>
diff --git a/share/html/Admin/Elements/SelectScripCondition b/share/html/Admin/Elements/SelectScripCondition
index bd778e1f53..f473fe3d32 100644
--- a/share/html/Admin/Elements/SelectScripCondition
+++ b/share/html/Admin/Elements/SelectScripCondition
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" name="<%$Name%>" class="form-control selectpicker">
 <option value="" 
 <% ! defined $Default && qq[ selected="selected"] %>
 >-</option>
diff --git a/share/html/Admin/Elements/SelectStage b/share/html/Admin/Elements/SelectStage
index 56a911c209..ee109babe7 100644
--- a/share/html/Admin/Elements/SelectStage
+++ b/share/html/Admin/Elements/SelectStage
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" name="<%$Name%>" class="form-control selectpicker">
 % foreach my $value (@stages) {
 <option value="<%$value%>"
 <% ($value eq $Default) && qq[ selected="selected"] |n %>
diff --git a/share/html/Admin/Elements/SelectUsers b/share/html/Admin/Elements/SelectUsers
index 4c2d61ea7a..0278f94f3e 100644
--- a/share/html/Admin/Elements/SelectUsers
+++ b/share/html/Admin/Elements/SelectUsers
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select multiple="multiple" name="<% $Name %>" class="tall" size="10">
+<select data-live-search="true" multiple="multiple" name="<% $Name %>" class="tall" size="10">
 % while ( my $user = $users->Next ) {
 <option value="<% $user->id %>">\
 <& /Elements/ShowUser, User => $user &>\
diff --git a/share/html/Admin/Lifecycles/Actions.html b/share/html/Admin/Lifecycles/Actions.html
index 80393eae94..8360a2d61f 100644
--- a/share/html/Admin/Lifecycles/Actions.html
+++ b/share/html/Admin/Lifecycles/Actions.html
@@ -87,7 +87,7 @@
         <input type="text" value="<% $action->{'label'} %>" class="form-control" Name="Action-Label-<%$i%>" />
       </td>
       <td class="collection-as-table">
-        <select name="Action-Update-<% $i %>" class="form-control selectpicker">
+        <select data-live-search="true" name="Action-Update-<% $i %>" class="form-control selectpicker">
           <option <% !$action->{'update'} ? qq[selected='selected'] : '' %> value="">-</option>
           <option <% $action->{'update'} && $action->{'update'} eq 'Respond' ? qq[selected="selected"] : '' %> value="Respond"><&|/l&>Reply</&></option>
           <option <% $action->{'update'} && $action->{'update'} eq 'Comment' ? qq[selected="selected"] : ''%> value="Comment"><&|/l&>Comment</&></option>
@@ -106,7 +106,7 @@
       <td class="collection-as-table"><& /Elements/SelectStatus, Statuses => \@statuses, Name => "Action-To-$i" &></td>
       <td class="collection-as-table"><input type="text" class="form-control" name='Action-Label-<% $i %>' /></td>
       <td class="collection-as-table">
-        <select name="Action-Update-<% $i %>" class="selectpicker form-control">
+        <select data-live-search="true" name="Action-Update-<% $i %>" class="selectpicker form-control">
           <option value="">-</option>
           <option value="Respond"><&|/l&>Reply</&></option>
           <option value="Comment"><&|/l&>Comment</&></option>
diff --git a/share/html/Admin/Lifecycles/Create.html b/share/html/Admin/Lifecycles/Create.html
index 44f86206ce..3e5f6b1bc8 100644
--- a/share/html/Admin/Lifecycles/Create.html
+++ b/share/html/Admin/Lifecycles/Create.html
@@ -64,7 +64,7 @@
   <div class="form-row">
     <div class="col-3 label"><&|/l&>Type</&>:</div>
     <div class="col-9 value">
-      <select name="Type" class="form-control selectpicker">
+      <select data-live-search="true" name="Type" class="form-control selectpicker">
 % for my $type (@types) {
         <option value="<% $type %>" <% $type eq $Type ? "selected=selected" : "" %>><% loc($type) %></option>
 % }
diff --git a/share/html/Admin/Queues/index.html b/share/html/Admin/Queues/index.html
index 663bfe67ef..b2a19bbcd1 100644
--- a/share/html/Admin/Queues/index.html
+++ b/share/html/Admin/Queues/index.html
@@ -58,7 +58,7 @@
 
   <div class="form-row">
     <div class="col-auto">
-      <select name="QueueField" class="form-control selectpicker">
+      <select data-live-search="true" name="QueueField" class="form-control selectpicker">
 % foreach my $col (qw(Name Description CorrespondAddress CommentAddress Lifecycle SubjectTag)) {
         <option <% $QueueField eq $col ? 'selected="selected"' : '' |n %> value="<% $col %>"><% loc($col) %></option>
 % }
diff --git a/share/html/Admin/Scrips/Elements/SelectTemplate b/share/html/Admin/Scrips/Elements/SelectTemplate
index ae9405c941..ca4da367e1 100644
--- a/share/html/Admin/Scrips/Elements/SelectTemplate
+++ b/share/html/Admin/Scrips/Elements/SelectTemplate
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<% $Name %>" class="form-control selectpicker">
+<select data-live-search="true" name="<% $Name %>" class="form-control selectpicker">
 <option value=""><% $current || '-' %></option>
 % foreach my $name ( @list ) {
 <option value="<% $name %>" \
diff --git a/share/html/Admin/Tools/Shredder/Elements/SelectPlugin b/share/html/Admin/Tools/Shredder/Elements/SelectPlugin
index 82067b3951..5807dfb997 100644
--- a/share/html/Admin/Tools/Shredder/Elements/SelectPlugin
+++ b/share/html/Admin/Tools/Shredder/Elements/SelectPlugin
@@ -52,7 +52,7 @@ $Plugin => ''
 <div class="shredder-form form-row">
   <div class="label col-auto"><&|/l&>Select plugin</&>: </div>
   <div class="col-auto">
-    <select name="Plugin" class="form-control selectpicker" onchange="showShredderPluginTab(this.value);">
+    <select data-live-search="true" name="Plugin" class="form-control selectpicker" onchange="showShredderPluginTab(this.value);">
       <option value=""><% loc('(no value)') %></option>
 % foreach my $p( keys %plugins ) {
       <option value="<% $p %>" <% ($p eq $Plugin)? 'selected="selected"': '' %>><% loc($p) %></option>
diff --git a/share/html/Admin/Tools/Theme.html b/share/html/Admin/Tools/Theme.html
index a188db8c32..a657533865 100644
--- a/share/html/Admin/Tools/Theme.html
+++ b/share/html/Admin/Tools/Theme.html
@@ -104,7 +104,7 @@
     <ol class="list-group-compact list-group">
       <li class="list-group-item">
         <label for="section"><&|/l&>Select a section</&>:</label>
-        <select class="selectpicker" id="section"></select>
+        <select data-live-search="true" class="selectpicker" id="section"></select>
       </li>
       <li class="list-group-item">
         <div class="description">
diff --git a/share/html/Articles/Article/Elements/EditTopics b/share/html/Articles/Article/Elements/EditTopics
index 47a5945761..3f9ace8761 100644
--- a/share/html/Articles/Article/Elements/EditTopics
+++ b/share/html/Articles/Article/Elements/EditTopics
@@ -51,7 +51,7 @@
   </div>
   <input type="hidden" name="EditTopics" value="1" />
   <div class="value col-9">
-<select multiple size="10" name="Topics" class="tall selection-box">
+<select data-live-search="true" multiple size="10" name="Topics" class="tall selection-box">
 % if (@Classes) {
 %   unless ($OnlyThisClass) {
 <optgroup label="Current classes (<% join(" ", map {$_->Name} @Classes) %>)">
diff --git a/share/html/Articles/Article/Elements/SearchByCustomField b/share/html/Articles/Article/Elements/SearchByCustomField
index 6499c2fcae..0958700db1 100644
--- a/share/html/Articles/Article/Elements/SearchByCustomField
+++ b/share/html/Articles/Article/Elements/SearchByCustomField
@@ -48,7 +48,7 @@
 %# if the custom field is a select, enumerate the options
 % if ($Field->Type =~ /^Select/) {
 % my $CustomFieldValues = $Field->ValuesObj();
-<select name="<%$Name%>" class="tall form-control selectpicker" size="5" multiple>
+<select data-live-search="true" name="<%$Name%>" class="tall form-control selectpicker" size="5" multiple>
 % while (my $value = $CustomFieldValues->Next) {
 % my $name = $value->Name || '';
 <option value="<% $name %>" <% grep($_ eq $name, @Values)? 'SELECTED' : ''%>><% $name %></option>
diff --git a/share/html/Articles/Article/Elements/SelectSavedSearches b/share/html/Articles/Article/Elements/SelectSavedSearches
index 0290c4ac90..ee4c2df66f 100644
--- a/share/html/Articles/Article/Elements/SelectSavedSearches
+++ b/share/html/Articles/Article/Elements/SelectSavedSearches
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select class="form-control selectpicker" name="<%$Name%>">
+<select data-live-search="true" class="form-control selectpicker" name="<%$Name%>">
 % foreach my $privacy (reverse sort keys %privacies) {
 %     my $searches = RT::SavedSearches->new($session{'CurrentUser'});
 %     $searches->LimitToPrivacy($privacy, 'Article');
diff --git a/share/html/Articles/Article/Elements/SelectSearchPrivacy b/share/html/Articles/Article/Elements/SelectSearchPrivacy
index 68a8faca12..5e8ca87b3d 100644
--- a/share/html/Articles/Article/Elements/SelectSearchPrivacy
+++ b/share/html/Articles/Article/Elements/SelectSearchPrivacy
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select class="form-control selectpicker" name="<%$Name%>">
+<select data-live-search="true" class="form-control selectpicker" name="<%$Name%>">
 <option value="RT::User-<% $user->Id %>" <% $Default eq 'RT::User-'.$user->Id ? 'selected' : '' %>>My searches</option>
 % while (my $group = $groups->Next) {
 <option value="RT::Group-<% $group->Id %>" <% $Default eq 'RT::Group-'.$group->Id ? 'selected' : '' %>><% $group->Label %>'s searches</option>
diff --git a/share/html/Articles/Article/ExtractFromTicket.html b/share/html/Articles/Article/ExtractFromTicket.html
index f7dadf7be8..c3228047ef 100644
--- a/share/html/Articles/Article/ExtractFromTicket.html
+++ b/share/html/Articles/Article/ExtractFromTicket.html
@@ -70,7 +70,7 @@
 % next unless $trans->HasContent && $trans->Content;
 <div class="<% ($i++)%2 ? 'oddline' : 'evenline'%> form-row" >
   <div class="value col-2">
-    <select class="form-control selectpicker" name="Transaction-<%$trans->Id%>">
+    <select data-live-search="true" class="form-control selectpicker" name="Transaction-<%$trans->Id%>">
       <option value="">-</option>
 % while (my $cf = $CustomFields->Next) {
       <option value="<%$cf->Id%>"><%$cf->Name%></option>
diff --git a/share/html/Articles/Elements/BeforeMessageBox b/share/html/Articles/Elements/BeforeMessageBox
index 69cab418ea..6d0bb626dc 100644
--- a/share/html/Articles/Elements/BeforeMessageBox
+++ b/share/html/Articles/Elements/BeforeMessageBox
@@ -62,7 +62,7 @@
       <&|/l, $QueueObj->Name &>Choose from Topics for [_1]</&>:
     </div>
     <div class="value col-9">
-      <select name="<% $name_prefix %>Articles-Include-Topic" onchange="this.form.submit()" class="form-control selectpicker">
+      <select data-live-search="true" name="<% $name_prefix %>Articles-Include-Topic" onchange="this.form.submit()" class="form-control selectpicker">
         <option value="" selected>-</option>
 % for ( @$topics ) { 
         <option value="<% $_->{id} %>"><%' ' x $_->{depth} . ($_->{name}|| loc('(no name)')) |n%>
@@ -81,7 +81,7 @@
       <&|/l, $included_topic->Name &>Select an Article from [_1]</&>:
     </div>
     <div>
-      <select name="IncludeArticleId" onchange="this.form.submit()" class="form-control selectpicker">
+      <select data-live-search="true" name="IncludeArticleId" onchange="this.form.submit()" class="form-control selectpicker">
       <option value="" selected>-</option>
 % while ( my $art = $topic_articles->Next ) {
       <option value="<% $art->id %>"><%$art->Name||loc('(no name)')%>: <%$art->Summary%></option>
diff --git a/share/html/Articles/Elements/GotoArticle b/share/html/Articles/Elements/GotoArticle
index 864a610cde..ab7910915e 100644
--- a/share/html/Articles/Elements/GotoArticle
+++ b/share/html/Articles/Elements/GotoArticle
@@ -50,7 +50,7 @@
   <input name="q" accesskey="0" class="field form-control" placeholder="<&|/l&>Search Articles</&>..." type="search" results="5" autosave="search-articles" />
 % if ($class or $topic) {
 <input type="hidden" name="ExpandTopics" value="1" />
-<select name="Topics">
+<select data-live-search="true" name="Topics">
 % if ($topic) {
 <option value="<% $topic %>">in this topic</option>
 % }
diff --git a/share/html/Articles/Elements/SelectClass b/share/html/Articles/Elements/SelectClass
index da932141b8..6e3a399e1b 100644
--- a/share/html/Articles/Elements/SelectClass
+++ b/share/html/Articles/Elements/SelectClass
@@ -48,7 +48,7 @@
 % if ($Lite) {
 <input class="form-control" type="text" name="<%$Name%>" size="25" default="<%$d->Name%>" />
 % } else {
-<select class="form-control selectpicker" NAME ="<%$Name%>"
+<select data-live-search="true" class="form-control selectpicker" NAME ="<%$Name%>"
 % if ($Multiple) {
 MULTIPLE
 % }
diff --git a/share/html/Asset/Elements/SelectRoleType b/share/html/Asset/Elements/SelectRoleType
index 3bc5557794..b112d4f646 100644
--- a/share/html/Asset/Elements/SelectRoleType
+++ b/share/html/Asset/Elements/SelectRoleType
@@ -50,7 +50,7 @@ $Object
 $Name
 $AllowNull  => 0
 </%args>
-<select name="<% $Name %>" class="selectpicker form-control">
+<select data-live-search="true" name="<% $Name %>" class="selectpicker form-control">
 % if ($AllowNull) {
   <option value=""></option>
 % }
diff --git a/share/html/Dashboards/Elements/SelectPrivacy b/share/html/Dashboards/Elements/SelectPrivacy
index 7b35f0dac8..e0e7ae8a3d 100644
--- a/share/html/Dashboards/Elements/SelectPrivacy
+++ b/share/html/Dashboards/Elements/SelectPrivacy
@@ -50,7 +50,7 @@
 $Name => undef
 $Default => undef
 </%args>
-<select class="form-control selectpicker" name="<%$Name%>">
+<select data-live-search="true" class="form-control selectpicker" name="<%$Name%>">
 <%perl>
 foreach my $object (@Objects) {
     my $privacy = ref($object) . '-' . $object->id;
diff --git a/share/html/Dashboards/Subscription.html b/share/html/Dashboards/Subscription.html
index fd75980ade..400305208b 100644
--- a/share/html/Dashboards/Subscription.html
+++ b/share/html/Dashboards/Subscription.html
@@ -118,7 +118,7 @@
           </span>
         </div>
         <div class="col-auto">
-          <select name="Dow" class="form-control selectpicker">
+          <select data-live-search="true" name="Dow" class="form-control selectpicker">
               <option value="Monday" <% $fields{'Dow'} eq 'Monday' ? 'selected="selected"' : '' |n %>><&|/l&>Monday</&></option>
               <option value="Tuesday" <% $fields{'Dow'} eq 'Tuesday' ? 'selected="selected"' : '' |n %>><&|/l&>Tuesday</&></option>
               <option value="Wednesday" <% $fields{'Dow'} eq 'Wednesday' ? 'selected="selected"' : '' |n %>><&|/l&>Wednesday</&></option>
@@ -132,7 +132,7 @@
           <span class="current-value form-control"><&|/l&>every</&></span>
         </div>
         <div class="col-auto">
-          <select name="Fow" class="form-control selectpicker">
+          <select data-live-search="true" name="Fow" class="form-control selectpicker">
 % for my $f ( qw/1 2 3 4/ ) {
             <option value="<%$f%>" <% $fields{'Fow'} == $f ? 'selected="selected"' : '' |n %>><% $f %></option>
 % }
@@ -152,7 +152,7 @@
           </span>
         </div>
         <div class="col-auto">
-          <select name="Dom" class="form-control selectpicker">
+          <select data-live-search="true" name="Dom" class="form-control selectpicker">
 % for my $dom (1..31) {
             <option value="<% $dom %>" <% $fields{'Dom'} == $dom ? 'selected="selected"' : '' |n %>><% loc($dom) %></option>
 % }
@@ -179,7 +179,7 @@
     <div class="value col-9">
       <div class="row">
         <div class="col-auto">
-          <select name="Hour" class="form-control selectpicker">
+          <select data-live-search="true" name="Hour" class="form-control selectpicker">
 % my $formatter = RT::Date->new($session{CurrentUser})->LocaleObj;
 % my $dt = DateTime->now;
 % $dt->set_minute(0);
@@ -229,7 +229,7 @@
     <div class="value col-9">
       <div class="row">
         <div class="col-auto">
-          <select name="Rows" class="form-control selectpicker">
+          <select data-live-search="true" name="Rows" class="form-control selectpicker">
 % for my $rows (1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 0) {
             <option value="<% $rows %>" <% $fields{'Rows'} eq $rows ? 'selected="selected"' : '' |n %>><% loc($rows || 'Unlimited') %></option>
 % }
diff --git a/share/html/Elements/Crypt/SelectKeyForEncryption b/share/html/Elements/Crypt/SelectKeyForEncryption
index c319c479e2..3c0bf191e3 100644
--- a/share/html/Elements/Crypt/SelectKeyForEncryption
+++ b/share/html/Elements/Crypt/SelectKeyForEncryption
@@ -48,7 +48,7 @@
 % if (!@keys) {
 <% loc("No usable keys.") %>
 % } else {
-<select name="<% $Name %>">
+<select data-live-search="true" name="<% $Name %>">
 %     foreach my $key (@keys) {
 <option value="<% $key->{'Fingerprint'} %>"><% $key->{'Formatted'} %> <% loc("(trust: [_1])", $key->{'TrustTerse'}) %></option>
 %     }
diff --git a/share/html/Elements/Crypt/SelectKeyForSigning b/share/html/Elements/Crypt/SelectKeyForSigning
index dfeaa34d9e..544d3e9fd5 100644
--- a/share/html/Elements/Crypt/SelectKeyForSigning
+++ b/share/html/Elements/Crypt/SelectKeyForSigning
@@ -46,7 +46,7 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 % if ( $user_key ) {
-<select class="form-control selectpicker" name="<% $Name %>">
+<select data-live-search="true" class="form-control selectpicker" name="<% $Name %>">
 <option value=""><% loc("Queue's key") %></option>
 <option value="<% $user_key %>"><% $user_key %></option>
 </select>
diff --git a/share/html/Elements/EditCustomDateRanges b/share/html/Elements/EditCustomDateRanges
index 00d3a79658..25361ab917 100644
--- a/share/html/Elements/EditCustomDateRanges
+++ b/share/html/Elements/EditCustomDateRanges
@@ -74,7 +74,7 @@
       <td class="collection-as-table"><& /Elements/SelectCustomDateRangeField, Name => "$id-to", Default => $date_range_spec{to} &></td>
       <td class="collection-as-table"><& /Elements/SelectCustomDateRangeField, Name => "$id-to_fallback", Default => $date_range_spec{to_fallback} &></td>
       <td class="collection-as-table">
-        <select name="<% $id %>-business_time" class="form-control selectpicker">
+        <select data-live-search="true" data-live-search="true"name="<% $id %>-business_time" class="form-control selectpicker">
           <option value="1" <% $date_range_spec{business_time} ? 'selected="selected"' : '' |n%>><&|/l&>Yes</&></option>
           <option value="0" <% $date_range_spec{business_time} ? '': 'selected="selected"' |n%>><&|/l&>No</&></option>
         </select>
@@ -94,7 +94,7 @@
       <td class="collection-as-table"><& /Elements/SelectCustomDateRangeField, Name => 'to' &></td>
       <td class="collection-as-table"><& /Elements/SelectCustomDateRangeField, Name => 'to_fallback' &></td>
       <td class="collection-as-table">
-        <select name="business_time" class="form-control selectpicker">
+        <select data-live-search="true" data-live-search="true"name="business_time" class="form-control selectpicker">
           <option value="1"><&|/l&>Yes</&></option>
           <option value="0" selected="selected"><&|/l&>No</&></option>
         </select>
diff --git a/share/html/Elements/EditCustomFieldSelect b/share/html/Elements/EditCustomFieldSelect
index 13c4c1f2f3..48eee411d1 100644
--- a/share/html/Elements/EditCustomFieldSelect
+++ b/share/html/Elements/EditCustomFieldSelect
@@ -82,7 +82,7 @@
 % if (@category) {
 %# this hidden select is to supply a full list of values,
 %# see filter_cascade_select() in js/cascaded.js
-      <select name="<%$name%>-Complete" id="<%$name%>-Complete" class="hidden" disabled="disabled">
+      <select data-live-search="true" data-live-search="true"name="<%$name%>-Complete" id="<%$name%>-Complete" class="hidden" disabled="disabled">
 % if ( $show_empty_option ) {
         <option value=""<% !$selected && qq[ selected="selected"] |n %>><&|/l&>(no value)</&></option>
 % }
@@ -95,9 +95,6 @@
   name="<%$name%>" id="<%$name%>"
 
     class="CF-Edit CF-<%$CustomField->id%>-Edit form-control <% $RenderType eq 'Dropdown' ? 'selectpicker' : '' %>"
-%   if ( $use_chosen ) {
-    data-live-search="true"
-%   }
 
 % if ($CustomField->BasedOnObj->id) {
   data-cascade-based-on-name="<% $BasedOnName || $NamePrefix . $CustomField->BasedOnObj->id . '-Value' |n %>"
@@ -153,11 +150,8 @@ else {
     }
 }
 
-my $use_chosen = CachedCustomFieldValues($CustomField)->Count >= 10 ? 1 : 0;
-$m->callback( CallbackName => 'Chosen', UseChosen => \$use_chosen, CustomField => $CustomField );
-
 # it's weird to see "(no value) X" in the input when selecting multiple values
-$show_empty_option = 0 if $use_chosen && $Multiple;
+$show_empty_option = 0 if $Multiple;
 </%init>
 <%ARGS>
 $Object => undef
diff --git a/share/html/Elements/Lifecycle/Graph b/share/html/Elements/Lifecycle/Graph
index 5fecc2caa7..346d54e626 100644
--- a/share/html/Elements/Lifecycle/Graph
+++ b/share/html/Elements/Lifecycle/Graph
@@ -63,7 +63,7 @@
         <label for="type"><&|/l&>Type</&>:</label>
       </div>
       <div class="col-9 value">
-        <select class="selectpicker form-control" id="type" name="type">
+        <select data-live-search="true" class="selectpicker form-control" id="type" name="type">
           <option value="initial"><&|/l&>Initial</&></option>
           <option value="active"><&|/l&>Active</&></option>
           <option value="inactive"><&|/l&>Inactive</&></option>
diff --git a/share/html/Elements/QuickCreate b/share/html/Elements/QuickCreate
index dd1d912fcd..6010d3a1a3 100644
--- a/share/html/Elements/QuickCreate
+++ b/share/html/Elements/QuickCreate
@@ -67,7 +67,7 @@
   <div class="form-row input-row">
       <div class="label col-3"><&|/l&>Owner</&>:</div>
       <div class="value col-9">
-        <select type="select" name="Owner" class="selectpicker form-control">
+        <select data-live-search="true" data-live-search="true"type="select" name="Owner" class="selectpicker form-control">
 % my $default_owner = $args->{Owner} || $session{'CurrentUser'}->id;
           <option value="<%$session{'CurrentUser'}->id%>" <% $default_owner == $session{'CurrentUser'}->id ? 'selected="selected"' : '' |n %>><&|/l&>Me</&></option>
           <option value="<%RT->Nobody->id%>" <% $default_owner == RT->Nobody->id ? 'selected="selected"' : '' |n %>><%loc('Nobody')%></option>
diff --git a/share/html/Elements/Refresh b/share/html/Elements/Refresh
index 78d216903a..696e855aa6 100644
--- a/share/html/Elements/Refresh
+++ b/share/html/Elements/Refresh
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="selectpicker form-control refresh">
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" class="selectpicker form-control refresh">
 <option value="-1"
 %unless ($Default) {
  selected="selected"
diff --git a/share/html/Elements/SelectArticle b/share/html/Elements/SelectArticle
index 31495e86d7..de3311a9e7 100644
--- a/share/html/Elements/SelectArticle
+++ b/share/html/Elements/SelectArticle
@@ -48,7 +48,7 @@
 % if ( $autocomplete ) {
 <& "SelectArticleAutocomplete", QueueObj => $QueueObj, Default => $Default, Name => $Name &>
 % } else {
-<select name="<% $Name %>" <% $AutoSubmit ? 'onchange="this.form.submit()"' : '' |n%> class="form-control selectpicker">
+<select data-live-search="true" data-live-search="true"name="<% $Name %>" <% $AutoSubmit ? 'onchange="this.form.submit()"' : '' |n%> class="form-control selectpicker">
 <option value="">-</option>
 % while (my $article = $articles->Next) {
 <option <% ( $article->Name eq $Default) ? qq[ selected="selected"] : '' |n %>
diff --git a/share/html/Elements/SelectAttachmentField b/share/html/Elements/SelectAttachmentField
index 4b21cfefd0..eed9f75754 100644
--- a/share/html/Elements/SelectAttachmentField
+++ b/share/html/Elements/SelectAttachmentField
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" class="form-control selectpicker">
 % if ( $Class eq 'RT::Assets' ) {
   <option value="Name"><&|/l&>Name</&></option>
   <option value="Description"><&|/l&>Description</&></option>
diff --git a/share/html/Elements/SelectBoolean b/share/html/Elements/SelectBoolean
index d4ef24346e..34232a3ede 100644
--- a/share/html/Elements/SelectBoolean
+++ b/share/html/Elements/SelectBoolean
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" class="form-control selectpicker">
 <option value="<%$TrueVal%>" <%$TrueDefault|n%>><%$True%></option>
 <option value="<%$FalseVal%>" <%$FalseDefault|n%>><%$False%></option>
 </select>
diff --git a/share/html/Elements/SelectCustomDateRangeField b/share/html/Elements/SelectCustomDateRangeField
index 44e9eb2fac..bed96ae8c1 100644
--- a/share/html/Elements/SelectCustomDateRangeField
+++ b/share/html/Elements/SelectCustomDateRangeField
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<% $Name %>" id="<% $Name %>" class="form-control selectpicker custom-date-range-field">
+<select data-live-search="true" data-live-search="true"name="<% $Name %>" id="<% $Name %>" class="form-control selectpicker custom-date-range-field">
 <option value="" >-</option>
 % for my $field ( $ObjectType->new( $session{CurrentUser} )->CustomDateRangeFields ) {
 <option <% $field eq ($Default//'') ? 'selected="selected"' : '' |n %> value="<% $field %>" ><% $field %></option>
diff --git a/share/html/Elements/SelectCustomFieldOperator b/share/html/Elements/SelectCustomFieldOperator
index b3999770cf..d90355e4f9 100644
--- a/share/html/Elements/SelectCustomFieldOperator
+++ b/share/html/Elements/SelectCustomFieldOperator
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<% $Name %>" class="form-control selectpicker">
+<select data-live-search="true" data-live-search="true"name="<% $Name %>" class="form-control selectpicker">
 % while (my $option = shift @Options) {
 % my $value = shift @Values;
 <option value="<% $value %>"
diff --git a/share/html/Elements/SelectCustomFieldValue b/share/html/Elements/SelectCustomFieldValue
index a5ba438174..39349da83f 100644
--- a/share/html/Elements/SelectCustomFieldValue
+++ b/share/html/Elements/SelectCustomFieldValue
@@ -49,7 +49,7 @@
 % $Default = "" unless defined $Default;
 % if ($CustomField->Type =~ /Select/i) {
 % my $values = CachedCustomFieldValues($CustomField);
-<select name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" class="form-control selectpicker">
 <option value="" selected="selected">-</option>
 <option value="NULL"><&|/l&>(no value)</&></option>
 % while (my $value = $values->Next) {
diff --git a/share/html/Elements/SelectDateRelation b/share/html/Elements/SelectDateRelation
index 7cb99e68f3..081dbe1878 100644
--- a/share/html/Elements/SelectDateRelation
+++ b/share/html/Elements/SelectDateRelation
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" class="form-control selectpicker">
 <option value="<"><%$Before%></option>
 <option value="="><%$On%></option>
 <option value=">"><%$After%></option>
diff --git a/share/html/Elements/SelectDateType b/share/html/Elements/SelectDateType
index 57ec4cee32..9f4a1091c9 100644
--- a/share/html/Elements/SelectDateType
+++ b/share/html/Elements/SelectDateType
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" class="form-control selectpicker">
 % for my $option ( @Options ) {
 <option value="<% $Prefix . $option %>"><% loc($option) %></option>
 % }
diff --git a/share/html/Elements/SelectEqualityOperator b/share/html/Elements/SelectEqualityOperator
index cbaef561ab..997bdbd700 100644
--- a/share/html/Elements/SelectEqualityOperator
+++ b/share/html/Elements/SelectEqualityOperator
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" class="form-control selectpicker">
 % while (my $option = shift @Options) {
 % my $value = shift @Values;
 <option value="<%$value%>"
diff --git a/share/html/Elements/SelectGroups b/share/html/Elements/SelectGroups
index 978a6acf72..5d35c12872 100644
--- a/share/html/Elements/SelectGroups
+++ b/share/html/Elements/SelectGroups
@@ -46,7 +46,7 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 <div class="col-3">
-  <select name="<% $SelectFieldName %>" class="selectpicker form-control">
+  <select data-live-search="true" data-live-search="true"name="<% $SelectFieldName %>" class="selectpicker form-control">
 % foreach my $col (RT::Group->BasicColumns) {
     <option <% ($GroupField eq $col->[0]) ? 'selected="selected"' : '' %> value="<% $col->[0] %>"><% loc($col->[1]) %></option>
 % }
diff --git a/share/html/Elements/SelectIPRelation b/share/html/Elements/SelectIPRelation
index b3b6bb84ff..9a6b055153 100644
--- a/share/html/Elements/SelectIPRelation
+++ b/share/html/Elements/SelectIPRelation
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<% $Name %>" class="form-control selectpicker">
+<select data-live-search="true" data-live-search="true"name="<% $Name %>" class="form-control selectpicker">
 % while (my $option = shift @Options) {
 % my $value = shift @Values;
 <option value="<% $value %>"
diff --git a/share/html/Elements/SelectLang b/share/html/Elements/SelectLang
index 91ad1cac39..13a9f9d300 100644
--- a/share/html/Elements/SelectLang
+++ b/share/html/Elements/SelectLang
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select class="form-control selectpicker" name="<%$Name%>">
+<select data-live-search="true" data-live-search="true"class="form-control selectpicker" name="<%$Name%>">
 % if ($ShowNullOption) {
 <option value="">- (<% I18N::LangTags::List::name($session{CurrentUser}->LanguageHandle->language_tag) %>)</option>
 % }
diff --git a/share/html/Elements/SelectLifecycle b/share/html/Elements/SelectLifecycle
index e2d695b218..42354fef24 100644
--- a/share/html/Elements/SelectLifecycle
+++ b/share/html/Elements/SelectLifecycle
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<% $Name %>" class="selectpicker form-control">
+<select data-live-search="true" data-live-search="true"name="<% $Name %>" class="selectpicker form-control">
 % if ( $DefaultValue ) {
   <option value="" <% $Default ? '' : qq[selected="selected"] |n %>><% $DefaultLabel %></option>
 % }
diff --git a/share/html/Elements/SelectMatch b/share/html/Elements/SelectMatch
index 63e6f8ff06..fb897d3600 100644
--- a/share/html/Elements/SelectMatch
+++ b/share/html/Elements/SelectMatch
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="selectpicker form-control">
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" class="selectpicker form-control">
 <option value="LIKE" <%$LikeDefault|n%>><%$Like%></option>
 <option value="NOT LIKE" <%$NotLikeDefault|n%>><%$NotLike%></option>
 <option value="=" <%$TrueDefault|n%>><%$True%></option>
diff --git a/share/html/Elements/SelectObject b/share/html/Elements/SelectObject
index f0a398dee9..0916936dfe 100644
--- a/share/html/Elements/SelectObject
+++ b/share/html/Elements/SelectObject
@@ -64,7 +64,7 @@
 </ul>
 % }
 % else {
-<select name="<%$Name%>" <% ($Multiple) ? qq{class="tall" multiple="multiple" size="$Size"} : '' |n%> <% ($OnChange) ?  'onchange="'.$OnChange.'"' : '' |n %> class="<%$Class%> selectpicker form-control" <% ($AccessKey) ? qq{accesskey="$AccessKey"} : '' |n%>>
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" <% ($Multiple) ? qq{class="tall" multiple="multiple" size="$Size"} : '' |n%> <% ($OnChange) ?  'onchange="'.$OnChange.'"' : '' |n %> class="<%$Class%> selectpicker form-control" <% ($AccessKey) ? qq{accesskey="$AccessKey"} : '' |n%>>
 %     if ($ShowNullOption) {
   <option value=""><% $DefaultLabel %></option>
 %     }
diff --git a/share/html/Elements/SelectOwnerDropdown b/share/html/Elements/SelectOwnerDropdown
index 3fa847861e..f635c98c23 100644
--- a/share/html/Elements/SelectOwnerDropdown
+++ b/share/html/Elements/SelectOwnerDropdown
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="selectpicker form-control <%$Name%>">
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" class="selectpicker form-control <%$Name%>">
 %if ($DefaultValue) {
 <option value=""<% !$Default ? qq[ selected="selected"] : '' |n %>><%$DefaultLabel |n%></option>
 %}
diff --git a/share/html/Elements/SelectPriorityAsString b/share/html/Elements/SelectPriorityAsString
index a5857d8bb5..87e4935dd7 100644
--- a/share/html/Elements/SelectPriorityAsString
+++ b/share/html/Elements/SelectPriorityAsString
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select class="select-priority selectpicker form-control" name="<% $Name %>">
+<select data-live-search="true" data-live-search="true"class="select-priority selectpicker form-control" name="<% $Name %>">
 % unless ( defined $Default ) {
   <option value="">-</option>
 % }
diff --git a/share/html/Elements/SelectResultsPerPage b/share/html/Elements/SelectResultsPerPage
index 07dd712be4..17cfa65a5e 100644
--- a/share/html/Elements/SelectResultsPerPage
+++ b/share/html/Elements/SelectResultsPerPage
@@ -47,7 +47,7 @@
 %# END BPS TAGGED BLOCK }}}
 %# TODO: Better default handling
 
-<select name="<% $Name %>" class="form-control selectpicker">
+<select data-live-search="true" data-live-search="true"name="<% $Name %>" class="form-control selectpicker">
 % foreach my $value ( @values ) {
 <option value="<% $value %>" <% $value == $Default? 'selected="selected"': '' |n%>>
 <% shift @labels %>
diff --git a/share/html/Elements/SelectSLA b/share/html/Elements/SelectSLA
index b91e1b8177..8ad154fd88 100644
--- a/share/html/Elements/SelectSLA
+++ b/share/html/Elements/SelectSLA
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="form-control selectpicker <%$Name%>">
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" class="form-control selectpicker <%$Name%>">
 % if ($DefaultValue) {
 <option value=""<% !$Default ? qq[ selected="selected"] : '' |n %>><%$DefaultLabel |n%></option>
 % }
diff --git a/share/html/Elements/SelectStatus b/share/html/Elements/SelectStatus
index bf51511e85..0c049172b2 100644
--- a/share/html/Elements/SelectStatus
+++ b/share/html/Elements/SelectStatus
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" <% $Multiple ? qq{class="selectpicker form-control tall" multiple="multiple" size="$Size"} : 'class="selectpicker form-control"' |n %>>
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" <% $Multiple ? qq{class="selectpicker form-control tall" multiple="multiple" size="$Size"} : 'class="selectpicker form-control"' |n %>>
 % if ( $DefaultValue ) {
 <option value=""<% !$Default && qq[ selected="selected"] |n %>><% $DefaultLabel %></option>
 % }
diff --git a/share/html/Elements/SelectTimeUnits b/share/html/Elements/SelectTimeUnits
index fe53a55514..3f392587fb 100644
--- a/share/html/Elements/SelectTimeUnits
+++ b/share/html/Elements/SelectTimeUnits
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select class="selectpicker form-control TimeUnits" name="<% $Name %>">
+<select data-live-search="true" data-live-search="true"class="selectpicker form-control TimeUnits" name="<% $Name %>">
 <option value="minutes" <% $Default eq 'minutes' ? 'selected="selected"' : '' |n%>>
     <% loc('Minutes') %>
 </option>
diff --git a/share/html/Elements/SelectTimezone b/share/html/Elements/SelectTimezone
index 2b7407ae29..7a8930981f 100644
--- a/share/html/Elements/SelectTimezone
+++ b/share/html/Elements/SelectTimezone
@@ -58,7 +58,7 @@ for ( @names ) {
 }
 
 </%ONCE>
-<select class="form-control selectpicker" name="<% $Name %>">
+<select data-live-search="true" data-live-search="true"class="form-control selectpicker" name="<% $Name %>">
 % if ( $ShowNullOption ) {
 <option value=""><&|/l&>System Default</&> (<% RT->Config->Get('Timezone') %>)</option>
 % }
diff --git a/share/html/Elements/SelectUsers b/share/html/Elements/SelectUsers
index 4425f4b811..b2e96b7413 100644
--- a/share/html/Elements/SelectUsers
+++ b/share/html/Elements/SelectUsers
@@ -46,7 +46,7 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 <div class="col-3">
-  <select name="<% $SelectFieldName %>" class="selectpicker form-control">
+  <select data-live-search="true" data-live-search="true"name="<% $SelectFieldName %>" class="selectpicker form-control">
 % foreach my $col (@fields) {
     <option <% ($UserField eq $col->[0]) ? 'selected="selected"' : '' |n %> value="<% $col->[0] %>"><% loc($col->[1]) %></option>
 % }
diff --git a/share/html/Elements/SelectWatcherType b/share/html/Elements/SelectWatcherType
index 4e0caedc52..e558158eaa 100644
--- a/share/html/Elements/SelectWatcherType
+++ b/share/html/Elements/SelectWatcherType
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="selectpicker form-control">
+<select data-live-search="true" data-live-search="true"name="<%$Name%>" class="selectpicker form-control">
 % if ($AllowNull) {
 <option value="">-</option>
 % }
diff --git a/share/html/Elements/ShowLinks b/share/html/Elements/ShowLinks
index 7a453ad13f..c42b61804d 100644
--- a/share/html/Elements/ShowLinks
+++ b/share/html/Elements/ShowLinks
@@ -73,7 +73,7 @@
       <&|/l&>Create new</&>
     </div>
     <div class="col-auto">
-      <select name="LinkType" class="selectpicker form-control">
+      <select data-live-search="true" data-live-search="true"name="LinkType" class="selectpicker form-control">
         <option value="DependsOn-new"><% loc('Depends on') %></option>
         <option value="new-DependsOn"><% loc('Depended on by') %></option>
         <option value="MemberOf-new"><% loc('Parents') %></option>
diff --git a/share/html/Search/Bulk.html b/share/html/Search/Bulk.html
index aae57a0e51..0d1c58c91d 100644
--- a/share/html/Search/Bulk.html
+++ b/share/html/Search/Bulk.html
@@ -294,7 +294,7 @@
       <&|/l&>Update Type</&>:
     </div>
     <div class="value col-9">
-      <select class="form-control selectpicker" name="UpdateType" id="UpdateType">
+      <select data-live-search="true" class="form-control selectpicker" name="UpdateType" id="UpdateType">
           <option value="private" <% $ARGS{UpdateType} && $ARGS{UpdateType} eq 'private' ? 'selected="selected"' : '' %> ><&|/l&>Comments (Not sent to requestors)</&></option>
         <option value="response" <% $ARGS{UpdateType} && $ARGS{UpdateType} eq 'response' ? 'selected="selected"' : '' %>><&|/l&>Reply to requestors</&></option>
       </select> 
diff --git a/share/html/Search/Elements/ConditionRow b/share/html/Search/Elements/ConditionRow
index 1bf4851372..fcc352c03f 100644
--- a/share/html/Search/Elements/ConditionRow
+++ b/share/html/Search/Elements/ConditionRow
@@ -89,7 +89,7 @@ $handle_block = sub {
     }
     if ( $box->{'Type'} eq 'select' ) {
         my $res = '';
-        $res .= qq{<select id="$name" name="$name" class="form-control selectpicker">};
+        $res .= qq{<select data-live-search="true" id="$name" name="$name" class="form-control selectpicker">};
         my @options = @{ $box->{'Options'} };
         while( defined( my $k = shift @options ) ) {
             my $v = shift @options;
diff --git a/share/html/Search/Elements/EditFormat b/share/html/Search/Elements/EditFormat
index fecb152037..35eead7054 100644
--- a/share/html/Search/Elements/EditFormat
+++ b/share/html/Search/Elements/EditFormat
@@ -93,7 +93,7 @@ jQuery( function() {
     <div class="col-12 col-md-3">
       <div class="form-row">
         <div class="col-12">
-          <select name="SelectDisplayColumns" id="SelectDisplayColumns" multiple="multiple">
+          <select data-live-search="true" name="SelectDisplayColumns" id="SelectDisplayColumns" multiple="multiple">
 % my %seen;
 % foreach my $field ( grep !$seen{lc $_}++, @$AvailableColumns) {
           <option class="<% CSSClass($field) %>" value="<% $field %>" <% $selected{$field} ? 'selected="selected"' : '' |n%>>\
@@ -109,7 +109,7 @@ jQuery( function() {
         <div class="label col-4"><&|/l&>Link</&>:</div>
 %# leave 1 col to save some space to the right "->"
         <div class="value col-8">
-          <select name="Link" class="form-control selectpicker">
+          <select data-live-search="true" name="Link" class="form-control selectpicker">
               <option value="">-</option>
               <option value="Display"><&|/l&>Display</&></option>
 % if ($IncludeTicketLinks) {
@@ -130,7 +130,7 @@ jQuery( function() {
       <div class="form-row">
         <div class="label col-4"><&|/l&>Size</&>:</div>
         <div class="value col-8">
-          <select name="Size" class="form-control selectpicker">
+          <select data-live-search="true" name="Size" class="form-control selectpicker">
             <option value="">-</option>
             <option value="Small"><&|/l&>Small</&></option>
             <option value="Large"><&|/l&>Large</&></option>
@@ -141,7 +141,7 @@ jQuery( function() {
       <div class="form-row">
         <div class="label col-4"><&|/l&>Style</&>:</div>
         <div class="value col-8">
-          <select name="Face" class="form-control selectpicker">
+          <select data-live-search="true" name="Face" class="form-control selectpicker">
             <option value="">-</option>
             <option value="Bold"><&|/l&>Bold</&></option>
             <option value="Italic"><&|/l&>Italic</&></option>
@@ -161,7 +161,7 @@ jQuery( function() {
     <div class="col-10 col-md-4">
       <div class="form-row">
         <div class="col-12">
-          <select size="8" class="tall form-control" name="CurrentDisplayColumns">
+          <select data-live-search="true" size="8" class="tall form-control" name="CurrentDisplayColumns">
 % my $i=0;
 % my $current = $ARGS{CurrentDisplayColumns} || ''; $current =~ s/^\d+>//;
 % foreach my $field ( @$CurrentFormat ) {
diff --git a/share/html/Search/Elements/EditQuery b/share/html/Search/Elements/EditQuery
index 112ec269be..3378d939c2 100644
--- a/share/html/Search/Elements/EditQuery
+++ b/share/html/Search/Elements/EditQuery
@@ -49,7 +49,7 @@
 <&|/Widgets/TitleBox, title => join(': ', grep defined, loc("Current search"), $Description) &>
 
 <div class="form-group">
-  <select size="10" name="clauses" class="tall form-control" style="width: 100%" multiple="multiple">
+  <select data-live-search="true" size="10" name="clauses" class="tall form-control" style="width: 100%" multiple="multiple">
 % $m->out($optionlist);
   </select>
 </div>
diff --git a/share/html/Search/Elements/EditSort b/share/html/Search/Elements/EditSort
index e7bc7c8f53..b27dfa1237 100644
--- a/share/html/Search/Elements/EditSort
+++ b/share/html/Search/Elements/EditSort
@@ -54,7 +54,7 @@
 % }
   </div>
   <div class="value col-4">
-    <select name="OrderBy" class="form-control selectpicker">
+    <select data-live-search="true" name="OrderBy" class="form-control selectpicker">
 % if ($o > 0) {
       <option value=""><&|/l&>~[none~]</&></option>
 % }
@@ -71,7 +71,7 @@ selected="selected"
     </select>
   </div>
   <div class="col-4">
-    <select name="Order" class="form-control selectpicker">
+    <select data-live-search="true" name="Order" class="form-control selectpicker">
       <option value="ASC"
 % unless ( ($Order[$o]||'') eq "DESC" ) {
 selected="selected"
diff --git a/share/html/Search/Elements/SelectChartFunction b/share/html/Search/Elements/SelectChartFunction
index 0d617ca2d7..0031953cea 100644
--- a/share/html/Search/Elements/SelectChartFunction
+++ b/share/html/Search/Elements/SelectChartFunction
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<% $Name %>" class="cascade-by-optgroup">
+<select data-live-search="true" name="<% $Name %>" class="cascade-by-optgroup">
 % if ( $ShowEmpty ) {
 <option value=""> </option>
 % }
diff --git a/share/html/Search/Elements/SelectChartType b/share/html/Search/Elements/SelectChartType
index 144756fb39..230243f6e0 100644
--- a/share/html/Search/Elements/SelectChartType
+++ b/share/html/Search/Elements/SelectChartType
@@ -49,7 +49,7 @@
 $Name => 'ChartType'
 $Default => 'bar'
 </%args>
-<select id="<%$Name%>" name="<%$Name%>" class='form-control selectpicker'>
+<select data-live-search="true" id="<%$Name%>" name="<%$Name%>" class='form-control selectpicker'>
 % foreach my $option ( @types ) {
 <option value="<%$option%>"<% $option eq $Default ? qq[ selected="selected"] : '' |n %>><%loc($option)%></option>
 % }
diff --git a/share/html/Search/Elements/SelectGroup b/share/html/Search/Elements/SelectGroup
index de92de6502..9482e4cf89 100644
--- a/share/html/Search/Elements/SelectGroup
+++ b/share/html/Search/Elements/SelectGroup
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select id="<%$Name%>" name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" id="<%$Name%>" name="<%$Name%>" class="form-control selectpicker">
 % if ($AllowNull) {
 <option value="">-</option>
 % }
diff --git a/share/html/Search/Elements/SelectGroupBy b/share/html/Search/Elements/SelectGroupBy
index 54fae28769..3e3854386a 100644
--- a/share/html/Search/Elements/SelectGroupBy
+++ b/share/html/Search/Elements/SelectGroupBy
@@ -51,7 +51,7 @@ $Default => 'Status'
 $Query   => ''
 $ShowEmpty => 0
 </%args>
-<select name="<% $Name %>" class="cascade-by-optgroup">
+<select data-live-search="true" name="<% $Name %>" class="cascade-by-optgroup">
 % if ( $ShowEmpty ) {
 <option value=""> </option>
 % }
diff --git a/share/html/Search/Elements/SelectLinks b/share/html/Search/Elements/SelectLinks
index dac58e879c..17e05939bc 100644
--- a/share/html/Search/Elements/SelectLinks
+++ b/share/html/Search/Elements/SelectLinks
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" name="<%$Name%>" class="form-control selectpicker">
 % foreach (@fields) {
 <option value="<%$_->[0]%>"><% $_->[1] %></option>
 % }
diff --git a/share/html/Search/Elements/SelectPersonType b/share/html/Search/Elements/SelectPersonType
index 32ef1ee2ad..8f25f84bb0 100644
--- a/share/html/Search/Elements/SelectPersonType
+++ b/share/html/Search/Elements/SelectPersonType
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select id="<%$Name%>" name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" id="<%$Name%>" name="<%$Name%>" class="form-control selectpicker">
 % if ($AllowNull) {
 <option value="">-</option>
 % }
diff --git a/share/html/Search/Elements/SelectSearchObject b/share/html/Search/Elements/SelectSearchObject
index 6837c03122..dd0231f512 100644
--- a/share/html/Search/Elements/SelectSearchObject
+++ b/share/html/Search/Elements/SelectSearchObject
@@ -56,7 +56,7 @@ if ( $Object && $Object->Id ) {
     $default_privacy = ref($Object).'-'.$Object->Id;
 }
 </%init>
-<select id="<%$Name%>" name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" id="<%$Name%>" name="<%$Name%>" class="form-control selectpicker">
 % foreach my $object (@Objects) {
 % my $privacy = ref($object).'-'.$object->id;
 <option value="<%$privacy%>" <% ( $privacy eq $default_privacy ) ? "selected='selected'" : '' |n %>><& SearchPrivacy, Object => $object &></option>
diff --git a/share/html/Search/Elements/SelectSearchesForObjects b/share/html/Search/Elements/SelectSearchesForObjects
index 5c530b2799..4ad6d451c1 100644
--- a/share/html/Search/Elements/SelectSearchesForObjects
+++ b/share/html/Search/Elements/SelectSearchesForObjects
@@ -52,7 +52,7 @@ $Class => 'RT::Tickets'
 $ObjectType => $Class eq 'RT::Transactions' ? 'RT::Ticket' : ''
 $SearchType => $Class eq 'RT::Transactions' ? 'Transaction' : $Class eq 'RT::Assets' ? 'Asset' : 'Ticket'
 </%args>
-<select id="<%$Name%>" name="<%$Name%>" class="form-control selectpicker">
+<select data-live-search="true" id="<%$Name%>" name="<%$Name%>" class="form-control selectpicker">
 <option value="">-</option>
 % foreach my $object (@Objects) {
 % my @searches = $object->Attributes->Named('SavedSearch');
diff --git a/share/html/Ticket/Graphs/Elements/EditGraphProperties b/share/html/Ticket/Graphs/Elements/EditGraphProperties
index 7a6dcd521b..28f9e2f004 100644
--- a/share/html/Ticket/Graphs/Elements/EditGraphProperties
+++ b/share/html/Ticket/Graphs/Elements/EditGraphProperties
@@ -52,7 +52,7 @@
       <% loc('Direction') %>
     </div>
     <div class="value col-9">
-      <select class="form-control selectpicker" name="Direction">
+      <select data-live-search="true" class="form-control selectpicker" name="Direction">
         <option value="TB" <% ($Direction||'TB') eq 'TB'? 'selected="selected"': '' |n %>><% loc('top to bottom') %></option>
         <option value="LR" <% ($Direction||'TB') eq 'LR'? 'selected="selected"': '' |n %>><% loc('left to right') %></option>
 %# XXX: not supported by GraphViz perl module
@@ -66,7 +66,7 @@
       <% loc('Main type of links') %>
     </div>
     <div class="value col-9">
-      <select class="form-control selectpicker" name="LeadingLink">
+      <select data-live-search="true" class="form-control selectpicker" name="LeadingLink">
 % foreach ( @link_types ) {
        <option value="<% $_ %>" <% ($LeadingLink||'Members') eq $_? 'selected="selected"': '' |n %>><% loc($_) %></option>
 % }
@@ -79,7 +79,7 @@
       <% loc('maximum depth') %>
     </div>
     <div class="value col-9">
-      <select class="form-control selectpicker" name="MaxDepth">
+      <select data-live-search="true" class="form-control selectpicker" name="MaxDepth">
         <option value="0"><% loc('Unlimit') %></option>
 % foreach ( 1..6 ) {
         <option value="<% $_ %>" <% ($MaxDepth||0) == $_? 'selected="selected"': '' %>><% $_ %></option>
@@ -115,7 +115,7 @@
       <% loc('Fill boxes with color using') %>:
     </div>
     <div class="value col-9">
-      <select name="FillUsing" class="form-control selectpicker">
+      <select data-live-search="true" name="FillUsing" class="form-control selectpicker">
         <option value=""><% loc('nothing') %></option>
 <%PERL>
 my @tmp = @properties;
diff --git a/share/html/Ticket/ModifyAll.html b/share/html/Ticket/ModifyAll.html
index 9a57a9594d..72530c9dc2 100644
--- a/share/html/Ticket/ModifyAll.html
+++ b/share/html/Ticket/ModifyAll.html
@@ -89,7 +89,7 @@
   <div class="form-row input-row">
     <div class="label col-2"><&|/l&>Update Type</&>:</div>
     <div class="value col-9">
-      <select name="UpdateType" id="UpdateType" class="form-control selectpicker">
+      <select data-live-search="true" name="UpdateType" id="UpdateType" class="form-control selectpicker">
 % if ($CanComment) {
         <option value="private" ><&|/l&>Comments (Not sent to requestors)</&></option>
 % }
diff --git a/share/html/Ticket/Update.html b/share/html/Ticket/Update.html
index e220fc509a..f85e49650c 100644
--- a/share/html/Ticket/Update.html
+++ b/share/html/Ticket/Update.html
@@ -81,7 +81,7 @@
 % }
 
 <div class="form-row"><div class="label col-3"><&|/l&>Update Type</&>:</div>
-<div class="value col-9"><select class="form-control selectpicker" name="UpdateType" id="UpdateType">
+<div class="value col-9"><select data-live-search="true" class="form-control selectpicker" name="UpdateType" id="UpdateType">
 % if ($CanComment) {
 <option value="private" <% ($ARGS{'UpdateType'} &&  $ARGS{'UpdateType'} eq "private") ? qq[ selected="selected"] : !$ARGS{'UpdateType'}&&$CommentDefault |n %>><&|/l&>Comments (Not sent to requestors)</&></option>
 % }
diff --git a/share/html/Widgets/ComboBox b/share/html/Widgets/ComboBox
index f833c0ca28..e7cd8db582 100644
--- a/share/html/Widgets/ComboBox
+++ b/share/html/Widgets/ComboBox
@@ -51,7 +51,7 @@ my $z_index = 9999;
 </%once>
 
 <div class="combobox-wrapper" data-name="<% $Name %>" data-value="<% $Default // '' %>">
-  <select class="form-control combobox" size="<% $Rows %>">
+  <select data-live-search="true" class="form-control combobox" size="<% $Rows %>">
     <option value=""></option>
 % for my $value (@Values) {
     <option value="<% $value %>" <% ($Default // '') eq $value ? 'selected="selected"' : '' %>><% $value%></option>
diff --git a/share/html/Widgets/Form/Select b/share/html/Widgets/Form/Select
index 363a71b5bc..fa71f60369 100644
--- a/share/html/Widgets/Form/Select
+++ b/share/html/Widgets/Form/Select
@@ -89,7 +89,7 @@ $AlternativeLabel => loc('other...'),
 
 $Multiple         => 0,
 </%ARGS>
-<select name="<% $Name %>" class="selectpicker form-control" <% $Multiple ? 'multiple="multiple"' : '' |n%>>
+<select data-live-search="true" name="<% $Name %>" class="selectpicker form-control" <% $Multiple ? 'multiple="multiple"' : '' |n%>>
 
 % if ( $Default ) {
 % my $selected = '';
diff --git a/share/html/Widgets/SearchSelection b/share/html/Widgets/SearchSelection
index 4747f59738..68352a1840 100644
--- a/share/html/Widgets/SearchSelection
+++ b/share/html/Widgets/SearchSelection
@@ -56,7 +56,7 @@
             </div>
 %           if ( @filters ) {
             <div class="col-auto">
-              <select class="form-control selectpicker" name="filter">
+              <select data-live-search="true" class="form-control selectpicker" name="filter">
                   <option value=""><&|/l&>All Types</&></option>
 %             for (@filters) {
 %               my ($value, $label) = @$_;
diff --git a/share/html/Widgets/SelectionBox b/share/html/Widgets/SelectionBox
index 0437a8d528..e082a83114 100644
--- a/share/html/Widgets/SelectionBox
+++ b/share/html/Widgets/SelectionBox
@@ -178,7 +178,7 @@ $self => undef
   <div class="col-5">
     <div class="form-row">
       <div class="col-12">
-        <select name="<%$name%>-Available" id="<%$name%>-Available" size="<%$size%>" multiple="multiple" class="tall selection-box form-control">
+        <select data-live-search="true" name="<%$name%>-Available" id="<%$name%>-Available" size="<%$size%>" multiple="multiple" class="tall selection-box form-control">
 % for (@{$self->{Available}}) {
           <option value="<% $_->[0] %>"><% $_->[1] %></option>
 % }
@@ -200,7 +200,7 @@ $self => undef
   <div class="col-5">
     <div class="form-row">
       <div class="col-12">
-        <select name="<%$name%>-Selected" id="<%$name%>-Selected" size="<%$size%>" multiple="multiple" class="tall selection-box form-control">
+        <select data-live-search="true" name="<%$name%>-Selected" id="<%$name%>-Selected" size="<%$size%>" multiple="multiple" class="tall selection-box form-control">
 % for (@{$self->{Current}}) {
           <option value="<% $_ %>"
 % if (exists $selected{$_}) {
diff --git a/share/html/m/ticket/reply b/share/html/m/ticket/reply
index 2496296e1b..dd1a7fb44e 100644
--- a/share/html/m/ticket/reply
+++ b/share/html/m/ticket/reply
@@ -87,7 +87,7 @@
 % $m->callback( %ARGS, CallbackName => 'AfterWorked', Ticket => $t );
 <input type="hidden" class="hidden" name="id" value="<%$t->Id%>" /><br />
 <div class="entry"><span class="label"><&|/l&>Update Type</&>:</span>
-<div class="value"><select name="UpdateType">
+<div class="value"><select data-live-search="true" name="UpdateType">
 % if ($CanComment) {
 <option value="private" <% ($ARGS{'UpdateType'} &&  $ARGS{'UpdateType'} eq "private") ? qq[ selected="selected"] : !$ARGS{'UpdateType'}&&$CommentDefault |n %>><&|/l&>Comments (Not sent to requestors)</&></option>
 % }

-----------------------------------------------------------------------


More information about the rt-commit mailing list