// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Define all of the selectors we will be using on the grading interface.
*
* @module mod_forum/local/grades/local/grader/selectors
* @copyright 2019 Mathew May <mathew.solutions>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
/**
* A small helper function to build queryable data selectors.
* @param {String} name
* @param {String} value
* @return {string}
*/
const getDataSelector = (name, value) => {
return `[data-${name}="${value}"]`;
};
export default {
buttons: {
toggleFullscreen: getDataSelector('action', 'togglefullscreen'),
closeGrader: getDataSelector('action', 'closegrader'),
collapseGradingDrawer: getDataSelector('action', 'collapse-grading-drawer'),
saveGrade: getDataSelector('action', 'savegrade'),
selectUser: getDataSelector('action', 'select-user'),
toggleSearch: getDataSelector('action', 'toggle-search')
},
regions: {
bodyContainer: getDataSelector('region', 'body-container'),
moduleContainer: getDataSelector('region', 'module_content_container'),
moduleReplace: getDataSelector('region', 'module_content'),
pickerRegion: getDataSelector('region', 'user_picker'),
gradingInfoContainer: getDataSelector('region', 'grading-info-container'),
gradingPanel: getDataSelector('region', 'grade'),
gradingPanelContainer: getDataSelector('region', 'grading-panel-container'),
gradingPanelErrors: getDataSelector('region', 'grade-errors'),
searchResultsContainer: getDataSelector('region', 'search-results-container'),
statusContainer: getDataSelector('region', 'status-container'),
userSearchContainer: getDataSelector('region', 'user-search-container'),
userSearchInput: getDataSelector('region', 'user-search-input')
},
values: {
sendStudentNotifications: '[data-region="notification"] input[type="radio"]:checked',
}
};