const modalBody = modal.getBody()[0];
const searchResultsContainer = modalBody.querySelector(selectors.regions.searchResults);
const chooserContainer = modalBody.querySelector(selectors.regions.chooser);
- const clearSearchButton = modalBody.querySelector(selectors.elements.clearsearch);
- const searchIcon = modalBody.querySelector(selectors.elements.searchicon);
+ const clearSearchButton = modalBody.querySelector(selectors.actions.clearSearch);
if (searchQuery.length > 0) { // Search query is present.
const searchResultsData = searchModules(mappedModules, searchQuery);
initChooserOptionsKeyboardNavigation(modalBody, mappedModules, searchResultItemsContainer, modal);
}
// Display the "clear" search button in the activity chooser search bar.
- searchIcon.classList.add('d-none');
clearSearchButton.classList.remove('d-none');
// Hide the default chooser options container.
chooserContainer.setAttribute('hidden', 'hidden');
} else { // Search query is not present.
// Hide the "clear" search button in the activity chooser search bar.
clearSearchButton.classList.add('d-none');
- searchIcon.classList.remove('d-none');
// Hide the search results container.
searchResultsContainer.setAttribute('hidden', 'hidden');
// Display the default chooser options container.
sitetopic: 'div.sitetopic',
tab: 'a[data-toggle="tab"]',
activetab: 'a[data-toggle="tab"][aria-selected="true"]',
- visibletabs: 'a[data-toggle="tab"]:not(.d-none)',
- searchicon: '.input-group-append .search-icon',
- clearsearch: '.input-group-append .clear'
+ visibletabs: 'a[data-toggle="tab"]:not(.d-none)'
},
};
Example context (json):
{}
}}
-<div class="searchbar input-group" role="search">
- <label for="searchinput">
- <span class="sr-only">{{#str}} searchactivities, core {{/str}}</span>
- </label>
- <input type="text"
- data-action="search"
- id="searchinput"
- class="form-control searchinput h-auto border-right-0 rounded-left px-3 py-2"
- placeholder="{{#str}} search, core {{/str}}"
- name="search"
- autocomplete="off"
- >
- <div class="input-group-append">
- <div class="input-group-text border-left-0 rounded-right bg-transparent px-3 py-2">
- <div class="search-icon">
- {{#pix}} a/search, core {{/pix}}
- </div>
- <div class="clear d-none">
- <button class="btn p-0" data-action="clearsearch">
- <span class="d-flex" aria-hidden="true">{{#pix}} e/cancel_solid_circle, core {{/pix}}</span>
- <span class="sr-only">{{#str}} clearsearch, core {{/str}}</span>
- </button>
- </div>
- </div>
- </div>
-</div>
+{{< core/search_input_auto }}
+ {{$label}}{{#str}}
+ searchactivities, core
+ {{/str}}{{/label}}
+ {{$placeholder}}{{#str}}
+ search, core
+ {{/str}}{{/placeholder}}
+{{/ core/search_input_auto }}
+
<div class="searchresultscontainer" data-region="search-results-container" hidden="hidden" aria-live="polite">
</div>
.carousel-item .loading-icon .icon {
margin: 1em auto;
}
+ .searchbar {
+ width: 100%;
+ }
}
.modchooser .modal-footer {
overflow-y: hidden;
}
-.modchooser .searchcontainer .searchbar .input-group-append {
- align-items: center;
-
- i {
- color: #868e96;
- margin: 0;
- vertical-align: middle;
- font-size: 20px;
- height: 20px;
- width: 20px;
- }
-}
-
.modchoosercontainer .optionscontainer,
.modchoosercontainer .searchresultitemscontainer {
overflow-x: hidden;
width: 1em; }
.modchooser .modal-body .carousel-item .loading-icon .icon {
margin: 1em auto; }
+ .modchooser .modal-body .searchbar {
+ width: 100%; }
.modchooser .modal-footer {
height: 70px;
.modchoosercontainer.noscroll {
overflow-y: hidden; }
-.modchooser .searchcontainer .searchbar .input-group-append {
- align-items: center; }
- .modchooser .searchcontainer .searchbar .input-group-append i {
- color: #868e96;
- margin: 0;
- vertical-align: middle;
- font-size: 20px;
- height: 20px;
- width: 20px; }
-
.modchoosercontainer .optionscontainer,
.modchoosercontainer .searchresultitemscontainer {
overflow-x: hidden; }
width: 1em; }
.modchooser .modal-body .carousel-item .loading-icon .icon {
margin: 1em auto; }
+ .modchooser .modal-body .searchbar {
+ width: 100%; }
.modchooser .modal-footer {
height: 70px;
.modchoosercontainer.noscroll {
overflow-y: hidden; }
-.modchooser .searchcontainer .searchbar .input-group-append {
- align-items: center; }
- .modchooser .searchcontainer .searchbar .input-group-append i {
- color: #868e96;
- margin: 0;
- vertical-align: middle;
- font-size: 20px;
- height: 20px;
- width: 20px; }
-
.modchoosercontainer .optionscontainer,
.modchoosercontainer .searchresultitemscontainer {
overflow-x: hidden; }