@windward/core 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/components/Content/Blocks/Accordion.vue +14 -21
  3. package/components/Content/Blocks/ClickableIcons.vue +13 -2
  4. package/components/Content/Blocks/Video.vue +79 -25
  5. package/components/Settings/AccordionSettings.vue +10 -49
  6. package/components/Settings/ClickableIconsSettings.vue +13 -21
  7. package/components/Settings/VideoSettings/SourcePicker.vue +1 -1
  8. package/components/Settings/VideoSettings.vue +7 -2
  9. package/components/utils/TinyMCEWrapper.vue +17 -2
  10. package/components/utils/glossary/GlossaryToolTip.vue +6 -6
  11. package/i18n/en-US/components/content/blocks/video.ts +1 -1
  12. package/i18n/en-US/components/settings/video.ts +8 -4
  13. package/i18n/en-US/shared/settings.ts +1 -1
  14. package/i18n/es-ES/components/content/blocks/video.ts +1 -1
  15. package/i18n/es-ES/components/settings/video.ts +8 -4
  16. package/i18n/es-ES/shared/settings.ts +1 -1
  17. package/i18n/sv-SE/components/content/blocks/video.ts +1 -1
  18. package/i18n/sv-SE/components/settings/video.ts +8 -4
  19. package/i18n/sv-SE/shared/settings.ts +1 -1
  20. package/package.json +2 -2
  21. package/pages/glossary.vue +1 -1
  22. package/test/Components/Settings/AccordionSettings.spec.js +2 -6
  23. package/test/Components/Settings/ClickableIconsSettings.spec.js +45 -0
  24. package/test/__mocks__/modelMock.js +4 -0
  25. package/.idea/codeStyles/Project.xml +0 -58
  26. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  27. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  28. package/.idea/modules.xml +0 -8
  29. package/.idea/php-docker-settings.xml +0 -24
  30. package/.idea/php.xml +0 -19
  31. package/.idea/vcs.xml +0 -6
  32. package/.idea/watcherTasks.xml +0 -4
  33. package/.idea/windward-ui-plugin-core.iml +0 -8
  34. package/config/menu.config.json +0 -475
  35. package/coverage/clover.xml +0 -1474
  36. package/coverage/coverage-final.json +0 -199
  37. package/coverage/lcov-report/base.css +0 -224
  38. package/coverage/lcov-report/block-navigation.js +0 -87
  39. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +0 -772
  40. package/coverage/lcov-report/components/Content/Blocks/BlockQuote.vue.html +0 -625
  41. package/coverage/lcov-report/components/Content/Blocks/ClickableIcons.vue.html +0 -979
  42. package/coverage/lcov-report/components/Content/Blocks/Email.vue.html +0 -1171
  43. package/coverage/lcov-report/components/Content/Blocks/Feedback.vue.html +0 -1075
  44. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileLinks.vue.html +0 -331
  45. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileTable.vue.html +0 -403
  46. package/coverage/lcov-report/components/Content/Blocks/FileDownload/index.html +0 -131
  47. package/coverage/lcov-report/components/Content/Blocks/FileDownload.vue.html +0 -514
  48. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +0 -211
  49. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +0 -352
  50. package/coverage/lcov-report/components/Content/Blocks/OpenResponse.vue.html +0 -667
  51. package/coverage/lcov-report/components/Content/Blocks/OpenResponseCollate.vue.html +0 -643
  52. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +0 -295
  53. package/coverage/lcov-report/components/Content/Blocks/ScenarioChoice.vue.html +0 -976
  54. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +0 -445
  55. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +0 -667
  56. package/coverage/lcov-report/components/Content/Blocks/UserUpload/DisplayUserFilesTable.vue.html +0 -562
  57. package/coverage/lcov-report/components/Content/Blocks/UserUpload/index.html +0 -116
  58. package/coverage/lcov-report/components/Content/Blocks/UserUpload.vue.html +0 -844
  59. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +0 -1225
  60. package/coverage/lcov-report/components/Content/Blocks/index.html +0 -311
  61. package/coverage/lcov-report/components/Settings/AccordionSettings.vue.html +0 -961
  62. package/coverage/lcov-report/components/Settings/BlockQuoteSettings.vue.html +0 -673
  63. package/coverage/lcov-report/components/Settings/ClickableIconsSettings.vue.html +0 -1144
  64. package/coverage/lcov-report/components/Settings/EmailSettings.vue.html +0 -901
  65. package/coverage/lcov-report/components/Settings/FeedbackSettings.vue.html +0 -373
  66. package/coverage/lcov-report/components/Settings/FileDownloadSettings.vue.html +0 -607
  67. package/coverage/lcov-report/components/Settings/ImageSettings.vue.html +0 -310
  68. package/coverage/lcov-report/components/Settings/MathSettings.vue.html +0 -337
  69. package/coverage/lcov-report/components/Settings/OpenResponseCollateSettings.vue.html +0 -586
  70. package/coverage/lcov-report/components/Settings/OpenResponseSettings.vue.html +0 -415
  71. package/coverage/lcov-report/components/Settings/ScenarioChoiceSettings.vue.html +0 -1183
  72. package/coverage/lcov-report/components/Settings/TabSettings.vue.html +0 -751
  73. package/coverage/lcov-report/components/Settings/UserUploadSettings.vue.html +0 -535
  74. package/coverage/lcov-report/components/Settings/index.html +0 -296
  75. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +0 -199
  76. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +0 -1120
  77. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +0 -415
  78. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +0 -271
  79. package/coverage/lcov-report/components/utils/index.html +0 -131
  80. package/coverage/lcov-report/config/index.html +0 -116
  81. package/coverage/lcov-report/config/tinymce.config.js.html +0 -493
  82. package/coverage/lcov-report/config/tinymce.config.ts.html +0 -1051
  83. package/coverage/lcov-report/favicon.png +0 -0
  84. package/coverage/lcov-report/helpers/GlossaryHelper.ts.html +0 -577
  85. package/coverage/lcov-report/helpers/GlossaryTerm.ts.html +0 -178
  86. package/coverage/lcov-report/helpers/MathHelper.ts.html +0 -1033
  87. package/coverage/lcov-report/helpers/index.html +0 -146
  88. package/coverage/lcov-report/helpers/tinymce/index.html +0 -116
  89. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +0 -334
  90. package/coverage/lcov-report/i18n/en-US/components/content/blocks/block_quote.ts.html +0 -94
  91. package/coverage/lcov-report/i18n/en-US/components/content/blocks/email.ts.html +0 -127
  92. package/coverage/lcov-report/i18n/en-US/components/content/blocks/feedback.ts.html +0 -178
  93. package/coverage/lcov-report/i18n/en-US/components/content/blocks/file_download.ts.html +0 -100
  94. package/coverage/lcov-report/i18n/en-US/components/content/blocks/generate_questions.ts.html +0 -100
  95. package/coverage/lcov-report/i18n/en-US/components/content/blocks/image.ts.html +0 -100
  96. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.html +0 -296
  97. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.ts.html +0 -166
  98. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response.ts.html +0 -100
  99. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response_collate.ts.html +0 -106
  100. package/coverage/lcov-report/i18n/en-US/components/content/blocks/scenario_choice.ts.html +0 -100
  101. package/coverage/lcov-report/i18n/en-US/components/content/blocks/table.ts.html +0 -97
  102. package/coverage/lcov-report/i18n/en-US/components/content/blocks/user_upload.ts.html +0 -115
  103. package/coverage/lcov-report/i18n/en-US/components/content/blocks/video.ts.html +0 -97
  104. package/coverage/lcov-report/i18n/en-US/components/content/index.html +0 -116
  105. package/coverage/lcov-report/i18n/en-US/components/content/index.ts.html +0 -100
  106. package/coverage/lcov-report/i18n/en-US/components/index.html +0 -116
  107. package/coverage/lcov-report/i18n/en-US/components/index.ts.html +0 -118
  108. package/coverage/lcov-report/i18n/en-US/components/navigation/ask_the_expert.ts.html +0 -118
  109. package/coverage/lcov-report/i18n/en-US/components/navigation/image.ts.html +0 -97
  110. package/coverage/lcov-report/i18n/en-US/components/navigation/index.html +0 -161
  111. package/coverage/lcov-report/i18n/en-US/components/navigation/index.ts.html +0 -112
  112. package/coverage/lcov-report/i18n/en-US/components/navigation/user_upload.ts.html +0 -94
  113. package/coverage/lcov-report/i18n/en-US/components/settings/accordion.ts.html +0 -106
  114. package/coverage/lcov-report/i18n/en-US/components/settings/block_quote.ts.html +0 -130
  115. package/coverage/lcov-report/i18n/en-US/components/settings/clickable_icon.ts.html +0 -142
  116. package/coverage/lcov-report/i18n/en-US/components/settings/email.ts.html +0 -115
  117. package/coverage/lcov-report/i18n/en-US/components/settings/file_download.ts.html +0 -109
  118. package/coverage/lcov-report/i18n/en-US/components/settings/horizontal_rule.ts.html +0 -94
  119. package/coverage/lcov-report/i18n/en-US/components/settings/image.ts.html +0 -142
  120. package/coverage/lcov-report/i18n/en-US/components/settings/index.html +0 -326
  121. package/coverage/lcov-report/i18n/en-US/components/settings/index.ts.html +0 -178
  122. package/coverage/lcov-report/i18n/en-US/components/settings/open_response.ts.html +0 -100
  123. package/coverage/lcov-report/i18n/en-US/components/settings/open_response_collate.ts.html +0 -103
  124. package/coverage/lcov-report/i18n/en-US/components/settings/scenario_choice.ts.html +0 -145
  125. package/coverage/lcov-report/i18n/en-US/components/settings/tab.ts.html +0 -109
  126. package/coverage/lcov-report/i18n/en-US/components/settings/text_editor.ts.html +0 -115
  127. package/coverage/lcov-report/i18n/en-US/components/settings/user_upload.ts.html +0 -121
  128. package/coverage/lcov-report/i18n/en-US/components/settings/video.ts.html +0 -277
  129. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  130. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  131. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.html +0 -146
  132. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.ts.html +0 -103
  133. package/coverage/lcov-report/i18n/en-US/components/utils/index.html +0 -146
  134. package/coverage/lcov-report/i18n/en-US/components/utils/index.ts.html +0 -109
  135. package/coverage/lcov-report/i18n/en-US/components/utils/math_expression_editor.ts.html +0 -130
  136. package/coverage/lcov-report/i18n/en-US/components/utils/tiny_mce_wrapper.ts.html +0 -175
  137. package/coverage/lcov-report/i18n/en-US/index.html +0 -116
  138. package/coverage/lcov-report/i18n/en-US/index.ts.html +0 -133
  139. package/coverage/lcov-report/i18n/en-US/modules/index.html +0 -116
  140. package/coverage/lcov-report/i18n/en-US/modules/index.ts.html +0 -100
  141. package/coverage/lcov-report/i18n/en-US/pages/glossary.ts.html +0 -106
  142. package/coverage/lcov-report/i18n/en-US/pages/index.html +0 -146
  143. package/coverage/lcov-report/i18n/en-US/pages/index.ts.html +0 -112
  144. package/coverage/lcov-report/i18n/en-US/pages/plugins/error.ts.html +0 -112
  145. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.html +0 -131
  146. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.ts.html +0 -100
  147. package/coverage/lcov-report/i18n/en-US/pages/user_upload.ts.html +0 -94
  148. package/coverage/lcov-report/i18n/en-US/shared/content_blocks.ts.html +0 -163
  149. package/coverage/lcov-report/i18n/en-US/shared/index.html +0 -176
  150. package/coverage/lcov-report/i18n/en-US/shared/index.ts.html +0 -118
  151. package/coverage/lcov-report/i18n/en-US/shared/menu.ts.html +0 -97
  152. package/coverage/lcov-report/i18n/en-US/shared/permission.ts.html +0 -130
  153. package/coverage/lcov-report/i18n/en-US/shared/settings.ts.html +0 -172
  154. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/block_quote.ts.html +0 -94
  155. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/email.ts.html +0 -127
  156. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/feedback.ts.html +0 -178
  157. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/file_download.ts.html +0 -100
  158. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/generate_questions.ts.html +0 -100
  159. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/image.ts.html +0 -100
  160. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.html +0 -296
  161. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.ts.html +0 -166
  162. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response.ts.html +0 -103
  163. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response_collate.ts.html +0 -106
  164. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/scenario_choice.ts.html +0 -103
  165. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/table.ts.html +0 -97
  166. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/user_upload.ts.html +0 -118
  167. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/video.ts.html +0 -100
  168. package/coverage/lcov-report/i18n/es-ES/components/content/index.html +0 -116
  169. package/coverage/lcov-report/i18n/es-ES/components/content/index.ts.html +0 -100
  170. package/coverage/lcov-report/i18n/es-ES/components/index.html +0 -116
  171. package/coverage/lcov-report/i18n/es-ES/components/index.ts.html +0 -121
  172. package/coverage/lcov-report/i18n/es-ES/components/navigation/ask_the_expert.ts.html +0 -118
  173. package/coverage/lcov-report/i18n/es-ES/components/navigation/image.ts.html +0 -97
  174. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.html +0 -161
  175. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.ts.html +0 -112
  176. package/coverage/lcov-report/i18n/es-ES/components/navigation/user_upload.ts.html +0 -94
  177. package/coverage/lcov-report/i18n/es-ES/components/settings/accordion.ts.html +0 -106
  178. package/coverage/lcov-report/i18n/es-ES/components/settings/block_quote.ts.html +0 -130
  179. package/coverage/lcov-report/i18n/es-ES/components/settings/clickable_icon.ts.html +0 -145
  180. package/coverage/lcov-report/i18n/es-ES/components/settings/email.ts.html +0 -115
  181. package/coverage/lcov-report/i18n/es-ES/components/settings/file_download.ts.html +0 -109
  182. package/coverage/lcov-report/i18n/es-ES/components/settings/horizontal_rule.ts.html +0 -94
  183. package/coverage/lcov-report/i18n/es-ES/components/settings/image.ts.html +0 -148
  184. package/coverage/lcov-report/i18n/es-ES/components/settings/index.html +0 -326
  185. package/coverage/lcov-report/i18n/es-ES/components/settings/index.ts.html +0 -178
  186. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response.ts.html +0 -100
  187. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response_collate.ts.html +0 -106
  188. package/coverage/lcov-report/i18n/es-ES/components/settings/scenario_choice.ts.html +0 -145
  189. package/coverage/lcov-report/i18n/es-ES/components/settings/tab.ts.html +0 -112
  190. package/coverage/lcov-report/i18n/es-ES/components/settings/text_editor.ts.html +0 -115
  191. package/coverage/lcov-report/i18n/es-ES/components/settings/user_upload.ts.html +0 -121
  192. package/coverage/lcov-report/i18n/es-ES/components/settings/video.ts.html +0 -283
  193. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  194. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  195. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.html +0 -146
  196. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.ts.html +0 -103
  197. package/coverage/lcov-report/i18n/es-ES/components/utils/index.html +0 -146
  198. package/coverage/lcov-report/i18n/es-ES/components/utils/index.ts.html +0 -109
  199. package/coverage/lcov-report/i18n/es-ES/components/utils/math_expression_editor.ts.html +0 -130
  200. package/coverage/lcov-report/i18n/es-ES/components/utils/tiny_mce_wrapper.ts.html +0 -178
  201. package/coverage/lcov-report/i18n/es-ES/index.html +0 -116
  202. package/coverage/lcov-report/i18n/es-ES/index.ts.html +0 -133
  203. package/coverage/lcov-report/i18n/es-ES/modules/index.html +0 -116
  204. package/coverage/lcov-report/i18n/es-ES/modules/index.ts.html +0 -100
  205. package/coverage/lcov-report/i18n/es-ES/pages/glossary.ts.html +0 -106
  206. package/coverage/lcov-report/i18n/es-ES/pages/index.html +0 -146
  207. package/coverage/lcov-report/i18n/es-ES/pages/index.ts.html +0 -112
  208. package/coverage/lcov-report/i18n/es-ES/pages/plugins/error.ts.html +0 -112
  209. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.html +0 -131
  210. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.ts.html +0 -100
  211. package/coverage/lcov-report/i18n/es-ES/pages/user_upload.ts.html +0 -94
  212. package/coverage/lcov-report/i18n/es-ES/shared/content_blocks.ts.html +0 -163
  213. package/coverage/lcov-report/i18n/es-ES/shared/index.html +0 -176
  214. package/coverage/lcov-report/i18n/es-ES/shared/index.ts.html +0 -118
  215. package/coverage/lcov-report/i18n/es-ES/shared/menu.ts.html +0 -97
  216. package/coverage/lcov-report/i18n/es-ES/shared/permission.ts.html +0 -130
  217. package/coverage/lcov-report/i18n/es-ES/shared/settings.ts.html +0 -178
  218. package/coverage/lcov-report/i18n/index.html +0 -116
  219. package/coverage/lcov-report/i18n/index.ts.html +0 -118
  220. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/block_quote.ts.html +0 -94
  221. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/email.ts.html +0 -127
  222. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/feedback.ts.html +0 -178
  223. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/file_download.ts.html +0 -100
  224. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/generate_questions.ts.html +0 -100
  225. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/image.ts.html +0 -100
  226. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.html +0 -296
  227. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.ts.html +0 -166
  228. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response.ts.html +0 -103
  229. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response_collate.ts.html +0 -106
  230. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/scenario_choice.ts.html +0 -100
  231. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/table.ts.html +0 -97
  232. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/user_upload.ts.html +0 -118
  233. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/video.ts.html +0 -97
  234. package/coverage/lcov-report/i18n/sv-SE/components/content/index.html +0 -116
  235. package/coverage/lcov-report/i18n/sv-SE/components/content/index.ts.html +0 -100
  236. package/coverage/lcov-report/i18n/sv-SE/components/index.html +0 -116
  237. package/coverage/lcov-report/i18n/sv-SE/components/index.ts.html +0 -121
  238. package/coverage/lcov-report/i18n/sv-SE/components/navigation/ask_the_expert.ts.html +0 -118
  239. package/coverage/lcov-report/i18n/sv-SE/components/navigation/image.ts.html +0 -97
  240. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.html +0 -161
  241. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.ts.html +0 -112
  242. package/coverage/lcov-report/i18n/sv-SE/components/navigation/user_upload.ts.html +0 -94
  243. package/coverage/lcov-report/i18n/sv-SE/components/settings/accordion.ts.html +0 -109
  244. package/coverage/lcov-report/i18n/sv-SE/components/settings/block_quote.ts.html +0 -130
  245. package/coverage/lcov-report/i18n/sv-SE/components/settings/clickable_icon.ts.html +0 -145
  246. package/coverage/lcov-report/i18n/sv-SE/components/settings/email.ts.html +0 -115
  247. package/coverage/lcov-report/i18n/sv-SE/components/settings/file_download.ts.html +0 -109
  248. package/coverage/lcov-report/i18n/sv-SE/components/settings/horizontal_rule.ts.html +0 -94
  249. package/coverage/lcov-report/i18n/sv-SE/components/settings/image.ts.html +0 -142
  250. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.html +0 -326
  251. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.ts.html +0 -178
  252. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response.ts.html +0 -100
  253. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response_collate.ts.html +0 -103
  254. package/coverage/lcov-report/i18n/sv-SE/components/settings/scenario_choice.ts.html +0 -145
  255. package/coverage/lcov-report/i18n/sv-SE/components/settings/tab.ts.html +0 -109
  256. package/coverage/lcov-report/i18n/sv-SE/components/settings/text_editor.ts.html +0 -115
  257. package/coverage/lcov-report/i18n/sv-SE/components/settings/user_upload.ts.html +0 -121
  258. package/coverage/lcov-report/i18n/sv-SE/components/settings/video.ts.html +0 -277
  259. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  260. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  261. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.html +0 -146
  262. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.ts.html +0 -103
  263. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.html +0 -146
  264. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.ts.html +0 -109
  265. package/coverage/lcov-report/i18n/sv-SE/components/utils/math_expression_editor.ts.html +0 -130
  266. package/coverage/lcov-report/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts.html +0 -178
  267. package/coverage/lcov-report/i18n/sv-SE/index.html +0 -116
  268. package/coverage/lcov-report/i18n/sv-SE/index.ts.html +0 -133
  269. package/coverage/lcov-report/i18n/sv-SE/modules/index.html +0 -116
  270. package/coverage/lcov-report/i18n/sv-SE/modules/index.ts.html +0 -100
  271. package/coverage/lcov-report/i18n/sv-SE/pages/glossary.ts.html +0 -106
  272. package/coverage/lcov-report/i18n/sv-SE/pages/index.html +0 -146
  273. package/coverage/lcov-report/i18n/sv-SE/pages/index.ts.html +0 -112
  274. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/error.ts.html +0 -109
  275. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.html +0 -131
  276. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.ts.html +0 -100
  277. package/coverage/lcov-report/i18n/sv-SE/pages/user_upload.ts.html +0 -94
  278. package/coverage/lcov-report/i18n/sv-SE/shared/content_blocks.ts.html +0 -163
  279. package/coverage/lcov-report/i18n/sv-SE/shared/index.html +0 -176
  280. package/coverage/lcov-report/i18n/sv-SE/shared/index.ts.html +0 -118
  281. package/coverage/lcov-report/i18n/sv-SE/shared/menu.ts.html +0 -97
  282. package/coverage/lcov-report/i18n/sv-SE/shared/permission.ts.html +0 -130
  283. package/coverage/lcov-report/i18n/sv-SE/shared/settings.ts.html +0 -172
  284. package/coverage/lcov-report/index.html +0 -806
  285. package/coverage/lcov-report/models/SurveyResult.ts.html +0 -109
  286. package/coverage/lcov-report/models/SurveyTemplate.ts.html +0 -109
  287. package/coverage/lcov-report/models/index.html +0 -131
  288. package/coverage/lcov-report/pages/plugins/tinymce/_plugin.vue.html +0 -322
  289. package/coverage/lcov-report/pages/plugins/tinymce/index.html +0 -116
  290. package/coverage/lcov-report/prettify.css +0 -1
  291. package/coverage/lcov-report/prettify.js +0 -2
  292. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  293. package/coverage/lcov-report/sorter.js +0 -196
  294. package/coverage/lcov-report/test/index.html +0 -131
  295. package/coverage/lcov-report/test/locales.js.html +0 -370
  296. package/coverage/lcov-report/test/mocks.js.html +0 -532
  297. package/coverage/lcov.info +0 -2753
  298. package/lib/helpers/GlossaryHelper.d.ts +0 -9
  299. package/lib/helpers/GlossaryHelper.js +0 -118
  300. package/lib/helpers/GlossaryTerm.d.ts +0 -10
  301. package/lib/helpers/GlossaryTerm.js +0 -22
  302. package/lib/helpers/MathHelper.d.ts +0 -99
  303. package/lib/helpers/MathHelper.js +0 -194
  304. package/lib/helpers/tinymce/plugin.d.ts +0 -2
  305. package/lib/helpers/tinymce/plugin.js +0 -86
  306. package/lib/i18n/en-US/components/content/blocks/image.d.ts +0 -6
  307. package/lib/i18n/en-US/components/content/blocks/image.js +0 -7
  308. package/lib/i18n/en-US/components/content/blocks/index.d.ts +0 -75
  309. package/lib/i18n/en-US/components/content/blocks/index.js +0 -14
  310. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +0 -5
  311. package/lib/i18n/en-US/components/content/blocks/tab.js +0 -6
  312. package/lib/i18n/en-US/components/content/blocks/table.d.ts +0 -5
  313. package/lib/i18n/en-US/components/content/blocks/table.js +0 -6
  314. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +0 -13
  315. package/lib/i18n/en-US/components/content/blocks/user_upload.js +0 -14
  316. package/lib/i18n/en-US/components/content/blocks/video.d.ts +0 -48
  317. package/lib/i18n/en-US/components/content/blocks/video.js +0 -49
  318. package/lib/i18n/en-US/components/content/index.d.ts +0 -77
  319. package/lib/i18n/en-US/components/content/index.js +0 -6
  320. package/lib/i18n/en-US/components/index.d.ts +0 -140
  321. package/lib/i18n/en-US/components/index.js +0 -12
  322. package/lib/i18n/en-US/components/navigation/image.d.ts +0 -5
  323. package/lib/i18n/en-US/components/navigation/image.js +0 -6
  324. package/lib/i18n/en-US/components/navigation/index.d.ts +0 -10
  325. package/lib/i18n/en-US/components/navigation/index.js +0 -8
  326. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +0 -4
  327. package/lib/i18n/en-US/components/navigation/user_upload.js +0 -5
  328. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +0 -6
  329. package/lib/i18n/en-US/components/settings/clickable_icon.js +0 -7
  330. package/lib/i18n/en-US/components/settings/image.d.ts +0 -2
  331. package/lib/i18n/en-US/components/settings/image.js +0 -3
  332. package/lib/i18n/en-US/components/settings/index.d.ts +0 -39
  333. package/lib/i18n/en-US/components/settings/index.js +0 -14
  334. package/lib/i18n/en-US/components/settings/text_editor.d.ts +0 -8
  335. package/lib/i18n/en-US/components/settings/text_editor.js +0 -9
  336. package/lib/i18n/en-US/components/settings/user_upload.d.ts +0 -12
  337. package/lib/i18n/en-US/components/settings/user_upload.js +0 -13
  338. package/lib/i18n/en-US/components/settings/video.d.ts +0 -13
  339. package/lib/i18n/en-US/components/settings/video.js +0 -14
  340. package/lib/i18n/en-US/components/utils/index.d.ts +0 -15
  341. package/lib/i18n/en-US/components/utils/index.js +0 -6
  342. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +0 -13
  343. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +0 -14
  344. package/lib/i18n/en-US/index.d.ts +0 -197
  345. package/lib/i18n/en-US/index.js +0 -16
  346. package/lib/i18n/en-US/modules/index.d.ts +0 -2
  347. package/lib/i18n/en-US/modules/index.js +0 -6
  348. package/lib/i18n/en-US/pages/glossary.d.ts +0 -8
  349. package/lib/i18n/en-US/pages/glossary.js +0 -9
  350. package/lib/i18n/en-US/pages/index.d.ts +0 -13
  351. package/lib/i18n/en-US/pages/index.js +0 -8
  352. package/lib/i18n/en-US/pages/user_upload.d.ts +0 -4
  353. package/lib/i18n/en-US/pages/user_upload.js +0 -5
  354. package/lib/i18n/en-US/shared/content_blocks.d.ts +0 -20
  355. package/lib/i18n/en-US/shared/content_blocks.js +0 -21
  356. package/lib/i18n/en-US/shared/index.d.ts +0 -39
  357. package/lib/i18n/en-US/shared/index.js +0 -10
  358. package/lib/i18n/en-US/shared/menu.d.ts +0 -4
  359. package/lib/i18n/en-US/shared/menu.js +0 -5
  360. package/lib/i18n/en-US/shared/settings.d.ts +0 -15
  361. package/lib/i18n/en-US/shared/settings.js +0 -16
  362. package/lib/i18n/en-US.d.ts +0 -197
  363. package/lib/i18n/en-US.js +0 -15
  364. package/lib/models/UserFileAsset.d.ts +0 -5
  365. package/lib/models/UserFileAsset.js +0 -37
