MDL-87959 tool_installaddon: Fix behats for activity chooser footer
This commit is contained in:
+8
-1
@@ -1,3 +1,10 @@
|
||||
define("tool_installaddon/footer",["exports"],(function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.footerClickListener=void 0;_exports.footerClickListener=()=>null}));
|
||||
define("tool_installaddon/footer",["exports","jquery","core_course/local/activitychooser/selectors"],(function(_exports,_jquery,_selectors){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
|
||||
/**
|
||||
* Activity chooser footer handlers for tool_installaddon.
|
||||
*
|
||||
* @module tool_installaddon/footer
|
||||
* @copyright 2026 Safat Shahin <safat.shahin@moodle.com>
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.footerClickListener=void 0,_jquery=_interopRequireDefault(_jquery),_selectors=_interopRequireDefault(_selectors);_exports.footerClickListener=(e,footerData,modal)=>{const closeOption=e.target.closest(_selectors.default.actions.closeOption);if(!closeOption)return;const moduleName=closeOption.dataset.modname;if(!moduleName)return;const carousel=(0,_jquery.default)(modal.getBody()[0].querySelector(_selectors.default.regions.carousel));carousel.carousel("prev"),modal.setFooter(footerData.customfootertemplate),carousel.one("slid.bs.carousel",(()=>{const caller=modal.getBody()[0].querySelector(_selectors.default.regions.modules).querySelector(_selectors.default.regions.getModuleSelector(moduleName));caller&&caller.focus()}))}}));
|
||||
|
||||
//# sourceMappingURL=footer.min.js.map
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"footer.min.js","sources":["../src/footer.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Activity chooser footer handlers for tool_installaddon.\n *\n * @module tool_installaddon/footer\n * @copyright 2026 Safat Shahin <[email protected]>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\n// The footer is a plain link, so the chooser does not need extra click handling.\nexport const footerClickListener = () => null;\n"],"names":[],"mappings":"2LAwBmC,IAAM"}
|
||||
{"version":3,"file":"footer.min.js","sources":["../src/footer.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Activity chooser footer handlers for tool_installaddon.\n *\n * @module tool_installaddon/footer\n * @copyright 2026 Safat Shahin <[email protected]>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport $ from 'jquery';\nimport selectors from 'core_course/local/activitychooser/selectors';\n\n/**\n * Handle clicks in the chooser footer when installaddon is the active footer plugin.\n *\n * @param {Event} e The event being triggered\n * @param {Object} footerData The footer data generated for the chooser\n * @param {Object} modal The chooser modal\n */\nexport const footerClickListener = (e, footerData, modal) => {\n const closeOption = e.target.closest(selectors.actions.closeOption);\n\n if (!closeOption) {\n return;\n }\n\n const moduleName = closeOption.dataset.modname;\n\n if (!moduleName) {\n return;\n }\n\n const carousel = $(modal.getBody()[0].querySelector(selectors.regions.carousel));\n\n // Trigger the transition between 'pages'.\n carousel.carousel('prev');\n modal.setFooter(footerData.customfootertemplate);\n carousel.one('slid.bs.carousel', () => {\n const allModules = modal.getBody()[0].querySelector(selectors.regions.modules);\n const caller = allModules.querySelector(selectors.regions.getModuleSelector(moduleName));\n if (caller) {\n caller.focus();\n }\n });\n};\n"],"names":["e","footerData","modal","closeOption","target","closest","selectors","actions","moduleName","dataset","modname","carousel","getBody","querySelector","regions","setFooter","customfootertemplate","one","caller","modules","getModuleSelector","focus"],"mappings":";;;;;;;oNAiCmC,CAACA,EAAGC,WAAYC,eACzCC,YAAcH,EAAEI,OAAOC,QAAQC,mBAAUC,QAAQJ,iBAElDA,yBAICK,WAAaL,YAAYM,QAAQC,YAElCF,wBAICG,UAAW,mBAAET,MAAMU,UAAU,GAAGC,cAAcP,mBAAUQ,QAAQH,WAGtEA,SAASA,SAAS,QAClBT,MAAMa,UAAUd,WAAWe,sBAC3BL,SAASM,IAAI,oBAAoB,WAEvBC,OADahB,MAAMU,UAAU,GAAGC,cAAcP,mBAAUQ,QAAQK,SAC5CN,cAAcP,mBAAUQ,QAAQM,kBAAkBZ,aACxEU,QACAA,OAAOG"}
|
||||
@@ -21,5 +21,39 @@
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||
*/
|
||||
|
||||
// The footer is a plain link, so the chooser does not need extra click handling.
|
||||
export const footerClickListener = () => null;
|
||||
import $ from 'jquery';
|
||||
import selectors from 'core_course/local/activitychooser/selectors';
|
||||
|
||||
/**
|
||||
* Handle clicks in the chooser footer when installaddon is the active footer plugin.
|
||||
*
|
||||
* @param {Event} e The event being triggered
|
||||
* @param {Object} footerData The footer data generated for the chooser
|
||||
* @param {Object} modal The chooser modal
|
||||
*/
|
||||
export const footerClickListener = (e, footerData, modal) => {
|
||||
const closeOption = e.target.closest(selectors.actions.closeOption);
|
||||
|
||||
if (!closeOption) {
|
||||
return;
|
||||
}
|
||||
|
||||
const moduleName = closeOption.dataset.modname;
|
||||
|
||||
if (!moduleName) {
|
||||
return;
|
||||
}
|
||||
|
||||
const carousel = $(modal.getBody()[0].querySelector(selectors.regions.carousel));
|
||||
|
||||
// Trigger the transition between 'pages'.
|
||||
carousel.carousel('prev');
|
||||
modal.setFooter(footerData.customfootertemplate);
|
||||
carousel.one('slid.bs.carousel', () => {
|
||||
const allModules = modal.getBody()[0].querySelector(selectors.regions.modules);
|
||||
const caller = allModules.querySelector(selectors.regions.getModuleSelector(moduleName));
|
||||
if (caller) {
|
||||
caller.focus();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -23,3 +23,15 @@ Feature: Marketplace activity chooser footer
|
||||
And I open the activity chooser
|
||||
Then "Browse more activities on" "text" should exist in the "Add an activity or resource" "dialogue"
|
||||
And "Marketplace" "link" should exist in the "Add an activity or resource" "dialogue"
|
||||
|
||||
Scenario: Back button works from activity help when the Marketplace footer is active
|
||||
Given I log in as "teacher1"
|
||||
When I am on "Course 1" course homepage with editing mode on
|
||||
And I open the activity chooser
|
||||
And I click on "Information about the Assignment activity" "button" in the "Add an activity or resource" "dialogue"
|
||||
Then "help" "core_course > Activity chooser screen" should be visible
|
||||
When I click on "Back" "button" in the "Add an activity or resource" "dialogue"
|
||||
Then "modules" "core_course > Activity chooser screen" should be visible
|
||||
And "help" "core_course > Activity chooser screen" should not be visible
|
||||
And "Marketplace" "link" should exist in the "Add an activity or resource" "dialogue"
|
||||
And "Back" "button" should not exist in the "Add an activity or resource" "dialogue"
|
||||
|
||||
@@ -38,7 +38,7 @@ Feature: Display and choose from the available activities in course
|
||||
Scenario: The teacher can choose to add an activity from the activity summary in the activity chooser
|
||||
Given I click on "Add an activity or resource" "button" in the "New section" "section"
|
||||
When I click on "Information about the Assignment activity" "button" in the "Add an activity or resource" "dialogue"
|
||||
When I click on "Add a new Assignment" "link" in the "help" "core_course > Activity chooser screen"
|
||||
And I click on "Add a new Assignment" "link" in the ".modal-footer" "css_element"
|
||||
Then I should see "New Assignment"
|
||||
|
||||
Scenario: Show summary
|
||||
@@ -57,8 +57,8 @@ Feature: Display and choose from the available activities in course
|
||||
Given I click on "Add an activity or resource" "button" in the "New section" "section"
|
||||
When I click on "Information about the Assignment activity" "button" in the "modules" "core_course > Activity chooser screen"
|
||||
And I should see "The assignment activity module enables a teacher to communicate tasks, collect work and provide grades and feedback." in the "help" "core_course > Activity chooser screen"
|
||||
And I should see "Back" in the "help" "core_course > Activity chooser screen"
|
||||
When I click on "Back" "button" in the "help" "core_course > Activity chooser screen"
|
||||
And I should see "Back" in the ".modal-footer" "css_element"
|
||||
When I click on "Back" "button" in the ".modal-footer" "css_element"
|
||||
Then "modules" "core_course > Activity chooser screen" should be visible
|
||||
And "help" "core_course > Activity chooser screen" should not be visible
|
||||
And "Back" "button" should not exist in the "modules" "core_course > Activity chooser screen"
|
||||
@@ -67,7 +67,7 @@ Feature: Display and choose from the available activities in course
|
||||
And I am on "C2" course homepage with editing mode on
|
||||
And I click on "Add an activity or resource" "button" in the "13 January - 19 January" "section"
|
||||
And I click on "Information about the Assignment activity" "button" in the "Add an activity or resource" "dialogue"
|
||||
And I click on "Back" "button" in the "help" "core_course > Activity chooser screen"
|
||||
And I click on "Back" "button" in the ".modal-footer" "css_element"
|
||||
And "modules" "core_course > Activity chooser screen" should be visible
|
||||
And "help" "core_course > Activity chooser screen" should not be visible
|
||||
And "Back" "button" should not exist in the "modules" "core_course > Activity chooser screen"
|
||||
|
||||
Reference in New Issue
Block a user