contentbank/amd/src/selectors.js

  1. // This file is part of Moodle - http://moodle.org/
  2. //
  3. // Moodle is free software: you can redistribute it and/or modify
  4. // it under the terms of the GNU General Public License as published by
  5. // the Free Software Foundation, either version 3 of the License, or
  6. // (at your option) any later version.
  7. //
  8. // Moodle is distributed in the hope that it will be useful,
  9. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. // GNU General Public License for more details.
  12. //
  13. // You should have received a copy of the GNU General Public License
  14. // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
  15. /**
  16. * Define all of the selectors we will be using on the contentbank interface.
  17. *
  18. * @module core_contentbank/selectors
  19. * @copyright 2020 Sara Arjona <sara@moodle.com>
  20. * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  21. */
  22. /**
  23. * A small helper function to build queryable data selectors.
  24. *
  25. * @method getDataSelector
  26. * @param {String} name
  27. * @param {String} value
  28. * @return {string}
  29. */
  30. const getDataSelector = (name, value) => {
  31. return `[data-${name}="${value}"]`;
  32. };
  33. export default {
  34. regions: {
  35. cbcontentname: getDataSelector('region', 'cb-content-name'),
  36. contentbank: getDataSelector('region', 'contentbank'),
  37. filearea: getDataSelector('region', 'filearea')
  38. },
  39. actions: {
  40. search: getDataSelector('action', 'searchcontent'),
  41. clearSearch: getDataSelector('action', 'clearsearch'),
  42. viewgrid: getDataSelector('action', 'viewgrid'),
  43. viewlist: getDataSelector('action', 'viewlist'),
  44. sortname: getDataSelector('action', 'sortname'),
  45. sortuses: getDataSelector('action', 'sortuses'),
  46. sortdate: getDataSelector('action', 'sortdate'),
  47. sortsize: getDataSelector('action', 'sortsize'),
  48. sorttype: getDataSelector('action', 'sorttype'),
  49. sortauthor: getDataSelector('action', 'sortauthor'),
  50. },
  51. elements: {
  52. listitem: '.cb-listitem',
  53. heading: '.cb-heading',
  54. cell: '.cb-column',
  55. cbnavbarbreadcrumb: '.cb-navbar-breadbrumb',
  56. cbnavbartotalsearch: '.cb-navbar-totalsearch',
  57. searchinput: '[role="searchbox"]',
  58. sortbutton: '.cb-btnsort'
  59. },
  60. };