MDL-69454 core_search: consistent activity chooser search

This commit is contained in:
Bas Brands
2020-09-23 17:36:15 +02:00
committed by Eloy Lafuente (stronk7)
parent a88f50d1b2
commit 9d82cdb62e
10 changed files with 22 additions and 70 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,2 +1,2 @@
define ("core_course/local/activitychooser/selectors",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;var b=function(a,b){return"[data-".concat(a,"=\"").concat(b,"\"]")},c={regions:{chooser:b("region","chooser-container"),getSectionChooserOptions:function getSectionChooserOptions(a){return"".concat(a," ").concat(b("region","chooser-options-container"))},chooserOption:{container:b("region","chooser-option-container"),actions:b("region","chooser-option-actions-container"),info:b("region","chooser-option-info-container")},chooserSummary:{container:b("region","chooser-option-summary-container"),content:b("region","chooser-option-summary-content-container"),header:b("region","summary-header"),actions:b("region","chooser-option-summary-actions-container")},carousel:b("region","carousel"),help:b("region","help"),modules:b("region","modules"),favouriteTabNav:b("region","favourite-tab-nav"),recommendedTabNav:b("region","recommended-tab-nav"),defaultTabNav:b("region","default-tab-nav"),activityTabNav:b("region","activity-tab-nav"),resourceTabNav:b("region","resources-tab-nav"),favouriteTab:b("region","favourites"),recommendedTab:b("region","recommended"),defaultTab:b("region","default"),activityTab:b("region","activity"),resourceTab:b("region","resources"),getModuleSelector:function getModuleSelector(a){return"[role=\"menuitem\"][data-modname=\"".concat(a,"\"]")},searchResults:b("region","search-results-container"),searchResultItems:b("region","search-result-items-container")},actions:{optionActions:{showSummary:b("action","show-option-summary"),manageFavourite:b("action","manage-module-favourite")},addChooser:b("action","add-chooser-option"),closeOption:b("action","close-chooser-option-summary"),hide:b("action","hide"),search:b("action","search"),clearSearch:b("action","clearsearch")},render:{favourites:b("render","favourites-area")},elements:{section:".section",sectionmodchooser:"button.section-modchooser-link",sitemenu:".block_site_main_menu",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"}};a.default=c;return a.default});
define ("core_course/local/activitychooser/selectors",["exports"],function(a){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.default=void 0;var b=function(a,b){return"[data-".concat(a,"=\"").concat(b,"\"]")},c={regions:{chooser:b("region","chooser-container"),getSectionChooserOptions:function getSectionChooserOptions(a){return"".concat(a," ").concat(b("region","chooser-options-container"))},chooserOption:{container:b("region","chooser-option-container"),actions:b("region","chooser-option-actions-container"),info:b("region","chooser-option-info-container")},chooserSummary:{container:b("region","chooser-option-summary-container"),content:b("region","chooser-option-summary-content-container"),header:b("region","summary-header"),actions:b("region","chooser-option-summary-actions-container")},carousel:b("region","carousel"),help:b("region","help"),modules:b("region","modules"),favouriteTabNav:b("region","favourite-tab-nav"),recommendedTabNav:b("region","recommended-tab-nav"),defaultTabNav:b("region","default-tab-nav"),activityTabNav:b("region","activity-tab-nav"),resourceTabNav:b("region","resources-tab-nav"),favouriteTab:b("region","favourites"),recommendedTab:b("region","recommended"),defaultTab:b("region","default"),activityTab:b("region","activity"),resourceTab:b("region","resources"),getModuleSelector:function getModuleSelector(a){return"[role=\"menuitem\"][data-modname=\"".concat(a,"\"]")},searchResults:b("region","search-results-container"),searchResultItems:b("region","search-result-items-container")},actions:{optionActions:{showSummary:b("action","show-option-summary"),manageFavourite:b("action","manage-module-favourite")},addChooser:b("action","add-chooser-option"),closeOption:b("action","close-chooser-option-summary"),hide:b("action","hide"),search:b("action","search"),clearSearch:b("action","clearsearch")},render:{favourites:b("render","favourites-area")},elements:{section:".section",sectionmodchooser:"button.section-modchooser-link",sitemenu:".block_site_main_menu",sitetopic:"div.sitetopic",tab:"a[data-toggle=\"tab\"]",activetab:"a[data-toggle=\"tab\"][aria-selected=\"true\"]",visibletabs:"a[data-toggle=\"tab\"]:not(.d-none)"}};a.default=c;return a.default});
//# sourceMappingURL=selectors.min.js.map
File diff suppressed because one or more lines are too long
@@ -466,8 +466,7 @@ const toggleSearchResultsView = async(modal, mappedModules, searchQuery) => {
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);
@@ -481,7 +480,6 @@ const toggleSearchResultsView = async(modal, 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');
@@ -490,7 +488,6 @@ const toggleSearchResultsView = async(modal, mappedModules, searchQuery) => {
} 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.
@@ -86,8 +86,6 @@ export default {
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)'
},
};
@@ -22,31 +22,14 @@
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>
+3 -13
View File
@@ -1642,6 +1642,9 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
.carousel-item .loading-icon .icon {
margin: 1em auto;
}
.searchbar {
width: 100%;
}
}
.modchooser .modal-footer {
@@ -1660,19 +1663,6 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
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;
+2 -10
View File
@@ -11000,6 +11000,8 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
width: 1em; }
.modchooser .modal-body .carousel-item .loading-icon .icon {
margin: 1em auto; }
.modchooser .modal-body .searchbar {
width: 100%; }
.modchooser .modal-footer {
height: 70px;
@@ -11012,16 +11014,6 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
.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; }
+2 -10
View File
@@ -11206,6 +11206,8 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
width: 1em; }
.modchooser .modal-body .carousel-item .loading-icon .icon {
margin: 1em auto; }
.modchooser .modal-body .searchbar {
width: 100%; }
.modchooser .modal-footer {
height: 70px;
@@ -11218,16 +11220,6 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
.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; }