package/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Changelog
2
2
 
3
+ ### Release [0.10.0] created - 2025-01-03
4
+
5
+
3
6
  ### Hotfix [0.9.1] created - 2024-12-10
4
7
 
5
8
 
@@ -59,26 +59,19 @@
59
59
  "
60
60
  ></TextEditor>
61
61
  </v-container>
62
- <v-container>
63
- <v-img
64
- v-if="block.metadata.config.items[itemIndex].file"
65
- :aria-describedby="
62
+ <v-container
63
+ v-if="
64
+ block.metadata.config.items[itemIndex].fileConfig
65
+ .asset
66
+ "
67
+ >
68
+ <ImageAssetViewer
69
+ v-model="
66
70
  block.metadata.config.items[itemIndex]
67
- .ariaDescribedBy
68
- "
69
- :alt="
70
- getImageAlt(
71
- block.metadata.config.items[itemIndex].file,
72
- block.metadata.config.items[itemIndex]
73
- .altText
74
- )
75
- "
76
- :src="
77
- getImagePublicUrl(
78
- block.metadata.config.items[itemIndex].file
79
- )
71
+ .fileConfig
80
72
  "
81
- ></v-img>
73
+ :assets="block.assets"
74
+ ></ImageAssetViewer>
82
75
  </v-container>
