lib/editor/tiny/plugins/media/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 Media plugin helper function to build queryable data selectors.
  17. *
  18. * @module tiny_media/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. IMAGE: {
  24. actions: {
  25. submit: '.tiny_image_urlentrysubmit',
  26. imageBrowser: '.openimagebrowser',
  27. addUrl: '.tiny_image_addurl',
  28. deleteImage: '.tiny_image_deleteicon',
  29. },
  30. elements: {
  31. form: 'form.tiny_image_form',
  32. alignSettings: '.tiny_image_button',
  33. alt: '.tiny_image_altentry',
  34. altWarning: '.tiny_image_altwarning',
  35. height: '.tiny_image_heightentry',
  36. width: '.tiny_image_widthentry',
  37. url: '.tiny_image_urlentry',
  38. urlWarning: '.tiny_image_urlwarning',
  39. size: '.tiny_image_size',
  40. presentation: '.tiny_image_presentation',
  41. constrain: '.tiny_image_constrain',
  42. customStyle: '.tiny_image_customstyle',
  43. preview: '.tiny_image_preview',
  44. previewBox: '.tiny_image_preview_box',
  45. loaderIcon: '.tiny_image_loader',
  46. loaderIconContainer: '.tiny_image_loader_container',
  47. insertImage: '.tiny_image_insert_image',
  48. modalFooter: '.modal-footer',
  49. dropzoneContainer: '.tiny_image_dropzone_container',
  50. fileInput: '#tiny_image_fileinput',
  51. fileNameLabel: '.tiny_image_filename',
  52. sizeOriginal: '.tiny_image_sizeoriginal',
  53. sizeCustom: '.tiny_image_sizecustom',
  54. properties: '.tiny_image_properties',
  55. },
  56. styles: {
  57. responsive: 'img-fluid',
  58. },
  59. },
  60. EMBED: {
  61. actions: {
  62. submit: '.tiny_media_submit',
  63. mediaBrowser: '.openmediabrowser',
  64. },
  65. elements: {
  66. form: 'form.tiny_media_form',
  67. source: '.tiny_media_source',
  68. track: '.tiny_media_track',
  69. mediaSource: '.tiny_media_media_source',
  70. linkSource: '.tiny_media_link_source',
  71. linkSize: '.tiny_media_link_size',
  72. posterSource: '.tiny_media_poster_source',
  73. posterSize: '.tiny_media_poster_size',
  74. displayOptions: '.tiny_media_display_options',
  75. name: '.tiny_media_name_entry',
  76. title: '.tiny_media_title_entry',
  77. url: '.tiny_media_url_entry',
  78. width: '.tiny_media_width_entry',
  79. height: '.tiny_media_height_entry',
  80. trackSource: '.tiny_media_track_source',
  81. trackKind: '.tiny_media_track_kind_entry',
  82. trackLabel: '.tiny_media_track_label_entry',
  83. trackLang: '.tiny_media_track_lang_entry',
  84. trackDefault: '.tiny_media_track_default',
  85. mediaControl: '.tiny_media_controls',
  86. mediaAutoplay: '.tiny_media_autoplay',
  87. mediaMute: '.tiny_media_mute',
  88. mediaLoop: '.tiny_media_loop',
  89. advancedSettings: '.tiny_media_advancedsettings',
  90. linkTab: 'li[data-medium-type="link"]',
  91. videoTab: 'li[data-medium-type="video"]',
  92. audioTab: 'li[data-medium-type="audio"]',
  93. linkPane: '.tab-pane[data-medium-type="link"]',
  94. videoPane: '.tab-pane[data-medium-type="video"]',
  95. audioPane: '.tab-pane[data-medium-type="audio"]',
  96. trackSubtitlesTab: 'li[data-track-kind="subtitles"]',
  97. trackCaptionsTab: 'li[data-track-kind="captions"]',
  98. trackDescriptionsTab: 'li[data-track-kind="descriptions"]',
  99. trackChaptersTab: 'li[data-track-kind="chapters"]',
  100. trackMetadataTab: 'li[data-track-kind="metadata"]',
  101. trackSubtitlesPane: '.tab-pane[data-track-kind="subtitles"]',
  102. trackCaptionsPane: '.tab-pane[data-track-kind="captions"]',
  103. trackDescriptionsPane: '.tab-pane[data-track-kind="descriptions"]',
  104. trackChaptersPane: '.tab-pane[data-track-kind="chapters"]',
  105. trackMetadataPane: '.tab-pane[data-track-kind="metadata"]',
  106. },
  107. mediaTypes: {
  108. link: 'LINK',
  109. video: 'VIDEO',
  110. audio: 'AUDIO',
  111. },
  112. trackKinds: {
  113. subtitles: 'SUBTITLES',
  114. captions: 'CAPTIONS',
  115. descriptions: 'DESCRIPTIONS',
  116. chapters: 'CHAPTERS',
  117. metadata: 'METADATA',
  118. },
  119. },
  120. };