lib/editor/tiny/plugins/equation/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. * Tiny Equation plugin helper function to build queryable data selectors.
  17. *
  18. * @module tiny_equation/selectors
  19. * @copyright 2022 Huong Nguyen <huongnv13@gmail.com>
  20. * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  21. */
  22. export default {
  23. equationPatterns: [
  24. // We use space or not space because . does not match new lines.
  25. // $$ blah $$.
  26. /\$\$([\S\s]+?)\$\$/,
  27. // E.g. "\( blah \)".
  28. /\\\(([\S\s]+?)\\\)/,
  29. // E.g. "\[ blah \]".
  30. /\\\[([\S\s]+?)\\\]/,
  31. // E.g. "[tex] blah [/tex]".
  32. /\[tex\]([\S\s]+?)\[\/tex\]/
  33. ],
  34. delimiters: {
  35. start: '\\(',
  36. end: '\\)'
  37. },
  38. cursorLatex: '\\Downarrow ',
  39. actions: {
  40. submit: '[data-action="save"]'
  41. },
  42. elements: {
  43. form: 'form',
  44. library: '.tiny_equation_library',
  45. libraryItem: '.tiny_equation_library button',
  46. equationTextArea: '.tiny_equation_equation',
  47. preview: '.tiny_equation_preview',
  48. }
  49. };