This commit is contained in:
Andrew Nicols 2020-03-12 12:42:17 +08:00
commit 8fd1dfc795
19 changed files with 44 additions and 60 deletions

View File

@ -1,2 +1,2 @@
define ("core_course/activitychooser",["exports","core_course/local/activitychooser/dialogue","core_course/local/activitychooser/repository","core_course/local/activitychooser/selectors","core/custom_interaction_events","core/templates","core/modal_factory","core/str","core/pending"],function(a,b,c,d,e,f,g,h,i){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;b=k(b);c=k(c);d=j(d);e=j(e);f=k(f);g=k(g);i=j(i);function j(a){return a&&a.__esModule?a:{default:a}}function k(a){if(a&&a.__esModule){return a}else{var b={};if(null!=a){for(var c in a){if(Object.prototype.hasOwnProperty.call(a,c)){var d=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(a,c):{};if(d.get||d.set){Object.defineProperty(b,c,d)}else{b[c]=a[c]}}}}b.default=a;return b}}function l(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){c(a);return}if(h.done){b(i)}else{Promise.resolve(i).then(d,e)}}function m(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){var h=a.apply(b,c);function f(a){l(h,d,e,f,g,"next",a)}function g(a){l(h,d,e,f,g,"throw",a)}f(void 0)})}}var n=function(a){var b=new i.default;o(a);b.resolve()};a.init=n;var o=function(a){var f=["click",e.default.events.activate,e.default.events.keyboardActivate],g=function(){var b=null;return function(){if(!b){b=new Promise(function(b){b(c.activityModules(a))})}return b}}();e.default.define(document,f);f.forEach(function(a){document.addEventListener(a,function(){var a=m(regeneratorRuntime.mark(function a(c){var e,f,h,i,j;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:if(!c.target.closest(d.default.elements.sectionmodchooser)){a.next=11;break}a.next=3;return g();case 3:e=a.sent;f=c.target.closest(d.default.elements.sectionmodchooser);h=u(e,f.dataset.sectionid);i=p(e,f.dataset.sectionid);a.next=9;return q(i);case 9:j=a.sent;b.displayChooser(f,j,i,h);case 11:case"end":return a.stop();}}},a)}));return function(){return a.apply(this,arguments)}}())})},p=function(a,b){var c=JSON.parse(JSON.stringify(a));c.content_items.forEach(function(a){a.link+="&section="+b});return c.content_items},q=function(a){return s(r(a))},r=function(a){var b=a.filter(function(a){return!0===a.favourite}),c=a.filter(function(a){return!0===a.recommended}),d=!!b.length,e=!!(c.length&&!1===d);return{default:a,favourites:b,recommended:c,favouritesFirst:d,recommendedFirst:e,fallback:!1===d&&!1===e}},s=function(a){return g.create({type:g.types.DEFAULT,title:(0,h.get_string)("addresourceoractivity"),body:f.render("core_course/chooser",a),large:!0,templateContext:{classes:"modchooser"}})},t=function(a,b){a.classList.add("d-none");if(a.classList.contains("active")){a.classList.remove("active");var f=b.querySelector(d.default.regions.favouriteTab);f.classList.remove("active");var c=b.querySelector(d.default.regions.recommendedTabNav),e=b.querySelector(d.default.regions.defaultTabNav);if(!1===c.classList.contains("d-none")){c.classList.add("active");var g=b.querySelector(d.default.regions.recommendedTab);g.classList.add("active")}else{e.classList.add("active");var h=b.querySelector(d.default.regions.defaultTab);h.classList.add("active")}}},u=function(a,b){return function(){var c=m(regeneratorRuntime.mark(function c(e,g,h){var i,j,k,l,m,n,o,q,r,s,u;return regeneratorRuntime.wrap(function(c){while(1){switch(c.prev=c.next){case 0:i=h.querySelector(d.default.render.favourites);j=h.querySelectorAll("[data-internal=\"".concat(e,"\"] ").concat(d.default.actions.optionActions.manageFavourite));k=h.querySelector(d.default.regions.favouriteTabNav);l=a.content_items.find(function(a){var b=a.name;return b===e});m={};if(!l){c.next=27;break}if(!g){c.next=21;break}l.favourite=!0;m.content_items=a.content_items.filter(function(a){return!0===a.favourite});n=p(m,b);c.next=12;return f.renderForPromise("core_course/chooser_favourites",{favourites:n});case 12:o=c.sent;q=o.html;r=o.js;c.next=17;return f.replaceNodeContents(i,q,r);case 17:Array.from(j).forEach(function(a){a.classList.remove("text-muted");a.classList.add("text-primary");a.dataset.favourited="true";a.setAttribute("aria-pressed",!0);a.firstElementChild.classList.remove("fa-star-o");a.firstElementChild.classList.add("fa-star")});k.classList.remove("d-none");c.next=27;break;case 21:l.favourite=!1;s=i.querySelector("[data-internal=\"".concat(e,"\"]"));s.parentNode.removeChild(s);Array.from(j).forEach(function(a){a.classList.add("text-muted");a.classList.remove("text-primary");a.dataset.favourited="false";a.setAttribute("aria-pressed",!1);a.firstElementChild.classList.remove("fa-star");a.firstElementChild.classList.add("fa-star-o")});u=a.content_items.filter(function(a){return!0===a.favourite});if(0===u.length){t(k,h)}case 27:case"end":return c.stop();}}},c)}));return function(){return c.apply(this,arguments)}}()}});
define ("core_course/activitychooser",["exports","core_course/local/activitychooser/dialogue","core_course/local/activitychooser/repository","core_course/local/activitychooser/selectors","core/custom_interaction_events","core/templates","core/modal_factory","core/str","core/pending"],function(a,b,c,d,e,f,g,h,i){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;b=k(b);c=k(c);d=j(d);e=j(e);f=k(f);g=k(g);i=j(i);function j(a){return a&&a.__esModule?a:{default:a}}function k(a){if(a&&a.__esModule){return a}else{var b={};if(null!=a){for(var c in a){if(Object.prototype.hasOwnProperty.call(a,c)){var d=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(a,c):{};if(d.get||d.set){Object.defineProperty(b,c,d)}else{b[c]=a[c]}}}}b.default=a;return b}}function l(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){c(a);return}if(h.done){b(i)}else{Promise.resolve(i).then(d,e)}}function m(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){var h=a.apply(b,c);function f(a){l(h,d,e,f,g,"next",a)}function g(a){l(h,d,e,f,g,"throw",a)}f(void 0)})}}var n=function(a){var b=new i.default;o(a);b.resolve()};a.init=n;var o=function(a){var f=["click",e.default.events.activate,e.default.events.keyboardActivate],g=function(){var b=null;return function(){if(!b){b=new Promise(function(b){b(c.activityModules(a))})}return b}}();e.default.define(document,f);f.forEach(function(a){document.addEventListener(a,function(){var a=m(regeneratorRuntime.mark(function a(c){var e,f,h,i,j;return regeneratorRuntime.wrap(function(a){while(1){switch(a.prev=a.next){case 0:if(!c.target.closest(d.default.elements.sectionmodchooser)){a.next=11;break}a.next=3;return g();case 3:e=a.sent;f=c.target.closest(d.default.elements.sectionmodchooser);h=u(e,f.dataset.sectionid);i=p(e,f.dataset.sectionid);a.next=9;return q(i);case 9:j=a.sent;b.displayChooser(f,j,i,h);case 11:case"end":return a.stop();}}},a)}));return function(){return a.apply(this,arguments)}}())})},p=function(a,b){var c=JSON.parse(JSON.stringify(a));c.content_items.forEach(function(a){a.link+="&section="+b});return c.content_items},q=function(a){return s(r(a))},r=function(a){var b=a.filter(function(a){return!0===a.favourite}),c=a.filter(function(a){return!0===a.recommended}),d=!!b.length,e=!!(c.length&&!1===d);return{default:a,favourites:b,recommended:c,favouritesFirst:d,recommendedFirst:e,fallback:!1===d&&!1===e}},s=function(a){return g.create({type:g.types.DEFAULT,title:(0,h.get_string)("addresourceoractivity"),body:f.render("core_course/activitychooser",a),large:!0,templateContext:{classes:"modchooser"}})},t=function(a,b){a.classList.add("d-none");if(a.classList.contains("active")){a.classList.remove("active");var f=b.querySelector(d.default.regions.favouriteTab);f.classList.remove("active");var c=b.querySelector(d.default.regions.recommendedTabNav),e=b.querySelector(d.default.regions.defaultTabNav);if(!1===c.classList.contains("d-none")){c.classList.add("active");var g=b.querySelector(d.default.regions.recommendedTab);g.classList.add("active")}else{e.classList.add("active");var h=b.querySelector(d.default.regions.defaultTab);h.classList.add("active")}}},u=function(a,b){return function(){var c=m(regeneratorRuntime.mark(function c(e,g,h){var i,j,k,l,m,n,o,q,r,s,u;return regeneratorRuntime.wrap(function(c){while(1){switch(c.prev=c.next){case 0:i=h.querySelector(d.default.render.favourites);j=h.querySelectorAll("[data-internal=\"".concat(e,"\"] ").concat(d.default.actions.optionActions.manageFavourite));k=h.querySelector(d.default.regions.favouriteTabNav);l=a.content_items.find(function(a){var b=a.name;return b===e});m={};if(!l){c.next=27;break}if(!g){c.next=21;break}l.favourite=!0;m.content_items=a.content_items.filter(function(a){return!0===a.favourite});n=p(m,b);c.next=12;return f.renderForPromise("core_course/local/activitychooser/favourites",{favourites:n});case 12:o=c.sent;q=o.html;r=o.js;c.next=17;return f.replaceNodeContents(i,q,r);case 17:Array.from(j).forEach(function(a){a.classList.remove("text-muted");a.classList.add("text-primary");a.dataset.favourited="true";a.setAttribute("aria-pressed",!0);a.firstElementChild.classList.remove("fa-star-o");a.firstElementChild.classList.add("fa-star")});k.classList.remove("d-none");c.next=27;break;case 21:l.favourite=!1;s=i.querySelector("[data-internal=\"".concat(e,"\"]"));s.parentNode.removeChild(s);Array.from(j).forEach(function(a){a.classList.add("text-muted");a.classList.remove("text-primary");a.dataset.favourited="false";a.setAttribute("aria-pressed",!1);a.firstElementChild.classList.remove("fa-star");a.firstElementChild.classList.add("fa-star-o")});u=a.content_items.filter(function(a){return!0===a.favourite});if(0===u.length){t(k,h)}case 27:case"end":return c.stop();}}},c)}));return function(){return c.apply(this,arguments)}}()}});
//# sourceMappingURL=activitychooser.min.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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"),description:b("region","summary-description"),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"),favouriteTab:b("region","favourites"),recommendedTab:b("region","recommended"),defaultTab:b("region","default"),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\"]",searchicon:".searchbar-append .search-icon",clearsearch:".searchbar-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"),favouriteTab:b("region","favourites"),recommendedTab:b("region","recommended"),defaultTab:b("region","default"),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\"]",searchicon:".searchbar-append .search-icon",clearsearch:".searchbar-append .clear"}};a.default=c;return a.default});
//# sourceMappingURL=selectors.min.js.map

