@windward/core 0.19.0 → 0.20.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 (361) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/bitbucket/releases/delete-rc-tags.sh +35 -0
  3. package/bitbucket/releases/tag-master-release.sh +48 -0
  4. package/bitbucket-pipelines.yml +3 -1
  5. package/components/Content/Blocks/Email.vue +21 -16
  6. package/components/Content/Blocks/HorizontalRule.vue +2 -0
  7. package/components/Content/Blocks/UserUpload.vue +33 -38
  8. package/components/Navigation/Items/CourseGlossaryToolNav.vue +7 -1
  9. package/components/Settings/EmailSettings.vue +31 -6
  10. package/components/Settings/UserUploadSettings.vue +40 -41
  11. package/components/utils/GenerateAIQuestionButton.vue +26 -10
  12. package/i18n/en-US/components/content/blocks/generate_questions.ts +3 -0
  13. package/i18n/en-US/components/settings/email.ts +3 -0
  14. package/i18n/es-ES/components/content/blocks/generate_questions.ts +3 -0
  15. package/i18n/es-ES/components/settings/email.ts +3 -0
  16. package/i18n/sv-SE/components/content/blocks/generate_questions.ts +3 -0
  17. package/i18n/sv-SE/components/settings/email.ts +5 -2
  18. package/package.json +1 -1
  19. package/.idea/codeStyles/Project.xml +0 -58
  20. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  21. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  22. package/.idea/misc.xml +0 -6
  23. package/.idea/modules.xml +0 -8
  24. package/.idea/php-docker-settings.xml +0 -24
  25. package/.idea/php.xml +0 -19
  26. package/.idea/vcs.xml +0 -6
  27. package/.idea/watcherTasks.xml +0 -4
  28. package/.idea/windward-ui-plugin-core.iml +0 -8
  29. package/config/menu.config.json +0 -475
  30. package/coverage/clover.xml +0 -1474
  31. package/coverage/coverage-final.json +0 -199
  32. package/coverage/lcov-report/base.css +0 -224
  33. package/coverage/lcov-report/block-navigation.js +0 -87
  34. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +0 -772
  35. package/coverage/lcov-report/components/Content/Blocks/BlockQuote.vue.html +0 -625
  36. package/coverage/lcov-report/components/Content/Blocks/ClickableIcons.vue.html +0 -979
  37. package/coverage/lcov-report/components/Content/Blocks/Email.vue.html +0 -1171
  38. package/coverage/lcov-report/components/Content/Blocks/Feedback.vue.html +0 -1075
  39. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileLinks.vue.html +0 -331
  40. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileTable.vue.html +0 -403
  41. package/coverage/lcov-report/components/Content/Blocks/FileDownload/index.html +0 -131
  42. package/coverage/lcov-report/components/Content/Blocks/FileDownload.vue.html +0 -514
  43. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +0 -211
  44. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +0 -352
  45. package/coverage/lcov-report/components/Content/Blocks/OpenResponse.vue.html +0 -667
  46. package/coverage/lcov-report/components/Content/Blocks/OpenResponseCollate.vue.html +0 -643
  47. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +0 -295
  48. package/coverage/lcov-report/components/Content/Blocks/ScenarioChoice.vue.html +0 -976
  49. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +0 -445
  50. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +0 -667
  51. package/coverage/lcov-report/components/Content/Blocks/UserUpload/DisplayUserFilesTable.vue.html +0 -562
  52. package/coverage/lcov-report/components/Content/Blocks/UserUpload/index.html +0 -116
  53. package/coverage/lcov-report/components/Content/Blocks/UserUpload.vue.html +0 -844
  54. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +0 -1225
  55. package/coverage/lcov-report/components/Content/Blocks/index.html +0 -311
  56. package/coverage/lcov-report/components/Settings/AccordionSettings.vue.html +0 -961
  57. package/coverage/lcov-report/components/Settings/BlockQuoteSettings.vue.html +0 -673
  58. package/coverage/lcov-report/components/Settings/ClickableIconsSettings.vue.html +0 -1144
  59. package/coverage/lcov-report/components/Settings/EmailSettings.vue.html +0 -901
  60. package/coverage/lcov-report/components/Settings/FeedbackSettings.vue.html +0 -373
  61. package/coverage/lcov-report/components/Settings/FileDownloadSettings.vue.html +0 -607
  62. package/coverage/lcov-report/components/Settings/ImageSettings.vue.html +0 -310
  63. package/coverage/lcov-report/components/Settings/MathSettings.vue.html +0 -337
  64. package/coverage/lcov-report/components/Settings/OpenResponseCollateSettings.vue.html +0 -586
  65. package/coverage/lcov-report/components/Settings/OpenResponseSettings.vue.html +0 -415
  66. package/coverage/lcov-report/components/Settings/ScenarioChoiceSettings.vue.html +0 -1183
  67. package/coverage/lcov-report/components/Settings/TabSettings.vue.html +0 -751
  68. package/coverage/lcov-report/components/Settings/UserUploadSettings.vue.html +0 -535
  69. package/coverage/lcov-report/components/Settings/index.html +0 -296
  70. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +0 -199
  71. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +0 -1120
  72. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +0 -415
  73. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +0 -271
  74. package/coverage/lcov-report/components/utils/index.html +0 -131
  75. package/coverage/lcov-report/config/index.html +0 -116
  76. package/coverage/lcov-report/config/tinymce.config.js.html +0 -493
  77. package/coverage/lcov-report/config/tinymce.config.ts.html +0 -1051
  78. package/coverage/lcov-report/favicon.png +0 -0
  79. package/coverage/lcov-report/helpers/GlossaryHelper.ts.html +0 -577
  80. package/coverage/lcov-report/helpers/GlossaryTerm.ts.html +0 -178
  81. package/coverage/lcov-report/helpers/MathHelper.ts.html +0 -1033
  82. package/coverage/lcov-report/helpers/index.html +0 -146
  83. package/coverage/lcov-report/helpers/tinymce/index.html +0 -116
  84. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +0 -334
  85. package/coverage/lcov-report/i18n/en-US/components/content/blocks/block_quote.ts.html +0 -94
  86. package/coverage/lcov-report/i18n/en-US/components/content/blocks/email.ts.html +0 -127
  87. package/coverage/lcov-report/i18n/en-US/components/content/blocks/feedback.ts.html +0 -178
  88. package/coverage/lcov-report/i18n/en-US/components/content/blocks/file_download.ts.html +0 -100
  89. package/coverage/lcov-report/i18n/en-US/components/content/blocks/generate_questions.ts.html +0 -100
  90. package/coverage/lcov-report/i18n/en-US/components/content/blocks/image.ts.html +0 -100
  91. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.html +0 -296
  92. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.ts.html +0 -166
  93. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response.ts.html +0 -100
  94. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response_collate.ts.html +0 -106
  95. package/coverage/lcov-report/i18n/en-US/components/content/blocks/scenario_choice.ts.html +0 -100
  96. package/coverage/lcov-report/i18n/en-US/components/content/blocks/table.ts.html +0 -97
  97. package/coverage/lcov-report/i18n/en-US/components/content/blocks/user_upload.ts.html +0 -115
  98. package/coverage/lcov-report/i18n/en-US/components/content/blocks/video.ts.html +0 -97
  99. package/coverage/lcov-report/i18n/en-US/components/content/index.html +0 -116
  100. package/coverage/lcov-report/i18n/en-US/components/content/index.ts.html +0 -100
  101. package/coverage/lcov-report/i18n/en-US/components/index.html +0 -116
  102. package/coverage/lcov-report/i18n/en-US/components/index.ts.html +0 -118
  103. package/coverage/lcov-report/i18n/en-US/components/navigation/ask_the_expert.ts.html +0 -118
  104. package/coverage/lcov-report/i18n/en-US/components/navigation/image.ts.html +0 -97
  105. package/coverage/lcov-report/i18n/en-US/components/navigation/index.html +0 -161
  106. package/coverage/lcov-report/i18n/en-US/components/navigation/index.ts.html +0 -112
  107. package/coverage/lcov-report/i18n/en-US/components/navigation/user_upload.ts.html +0 -94
  108. package/coverage/lcov-report/i18n/en-US/components/settings/accordion.ts.html +0 -106
  109. package/coverage/lcov-report/i18n/en-US/components/settings/block_quote.ts.html +0 -130
  110. package/coverage/lcov-report/i18n/en-US/components/settings/clickable_icon.ts.html +0 -142
  111. package/coverage/lcov-report/i18n/en-US/components/settings/email.ts.html +0 -115
  112. package/coverage/lcov-report/i18n/en-US/components/settings/file_download.ts.html +0 -109
  113. package/coverage/lcov-report/i18n/en-US/components/settings/horizontal_rule.ts.html +0 -94
  114. package/coverage/lcov-report/i18n/en-US/components/settings/image.ts.html +0 -142
  115. package/coverage/lcov-report/i18n/en-US/components/settings/index.html +0 -326
  116. package/coverage/lcov-report/i18n/en-US/components/settings/index.ts.html +0 -178
  117. package/coverage/lcov-report/i18n/en-US/components/settings/open_response.ts.html +0 -100
  118. package/coverage/lcov-report/i18n/en-US/components/settings/open_response_collate.ts.html +0 -103
  119. package/coverage/lcov-report/i18n/en-US/components/settings/scenario_choice.ts.html +0 -145
  120. package/coverage/lcov-report/i18n/en-US/components/settings/tab.ts.html +0 -109
  121. package/coverage/lcov-report/i18n/en-US/components/settings/text_editor.ts.html +0 -115
  122. package/coverage/lcov-report/i18n/en-US/components/settings/user_upload.ts.html +0 -121
  123. package/coverage/lcov-report/i18n/en-US/components/settings/video.ts.html +0 -277
  124. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  125. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  126. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.html +0 -146
  127. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.ts.html +0 -103
  128. package/coverage/lcov-report/i18n/en-US/components/utils/index.html +0 -146
  129. package/coverage/lcov-report/i18n/en-US/components/utils/index.ts.html +0 -109
  130. package/coverage/lcov-report/i18n/en-US/components/utils/math_expression_editor.ts.html +0 -130
  131. package/coverage/lcov-report/i18n/en-US/components/utils/tiny_mce_wrapper.ts.html +0 -175
  132. package/coverage/lcov-report/i18n/en-US/index.html +0 -116
  133. package/coverage/lcov-report/i18n/en-US/index.ts.html +0 -133
  134. package/coverage/lcov-report/i18n/en-US/modules/index.html +0 -116
  135. package/coverage/lcov-report/i18n/en-US/modules/index.ts.html +0 -100
  136. package/coverage/lcov-report/i18n/en-US/pages/glossary.ts.html +0 -106
  137. package/coverage/lcov-report/i18n/en-US/pages/index.html +0 -146
  138. package/coverage/lcov-report/i18n/en-US/pages/index.ts.html +0 -112
  139. package/coverage/lcov-report/i18n/en-US/pages/plugins/error.ts.html +0 -112
  140. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.html +0 -131
  141. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.ts.html +0 -100
  142. package/coverage/lcov-report/i18n/en-US/pages/user_upload.ts.html +0 -94
  143. package/coverage/lcov-report/i18n/en-US/shared/content_blocks.ts.html +0 -163
  144. package/coverage/lcov-report/i18n/en-US/shared/index.html +0 -176
  145. package/coverage/lcov-report/i18n/en-US/shared/index.ts.html +0 -118
  146. package/coverage/lcov-report/i18n/en-US/shared/menu.ts.html +0 -97
  147. package/coverage/lcov-report/i18n/en-US/shared/permission.ts.html +0 -130
  148. package/coverage/lcov-report/i18n/en-US/shared/settings.ts.html +0 -172
  149. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/block_quote.ts.html +0 -94
  150. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/email.ts.html +0 -127
  151. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/feedback.ts.html +0 -178
  152. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/file_download.ts.html +0 -100
  153. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/generate_questions.ts.html +0 -100
  154. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/image.ts.html +0 -100
  155. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.html +0 -296
  156. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.ts.html +0 -166
  157. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response.ts.html +0 -103
  158. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response_collate.ts.html +0 -106
  159. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/scenario_choice.ts.html +0 -103
  160. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/table.ts.html +0 -97
  161. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/user_upload.ts.html +0 -118
  162. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/video.ts.html +0 -100
  163. package/coverage/lcov-report/i18n/es-ES/components/content/index.html +0 -116
  164. package/coverage/lcov-report/i18n/es-ES/components/content/index.ts.html +0 -100
  165. package/coverage/lcov-report/i18n/es-ES/components/index.html +0 -116
  166. package/coverage/lcov-report/i18n/es-ES/components/index.ts.html +0 -121
  167. package/coverage/lcov-report/i18n/es-ES/components/navigation/ask_the_expert.ts.html +0 -118
  168. package/coverage/lcov-report/i18n/es-ES/components/navigation/image.ts.html +0 -97
  169. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.html +0 -161
  170. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.ts.html +0 -112
  171. package/coverage/lcov-report/i18n/es-ES/components/navigation/user_upload.ts.html +0 -94
  172. package/coverage/lcov-report/i18n/es-ES/components/settings/accordion.ts.html +0 -106
  173. package/coverage/lcov-report/i18n/es-ES/components/settings/block_quote.ts.html +0 -130
  174. package/coverage/lcov-report/i18n/es-ES/components/settings/clickable_icon.ts.html +0 -145
  175. package/coverage/lcov-report/i18n/es-ES/components/settings/email.ts.html +0 -115
  176. package/coverage/lcov-report/i18n/es-ES/components/settings/file_download.ts.html +0 -109
  177. package/coverage/lcov-report/i18n/es-ES/components/settings/horizontal_rule.ts.html +0 -94
  178. package/coverage/lcov-report/i18n/es-ES/components/settings/image.ts.html +0 -148
  179. package/coverage/lcov-report/i18n/es-ES/components/settings/index.html +0 -326
  180. package/coverage/lcov-report/i18n/es-ES/components/settings/index.ts.html +0 -178
  181. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response.ts.html +0 -100
  182. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response_collate.ts.html +0 -106
  183. package/coverage/lcov-report/i18n/es-ES/components/settings/scenario_choice.ts.html +0 -145
  184. package/coverage/lcov-report/i18n/es-ES/components/settings/tab.ts.html +0 -112
  185. package/coverage/lcov-report/i18n/es-ES/components/settings/text_editor.ts.html +0 -115
  186. package/coverage/lcov-report/i18n/es-ES/components/settings/user_upload.ts.html +0 -121
  187. package/coverage/lcov-report/i18n/es-ES/components/settings/video.ts.html +0 -283
  188. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  189. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  190. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.html +0 -146
  191. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.ts.html +0 -103
  192. package/coverage/lcov-report/i18n/es-ES/components/utils/index.html +0 -146
  193. package/coverage/lcov-report/i18n/es-ES/components/utils/index.ts.html +0 -109
  194. package/coverage/lcov-report/i18n/es-ES/components/utils/math_expression_editor.ts.html +0 -130
  195. package/coverage/lcov-report/i18n/es-ES/components/utils/tiny_mce_wrapper.ts.html +0 -178
  196. package/coverage/lcov-report/i18n/es-ES/index.html +0 -116
  197. package/coverage/lcov-report/i18n/es-ES/index.ts.html +0 -133
  198. package/coverage/lcov-report/i18n/es-ES/modules/index.html +0 -116
  199. package/coverage/lcov-report/i18n/es-ES/modules/index.ts.html +0 -100
  200. package/coverage/lcov-report/i18n/es-ES/pages/glossary.ts.html +0 -106
  201. package/coverage/lcov-report/i18n/es-ES/pages/index.html +0 -146
  202. package/coverage/lcov-report/i18n/es-ES/pages/index.ts.html +0 -112
  203. package/coverage/lcov-report/i18n/es-ES/pages/plugins/error.ts.html +0 -112
  204. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.html +0 -131
  205. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.ts.html +0 -100
  206. package/coverage/lcov-report/i18n/es-ES/pages/user_upload.ts.html +0 -94
  207. package/coverage/lcov-report/i18n/es-ES/shared/content_blocks.ts.html +0 -163
  208. package/coverage/lcov-report/i18n/es-ES/shared/index.html +0 -176
  209. package/coverage/lcov-report/i18n/es-ES/shared/index.ts.html +0 -118
  210. package/coverage/lcov-report/i18n/es-ES/shared/menu.ts.html +0 -97
  211. package/coverage/lcov-report/i18n/es-ES/shared/permission.ts.html +0 -130
  212. package/coverage/lcov-report/i18n/es-ES/shared/settings.ts.html +0 -178
  213. package/coverage/lcov-report/i18n/index.html +0 -116
  214. package/coverage/lcov-report/i18n/index.ts.html +0 -118
  215. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/block_quote.ts.html +0 -94
  216. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/email.ts.html +0 -127
  217. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/feedback.ts.html +0 -178
  218. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/file_download.ts.html +0 -100
  219. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/generate_questions.ts.html +0 -100
  220. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/image.ts.html +0 -100
  221. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.html +0 -296
  222. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.ts.html +0 -166
  223. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response.ts.html +0 -103
  224. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response_collate.ts.html +0 -106
  225. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/scenario_choice.ts.html +0 -100
  226. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/table.ts.html +0 -97
  227. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/user_upload.ts.html +0 -118
  228. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/video.ts.html +0 -97
  229. package/coverage/lcov-report/i18n/sv-SE/components/content/index.html +0 -116
  230. package/coverage/lcov-report/i18n/sv-SE/components/content/index.ts.html +0 -100
  231. package/coverage/lcov-report/i18n/sv-SE/components/index.html +0 -116
  232. package/coverage/lcov-report/i18n/sv-SE/components/index.ts.html +0 -121
  233. package/coverage/lcov-report/i18n/sv-SE/components/navigation/ask_the_expert.ts.html +0 -118
  234. package/coverage/lcov-report/i18n/sv-SE/components/navigation/image.ts.html +0 -97
  235. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.html +0 -161
  236. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.ts.html +0 -112
  237. package/coverage/lcov-report/i18n/sv-SE/components/navigation/user_upload.ts.html +0 -94
  238. package/coverage/lcov-report/i18n/sv-SE/components/settings/accordion.ts.html +0 -109
  239. package/coverage/lcov-report/i18n/sv-SE/components/settings/block_quote.ts.html +0 -130
  240. package/coverage/lcov-report/i18n/sv-SE/components/settings/clickable_icon.ts.html +0 -145
  241. package/coverage/lcov-report/i18n/sv-SE/components/settings/email.ts.html +0 -115
  242. package/coverage/lcov-report/i18n/sv-SE/components/settings/file_download.ts.html +0 -109
  243. package/coverage/lcov-report/i18n/sv-SE/components/settings/horizontal_rule.ts.html +0 -94
  244. package/coverage/lcov-report/i18n/sv-SE/components/settings/image.ts.html +0 -142
  245. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.html +0 -326
  246. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.ts.html +0 -178
  247. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response.ts.html +0 -100
  248. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response_collate.ts.html +0 -103
  249. package/coverage/lcov-report/i18n/sv-SE/components/settings/scenario_choice.ts.html +0 -145
  250. package/coverage/lcov-report/i18n/sv-SE/components/settings/tab.ts.html +0 -109
  251. package/coverage/lcov-report/i18n/sv-SE/components/settings/text_editor.ts.html +0 -115
  252. package/coverage/lcov-report/i18n/sv-SE/components/settings/user_upload.ts.html +0 -121
  253. package/coverage/lcov-report/i18n/sv-SE/components/settings/video.ts.html +0 -277
  254. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  255. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  256. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.html +0 -146
  257. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.ts.html +0 -103
  258. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.html +0 -146
  259. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.ts.html +0 -109
  260. package/coverage/lcov-report/i18n/sv-SE/components/utils/math_expression_editor.ts.html +0 -130
  261. package/coverage/lcov-report/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts.html +0 -178
  262. package/coverage/lcov-report/i18n/sv-SE/index.html +0 -116
  263. package/coverage/lcov-report/i18n/sv-SE/index.ts.html +0 -133
  264. package/coverage/lcov-report/i18n/sv-SE/modules/index.html +0 -116
  265. package/coverage/lcov-report/i18n/sv-SE/modules/index.ts.html +0 -100
  266. package/coverage/lcov-report/i18n/sv-SE/pages/glossary.ts.html +0 -106
  267. package/coverage/lcov-report/i18n/sv-SE/pages/index.html +0 -146
  268. package/coverage/lcov-report/i18n/sv-SE/pages/index.ts.html +0 -112
  269. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/error.ts.html +0 -109
  270. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.html +0 -131
  271. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.ts.html +0 -100
  272. package/coverage/lcov-report/i18n/sv-SE/pages/user_upload.ts.html +0 -94
  273. package/coverage/lcov-report/i18n/sv-SE/shared/content_blocks.ts.html +0 -163
  274. package/coverage/lcov-report/i18n/sv-SE/shared/index.html +0 -176
  275. package/coverage/lcov-report/i18n/sv-SE/shared/index.ts.html +0 -118
  276. package/coverage/lcov-report/i18n/sv-SE/shared/menu.ts.html +0 -97
  277. package/coverage/lcov-report/i18n/sv-SE/shared/permission.ts.html +0 -130
  278. package/coverage/lcov-report/i18n/sv-SE/shared/settings.ts.html +0 -172
  279. package/coverage/lcov-report/index.html +0 -806
  280. package/coverage/lcov-report/models/SurveyResult.ts.html +0 -109
  281. package/coverage/lcov-report/models/SurveyTemplate.ts.html +0 -109
  282. package/coverage/lcov-report/models/index.html +0 -131
  283. package/coverage/lcov-report/pages/plugins/tinymce/_plugin.vue.html +0 -322
  284. package/coverage/lcov-report/pages/plugins/tinymce/index.html +0 -116
  285. package/coverage/lcov-report/prettify.css +0 -1
  286. package/coverage/lcov-report/prettify.js +0 -2
  287. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  288. package/coverage/lcov-report/sorter.js +0 -196
  289. package/coverage/lcov-report/test/index.html +0 -131
  290. package/coverage/lcov-report/test/locales.js.html +0 -370
  291. package/coverage/lcov-report/test/mocks.js.html +0 -532
  292. package/coverage/lcov.info +0 -2753
  293. package/lib/helpers/GlossaryHelper.d.ts +0 -9
  294. package/lib/helpers/GlossaryHelper.js +0 -118
  295. package/lib/helpers/GlossaryTerm.d.ts +0 -10
  296. package/lib/helpers/GlossaryTerm.js +0 -22
  297. package/lib/helpers/MathHelper.d.ts +0 -99
  298. package/lib/helpers/MathHelper.js +0 -194
  299. package/lib/helpers/tinymce/plugin.d.ts +0 -2
  300. package/lib/helpers/tinymce/plugin.js +0 -86
  301. package/lib/i18n/en-US/components/content/blocks/image.d.ts +0 -6
  302. package/lib/i18n/en-US/components/content/blocks/image.js +0 -7
  303. package/lib/i18n/en-US/components/content/blocks/index.d.ts +0 -75
  304. package/lib/i18n/en-US/components/content/blocks/index.js +0 -14
  305. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +0 -5
  306. package/lib/i18n/en-US/components/content/blocks/tab.js +0 -6
  307. package/lib/i18n/en-US/components/content/blocks/table.d.ts +0 -5
  308. package/lib/i18n/en-US/components/content/blocks/table.js +0 -6
  309. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +0 -13
  310. package/lib/i18n/en-US/components/content/blocks/user_upload.js +0 -14
  311. package/lib/i18n/en-US/components/content/blocks/video.d.ts +0 -48
  312. package/lib/i18n/en-US/components/content/blocks/video.js +0 -49
  313. package/lib/i18n/en-US/components/content/index.d.ts +0 -77
  314. package/lib/i18n/en-US/components/content/index.js +0 -6
  315. package/lib/i18n/en-US/components/index.d.ts +0 -140
  316. package/lib/i18n/en-US/components/index.js +0 -12
  317. package/lib/i18n/en-US/components/navigation/image.d.ts +0 -5
  318. package/lib/i18n/en-US/components/navigation/image.js +0 -6
  319. package/lib/i18n/en-US/components/navigation/index.d.ts +0 -10
  320. package/lib/i18n/en-US/components/navigation/index.js +0 -8
  321. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +0 -4
  322. package/lib/i18n/en-US/components/navigation/user_upload.js +0 -5
  323. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +0 -6
  324. package/lib/i18n/en-US/components/settings/clickable_icon.js +0 -7
  325. package/lib/i18n/en-US/components/settings/image.d.ts +0 -2
  326. package/lib/i18n/en-US/components/settings/image.js +0 -3
  327. package/lib/i18n/en-US/components/settings/index.d.ts +0 -39
  328. package/lib/i18n/en-US/components/settings/index.js +0 -14
  329. package/lib/i18n/en-US/components/settings/text_editor.d.ts +0 -8
  330. package/lib/i18n/en-US/components/settings/text_editor.js +0 -9
  331. package/lib/i18n/en-US/components/settings/user_upload.d.ts +0 -12
  332. package/lib/i18n/en-US/components/settings/user_upload.js +0 -13
  333. package/lib/i18n/en-US/components/settings/video.d.ts +0 -13
  334. package/lib/i18n/en-US/components/settings/video.js +0 -14
  335. package/lib/i18n/en-US/components/utils/index.d.ts +0 -15
  336. package/lib/i18n/en-US/components/utils/index.js +0 -6
  337. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +0 -13
  338. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +0 -14
  339. package/lib/i18n/en-US/index.d.ts +0 -197
  340. package/lib/i18n/en-US/index.js +0 -16
  341. package/lib/i18n/en-US/modules/index.d.ts +0 -2
  342. package/lib/i18n/en-US/modules/index.js +0 -6
  343. package/lib/i18n/en-US/pages/glossary.d.ts +0 -8
  344. package/lib/i18n/en-US/pages/glossary.js +0 -9
  345. package/lib/i18n/en-US/pages/index.d.ts +0 -13
  346. package/lib/i18n/en-US/pages/index.js +0 -8
  347. package/lib/i18n/en-US/pages/user_upload.d.ts +0 -4
  348. package/lib/i18n/en-US/pages/user_upload.js +0 -5
  349. package/lib/i18n/en-US/shared/content_blocks.d.ts +0 -20
  350. package/lib/i18n/en-US/shared/content_blocks.js +0 -21
  351. package/lib/i18n/en-US/shared/index.d.ts +0 -39
  352. package/lib/i18n/en-US/shared/index.js +0 -10
  353. package/lib/i18n/en-US/shared/menu.d.ts +0 -4
  354. package/lib/i18n/en-US/shared/menu.js +0 -5
  355. package/lib/i18n/en-US/shared/settings.d.ts +0 -15
  356. package/lib/i18n/en-US/shared/settings.js +0 -16
  357. package/lib/i18n/en-US.d.ts +0 -197
  358. package/lib/i18n/en-US.js +0 -15
  359. package/lib/models/UserFileAsset.d.ts +0 -5
  360. package/lib/models/UserFileAsset.js +0 -37
  361. package/table_styling.scss +0 -58
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## Release [0.20.0] - 2025-07-01
4
+
5
+ * Merge remote-tracking branch 'origin/release/0.20.0' into release/0.20.0
6
+ * Merge remote-tracking branch 'origin/release/0.20.0' into release/0.20.0
7
+ * Merged in feature/LE-1948/empty-bucket-localization-fix (pull request #397)
8
+ * Merged in LE-1911-email-block-to-cc-and-subject-te (pull request #395)
9
+ * Merged in bugfix/LE-1928-user-upload-allowed-file-types (pull request #391)
10
+ * Merged in bugfix/LE-1941-divider-dashed-line-renders-soli (pull request #396)
11
+ * Merged in feature/LE-1948/empty-bucket (pull request #393)
12
+ * Merged in feature/LE-1906-ai-assistant-button-text (pull request #394)
13
+ * Merged in bugfix/LE-1739-email-block-to-cc-and-subject-te (pull request #392)
14
+ * Merged in bugfix/LE-1917-student-experience-cleanup (pull request #386)
15
+ * Merged release/0.19.0 into bugfix/LE-1917-student-experience-cleanup
16
+
17
+
3
18
  ### Release [0.19.0] created - 2025-05-30
4
19
 
5
20
  ### Release [0.18.0] created - 2025-05-21
@@ -0,0 +1,35 @@
1
+ #!/bin/bash
2
+
3
+ # Checkout the release branch
4
+ git checkout master || exit 1
5
+ git pull origin master || exit 1
6
+
7
+ # Configure Git user for the current repository
8
+ git config user.email "commits-noreply@bitbucket.org"
9
+ git config user.name "bitbucket-pipelines"
10
+
11
+ # Extract version from the last merge commit message. Expecting `Merged in xx.xx.xx`
12
+ VERSION=$(basename "$(git log -1 --pretty=%B | grep -o -E "Merged in (release|hotfix)\/([0-9]+\.[0-9]+\.[0-9]+)")")
13
+
14
+ if [ -z "$VERSION" ]; then
15
+ echo "Error: Could not extract version from release branch name."
16
+ exit 1
17
+ fi
18
+
19
+ echo "Running auto-rc-tag delete for version $VERSION"
20
+
21
+ # Delete all rc tags for the version
22
+ rc_tags=$(git tag --list "$VERSION-rc*")
23
+
24
+ if [ -n "$rc_tags" ]; then
25
+ echo "Deleting rc tags for version $VERSION..."
26
+ for tag in $rc_tags; do
27
+ git tag -d "$tag"
28
+ git push origin ":refs/tags/$tag"
29
+ done
30
+ echo "All rc tags for version $VERSION have been deleted."
31
+ else
32
+ echo "No rc tags found for version $VERSION."
33
+ fi
34
+
35
+ exit 0
@@ -0,0 +1,48 @@
1
+ #!/bin/bash
2
+
3
+ # Checkout the release branch
4
+ git checkout master || exit 1
5
+ git pull origin master || exit 1
6
+
7
+ # Configure Git user for the current repository
8
+ git config user.email "commits-noreply@bitbucket.org"
9
+ git config user.name "bitbucket-pipelines"
10
+
11
+ # Extract version from the last merge commit message. Expecting `Merged in xx.xx.xx`
12
+ VERSION=$(basename "$(git log -1 --pretty=%B | grep -o -E "Merged in (release|hotfix)\/([0-9]+\.[0-9]+\.[0-9]+)")")
13
+
14
+ if [ -z "$VERSION" ]; then
15
+ echo "Error: Could not extract version from release branch name."
16
+ exit 1
17
+ fi
18
+
19
+ echo "Running auto-tag for version $VERSION"
20
+
21
+
22
+ # Fetch the latest state of the repository
23
+ git fetch origin
24
+
25
+ # Get the latest commit on master branch
26
+ LATEST_MASTER_COMMIT=$(git rev-parse origin/master)
27
+ if [ $? -ne 0 ]; then
28
+ echo "Error: Failed to get the latest commit on master"
29
+ exit 1
30
+ fi
31
+
32
+ # Apply the tag to the latest master commit
33
+ git tag -a "$VERSION" -m "Tagging $VERSION" "$LATEST_MASTER_COMMIT"
34
+ if [ $? -ne 0 ]; then
35
+ echo "Error: Failed to tag the commit $LATEST_MASTER_COMMIT with tag $VERSION"
36
+ exit 1
37
+ fi
38
+
39
+ # Push the tag to the repository
40
+ git push origin "$VERSION"
41
+ if [ $? -ne 0 ]; then
42
+ echo "Error: Failed to push the tag $VERSION"
43
+ exit 1
44
+ fi
45
+
46
+ echo "Tag $VERSION successfully applied to commit $LATEST_MASTER_COMMIT and pushed to repository."
47
+
48
+ exit 0
@@ -19,4 +19,6 @@ pipelines:
19
19
  "release/*":
20
20
  import: infrastructure-automation:master:auto-update
21
21
  "hotfix/*":
22
- import: infrastructure-automation:master:auto-update
22
+ import: infrastructure-automation:master:auto-update
23
+ master:
24
+ import: infrastructure-automation:master:auto-publish-release
@@ -7,13 +7,7 @@
7
7
  "
8
8
  >
9
9
  <v-col cols="12" class="pa-0">
10
- <h2
11
- v-if="
12
- block.metadata.config.title &&
13
- block.metadata.config.display_title
14
- "
15
- tabindex="0"
16
- >
10
+ <h2 v-if="block.metadata.config.title" tabindex="0">
17
11
  {{ block.metadata.config.title }}
18
12
  </h2>
19
13
  <p
@@ -27,8 +21,8 @@
27
21
  </v-row>
28
22
  <v-row>
29
23
  <v-expansion-panels
30
- :key="expansionPanelKey"
31
24
  v-model="selectedPanels"
25
+ :key="expansionPanelKey"
32
26
  accordion
33
27
  >
34
28
  <v-container
@@ -130,23 +124,24 @@
130
124
  ></v-col>
131
125
  <v-col
132
126
  class="div-details"
133
- v-if="item.to || item.cc"
127
+ :style="{ color: detailsTextColor }"
128
+ v-if="item.to || item.cc || item.subject"
134
129
  >
135
- <div class="div-details-to">
130
+ <div v-if="item.to" class="div-details-to">
136
131
  {{
137
132
  $t(
138
133
  'windward.core.components.content.blocks.email.to'
139
134
  )
140
135
  }}: {{ item.to }}
141
136
  </div>
142
- <div class="div-details-cc">
137
+ <div v-if="item.cc" class="div-details-cc">
143
138
  {{
144
139
  $t(
145
140
  'windward.core.components.content.blocks.email.cc'
146
141
  )
147
142
  }}: {{ item.cc }}
148
143
  </div>
149
- <div class="div-details-cc">
144
+ <div v-if="item.subject" class="div-details-subject">
150
145
  {{
151
146
  $t(
152
147
  'windward.core.components.content.blocks.email.subject'
@@ -279,6 +274,16 @@ export default {
279
274
  selectedPanels: 0,
280
275
  }
281
276
  },
277
+ computed: {
278
+ detailsTextColor() {
279
+ // Use a different AAA compliant color based on the theme
280
+ if (this.$vuetify.theme.dark) {
281
+ return '#A8A8A8'
282
+ } else {
283
+ return '#595959'
284
+ }
285
+ },
286
+ },
282
287
  watch: {
283
288
  render(newValue) {
284
289
  if (newValue) {
@@ -338,12 +343,12 @@ export default {
338
343
  font-size: 12px;
339
344
  }
340
345
  .div-details {
341
- color: grey;
342
- font-size: 10px;
346
+ font-size: 14px;
343
347
  margin-top: -25px;
344
348
  }
345
- .div-details-cc {
346
- margin-top: -9px;
349
+ .div-details-cc,
350
+ .div-details-subject {
351
+ margin-top: -5px;
347
352
  }
348
353
  .span-details {
349
354
  font-weight: bold;
@@ -43,9 +43,11 @@ export default {
43
43
  </script>
44
44
  <style>
45
45
  .solid {
46
+ border: none;
46
47
  border-bottom: solid 1px var(--v-primary-base);
47
48
  }
48
49
  .dashed {
50
+ border: none;
49
51
  border-bottom: dashed 1px var(--v-primary-base);
50
52
  }
51
53
  </style>
@@ -35,7 +35,7 @@
35
35
  :enrollment="enrollment"
36
36
  ></DisplayUserFilesTable>
37
37
  </v-col>
38
- <v-col cols="12" v-if="showUpload">
38
+ <v-col v-if="showUpload" cols="12">
39
39
  <div v-if="blockExists">
40
40
  <v-form
41
41
  ref="form"
@@ -76,59 +76,23 @@
76
76
  <script>
77
77
  import _ from 'lodash'
78
78
  import { mapGetters } from 'vuex'
79
- import TextViewer from '~/components/Text/TextViewer'
80
- import TextEditor from '~/components/Text/TextEditor'
81
79
  import Uuid from '~/helpers/Uuid'
82
80
  import Download from '~/helpers/Download'
83
-
84
- import UserFileAsset from '../../../models/UserFileAsset'
85
81
  import Enrollment from '~/models/Enrollment'
86
82
  import ContentBlock from '~/models/ContentBlock'
87
83
  import BaseContentBlock from '~/components/Content/Blocks/BaseContentBlock'
88
84
  import FileDropZone from '~/components/Core/FileDropZone.vue'
85
+ import UserFileAsset from '../../../models/UserFileAsset'
89
86
 
90
87
  import DisplayUserFilesTable from './UserUpload/DisplayUserFilesTable.vue'
91
88
 
92
89
  export default {
93
90
  name: 'UserUpload',
94
91
  components: {
95
- TextEditor,
96
- TextViewer,
97
92
  FileDropZone,
98
93
  DisplayUserFilesTable,
99
94
  },
100
95
  extends: BaseContentBlock,
101
- beforeMount() {
102
- if (_.isEmpty(this.block)) {
103
- this.block = {}
104
- }
105
- // Default the instructions to collapsed
106
- this.block.__expandInstructions = false
107
-
108
- if (_.isEmpty(this.block.body)) {
109
- this.block.body = this.$t(
110
- 'windward.core.shared.content_blocks.title.user_upload'
111
- )
112
- }
113
- if (_.isEmpty(this.block.metadata)) {
114
- this.block.metadata = {}
115
- }
116
- if (_.isEmpty(this.block.metadata.config)) {
117
- this.block.metadata.config = {}
118
- }
119
- if (!_.isBoolean(this.block.metadata.config.display_title)) {
120
- this.$set(this.block.metadata.config, 'display_title', true)
121
- }
122
- if (_.isEmpty(this.block.metadata.config.instructions)) {
123
- this.block.metadata.config.instructions = ''
124
- }
125
- if (_.isEmpty(this.block.metadata.config.uploadSettings)) {
126
- this.block.metadata.config.uploadSettings = {
127
- multiple: false,
128
- accept: '',
129
- }
130
- }
131
- },
132
96
  data() {
133
97
  return {
134
98
  Download,
@@ -201,6 +165,37 @@ export default {
201
165
  }
202
166
  },
203
167
  },
168
+ beforeMount() {
169
+ if (_.isEmpty(this.block)) {
170
+ this.block = {}
171
+ }
172
+ // Default the instructions to collapsed
173
+ this.block.__expandInstructions = false
174
+
175
+ if (_.isEmpty(this.block.body)) {
176
+ this.block.body = this.$t(
177
+ 'windward.core.shared.content_blocks.title.user_upload'
178
+ )
179
+ }
180
+ if (_.isEmpty(this.block.metadata)) {
181
+ this.block.metadata = {}
182
+ }
183
+ if (_.isEmpty(this.block.metadata.config)) {
184
+ this.block.metadata.config = {}
185
+ }
186
+ if (!_.isBoolean(this.block.metadata.config.display_title)) {
187
+ this.$set(this.block.metadata.config, 'display_title', true)
188
+ }
189
+ if (_.isEmpty(this.block.metadata.config.instructions)) {
190
+ this.block.metadata.config.instructions = ''
191
+ }
192
+ if (_.isEmpty(this.block.metadata.config.uploadSettings)) {
193
+ this.block.metadata.config.uploadSettings = {
194
+ multiple: false,
195
+ accept: '',
196
+ }
197
+ }
198
+ },
204
199
  mounted() {
205
200
  if (this.blockExists) {
206
201
  this.loadUserUploads()
@@ -10,7 +10,13 @@
10
10
  <template #form="{ on, attrs }">
11
11
  <div v-bind="attrs" v-on="on">
12
12
  <v-alert
13
- v-if="!$ContextService.courseInSourceOrganization()"
13
+ v-if="
14
+ !$ContextService.courseInSourceOrganization() &&
15
+ $PermissionService.userHasAccessTo(
16
+ 'plugin.windward.core.organization.course.glossary',
17
+ 'writable'
18
+ )
19
+ "
14
20
  type="warning"
15
21
  >
16
22
  {{
@@ -23,11 +23,11 @@
23
23
  'windward.core.shared.settings.title.click_to_enter'
24
24
  )
25
25
  }}</template>
26
- <template #body="{ item, index }">
26
+ <template #body="{ index }">
27
27
  <v-container :key="expansionPanelKey">
28
28
  <v-text-field
29
29
  v-model="block.metadata.config.emails[index].from"
30
- :rules="$Validation.getRule('shortInput')"
30
+ :rules="getFromRules()"
31
31
  :counter="$Validation.getLimit('shortInput')"
32
32
  outlined
33
33
  :label="
@@ -36,20 +36,22 @@
36
36
  )
37
37
  "
38
38
  :disabled="render"
39
+ required
39
40
  ></v-text-field>
40
41
  <v-text-field
41
42
  v-model="block.metadata.config.emails[index].to"
42
- :rules="$Validation.getRule('shortInput')"
43
+ :rules="getToRules()"
43
44
  :counter="$Validation.getLimit('shortInput')"
44
45
  outlined
45
46
  :label="
46
47
  $t('windward.core.components.settings.email.to')
47
48
  "
48
49
  :disabled="render"
50
+ required
49
51
  ></v-text-field>
50
52
  <v-text-field
51
53
  v-model="block.metadata.config.emails[index].cc"
52
- :rules="$Validation.getRule('shortInput')"
54
+ :rules="getCcRules()"
53
55
  :counter="$Validation.getLimit('shortInput')"
54
56
  outlined
55
57
  :label="
@@ -61,7 +63,7 @@
61
63
  v-model="
62
64
  block.metadata.config.emails[index].subject
63
65
  "
64
- :rules="$Validation.getRule('shortInput')"
66
+ :rules="getSubjectRules()"
65
67
  :counter="$Validation.getLimit('shortInput')"
66
68
  outlined
67
69
  :label="
@@ -70,6 +72,7 @@
70
72
  )
71
73
  "
72
74
  :disabled="render"
75
+ required
73
76
  ></v-text-field>
74
77
  <v-btn
75
78
  class="mb-4"
@@ -249,9 +252,31 @@ export default {
249
252
  onDragged() {
250
253
  // need to remount body after dragged to update the content body on the element
251
254
  this.expansionPanelKey = Crypto.id()
252
- //close all panels on drag, leaving them open confuses the tracking as indexes changes around
255
+ // close all panels on drag, leaving them open confuses the tracking as indexes changes around
253
256
  this.block.metadata.config.selectedPanels = null
254
257
  },
258
+ getFromRules() {
259
+ return [
260
+ ...this.$Validation.getRule('shortInput'),
261
+ ...this.$Validation.getRule('exists'),
262
+ ]
263
+ },
264
+ getToRules() {
265
+ return [
266
+ ...this.$Validation.getRule('shortInput'),
267
+ ...this.$Validation.getRule('exists'),
268
+ ]
269
+ },
270
+ getCcRules() {
271
+ // CC field is not required, so only apply length validation
272
+ return this.$Validation.getRule('shortInput')
273
+ },
274
+ getSubjectRules() {
275
+ return [
276
+ ...this.$Validation.getRule('shortInput'),
277
+ ...this.$Validation.getRule('exists'),
278
+ ]
279
+ },
255
280
  },
256
281
  }
257
282
  </script>
@@ -35,50 +35,11 @@ import BaseContentSettings from '~/components/Content/Settings/BaseContentSettin
35
35
  import _ from 'lodash'
36
36
  import Uuid from '~/helpers/Uuid'
37
37
  import BaseContentBlockSettings from '~/components/Content/Settings/BaseContentBlockSettings.vue'
38
- import TextEditor from '~/components/Text/TextEditor'
39
38
 
40
39
  export default {
41
40
  name: 'UserUploadSettings',
42
- components: { TextEditor, BaseContentBlockSettings },
41
+ components: { BaseContentBlockSettings },
43
42
  extends: BaseContentSettings,
44
- beforeMount() {
45
- if (_.isEmpty(this.block)) {
46
- this.block = {}
47
- }
48
-
49
- if (_.isEmpty(this.block.body)) {
50
- this.block.body = this.$t(
51
- 'windward.core.shared.content_blocks.title.user_upload'
52
- )
53
- }
54
- if (_.isEmpty(this.block.metadata)) {
55
- this.block.metadata = {}
56
- }
57
- if (_.isEmpty(this.block.metadata.config)) {
58
- this.block.metadata.config = {}
59
- }
60
- if (_.isEmpty(this.block.metadata.config.title)) {
61
- this.block.metadata.config.title = ''
62
- }
63
- if (!_.isBoolean(this.block.metadata.config.display_title)) {
64
- this.$set(this.block.metadata.config, 'display_title', true)
65
- }
66
- if (
67
- _.isEmpty(this.block.metadata.config.instructions) &&
68
- this.block.id &&
69
- !Uuid.test(this.block.id)
70
- ) {
71
- this.block.metadata.config.instructions = this.$t(
72
- 'windward.core.components.settings.user_upload.instructions'
73
- )
74
- }
75
- if (_.isEmpty(this.block.metadata.config.uploadSettings)) {
76
- this.block.metadata.config.uploadSettings = {
77
- multiple: false,
78
- accept: '',
79
- }
80
- }
81
- },
82
43
  data() {
83
44
  return {
84
45
  valid: true,
@@ -89,7 +50,7 @@ export default {
89
50
  name: this.$t(
90
51
  'windward.core.components.settings.user_upload.types.all'
91
52
  ),
92
- value: '*',
53
+ value: 'image/jpeg,image/gif,image/png,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/zip',
93
54
  },
94
55
  {
95
56
  name: this.$t(
@@ -123,6 +84,44 @@ export default {
123
84
  },
124
85
  }
125
86
  },
87
+ beforeMount() {
88
+ if (_.isEmpty(this.block)) {
89
+ this.block = {}
90
+ }
91
+
92
+ if (_.isEmpty(this.block.body)) {
93
+ this.block.body = this.$t(
94
+ 'windward.core.shared.content_blocks.title.user_upload'
95
+ )
96
+ }
97
+ if (_.isEmpty(this.block.metadata)) {
98
+ this.block.metadata = {}
99
+ }
100
+ if (_.isEmpty(this.block.metadata.config)) {
101
+ this.block.metadata.config = {}
102
+ }
103
+ if (_.isEmpty(this.block.metadata.config.title)) {
104
+ this.block.metadata.config.title = ''
105
+ }
106
+ if (!_.isBoolean(this.block.metadata.config.display_title)) {
107
+ this.$set(this.block.metadata.config, 'display_title', true)
108
+ }
109
+ if (
110
+ _.isEmpty(this.block.metadata.config.instructions) &&
111
+ this.block.id &&
112
+ !Uuid.test(this.block.id)
113
+ ) {
114
+ this.block.metadata.config.instructions = this.$t(
115
+ 'windward.core.components.settings.user_upload.instructions'
116
+ )
117
+ }
118
+ if (_.isEmpty(this.block.metadata.config.uploadSettings)) {
119
+ this.block.metadata.config.uploadSettings = {
120
+ multiple: false,
121
+ accept: '',
122
+ }
123
+ }
124
+ },
126
125
  mounted() {},
127
126
  beforeDestroy() {
128
127
  if (this.debouncer) {
@@ -30,7 +30,7 @@
30
30
  item-text="text"
31
31
  class="btn-selector"
32
32
  outlined
33
- hide-details
33
+ :hide-details="!isBucketGameType"
34
34
  dense
35
35
  :label="
36
36
  $t(
@@ -39,9 +39,12 @@
39
39
  "
40
40
  return-object
41
41
  ></v-select>
42
+ <div v-if="isBucketGameType" class="text-caption mt-1">
43
+ {{ $t('windward.core.components.content.blocks.generate_questions.replaces_content') }}
44
+ </div>
42
45
  </v-col>
43
46
  <v-col
44
- v-if="isFlashcardType || isBucketGameType"
47
+ v-if="isFlashcardType"
45
48
  cols="auto"
46
49
  class="d-flex align-center"
47
50
  >
@@ -67,11 +70,7 @@
67
70
  <v-icon v-if="!isLoading" class="pr-1"
68
71
  >mdi-magic-staff</v-icon
69
72
  >
70
- {{
71
- $t(
72
- 'windward.core.components.content.blocks.generate_questions.button_label'
73
- )
74
- }}
73
+ {{ buttonLabel }}
75
74
  <template v-slot:loader>
76
75
  <v-progress-circular
77
76
  indeterminate
@@ -112,7 +111,7 @@ export default {
112
111
  'windward.core.components.content.blocks.generate_questions.blooms.none'
113
112
  ),
114
113
  },
115
- replaceExisting: this.replaceExistingMode,
114
+ replaceExisting: this.questionType === 'bucket_game' ? true : this.replaceExistingMode,
116
115
  }
117
116
  },
118
117
  computed: {
@@ -219,6 +218,21 @@ export default {
219
218
  }
220
219
  return basicBloomTaxonomy
221
220
  },
221
+ buttonLabel() {
222
+ if (this.questionType === 'flashcard') {
223
+ return this.$t(
224
+ 'windward.core.components.content.blocks.generate_questions.button_label_flashcard'
225
+ )
226
+ } else if (this.questionType === 'bucket_game') {
227
+ return this.$t(
228
+ 'windward.core.components.content.blocks.generate_questions.button_label_bucket_game'
229
+ )
230
+ } else {
231
+ return this.$t(
232
+ 'windward.core.components.content.blocks.generate_questions.button_label'
233
+ )
234
+ }
235
+ },
222
236
  },
223
237
  methods: {
224
238
  async generateAIQuestion() {
@@ -322,11 +336,11 @@ export default {
322
336
  activityData.metadata.config.bucket_titles &&
323
337
  activityData.metadata.config.bucket_answers
324
338
  ) {
325
- // We pass the activity data and the replace flag to the parent component
339
+ // For bucket games, always use replace mode
326
340
  this.$emit(
327
341
  'click:generate',
328
342
  activityData,
329
- this.replaceExisting
343
+ true
330
344
  )
331
345
  } else {
332
346
  throw new Error(
@@ -415,3 +429,5 @@ export default {
415
429
  border-radius: 15px;
416
430
  }
417
431
  </style>
432
+ }
433
+ </style>
@@ -25,6 +25,8 @@ export default {
25
25
  'Something went wrong on our end. Please try again or contact support if this continues. Reference code: [ERROR_CODE]',
26
26
  },
27
27
  button_label: 'Generate Question',
28
+ button_label_flashcard: 'Generate Flashcards',
29
+ button_label_bucket_game: 'Generate Buckets',
28
30
  selected_pages: 'Selected Page',
29
31
  ai_assistance: 'AI Assistance',
30
32
  blooms: {
@@ -36,4 +38,5 @@ export default {
36
38
  analyze: 'Analyze',
37
39
  evaluate: 'Evaluate',
38
40
  },
41
+ replaces_content: 'Replaces current block content.',
39
42
  }
@@ -7,4 +7,7 @@ export default {
7
7
  cc: 'CC',
8
8
  body: 'Email Body',
9
9
  placeholder: 'Email body text',
10
+ from_required: 'From field is required',
11
+ to_required: 'To field is required',
12
+ subject_required: 'Subject field is required',
10
13
  }
@@ -28,6 +28,8 @@ export default {
28
28
  'Algo salió mal. Inténtalo de nuevo o ponte en contacto con el servicio de asistencia si el problema persiste.',
29
29
  },
30
30
  button_label: 'Generar pregunta',
31
+ button_label_flashcard: 'Generar tarjetas',
32
+ button_label_bucket_game: 'Generar categorías',
31
33
  selected_pages: 'Página seleccionada',
32
34
  ai_assistance: 'Asistencia de IA',
33
35
  blooms: {
@@ -39,4 +41,5 @@ export default {
39
41
  analyze: 'Analizar',
40
42
  evaluate: 'Evaluar',
41
43
  },
44
+ replaces_content: 'Reemplaza el contenido del bloque actual.',
42
45
  }
@@ -7,4 +7,7 @@ export default {
7
7
  cc: 'CC',
8
8
  body: 'Cuerpo del correo electrónico',
9
9
  placeholder: 'Texto del cuerpo del correo electrónico',
10
+ from_required: 'El campo De es obligatorio',
11
+ to_required: 'El campo Para es obligatorio',
12
+ subject_required: 'El campo Asunto es obligatorio',
10
13
  }