83
76
  </v-expansion-panel-content>
84
77
  </v-expansion-panel>
@@ -89,6 +82,7 @@
89
82
  <script>
90
83
  import _ from 'lodash'
91
84
  import Crypto from '~/helpers/Crypto'
85
+ import ImageAssetViewer from '~/components/Content/ImageAssetViewer.vue'
92
86
  import TextEditor from '~/components/Text/TextEditor'
93
87
  import TextViewer from '~/components/Text/TextViewer'
94
88
  import BaseContentBlock from '~/components/Content/Blocks/BaseContentBlock'
@@ -98,6 +92,7 @@ export default {
98
92
  components: {
99
93
  TextEditor,
100
94
  TextViewer,
95
+ ImageAssetViewer,
101
96
  },
102
97
  extends: BaseContentBlock,
103
98
  beforeMount() {
@@ -118,9 +113,7 @@ export default {
118
113
  header: '',
119
114
  expand: false,
120
115
  content: '',
121
- file: null,
122
- altText: '',
123
- ariaDescribedBy: '',
116
+ fileConfig: {},
124
117
  }
125
118
  this.block.metadata.config.items = []
126
119
  this.block.metadata.config.items.push(defaultObject)
@@ -27,7 +27,7 @@
27
27
  @click="item.active = !item.active"
28
28
  >
29
29
  <v-avatar
30
- v-if="item.iconImage && item.icon"
30
+ v-if="item.iconImage && item.fileConfig"
31
31
  class="clickable--image"
32
32
  :rounded="
33
33
  block.metadata.config.display.round_icon
@@ -36,7 +36,12 @@
36
36
  "
37
37
  size="100%"
38
38
  >
39
- <v-img :src="getImagePublicUrl(item.iconAsset)" />
39
+ <ImageAssetViewer
40
+ v-model="item.fileConfig"
41
+ :assets="block.assets"
42
+ class="image-asset-viewer"
43
+ :inherit-sizing="true"
44
+ ></ImageAssetViewer>
40
45
  </v-avatar>
41
46
  <v-icon
42
47
  v-else-if="isIcon(item.icon)"
@@ -77,11 +82,13 @@ import _ from 'lodash'
77
82
  import he from 'he'
78
83
  import BaseContentBlock from '~/components/Content/Blocks/BaseContentBlock'
79
84
  import TextViewer from '~/components/Text/TextViewer'
85
+ import ImageAssetViewer from '~/components/Content/ImageAssetViewer.vue'
80
86
 
81
87
  export default {
82
88
  name: 'ClickableIcons',
83
89
  components: {
84
90
  TextViewer,
91
+ ImageAssetViewer,
85
92
  },
86
93
  extends: BaseContentBlock,
87
94
  beforeMount() {
@@ -295,4 +302,8 @@ button.button-icon.button-icon--rounded {
295
302
  font-size: 2.5rem;
296
303
  }
297
304
  }
305
+ .image-asset-viewer {
306
+ height: inherit;
307
+ width: inherit;
308
+ }
298
309
  </style>
@@ -7,30 +7,9 @@
7
7
  {{ block.metadata.config.description }}
8
8
  </p>
9
9
 
10
- <v-card v-if="render && !hasSource">
11
- <v-card-title>
12
- <v-icon class="mr-2">mdi-cloud-question</v-icon>
13
- {{
14
- $t(
15
- 'windward.core.components.content.blocks.video.not_configured_title'
16
- )
17
- }}
18
- </v-card-title>
19
- <v-card-text>{{
20
- $t('windward.core.components.content.blocks.video.edit_prompt')
21
- }}</v-card-text>
22
- </v-card>
23
-
24
- <v-skeleton-loader
25
- v-if="!render && !hasSource"
26
- type="image, image, list-item-avatar"
27
- class="reload-skeleton"
28
- ></v-skeleton-loader>
29
-
30
10
  <VuetifyPlayer
31
- v-if="hasSource"
32
11
  :language="$i18n && $i18n.locale ? $i18n.locale : 'en-US'"
33
- :type="block.metadata.config.type"
12
+ type="auto"
34
13
  :playlist="linkedPlaylist"
35
14
  :autoplay="block.metadata.config.attributes.autoplay"
36
15
  :autopictureinpicture="
@@ -59,9 +38,31 @@
59
38
  block.metadata.config.attributes.playlistautoadvance
60
39
  "
61
40
  :playbackrates="block.metadata.config.attributes.playbackrates"
41
+ :captions-autoscroll.sync="captionsAutoscroll"
42
+ :captions-paragraph-view.sync="captionsParagraphView"
43
+ :captions-visible.sync="captionsVisible"
44
+ flat
62
45
  @seeking="onSeeking"
63
46
  @timeupdate="onTimeupdate"
64
- />
47
+ >
48
+ <template #no-source>
49
+ <v-card>
50
+ <v-card-title class="justify-center">
51
+ <v-icon class="mr-2">mdi-cloud-question</v-icon>
52
+ {{
53
+ $t(
54
+ 'windward.core.components.content.blocks.video.not_configured_title'
55
+ )
56
+ }}
57
+ </v-card-title>
58
+ <v-card-text>{{
59
+ $t(
60
+ 'windward.core.components.content.blocks.video.edit_prompt'
61
+ )
62
+ }}</v-card-text>
63
+ </v-card>
64
+ </template>
65
+ </VuetifyPlayer>
65
66
  <!-- display first note in the playlist for now -->
66
67
  <v-alert
67
68
  v-if="notes.length > 0"
@@ -78,10 +79,11 @@
78
79
 
79
80
  <script>
80
81
  import _ from 'lodash'
82
+ import he from 'he'
81
83
  import VuetifyPlayer from '@mindedge/vuetify-player'
84
+ import AuthUserRepository from '~/models/repositories/AuthUserRepository'
82
85
  import BaseContentBlock from '~/components/Content/Blocks/BaseContentBlock'
83
86
  import TextViewer from '~/components/Text/TextViewer'
84
- import he from 'he'
85
87
 
86
88
  export default {
87
89
  name: 'ContentBlockVideo',
@@ -214,6 +216,58 @@ export default {
214
216
  })
215
217
  return playlist
216
218
  },
219
+ captionsAutoscroll: {
220
+ get() {
221
+ const user = new AuthUserRepository(this.$nuxt)
222
+
223
+ return user.getPreference('video.captions-autoscroll', true)
224
+ },
225
+ set(v) {
226
+ try {
227
+ const user = new AuthUserRepository(this.$nuxt)
228
+ user.setPreference('video.captions-autoscroll', v)
229
+ user.save()
230
+ } catch (e) {
231
+ console.error('Could not save user video preference!')
232
+ console.error(e)
233
+ }
234
+ },
235
+ },
236
+ captionsParagraphView: {
237
+ get() {
238
+ const user = new AuthUserRepository(this.$nuxt)
239
+ return user.getPreference(
240
+ 'video.captions-paragraph-view',
241
+ false
242
+ )
243
+ },
244
+ set(v) {
245
+ try {
246
+ const user = new AuthUserRepository(this.$nuxt)
247
+ user.setPreference('video.captions-paragraph-view', v)
248
+ user.save()
249
+ } catch (e) {
250
+ console.error('Could not save user video preference!')
251
+ console.error(e)
252
+ }
253
+ },
254
+ },
255
+ captionsVisible: {
256
+ get() {
257
+ const user = new AuthUserRepository(this.$nuxt)
258
+ return user.getPreference('video.captions-visible', false)
259
+ },
260
+ set(v) {
261
+ try {
262
+ const user = new AuthUserRepository(this.$nuxt)
263
+ user.setPreference('video.captions-visible', v)
264
+ user.save()
265
+ } catch (e) {
266
+ console.error('Could not save user video preference!')
267
+ console.error(e)
268
+ }
269
+ },
270
+ },
217
271
  },
218
272
  data() {
219
273
  return {
@@ -224,7 +278,7 @@ export default {
224
278
  description: '',
225
279
  // Default settings for new blocks
226
280
  // This will be overridden in beforeMount()
227
- type: 'video', // Allowed video|audio. In audio mode the player has a max-height of 40px
281
+ type: 'auto', // Allowed auto|video|audio. In audio mode the player has a max-height of 40px. Auto will switch between the other types when needed
228
282
  attributes: {
229
283
  autoplay: false, // Autoplay on load. It's in the spec but DON'T USE THIS
230
284
  autopictureinpicture: false, // Start with picture in picture mode
@@ -98,53 +98,16 @@
98
98
  )
99
99
  }}
100
100
  </h4>
101
- <v-text-field
102
- v-model="
103
- block.metadata.config.items[index].altText
104
- "
105
- class="pt-3 pb-3"
106
- :hide-details="true"
107
- dense
108
- outlined
109
- :label="
110
- $t(
111
- 'windward.core.shared.settings.alt_image'
112
- )
113
- "
114
- :disabled="render"
115
- ></v-text-field>
116
- <v-text-field
101
+ <ImageAssetSettings
117
102
  v-model="
118
103
  block.metadata.config.items[index]
119
- .ariaDescribedBy
104
+ .fileConfig
120
105
  "
121
- class="pt-3 pb-3"
122
- :hide-details="true"
123
- dense
124
- outlined
125
- :label="
126
- $t(
127
- 'windward.core.shared.settings.aria_described'
128
- )
129
- "
130
- :disabled="render"
131
- ></v-text-field>
132
- <ContentBlockAsset
133
- v-model="
134
- block.metadata.config.items[index].file
135
- "
136
- mimes="image/png,image/jpeg"
137
106
  :assets.sync="block.assets"
138
- outlined
139
- >
140
- <template #title>
141
- {{
142
- $t(
143
- 'windward.core.components.settings.image.place_image'
144
- )
145
- }}
146
- </template>
147
- </ContentBlockAsset>
107
+ hide-background
108
+ hide-decorative
109
+ hide-modal
110
+ ></ImageAssetSettings>
148
111
  </v-container>
149
112
  </v-container>
150
113
  </template>
@@ -181,12 +144,14 @@ import BaseContentSettings from '~/components/Content/Settings/BaseContentSettin
181
144
  import TextEditor from '~/components/Text/TextEditor'
182
145
  import SortableExpansionPanel from '~/components/Core/SortableExpansionPanel.vue'
183
146
  import Uuid from '~/helpers/Uuid'
147
+ import ImageAssetSettings from '~/components/Content/Settings/ImageAssetSettings.vue'
184
148
 
185
149
  export default {
186
150
  name: 'AccordionSettings',
187
151
  components: {
188
152
  TextEditor,
189
153
  SortableExpansionPanel,
154
+ ImageAssetSettings,
190
155
  },
191
156
  extends: BaseContentSettings,
192
157
  beforeMount() {
@@ -219,9 +184,7 @@ export default {
219
184
  header: '',
220
185
  expand: false,
221
186
  content: '',
222
- file: null,
223
- altText: '',
224
- ariaDescribedBy: '',
187
+ fileConfig: {},
225
188
  }
226
189
  this.block.metadata.config.items = []
227
190
  this.block.metadata.config.items.push(defaultObject)
@@ -260,9 +223,7 @@ export default {
260
223
  header: '',
261
224
  expand: false,
262
225
  content: '',
263
- file: null,
264
- altText: '',
265
- ariaDescribedBy: '',
226
+ fileConfig: {},
266
227
  }
267
228
  this.block.metadata.config.items.push(default_item)
268
229
  this.block.metadata.config.selectedPanels =
@@ -87,8 +87,8 @@
87
87
  @click:close="onRemoveElement"
88
88
  >
89
89
  <template #header="{ item }">
90
- <v-avatar v-if="item.iconImage && item.iconAsset">
91
- <v-img :src="getImagePublicUrl(item.iconAsset)" />
90
+ <v-avatar v-if="item.iconImage && item.fileConfig">
91
+ <v-img :src="getImagePublicUrl(item.fileConfig.asset)" />
92
92
  </v-avatar>
93
93
  <v-icon
94
94
  v-else-if="
@@ -146,29 +146,19 @@
146
146
  :rules="validation.iconRules"
147
147
  :disabled="render"
148
148
  ></TextIconPicker>
149
-
150
- <ContentBlockAsset
149
+ <ImageAssetSettings
151
150
  v-if="
152
151
  block.metadata.config.items[index].iconImage
153
152
  "
154
153
  v-model="
155
- block.metadata.config.items[index].iconAsset
154
+ block.metadata.config.items[index]
155
+ .fileConfig
156
156
  "
157
157
  :assets.sync="block.assets"
158
- class="mb-4"
159
- mimes="image/jpeg,image/png,image/gif"
160
- :disabled="render"
161
- outlined
162
- @click:file="onFileSelect($event, index)"
163
- >
164
- <template #title>
165
- {{
166
- $t(
167
- 'windward.core.components.settings.image.place_image'
168
- )
169
- }}
170
- </template>
171
- </ContentBlockAsset>
158
+ hide-background
159
+ hide-decorative
160
+ hide-modal
161
+ ></ImageAssetSettings>
172
162
  <v-text-field
173
163
  v-model="
174
164
  block.metadata.config.items[index].title
@@ -234,6 +224,7 @@ import TextIconPicker from '~/components/Core/TextIconPicker.vue'
234
224
  import ColorPicker from '~/components/Core/ColorPicker.vue'
235
225
  import SortableExpansionPanel from '~/components/Core/SortableExpansionPanel.vue'
236
226
  import ContentBlockAsset from '~/components/Content/ContentBlockAsset.vue'
227
+ import ImageAssetSettings from '~/components/Content/Settings/ImageAssetSettings.vue'
237
228
 
238
229
  export default {
239
230
  name: 'ClickableIconsSettings',
@@ -243,6 +234,7 @@ export default {
243
234
  TextIconPicker,
244
235
  ColorPicker,
245
236
  ContentBlockAsset,
237
+ ImageAssetSettings,
246
238
  },
247
239
  extends: BaseContentSettings,
248
240
  data() {
@@ -311,7 +303,7 @@ export default {
311
303
  onAddElement() {
312
304
  const defaultObject = {
313
305
  icon: '',
314
- iconAsset: null,
306
+ fileConfig: {},
315
307
  iconImage: false,
316
308
  title: '',
317
309
  body: '<p></p>',
@@ -336,7 +328,7 @@ export default {
336
328
  onClickToggleIconImage(index) {
337
329
  // We're switching between images / text. Clear the relevant fields
338
330
  this.block.metadata.config.items[index].icon = ''
339
- this.block.metadata.config.items[index].iconAsset = null
331
+ this.block.metadata.config.items[index].fileConfig = null
340
332
  },
341
333
  onFileSelect(file, index) {
342
334
  // file = null when you remove a file
@@ -21,7 +21,7 @@
21
21
  {{
22
22
  sourceDescription ||
23
23
  $t(
24
- 'windward.core.components.settings.video.video.configure_blurb'
24
+ 'windward.core.components.settings.video.media.configure_blurb'
25
25
  )
26
26
  }}
27
27
  </template>
@@ -146,9 +146,9 @@
146
146
  :disabled="render"
147
147
  @change:source="
148
148
  (file, rawFile) =>
149
- onAdSourceSelect(file, rawFile, 0)
149
+ onAdSourceSelect(file, rawFile, 100)
150
150
  "
151
- @change:track="onAdTrackSelect($event, 0)"
151
+ @change:track="onAdTrackSelect($event, 100)"
152
152
  ></SourcePicker>
153
153
  </v-tab-item>
154
154
  </v-tabs-items>
@@ -575,6 +575,11 @@ export default {
575
575
  return ads.length
576
576
  },
577
577
  onRemovePlaylistItem() {
578
+ // If there's still items in the playlist then decrement it down to the previous item
579
+ if (this.playlistIndex > 0) {
580
+ this.playlistPaginator--
581
+ }
582
+
578
583
  if (this.block.metadata.config.playlist.length > 1) {
579
584
  this.block.metadata.config.playlist.splice(
580
585
  this.playlistIndex,
@@ -11,7 +11,7 @@
11
11
  <label v-if="label" class="editor-label">{{ label }}</label>
12
12
  </slot>
13
13
  <Editor
14
- :id="id"
14
+ :id="editorId"
15
15
  :key="seed + (isDarkTheme ? '-theme-dark' : '-theme-light')"
16
16
  v-model="text"
17
17
  initial-value=""
@@ -121,6 +121,7 @@ export default {
121
121
  props: {
122
122
  value: { type: String, required: true, default: '' },
123
123
  id: { type: String, required: false, default: '' },
124
+ dataKey: { type: String, required: false, default: '' }, // used as a unique key for testing
124
125
  height: { type: Number, required: false, default: null },
125
126
  menubar: {
126
127
  type: String,
@@ -152,12 +153,26 @@ export default {
152
153
  computed: {
153
154
  dataCy() {
154
155
  return (
156
+ this.dataKey ||
155
157
  this.id ||
156
158
  this.label.toLowerCase().replaceAll(/[^a-z0-9]/g, '-') ||
157
159
  this.hint.toLowerCase().replaceAll(/[^a-z0-9]/g, '-') ||
158
160
  _.get(this, '$parent.$parent.$options.name', '')
159
161
  )
160
162
  },
163
+ editorId() {
164
+ // If the id is not empty then make sure it's unique
165
+ // TinyMCE fails to load if an id is duplicated. Also duplicate ids are just bad in general
166
+ if (this.id) {
167
+ const duplicates = document.querySelectorAll(`#${this.id}`)
168
+
169
+ return duplicates.length === 0
170
+ ? this.id
171
+ : this.id + '-' + this.seed
172
+ } else {
173
+ return ''
174
+ }
175
+ },
161
176
  isDarkTheme() {
162
177
  return this.$vuetify.theme.isDark
163
178
  },
@@ -194,7 +209,7 @@ export default {
194
209
  },
195
210
  autoresize_min_height: 100,
196
211
  autoresize_max_height: 1000,
197
- autoresize_bottom_margin: 0,
212
+ autoresize_bottom_margin: 1,
198
213
  plugins: [
199
214
  'autoresize',
200
215
  'advlist',
@@ -1,25 +1,25 @@
1
1
  <template>
2
2
  <div
3
+ v-click-outside="onClickOutside"
3
4
  class="glossary-word"
4
5
  :class="{ active: show }"
5
- v-click-outside="onClickOutside"
6
6
  @click="show = !show"
7
7
  >
8
8
  <v-tooltip
9
- top
10
9
  v-model="show"
10
+ top
11
11
  :open-on-hover="false"
12
12
  color="primary"
13
13
  max-width="768px"
14
14
  z-index="10"
15
15
  >
16
16
  <template #activator="{ on }">
17
- <span v-on="on">
17
+ <span tabindex="0" v-on="on">
18
18
  <slot name="term"></slot>
19
19
  </span>
20
20
  </template>
21
21
  <div>
22
- <div v-if="this.$slots['definition']">
22
+ <div v-if="$slots['definition']">
23
23
  <h6 class="text-capitalize">
24
24
  <slot name="term"></slot>
25
25
  {{
@@ -33,7 +33,7 @@
33
33
  <slot name="definition"></slot>
34
34
  </p>
35
35
  </div>
36
- <div v-if="this.$slots['alternate_forms']">
36
+ <div v-if="$slots['alternate_forms']">
37
37
  <h4 class="text-capitalize">
38
38
  <slot name="term"></slot>
39
39
  {{
@@ -46,7 +46,7 @@
46
46
  <p><slot name="alternate_forms"></slot></p>
47
47
  </div>
48
48
 
49
- <div v-if="this.$slots['related_terms']">
49
+ <div v-if="$slots['related_terms']">
50
50
  <h4 class="text-capitalize">
51
51
  {{
52
52
  $t(
@@ -1,4 +1,4 @@
1
1
  export default {
2
- not_configured_title: 'Video not configured',
2
+ not_configured_title: 'Media not configured',
3
3
  edit_prompt: 'Edit this block to get started',
4
4
  }
@@ -1,11 +1,11 @@
1
1
  export default {
2
- title: 'Video Title',
2
+ title: 'Media Title',
3
3
  sources: 'Sources',
4
4
  place_source: 'Place Video or Audio',
5
5
  playback: 'Playback',
6
6
  no_sources: 'No Sources Configured',
7
- default_filename: 'Video',
8
- playlist: 'Videos in Playlist',
7
+ default_filename: 'Media',
8
+ playlist: 'Media in Playlist',
9
9
  playlist_name: 'Name in Playlist',
10
10
  playlist_name_source_required:
11
11
  'Select a source before naming this playlist item',
@@ -16,6 +16,10 @@ export default {
16
16
  'When enabled, the selected media will use captions linked on the file, managed in the file manager. When disabled, the selected media will have its own unique captions that is not shared globally on the file.',
17
17
  inherit_missing_captions:
18
18
  'No global captions are available for this source. Please set them in the file settings',
19
+ media: {
20
+ configure_blurb:
21
+ 'Upload a media file (.mp4, .webm, .mp3, .ogg), pick one from the file manager, or add via the public URL',
22
+ },
19
23
  video: {
20
24
  title: 'Video File',
21
25
  configure_blurb:
@@ -29,7 +33,7 @@ export default {
29
33
  playback_rates: 'Playback Rates',
30
34
  rewind: 'Allow 10 Second Rewind',
31
35
  playsinline: 'Disable fullscreen and force inline viewing',
32
- captionsmenu: 'Show the interactive captions menu',
36
+ captionsmenu: 'Show the transcript menu',
33
37
  playlistmenu:
34
38
  'Show playlist menu (Requires more than 1 video selected to show)',
35
39
  playlistautoadvance: 'Auto-advance the playlist on media end',
@@ -11,7 +11,7 @@ export default {
11
11
  clickable_icons: 'Clickable Icons Settings',
12
12
  scenario_choice: 'Scenario Choice',
13
13
  accordion: 'Accordion Settings',
14
- video: 'Video Settings',
14
+ video: 'Video / Audio Settings',
15
15
  table: 'Table Settings',
16
16
  math: 'Math Settings',
17
17
  feedback: 'Feedback Settings',
@@ -1,5 +1,5 @@
1
1
  export default {
2
- not_configured_title: 'Video no configurado',
2
+ not_configured_title: 'Medios no configurados',
3
3
  edit_prompt:
4
4
  "Para comenzar a manipular el bloque,haga clic en el botón 'Editar'.",
5
5
  }