File diff suppressed because one or more lines are too long

View File

@ -109,10 +109,10 @@ const sectionIdMapper = (webServiceData, id) => {
};
/**
* Build a modal for each section ID and store it into a map for quick access
* Build a modal on demand to save page load times
*
* @method modalBuilder
* @param {Map} data our map of section ID's & modules to generate modals for
* @param {Array} data our array of modules with section ID's applied in the URL field
* @return {Object} Our modal that we are going to show the user
*/
const modalBuilder = data => buildModal(templateDataBuilder(data));
@ -149,7 +149,7 @@ const templateDataBuilder = (data) => {
};
/**
* Given an object we want to prebuild a modal ready to store into a map
* Given an object we want to build a modal ready to show
*
* @method buildModal
* @param {Object} data The template data which contains arrays of modules
@ -159,7 +159,7 @@ const buildModal = data => {
return ModalFactory.create({
type: ModalFactory.types.DEFAULT,
title: getString('addresourceoractivity'),
body: Templates.render('core_course/chooser', data),
body: Templates.render('core_course/activitychooser', data),
large: true,
templateContext: {
classes: 'modchooser'
@ -230,7 +230,8 @@ const partiallyAppliedFavouriteManager = (moduleData, sectionId) => {
const builtFaves = sectionIdMapper(newFaves, sectionId);
const {html, js} = await Templates.renderForPromise('core_course/chooser_favourites', {favourites: builtFaves});
const {html, js} = await Templates.renderForPromise('core_course/local/activitychooser/favourites',
{favourites: builtFaves});
await Templates.replaceNodeContents(favouriteArea, html, js);

View File

@ -53,13 +53,13 @@ const showModuleHelp = (carousel, moduleData) => {
});
// Build up the html & js ready to place into the help section.
const contentPromise = Templates.renderForPromise('core_course/chooser_help', moduleData);
const contentPromise = Templates.renderForPromise('core_course/local/activitychooser/help', moduleData);
// Wait for the content to be ready, and for the transition to be complet.
Promise.all([contentPromise, spinnerPromise, transitionPromise])
.then(([{html, js}]) => Templates.replaceNodeContents(help, html, js))
.then(() => {
help.querySelector(selectors.regions.chooserSummary.description).focus();
help.querySelector(selectors.regions.chooserSummary.header).focus();
return help;
})
.catch(Notification.exception);
@ -402,7 +402,7 @@ const renderSearchResults = async(searchResultsContainer, searchResultsData) =>
'searchresults': searchResultsData
};
// Build up the html & js ready to place into the help section.
const {html, js} = await Templates.renderForPromise('core_course/chooser_search_results', templateData);
const {html, js} = await Templates.renderForPromise('core_course/local/activitychooser/search_results', templateData);
await Templates.replaceNodeContents(searchResultsContainer, html, js);
};

View File

@ -45,7 +45,7 @@ export default {
chooserSummary: {
container: getDataSelector('region', 'chooser-option-summary-container'),
content: getDataSelector('region', 'chooser-option-summary-content-container'),
description: getDataSelector('region', 'summary-description'),
header: getDataSelector('region', 'summary-header'),
actions: getDataSelector('region', 'chooser-option-summary-actions-container'),
},
carousel: getDataSelector('region', 'carousel'),

View File

@ -35,13 +35,13 @@
<div data-region="carousel" class="carousel slide">
<div class="carousel-inner" aria-live="polite">
<div class="carousel-item p-4 active" data-region="modules">
<div class="carousel-item px-4 py-3 active" data-region="modules">
<div class="modchoosercontainer" aria-label="{{#str}} activitymodules, core {{/str}}">
<div class="searchcontainer mb-3">
{{>core_course/chooser_search}}
{{>core_course/local/activitychooser/search}}
</div>
<div data-region="chooser-container">
<ul class="nav nav-tabs mb-2" id="activities-{{uniqid}}" role="tablist">
<ul class="nav nav-tabs mb-3" id="activities-{{uniqid}}" role="tablist">
<li class="nav-item">
<a class="nav-link {{#favouritesFirst}}active{{/favouritesFirst}} {{^favourites}}d-none{{/favourites}}"
id="starred-tab-{{uniqid}}"
@ -89,21 +89,21 @@
</ul>
<div class="tab-content" id="tabbed-activities-{{uniqid}}">
<div class="tab-pane {{#favouritesFirst}}active{{/favouritesFirst}}" id="starred-{{uniqid}}" data-region="favourites" role="tabpanel" aria-labelledby="starred-tab-{{uniqid}}">
<div class="optionscontainer d-flex flex-wrap mw-100 p-3 position-relative" role="menubar" data-region="chooser-options-container" data-render="favourites-area">
{{>core_course/chooser_favourites}}
<div class="optionscontainer d-flex flex-wrap p-1 mw-100 position-relative" role="menubar" data-region="chooser-options-container" data-render="favourites-area">
{{>core_course/local/activitychooser/favourites}}
</div>
</div>
<div class="tab-pane {{#recommendedFirst}}active{{/recommendedFirst}}" id="recommended-{{uniqid}}" data-region="recommended" role="tabpanel" aria-labelledby="recommended-tab-{{uniqid}}">
<div class="optionscontainer d-flex flex-wrap mw-100 p-3 position-relative" role="menubar" data-region="chooser-options-container">
<div class="optionscontainer d-flex flex-wrap p-1 mw-100 position-relative" role="menubar" data-region="chooser-options-container">
{{#recommended}}
{{>core_course/chooser_item}}
{{>core_course/local/activitychooser/item}}
{{/recommended}}
</div>
</div>
<div class="tab-pane {{#fallback}}active{{/fallback}}" id="all-{{uniqid}}" data-region="default" role="tabpanel" aria-labelledby="all-tab-{{uniqid}}">
<div class="optionscontainer d-flex flex-wrap mw-100 p-3 position-relative" role="menubar" data-region="chooser-options-container">
<div class="optionscontainer d-flex flex-wrap p-1 mw-100 position-relative" role="menubar" data-region="chooser-options-container">
{{#default}}
{{>core_course/chooser_item}}
{{>core_course/local/activitychooser/item}}
{{/default}}
</div>
</div>

View File

@ -32,5 +32,5 @@
}
}}
{{#favourites}}
{{>core_course/chooser_item}}
{{>core_course/local/activitychooser/item}}
{{/favourites}}

View File

@ -35,12 +35,12 @@
<div class="optionsummary" tabindex="-1" data-region="chooser-option-summary-container" aria-labelledby="optionsummary_label" aria-describedby="optionsumary_desc">
<div class="content text-left mb-5 px-5 py-4" data-region="chooser-option-summary-content-container">
<div class="heading mb-4">
<h5 id="optionsummary_label">
<h5 id="optionsummary_label-{{uniqid}}" data-region="summary-header" tabindex="0">
{{{icon}}}
{{title}}
</h5>
</div>
<div id="optionsumary_desc" class="description" data-region="summary-description" tabindex="0">
<div id="optionsumary_desc-{{uniqid}}" class="description" tabindex="0">
{{{help}}}
</div>
</div>

View File

@ -29,13 +29,13 @@
"icon": "<img class='icon' src='http://urltooptionicon'>"
}
}}
<div role="menuitem" tabindex="-1" aria-label="{{title}}" class="option d-block text-center py-3 px-2" data-region="chooser-option-container" data-internal="{{name}}" data-modname="{{componentname}}_{{link}}">
<div role="menuitem" tabindex="-1" aria-label="{{title}}" class="option d-block text-center py-1 mb-1" data-region="chooser-option-container" data-internal="{{name}}" data-modname="{{componentname}}_{{link}}">
<div class="optioninfo w-100" data-region="chooser-option-info-container">
<a class="d-block" href="{{link}}" title="{{#str}} addnew, moodle, {{title}} {{/str}}" tabindex="-1" data-action="add-chooser-option">
<span class="optionicon d-block">
{{{icon}}}
</span>
<span class="optionname d-block">{{title}}</span>
<p class="optionname d-block mt-2 mb-0"> {{#shortentext}}20, {{title}}{{/shortentext}}</p>
</a>
<div class="optionactions btn-group" role="group" data-region="chooser-option-actions-container">
{{^legacyitem}}

View File

@ -29,7 +29,7 @@
<input type="text"
data-action="search"
id="searchinput"
class="form-control form-control-lg searchinput pl-3 pr-0 py-2"
class="form-control form-control-lg searchinput px-3 py-2"
placeholder="{{#str}} search, core {{/str}}"
name="search"
autocomplete="off"

View File

@ -32,9 +32,9 @@
}
}
}}
<p class="mt-4 px-3">{{#str}} resultsfound, core, {{searchresultsnumber}} {{/str}}</p>
<div class="searchresultitemscontainer d-flex flex-wrap mw-100 position-relative mt-4" role="menubar" data-region="search-result-items-container">
<p class="mt-4 px-3 pb-1">{{#str}} resultsfound, core, {{searchresultsnumber}} {{/str}}</p>
<div class="searchresultitemscontainer d-flex flex-wrap mw-100 position-relative p-1 mt-4" role="menubar" data-region="search-result-items-container">
{{#searchresults}}
{{>core_course/chooser_item}}
{{>core_course/local/activitychooser/item}}
{{/searchresults}}
</div>

View File

@ -250,7 +250,7 @@ class behat_course extends behat_base {
// Clicks the selected activity if it exists.
$activityxpath = "//div[contains(concat(' ', normalize-space(@class), ' '), ' modchooser ')]" .
"/descendant::div[contains(concat(' ', normalize-space(@class), ' '), ' optioninfo ')]" .
"/descendant::span[contains(concat(' ', normalize-space(@class), ' '), ' optionname ')]" .
"/descendant::p[contains(concat(' ', normalize-space(@class), ' '), ' optionname ')]" .
"[normalize-space(.)=$activityliteral]" .
"/parent::a";

View File

@ -1509,7 +1509,7 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
*/
.modchooser .modal-body {
padding: 0;
height: 590px;
height: 640px;
overflow-y: auto;
.loading-icon {
@ -1552,7 +1552,6 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
}
.clear {
i {
height: 23px;
width: 23px;
@ -1561,7 +1560,6 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
}
}
.search-icon {
i {
height: 20px;
width: 20px;
@ -1576,11 +1574,10 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
overflow-x: hidden;
.option {
// Six items per line.
flex-basis: 16%;
flex-basis: 16.66%;
.optionactions {
.optionaction {
cursor: pointer;
margin: 0.2rem;
color: $gray-600;
i {
margin: 0;
@ -1593,9 +1590,6 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
&:hover {
text-decoration: none;
}
.optionname {
margin-top: 0.5em;
}
.optionicon {
.icon {
margin: 0;
@ -1614,8 +1608,7 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
background-color: $white;
overflow-x: hidden;
overflow-y: auto;
line-height: 2em;
height: 590px;
height: 640px;
.content {
overflow-y: auto;

View File

@ -10652,7 +10652,7 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
*/
.modchooser .modal-body {
padding: 0;
height: 590px;
height: 640px;
overflow-y: auto; }
.modchooser .modal-body .loading-icon {
opacity: 1; }
@ -10698,11 +10698,10 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
overflow-x: hidden; }
.modchoosercontainer .optionscontainer .option,
.modchoosercontainer .searchresultitemscontainer .option {
flex-basis: 16%; }
flex-basis: 16.66%; }
.modchoosercontainer .optionscontainer .option .optionactions .optionaction,
.modchoosercontainer .searchresultitemscontainer .option .optionactions .optionaction {
cursor: pointer;
margin: 0.2rem;
color: #868e96; }
.modchoosercontainer .optionscontainer .option .optionactions .optionaction i,
.modchoosercontainer .searchresultitemscontainer .option .optionactions .optionaction i {
@ -10713,9 +10712,6 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
.modchoosercontainer .optionscontainer .option .optioninfo a:hover,
.modchoosercontainer .searchresultitemscontainer .option .optioninfo a:hover {
text-decoration: none; }
.modchoosercontainer .optionscontainer .option .optioninfo a .optionname,
.modchoosercontainer .searchresultitemscontainer .option .optioninfo a .optionname {
margin-top: 0.5em; }
.modchoosercontainer .optionscontainer .option .optioninfo a .optionicon .icon,
.modchoosercontainer .searchresultitemscontainer .option .optioninfo a .optionicon .icon {
margin: 0;
@ -10728,8 +10724,7 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
background-color: #fff;
overflow-x: hidden;
overflow-y: auto;
line-height: 2em;
height: 590px; }
height: 640px; }
.modchooser .modal-body .optionsummary .content {
overflow-y: auto; }
.modchooser .modal-body .optionsummary .content .heading .icon {

View File

@ -10859,7 +10859,7 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
*/
.modchooser .modal-body {
padding: 0;
height: 590px;
height: 640px;
overflow-y: auto; }
.modchooser .modal-body .loading-icon {
opacity: 1; }
@ -10905,11 +10905,10 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
overflow-x: hidden; }
.modchoosercontainer .optionscontainer .option,
.modchoosercontainer .searchresultitemscontainer .option {
flex-basis: 16%; }
flex-basis: 16.66%; }
.modchoosercontainer .optionscontainer .option .optionactions .optionaction,
.modchoosercontainer .searchresultitemscontainer .option .optionactions .optionaction {
cursor: pointer;
margin: 0.2rem;
color: #868e96; }
.modchoosercontainer .optionscontainer .option .optionactions .optionaction i,
.modchoosercontainer .searchresultitemscontainer .option .optionactions .optionaction i {
@ -10920,9 +10919,6 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
.modchoosercontainer .optionscontainer .option .optioninfo a:hover,
.modchoosercontainer .searchresultitemscontainer .option .optioninfo a:hover {
text-decoration: none; }
.modchoosercontainer .optionscontainer .option .optioninfo a .optionname,
.modchoosercontainer .searchresultitemscontainer .option .optioninfo a .optionname {
margin-top: 0.5em; }
.modchoosercontainer .optionscontainer .option .optioninfo a .optionicon .icon,
.modchoosercontainer .searchresultitemscontainer .option .optioninfo a .optionicon .icon {
margin: 0;
@ -10935,8 +10931,7 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
background-color: #fff;
overflow-x: hidden;
overflow-y: auto;
line-height: 2em;
height: 590px; }
height: 640px; }
.modchooser .modal-body .optionsummary .content {
overflow-y: auto; }
.modchooser .modal-body .optionsummary .content .heading .icon {