@windward/core 0.19.0 → 0.21.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 (383) hide show
  1. package/CHANGELOG.md +37 -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/ClickableIcons.vue +113 -116
  6. package/components/Content/Blocks/Email.vue +21 -16
  7. package/components/Content/Blocks/HorizontalRule.vue +2 -0
  8. package/components/Content/Blocks/OpenResponseCollate.vue +30 -15
  9. package/components/Content/Blocks/UserUpload.vue +33 -38
  10. package/components/Content/Blocks/Video.vue +67 -40
  11. package/components/Navigation/Items/CourseGlossaryToolNav.vue +7 -1
  12. package/components/Settings/EmailSettings.vue +31 -6
  13. package/components/Settings/OpenResponseCollateSettings.vue +48 -16
  14. package/components/Settings/UserUploadSettings.vue +107 -48
  15. package/components/utils/FillInBlank/FillInBlankInput.vue +24 -1
  16. package/components/utils/FillInBlank/FillInTheBlanksManager.vue +5 -0
  17. package/components/utils/GenerateAIQuestionButton.vue +174 -18
  18. package/components/utils/TinyMCEWrapper.vue +8 -3
  19. package/i18n/en-US/components/content/blocks/generate_questions.ts +13 -0
  20. package/i18n/en-US/components/settings/email.ts +3 -0
  21. package/i18n/en-US/components/settings/open_response_collate.ts +2 -2
  22. package/i18n/en-US/components/settings/user_upload.ts +6 -4
  23. package/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts +1 -0
  24. package/i18n/en-US/components/utils/FillInBlank/FillInTheBlanksManager.ts +1 -0
  25. package/i18n/en-US/shared/settings.ts +2 -0
  26. package/i18n/es-ES/components/content/blocks/generate_questions.ts +13 -0
  27. package/i18n/es-ES/components/settings/email.ts +3 -0
  28. package/i18n/es-ES/components/settings/open_response_collate.ts +1 -0
  29. package/i18n/es-ES/components/settings/user_upload.ts +6 -4
  30. package/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts +4 -3
  31. package/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts +2 -1
  32. package/i18n/es-ES/shared/settings.ts +2 -0
  33. package/i18n/sv-SE/components/content/blocks/generate_questions.ts +13 -0
  34. package/i18n/sv-SE/components/settings/email.ts +5 -2
  35. package/i18n/sv-SE/components/settings/open_response_collate.ts +2 -0
  36. package/i18n/sv-SE/components/settings/user_upload.ts +7 -5
  37. package/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts +6 -5
  38. package/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts +5 -4
  39. package/i18n/sv-SE/shared/settings.ts +2 -0
  40. package/package.json +1 -1
  41. package/.idea/codeStyles/Project.xml +0 -58
  42. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  43. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  44. package/.idea/misc.xml +0 -6
  45. package/.idea/modules.xml +0 -8
  46. package/.idea/php-docker-settings.xml +0 -24
  47. package/.idea/php.xml +0 -19
  48. package/.idea/vcs.xml +0 -6
  49. package/.idea/watcherTasks.xml +0 -4
  50. package/.idea/windward-ui-plugin-core.iml +0 -8
  51. package/config/menu.config.json +0 -475
  52. package/coverage/clover.xml +0 -1474
  53. package/coverage/coverage-final.json +0 -199
  54. package/coverage/lcov-report/base.css +0 -224
  55. package/coverage/lcov-report/block-navigation.js +0 -87
  56. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +0 -772
  57. package/coverage/lcov-report/components/Content/Blocks/BlockQuote.vue.html +0 -625
  58. package/coverage/lcov-report/components/Content/Blocks/ClickableIcons.vue.html +0 -979
  59. package/coverage/lcov-report/components/Content/Blocks/Email.vue.html +0 -1171
  60. package/coverage/lcov-report/components/Content/Blocks/Feedback.vue.html +0 -1075
  61. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileLinks.vue.html +0 -331
  62. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileTable.vue.html +0 -403
  63. package/coverage/lcov-report/components/Content/Blocks/FileDownload/index.html +0 -131
  64. package/coverage/lcov-report/components/Content/Blocks/FileDownload.vue.html +0 -514
  65. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +0 -211
  66. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +0 -352
  67. package/coverage/lcov-report/components/Content/Blocks/OpenResponse.vue.html +0 -667
  68. package/coverage/lcov-report/components/Content/Blocks/OpenResponseCollate.vue.html +0 -643
  69. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +0 -295
  70. package/coverage/lcov-report/components/Content/Blocks/ScenarioChoice.vue.html +0 -976
  71. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +0 -445
  72. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +0 -667
  73. package/coverage/lcov-report/components/Content/Blocks/UserUpload/DisplayUserFilesTable.vue.html +0 -562
  74. package/coverage/lcov-report/components/Content/Blocks/UserUpload/index.html +0 -116
  75. package/coverage/lcov-report/components/Content/Blocks/UserUpload.vue.html +0 -844
  76. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +0 -1225
  77. package/coverage/lcov-report/components/Content/Blocks/index.html +0 -311
  78. package/coverage/lcov-report/components/Settings/AccordionSettings.vue.html +0 -961
  79. package/coverage/lcov-report/components/Settings/BlockQuoteSettings.vue.html +0 -673
  80. package/coverage/lcov-report/components/Settings/ClickableIconsSettings.vue.html +0 -1144
  81. package/coverage/lcov-report/components/Settings/EmailSettings.vue.html +0 -901
  82. package/coverage/lcov-report/components/Settings/FeedbackSettings.vue.html +0 -373
  83. package/coverage/lcov-report/components/Settings/FileDownloadSettings.vue.html +0 -607
  84. package/coverage/lcov-report/components/Settings/ImageSettings.vue.html +0 -310
  85. package/coverage/lcov-report/components/Settings/MathSettings.vue.html +0 -337
  86. package/coverage/lcov-report/components/Settings/OpenResponseCollateSettings.vue.html +0 -586
  87. package/coverage/lcov-report/components/Settings/OpenResponseSettings.vue.html +0 -415
  88. package/coverage/lcov-report/components/Settings/ScenarioChoiceSettings.vue.html +0 -1183
  89. package/coverage/lcov-report/components/Settings/TabSettings.vue.html +0 -751
  90. package/coverage/lcov-report/components/Settings/UserUploadSettings.vue.html +0 -535
  91. package/coverage/lcov-report/components/Settings/index.html +0 -296
  92. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +0 -199
  93. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +0 -1120
  94. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +0 -415
  95. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +0 -271
  96. package/coverage/lcov-report/components/utils/index.html +0 -131
  97. package/coverage/lcov-report/config/index.html +0 -116
  98. package/coverage/lcov-report/config/tinymce.config.js.html +0 -493
  99. package/coverage/lcov-report/config/tinymce.config.ts.html +0 -1051
  100. package/coverage/lcov-report/favicon.png +0 -0
  101. package/coverage/lcov-report/helpers/GlossaryHelper.ts.html +0 -577
  102. package/coverage/lcov-report/helpers/GlossaryTerm.ts.html +0 -178
  103. package/coverage/lcov-report/helpers/MathHelper.ts.html +0 -1033
  104. package/coverage/lcov-report/helpers/index.html +0 -146
  105. package/coverage/lcov-report/helpers/tinymce/index.html +0 -116
  106. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +0 -334
  107. package/coverage/lcov-report/i18n/en-US/components/content/blocks/block_quote.ts.html +0 -94
  108. package/coverage/lcov-report/i18n/en-US/components/content/blocks/email.ts.html +0 -127
  109. package/coverage/lcov-report/i18n/en-US/components/content/blocks/feedback.ts.html +0 -178
  110. package/coverage/lcov-report/i18n/en-US/components/content/blocks/file_download.ts.html +0 -100
  111. package/coverage/lcov-report/i18n/en-US/components/content/blocks/generate_questions.ts.html +0 -100
  112. package/coverage/lcov-report/i18n/en-US/components/content/blocks/image.ts.html +0 -100
  113. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.html +0 -296
  114. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.ts.html +0 -166
  115. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response.ts.html +0 -100
  116. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response_collate.ts.html +0 -106
  117. package/coverage/lcov-report/i18n/en-US/components/content/blocks/scenario_choice.ts.html +0 -100
  118. package/coverage/lcov-report/i18n/en-US/components/content/blocks/table.ts.html +0 -97
  119. package/coverage/lcov-report/i18n/en-US/components/content/blocks/user_upload.ts.html +0 -115
  120. package/coverage/lcov-report/i18n/en-US/components/content/blocks/video.ts.html +0 -97
  121. package/coverage/lcov-report/i18n/en-US/components/content/index.html +0 -116
  122. package/coverage/lcov-report/i18n/en-US/components/content/index.ts.html +0 -100
  123. package/coverage/lcov-report/i18n/en-US/components/index.html +0 -116
  124. package/coverage/lcov-report/i18n/en-US/components/index.ts.html +0 -118
  125. package/coverage/lcov-report/i18n/en-US/components/navigation/ask_the_expert.ts.html +0 -118
  126. package/coverage/lcov-report/i18n/en-US/components/navigation/image.ts.html +0 -97
  127. package/coverage/lcov-report/i18n/en-US/components/navigation/index.html +0 -161
  128. package/coverage/lcov-report/i18n/en-US/components/navigation/index.ts.html +0 -112
  129. package/coverage/lcov-report/i18n/en-US/components/navigation/user_upload.ts.html +0 -94
  130. package/coverage/lcov-report/i18n/en-US/components/settings/accordion.ts.html +0 -106
  131. package/coverage/lcov-report/i18n/en-US/components/settings/block_quote.ts.html +0 -130
  132. package/coverage/lcov-report/i18n/en-US/components/settings/clickable_icon.ts.html +0 -142
  133. package/coverage/lcov-report/i18n/en-US/components/settings/email.ts.html +0 -115
  134. package/coverage/lcov-report/i18n/en-US/components/settings/file_download.ts.html +0 -109
  135. package/coverage/lcov-report/i18n/en-US/components/settings/horizontal_rule.ts.html +0 -94
  136. package/coverage/lcov-report/i18n/en-US/components/settings/image.ts.html +0 -142
  137. package/coverage/lcov-report/i18n/en-US/components/settings/index.html +0 -326
  138. package/coverage/lcov-report/i18n/en-US/components/settings/index.ts.html +0 -178
  139. package/coverage/lcov-report/i18n/en-US/components/settings/open_response.ts.html +0 -100
  140. package/coverage/lcov-report/i18n/en-US/components/settings/open_response_collate.ts.html +0 -103
  141. package/coverage/lcov-report/i18n/en-US/components/settings/scenario_choice.ts.html +0 -145
  142. package/coverage/lcov-report/i18n/en-US/components/settings/tab.ts.html +0 -109
  143. package/coverage/lcov-report/i18n/en-US/components/settings/text_editor.ts.html +0 -115
  144. package/coverage/lcov-report/i18n/en-US/components/settings/user_upload.ts.html +0 -121
  145. package/coverage/lcov-report/i18n/en-US/components/settings/video.ts.html +0 -277
  146. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  147. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  148. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.html +0 -146
  149. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.ts.html +0 -103
  150. package/coverage/lcov-report/i18n/en-US/components/utils/index.html +0 -146
  151. package/coverage/lcov-report/i18n/en-US/components/utils/index.ts.html +0 -109
  152. package/coverage/lcov-report/i18n/en-US/components/utils/math_expression_editor.ts.html +0 -130
  153. package/coverage/lcov-report/i18n/en-US/components/utils/tiny_mce_wrapper.ts.html +0 -175
  154. package/coverage/lcov-report/i18n/en-US/index.html +0 -116
  155. package/coverage/lcov-report/i18n/en-US/index.ts.html +0 -133
  156. package/coverage/lcov-report/i18n/en-US/modules/index.html +0 -116
  157. package/coverage/lcov-report/i18n/en-US/modules/index.ts.html +0 -100
  158. package/coverage/lcov-report/i18n/en-US/pages/glossary.ts.html +0 -106
  159. package/coverage/lcov-report/i18n/en-US/pages/index.html +0 -146
  160. package/coverage/lcov-report/i18n/en-US/pages/index.ts.html +0 -112
  161. package/coverage/lcov-report/i18n/en-US/pages/plugins/error.ts.html +0 -112
  162. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.html +0 -131
  163. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.ts.html +0 -100
  164. package/coverage/lcov-report/i18n/en-US/pages/user_upload.ts.html +0 -94
  165. package/coverage/lcov-report/i18n/en-US/shared/content_blocks.ts.html +0 -163
  166. package/coverage/lcov-report/i18n/en-US/shared/index.html +0 -176
  167. package/coverage/lcov-report/i18n/en-US/shared/index.ts.html +0 -118
  168. package/coverage/lcov-report/i18n/en-US/shared/menu.ts.html +0 -97
  169. package/coverage/lcov-report/i18n/en-US/shared/permission.ts.html +0 -130
  170. package/coverage/lcov-report/i18n/en-US/shared/settings.ts.html +0 -172
  171. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/block_quote.ts.html +0 -94
  172. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/email.ts.html +0 -127
  173. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/feedback.ts.html +0 -178
  174. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/file_download.ts.html +0 -100
  175. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/generate_questions.ts.html +0 -100
  176. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/image.ts.html +0 -100
  177. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.html +0 -296
  178. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.ts.html +0 -166
  179. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response.ts.html +0 -103
  180. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response_collate.ts.html +0 -106
  181. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/scenario_choice.ts.html +0 -103
  182. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/table.ts.html +0 -97
  183. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/user_upload.ts.html +0 -118
  184. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/video.ts.html +0 -100
  185. package/coverage/lcov-report/i18n/es-ES/components/content/index.html +0 -116
  186. package/coverage/lcov-report/i18n/es-ES/components/content/index.ts.html +0 -100
  187. package/coverage/lcov-report/i18n/es-ES/components/index.html +0 -116
  188. package/coverage/lcov-report/i18n/es-ES/components/index.ts.html +0 -121
  189. package/coverage/lcov-report/i18n/es-ES/components/navigation/ask_the_expert.ts.html +0 -118
  190. package/coverage/lcov-report/i18n/es-ES/components/navigation/image.ts.html +0 -97
  191. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.html +0 -161
  192. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.ts.html +0 -112
  193. package/coverage/lcov-report/i18n/es-ES/components/navigation/user_upload.ts.html +0 -94
  194. package/coverage/lcov-report/i18n/es-ES/components/settings/accordion.ts.html +0 -106
  195. package/coverage/lcov-report/i18n/es-ES/components/settings/block_quote.ts.html +0 -130
  196. package/coverage/lcov-report/i18n/es-ES/components/settings/clickable_icon.ts.html +0 -145
  197. package/coverage/lcov-report/i18n/es-ES/components/settings/email.ts.html +0 -115
  198. package/coverage/lcov-report/i18n/es-ES/components/settings/file_download.ts.html +0 -109
  199. package/coverage/lcov-report/i18n/es-ES/components/settings/horizontal_rule.ts.html +0 -94
  200. package/coverage/lcov-report/i18n/es-ES/components/settings/image.ts.html +0 -148
  201. package/coverage/lcov-report/i18n/es-ES/components/settings/index.html +0 -326
  202. package/coverage/lcov-report/i18n/es-ES/components/settings/index.ts.html +0 -178
  203. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response.ts.html +0 -100
  204. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response_collate.ts.html +0 -106
  205. package/coverage/lcov-report/i18n/es-ES/components/settings/scenario_choice.ts.html +0 -145
  206. package/coverage/lcov-report/i18n/es-ES/components/settings/tab.ts.html +0 -112
  207. package/coverage/lcov-report/i18n/es-ES/components/settings/text_editor.ts.html +0 -115
  208. package/coverage/lcov-report/i18n/es-ES/components/settings/user_upload.ts.html +0 -121
  209. package/coverage/lcov-report/i18n/es-ES/components/settings/video.ts.html +0 -283
  210. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  211. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  212. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.html +0 -146
  213. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.ts.html +0 -103
  214. package/coverage/lcov-report/i18n/es-ES/components/utils/index.html +0 -146
  215. package/coverage/lcov-report/i18n/es-ES/components/utils/index.ts.html +0 -109
  216. package/coverage/lcov-report/i18n/es-ES/components/utils/math_expression_editor.ts.html +0 -130
  217. package/coverage/lcov-report/i18n/es-ES/components/utils/tiny_mce_wrapper.ts.html +0 -178
  218. package/coverage/lcov-report/i18n/es-ES/index.html +0 -116
  219. package/coverage/lcov-report/i18n/es-ES/index.ts.html +0 -133
  220. package/coverage/lcov-report/i18n/es-ES/modules/index.html +0 -116
  221. package/coverage/lcov-report/i18n/es-ES/modules/index.ts.html +0 -100
  222. package/coverage/lcov-report/i18n/es-ES/pages/glossary.ts.html +0 -106
  223. package/coverage/lcov-report/i18n/es-ES/pages/index.html +0 -146
  224. package/coverage/lcov-report/i18n/es-ES/pages/index.ts.html +0 -112
  225. package/coverage/lcov-report/i18n/es-ES/pages/plugins/error.ts.html +0 -112
  226. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.html +0 -131
  227. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.ts.html +0 -100
  228. package/coverage/lcov-report/i18n/es-ES/pages/user_upload.ts.html +0 -94
  229. package/coverage/lcov-report/i18n/es-ES/shared/content_blocks.ts.html +0 -163
  230. package/coverage/lcov-report/i18n/es-ES/shared/index.html +0 -176
  231. package/coverage/lcov-report/i18n/es-ES/shared/index.ts.html +0 -118
  232. package/coverage/lcov-report/i18n/es-ES/shared/menu.ts.html +0 -97
  233. package/coverage/lcov-report/i18n/es-ES/shared/permission.ts.html +0 -130
  234. package/coverage/lcov-report/i18n/es-ES/shared/settings.ts.html +0 -178
  235. package/coverage/lcov-report/i18n/index.html +0 -116
  236. package/coverage/lcov-report/i18n/index.ts.html +0 -118
  237. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/block_quote.ts.html +0 -94
  238. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/email.ts.html +0 -127
  239. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/feedback.ts.html +0 -178
  240. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/file_download.ts.html +0 -100
  241. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/generate_questions.ts.html +0 -100
  242. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/image.ts.html +0 -100
  243. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.html +0 -296
  244. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.ts.html +0 -166
  245. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response.ts.html +0 -103
  246. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response_collate.ts.html +0 -106
  247. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/scenario_choice.ts.html +0 -100
  248. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/table.ts.html +0 -97
  249. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/user_upload.ts.html +0 -118
  250. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/video.ts.html +0 -97
  251. package/coverage/lcov-report/i18n/sv-SE/components/content/index.html +0 -116
  252. package/coverage/lcov-report/i18n/sv-SE/components/content/index.ts.html +0 -100
  253. package/coverage/lcov-report/i18n/sv-SE/components/index.html +0 -116
  254. package/coverage/lcov-report/i18n/sv-SE/components/index.ts.html +0 -121
  255. package/coverage/lcov-report/i18n/sv-SE/components/navigation/ask_the_expert.ts.html +0 -118
  256. package/coverage/lcov-report/i18n/sv-SE/components/navigation/image.ts.html +0 -97
  257. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.html +0 -161
  258. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.ts.html +0 -112
  259. package/coverage/lcov-report/i18n/sv-SE/components/navigation/user_upload.ts.html +0 -94
  260. package/coverage/lcov-report/i18n/sv-SE/components/settings/accordion.ts.html +0 -109
  261. package/coverage/lcov-report/i18n/sv-SE/components/settings/block_quote.ts.html +0 -130
  262. package/coverage/lcov-report/i18n/sv-SE/components/settings/clickable_icon.ts.html +0 -145
  263. package/coverage/lcov-report/i18n/sv-SE/components/settings/email.ts.html +0 -115
  264. package/coverage/lcov-report/i18n/sv-SE/components/settings/file_download.ts.html +0 -109
  265. package/coverage/lcov-report/i18n/sv-SE/components/settings/horizontal_rule.ts.html +0 -94
  266. package/coverage/lcov-report/i18n/sv-SE/components/settings/image.ts.html +0 -142
  267. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.html +0 -326
  268. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.ts.html +0 -178
  269. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response.ts.html +0 -100
  270. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response_collate.ts.html +0 -103
  271. package/coverage/lcov-report/i18n/sv-SE/components/settings/scenario_choice.ts.html +0 -145
  272. package/coverage/lcov-report/i18n/sv-SE/components/settings/tab.ts.html +0 -109
  273. package/coverage/lcov-report/i18n/sv-SE/components/settings/text_editor.ts.html +0 -115
  274. package/coverage/lcov-report/i18n/sv-SE/components/settings/user_upload.ts.html +0 -121
  275. package/coverage/lcov-report/i18n/sv-SE/components/settings/video.ts.html +0 -277
  276. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
  277. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
  278. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.html +0 -146
  279. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.ts.html +0 -103
  280. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.html +0 -146
  281. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.ts.html +0 -109
  282. package/coverage/lcov-report/i18n/sv-SE/components/utils/math_expression_editor.ts.html +0 -130
  283. package/coverage/lcov-report/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts.html +0 -178
  284. package/coverage/lcov-report/i18n/sv-SE/index.html +0 -116
  285. package/coverage/lcov-report/i18n/sv-SE/index.ts.html +0 -133
  286. package/coverage/lcov-report/i18n/sv-SE/modules/index.html +0 -116
  287. package/coverage/lcov-report/i18n/sv-SE/modules/index.ts.html +0 -100
  288. package/coverage/lcov-report/i18n/sv-SE/pages/glossary.ts.html +0 -106
  289. package/coverage/lcov-report/i18n/sv-SE/pages/index.html +0 -146
  290. package/coverage/lcov-report/i18n/sv-SE/pages/index.ts.html +0 -112
  291. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/error.ts.html +0 -109
  292. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.html +0 -131
  293. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.ts.html +0 -100
  294. package/coverage/lcov-report/i18n/sv-SE/pages/user_upload.ts.html +0 -94
  295. package/coverage/lcov-report/i18n/sv-SE/shared/content_blocks.ts.html +0 -163
  296. package/coverage/lcov-report/i18n/sv-SE/shared/index.html +0 -176
  297. package/coverage/lcov-report/i18n/sv-SE/shared/index.ts.html +0 -118
  298. package/coverage/lcov-report/i18n/sv-SE/shared/menu.ts.html +0 -97
  299. package/coverage/lcov-report/i18n/sv-SE/shared/permission.ts.html +0 -130
  300. package/coverage/lcov-report/i18n/sv-SE/shared/settings.ts.html +0 -172
  301. package/coverage/lcov-report/index.html +0 -806
  302. package/coverage/lcov-report/models/SurveyResult.ts.html +0 -109
  303. package/coverage/lcov-report/models/SurveyTemplate.ts.html +0 -109
  304. package/coverage/lcov-report/models/index.html +0 -131
  305. package/coverage/lcov-report/pages/plugins/tinymce/_plugin.vue.html +0 -322
  306. package/coverage/lcov-report/pages/plugins/tinymce/index.html +0 -116
  307. package/coverage/lcov-report/prettify.css +0 -1
  308. package/coverage/lcov-report/prettify.js +0 -2
  309. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  310. package/coverage/lcov-report/sorter.js +0 -196
  311. package/coverage/lcov-report/test/index.html +0 -131
  312. package/coverage/lcov-report/test/locales.js.html +0 -370
  313. package/coverage/lcov-report/test/mocks.js.html +0 -532
  314. package/coverage/lcov.info +0 -2753
  315. package/lib/helpers/GlossaryHelper.d.ts +0 -9
  316. package/lib/helpers/GlossaryHelper.js +0 -118
  317. package/lib/helpers/GlossaryTerm.d.ts +0 -10
  318. package/lib/helpers/GlossaryTerm.js +0 -22
  319. package/lib/helpers/MathHelper.d.ts +0 -99
  320. package/lib/helpers/MathHelper.js +0 -194
  321. package/lib/helpers/tinymce/plugin.d.ts +0 -2
  322. package/lib/helpers/tinymce/plugin.js +0 -86
  323. package/lib/i18n/en-US/components/content/blocks/image.d.ts +0 -6
  324. package/lib/i18n/en-US/components/content/blocks/image.js +0 -7
  325. package/lib/i18n/en-US/components/content/blocks/index.d.ts +0 -75
  326. package/lib/i18n/en-US/components/content/blocks/index.js +0 -14
  327. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +0 -5
  328. package/lib/i18n/en-US/components/content/blocks/tab.js +0 -6
  329. package/lib/i18n/en-US/components/content/blocks/table.d.ts +0 -5
  330. package/lib/i18n/en-US/components/content/blocks/table.js +0 -6
  331. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +0 -13
  332. package/lib/i18n/en-US/components/content/blocks/user_upload.js +0 -14
  333. package/lib/i18n/en-US/components/content/blocks/video.d.ts +0 -48
  334. package/lib/i18n/en-US/components/content/blocks/video.js +0 -49
  335. package/lib/i18n/en-US/components/content/index.d.ts +0 -77
  336. package/lib/i18n/en-US/components/content/index.js +0 -6
  337. package/lib/i18n/en-US/components/index.d.ts +0 -140
  338. package/lib/i18n/en-US/components/index.js +0 -12
  339. package/lib/i18n/en-US/components/navigation/image.d.ts +0 -5
  340. package/lib/i18n/en-US/components/navigation/image.js +0 -6
  341. package/lib/i18n/en-US/components/navigation/index.d.ts +0 -10
  342. package/lib/i18n/en-US/components/navigation/index.js +0 -8
  343. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +0 -4
  344. package/lib/i18n/en-US/components/navigation/user_upload.js +0 -5
  345. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +0 -6
  346. package/lib/i18n/en-US/components/settings/clickable_icon.js +0 -7
  347. package/lib/i18n/en-US/components/settings/image.d.ts +0 -2
  348. package/lib/i18n/en-US/components/settings/image.js +0 -3
  349. package/lib/i18n/en-US/components/settings/index.d.ts +0 -39
  350. package/lib/i18n/en-US/components/settings/index.js +0 -14
  351. package/lib/i18n/en-US/components/settings/text_editor.d.ts +0 -8
  352. package/lib/i18n/en-US/components/settings/text_editor.js +0 -9
  353. package/lib/i18n/en-US/components/settings/user_upload.d.ts +0 -12
  354. package/lib/i18n/en-US/components/settings/user_upload.js +0 -13
  355. package/lib/i18n/en-US/components/settings/video.d.ts +0 -13
  356. package/lib/i18n/en-US/components/settings/video.js +0 -14
  357. package/lib/i18n/en-US/components/utils/index.d.ts +0 -15
  358. package/lib/i18n/en-US/components/utils/index.js +0 -6
  359. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +0 -13
  360. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +0 -14
  361. package/lib/i18n/en-US/index.d.ts +0 -197
  362. package/lib/i18n/en-US/index.js +0 -16
  363. package/lib/i18n/en-US/modules/index.d.ts +0 -2
  364. package/lib/i18n/en-US/modules/index.js +0 -6
  365. package/lib/i18n/en-US/pages/glossary.d.ts +0 -8
  366. package/lib/i18n/en-US/pages/glossary.js +0 -9
  367. package/lib/i18n/en-US/pages/index.d.ts +0 -13
  368. package/lib/i18n/en-US/pages/index.js +0 -8
  369. package/lib/i18n/en-US/pages/user_upload.d.ts +0 -4
  370. package/lib/i18n/en-US/pages/user_upload.js +0 -5
  371. package/lib/i18n/en-US/shared/content_blocks.d.ts +0 -20
  372. package/lib/i18n/en-US/shared/content_blocks.js +0 -21
  373. package/lib/i18n/en-US/shared/index.d.ts +0 -39
  374. package/lib/i18n/en-US/shared/index.js +0 -10
  375. package/lib/i18n/en-US/shared/menu.d.ts +0 -4
  376. package/lib/i18n/en-US/shared/menu.js +0 -5
  377. package/lib/i18n/en-US/shared/settings.d.ts +0 -15
  378. package/lib/i18n/en-US/shared/settings.js +0 -16
  379. package/lib/i18n/en-US.d.ts +0 -197
  380. package/lib/i18n/en-US.js +0 -15
  381. package/lib/models/UserFileAsset.d.ts +0 -5
  382. package/lib/models/UserFileAsset.js +0 -37
  383. package/table_styling.scss +0 -58
@@ -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()
@@ -13,46 +13,48 @@
13
13
  {{ block.metadata.config.instructions }}
14
14
  </p>
15
15
 
16
- <VuetifyPlayer
17
- :language="$i18n && $i18n.locale ? $i18n.locale : 'en-US'"
18
- type="auto"
19
- :playlist="linkedPlaylist"
20
- :autoplay="block.metadata.config.attributes.autoplay"
21
- :autopictureinpicture="
22
- block.metadata.config.attributes.autopictureinpicture
23
- "
24
- :controls="block.metadata.config.attributes.controls"
25
- :controlslist="block.metadata.config.attributes.controlslist"
26
- :crossorigin="block.metadata.config.attributes.crossorigin"
27
- :disablepictureinpicture="
28
- block.metadata.config.attributes.disablepictureinpicture
29
- "
30
- :disableremoteplayback="
31
- block.metadata.config.attributes.disableremoteplayback
32
- "
33
- :height="block.metadata.config.attributes.height"
34
- :width="block.metadata.config.attributes.width"
35
- :rewind="block.metadata.config.attributes.rewind"
36
- :loop="block.metadata.config.attributes.loop"
37
- :muted="block.metadata.config.attributes.muted"
38
- :volume.sync="volume"
39
- :cc.sync="ccVisible"
40
- :playsinline="block.metadata.config.attributes.playsinline"
41
- :poster="linkedPosterPublicUrl"
42
- :preload="block.metadata.config.attributes.preload"
43
- :captionsmenu="block.metadata.config.attributes.captionsmenu"
44
- :playlistmenu="block.metadata.config.attributes.playlistmenu"
45
- :playlistautoadvance="
46
- block.metadata.config.attributes.playlistautoadvance
47
- "
48
- :playbackrates="block.metadata.config.attributes.playbackrates"
49
- :captions-autoscroll.sync="captionsAutoscroll"
50
- :captions-paragraph-view.sync="captionsParagraphView"
51
- :captions-visible.sync="captionsVisible"
52
- flat
53
- @seeking="onSeeking"
54
- @timeupdate="onTimeupdate"
55
- >
16
+ <div class="video-wrapper">
17
+ <VuetifyPlayer
18
+ class="no-border-player"
19
+ :language="$i18n && $i18n.locale ? $i18n.locale : 'en-US'"
20
+ type="auto"
21
+ :playlist="linkedPlaylist"
22
+ :autoplay="block.metadata.config.attributes.autoplay"
23
+ :autopictureinpicture="
24
+ block.metadata.config.attributes.autopictureinpicture
25
+ "
26
+ :controls="block.metadata.config.attributes.controls"
27
+ :controlslist="block.metadata.config.attributes.controlslist"
28
+ :crossorigin="block.metadata.config.attributes.crossorigin"
29
+ :disablepictureinpicture="
30
+ block.metadata.config.attributes.disablepictureinpicture
31
+ "
32
+ :disableremoteplayback="
33
+ block.metadata.config.attributes.disableremoteplayback
34
+ "
35
+ :height="block.metadata.config.attributes.height"
36
+ :width="block.metadata.config.attributes.width"
37
+ :rewind="block.metadata.config.attributes.rewind"
38
+ :loop="block.metadata.config.attributes.loop"
39
+ :muted="block.metadata.config.attributes.muted"
40
+ :volume.sync="volume"
41
+ :cc.sync="ccVisible"
42
+ :playsinline="block.metadata.config.attributes.playsinline"
43
+ :poster="linkedPosterPublicUrl"
44
+ :preload="block.metadata.config.attributes.preload"
45
+ :captionsmenu="block.metadata.config.attributes.captionsmenu"
46
+ :playlistmenu="block.metadata.config.attributes.playlistmenu"
47
+ :playlistautoadvance="
48
+ block.metadata.config.attributes.playlistautoadvance
49
+ "
50
+ :playbackrates="block.metadata.config.attributes.playbackrates"
51
+ :captions-autoscroll.sync="captionsAutoscroll"
52
+ :captions-paragraph-view.sync="captionsParagraphView"
53
+ :captions-visible.sync="captionsVisible"
54
+ flat
55
+ @seeking="onSeeking"
56
+ @timeupdate="onTimeupdate"
57
+ >
56
58
  <template #no-source>
57
59
  <v-card>
58
60
  <v-card-title class="justify-center">
@@ -71,6 +73,7 @@
71
73
  </v-card>
72
74
  </template>
73
75
  </VuetifyPlayer>
76
+ </div>
74
77
  <!-- display first note in the playlist for now -->
75
78
  <v-alert
76
79
  v-if="notes.length > 0"
@@ -475,3 +478,27 @@ export default {
475
478
  overflow: hidden;
476
479
  }
477
480
  </style>
481
+
482
+ <style>
483
+ /* Remove black backgrounds from video player containers */
484
+ .no-border-player,
485
+ .no-border-player > div:not(.vjs-control-bar),
486
+ .no-border-player .video-js:not(.vjs-control-bar) {
487
+ background: transparent !important;
488
+ background-color: transparent !important;
489
+ }
490
+
491
+ /* Ensure video element has transparent background */
492
+ .no-border-player video {
493
+ background: transparent !important;
494
+ background-color: transparent !important;
495
+ }
496
+
497
+ /* Make video player larger */
498
+ .video-wrapper {
499
+ margin-left: -15px;
500
+ margin-right: -15px;
501
+ padding-left: 0;
502
+ padding-right: 0;
503
+ }
504
+ </style>
@@ -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>
@@ -60,6 +60,30 @@
60
60
  </v-list-item>
61
61
  </v-list-item-group>
62
62
  </v-list>
63
+ <v-container class="pa-0">
64
+ <p>
65
+ {{
66
+ $t(
67
+ 'windward.core.components.settings.open_response_collate.additional_text'
68
+ )
69
+ }}
70
+ </p>
71
+ <TextEditor
72
+ v-model="block.metadata.config.additional_text"
73
+ :disabled="render"
74
+ ></TextEditor>
75
+ <v-btn-toggle
76
+ v-model="block.metadata.config.additional_text_alignment"
77
+ class="pt-2"
78
+ >
79
+ <v-btn value="top" :disabled="render">{{
80
+ $t('windward.core.shared.settings.top')
81
+ }}</v-btn>
82
+ <v-btn value="bottom" :disabled="render">{{
83
+ $t('windward.core.shared.settings.bottom')
84
+ }}</v-btn>
85
+ </v-btn-toggle>
86
+ </v-container>
63
87
  </v-form>
64
88
  </v-container>
65
89
  </template>
@@ -67,16 +91,15 @@
67
91
  <script>
68
92
  import _ from 'lodash'
69
93
  import { mapGetters } from 'vuex'
70
- import draggable from 'vuedraggable'
71
- import TextEditor from '~/components/Text/TextEditor'
72
94
  import BaseContentSettings from '~/components/Content/Settings/BaseContentSettings.js'
73
95
  import ContentBlock from '~/models/ContentBlock'
74
96
  import Course from '~/models/Course'
97
+ import TextEditor from '~/components/Text/TextEditor'
75
98
 
76
99
  export default {
77
100
  name: 'OpenResponseCollateSettings',
101
+ components: { TextEditor },
78
102
  extends: BaseContentSettings,
79
- components: { draggable, TextEditor },
80
103
  props: {
81
104
  settings: { type: Object, required: false, default: null },
82
105
  context: { type: String, required: false, default: 'block' },
@@ -87,6 +110,16 @@ export default {
87
110
  linked: [],
88
111
  }
89
112
  },
113
+ async fetch() {
114
+ this.contentBlocks = await ContentBlock.where(
115
+ 'tag',
116
+ 'plugin-core-open-response'
117
+ )
118
+ .for(new Course({ id: this.course.id }))
119
+ .get()
120
+
121
+ this.sortContentBlocks(this.contentBlocks)
122
+ },
90
123
  computed: {
91
124
  ...mapGetters({
92
125
  organization: 'organization/get',
@@ -100,16 +133,6 @@ export default {
100
133
  }
101
134
  },
102
135
  },
103
- async fetch() {
104
- this.contentBlocks = await ContentBlock.where(
105
- 'tag',
106
- 'plugin-core-open-response'
107
- )
108
- .for(new Course({ id: this.course.id }))
109
- .get()
110
-
111
- this.sortContentBlocks(this.contentBlocks)
112
- },
113
136
  beforeMount() {
114
137
  if (_.isEmpty(this.block)) {
115
138
  this.block = {}
@@ -129,21 +152,30 @@ export default {
129
152
  if (_.isEmpty(this.block.metadata.config.filename)) {
130
153
  this.block.metadata.config.filename = ''
131
154
  }
155
+ if (_.isEmpty(this.block.metadata.config.additional_text)) {
156
+ this.block.metadata.config.additional_text = ''
157
+ }
158
+ if (_.isEmpty(this.block.metadata.config.additional_text_alignment)) {
159
+ this.block.metadata.config.additional_text_alignment = 'top'
160
+ }
132
161
  // _.isEmpty(true) returns false. use isBoolean to check if this prop exists
133
162
  if (!_.isBoolean(this.block.metadata.config.include_prompts)) {
134
163
  this.block.metadata.config.include_prompts = false
135
164
  }
136
165
  this.linked = this.block.metadata.config.linked
137
166
  },
138
- watch: {},
139
167
  mounted() {},
140
168
  methods: {
141
169
  sortContentBlocks(contentBlocks) {
142
- let contentBlocksByPage = []
170
+ const contentBlocksByPage = []
143
171
  const blockMap = []
144
172
  // getting page order
145
173
  const contentBlockTree = this.$ContentService.getFlatTree()
146
- contentBlockTree.forEach(function (page, index) {
174
+ const homePage = this.$ContentService.getHomepage()
175
+ if (homePage !== null) {
176
+ contentBlockTree.unshift(homePage)
177
+ }
178
+ contentBlockTree.forEach(function (page) {
147
179
  contentBlocks.forEach((block) => {
148
180
  // If the block is on this page and it wasn't already used on a different page
149
181
  if (
@@ -1,10 +1,17 @@
1
1
  <template>
2
2
  <div>
3
- <v-container>
3
+ <v-container class="pa-0">
4
4
  <BaseContentBlockSettings
5
5
  v-model="block.metadata.config"
6
6
  :disabled="render"
7
7
  ></BaseContentBlockSettings>
8
+ <p>
9
+ {{
10
+ $t(
11
+ 'windward.core.components.settings.user_upload.max_file_size'
12
+ )
13
+ }}
14
+ </p>
8
15
  </v-container>
9
16
  <v-switch
10
17
  v-model="block.metadata.config.uploadSettings.multiple"
@@ -23,6 +30,7 @@
23
30
  item-value="value"
24
31
  outlined
25
32
  dense
33
+ style="z-index: 20"
26
34
  :label="
27
35
  $t('windward.core.components.settings.user_upload.accept_types')
28
36
  "
@@ -31,16 +39,111 @@
31
39
  </div>
32
40
  </template>
33
41
  <script>
34
- import BaseContentSettings from '~/components/Content/Settings/BaseContentSettings.js'
35
42
  import _ from 'lodash'
43
+ import BaseContentSettings from '~/components/Content/Settings/BaseContentSettings.js'
36
44
  import Uuid from '~/helpers/Uuid'
37
45
  import BaseContentBlockSettings from '~/components/Content/Settings/BaseContentBlockSettings.vue'
38
- import TextEditor from '~/components/Text/TextEditor'
39
46
 
40
47
  export default {
41
48
  name: 'UserUploadSettings',
42
- components: { TextEditor, BaseContentBlockSettings },
49
+ components: { BaseContentBlockSettings },
43
50
  extends: BaseContentSettings,
51
+ data() {
52
+ return {
53
+ valid: true,
54
+ debounce: null,
55
+ loading: false,
56
+ attrs: {
57
+ class: 'mb-6',
58
+ boilerplate: true,
59
+ elevation: 0,
60
+ },
61
+ }
62
+ },
63
+ computed: {
64
+ acceptOptions() {
65
+ const documents = [
66
+ { name: 'doc', value: 'application/msword' },
67
+ {
68
+ name: 'docx',
69
+ value: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
70
+ },
71
+ {
72
+ name: 'odt',
73
+ value: 'application/vnd.oasis.opendocument.text',
74
+ },
75
+ { name: 'pdf', value: 'application/pdf' },
76
+ { name: 'xls', value: 'application/vnd.ms-excel' },
77
+ {
78
+ name: 'xlsx',
79
+ value: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
80
+ },
81
+ { name: 'rtf', value: 'application/rtf' },
82
+ { name: 'pages', value: 'application/x-iwork-pages-sffpages' },
83
+ {
84
+ name: 'numbers',
85
+ value: 'application/x-iwork-numbers-sffnumbers',
86
+ },
87
+ { name: 'txt', value: 'text/plain' },
88
+ {
89
+ name: 'ods',
90
+ value: 'application/vnd.oasis.opendocument.spreadsheet',
91
+ },
92
+ {
93
+ name: 'csv',
94
+ value: 'text/csv',
95
+ },
96
+ {
97
+ name: 'pptx',
98
+ value: 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
99
+ },
100
+ {
101
+ name: 'ppt',
102
+ value: 'application/vnd.ms-powerpoint',
103
+ },
104
+ {
105
+ name: 'odp',
106
+ value: 'application/vnd.oasis.opendocument.presentation',
107
+ },
108
+ {
109
+ name: 'keynote',
110
+ value: 'application/zip',
111
+ },
112
+ ]
113
+ return [
114
+ {
115
+ name: this.$t(
116
+ 'windward.core.components.settings.user_upload.types.all'
117
+ ),
118
+ value: '*',
119
+ },
120
+ {
121
+ name: this.$t(
122
+ 'windward.core.components.settings.user_upload.types.all_image'
123
+ ),
124
+ value: 'image/*',
125
+ },
126
+ {
127
+ name: this.$t(
128
+ 'windward.core.components.settings.user_upload.types.all_video_audio'
129
+ ),
130
+ value: 'video/*,audio/*',
131
+ },
132
+ {
133
+ name: this.$t(
134
+ 'windward.core.components.settings.user_upload.types.all_word'
135
+ ),
136
+ value: documents.map((type) => type.value).join(','),
137
+ },
138
+ {
139
+ name: this.$t(
140
+ 'windward.core.components.settings.user_upload.types.all_zip'
141
+ ),
142
+ value: 'application/zip,application/gzip,application/x-gzip,application/x-tar,application/rar,application/x-rar-compressed,application/x-7z-compressed,application/x-bzip2,application/x-xz',
143
+ },
144
+ ]
145
+ },
146
+ },
44
147
  beforeMount() {
45
148
  if (_.isEmpty(this.block)) {
46
149
  this.block = {}
@@ -79,50 +182,6 @@ export default {
79
182
  }
80
183
  }
81
184
  },
82
- data() {
83
- return {
84
- valid: true,
85
- debounce: null,
86
- loading: false,
87
- acceptOptions: [
88
- {
89
- name: this.$t(
90
- 'windward.core.components.settings.user_upload.types.all'
91
- ),
92
- value: '*',
93
- },
94
- {
95
- name: this.$t(
96
- 'windward.core.components.settings.user_upload.types.all_image'
97
- ),
98
- value: 'image/jpeg,image/gif,image/png',
99
- },
100
- {
101
- name: this.$t(
102
- 'windward.core.components.settings.user_upload.types.all_word'
103
- ),
104
- value: 'application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document',
105
- },
106
- {
107
- name: this.$t(
108
- 'windward.core.components.settings.user_upload.types.all_excel'
109
- ),
110
- value: 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
111
- },
112
- {
113
- name: this.$t(
114
- 'windward.core.components.settings.user_upload.types.all_zip'
115
- ),
116
- value: 'application/zip',
117
- },
118
- ],
119
- attrs: {
120
- class: 'mb-6',
121
- boilerplate: true,
122
- elevation: 0,
123
- },
124
- }
125
- },
126
185
  mounted() {},
127
186
  beforeDestroy() {
128
187
  if (this.debouncer) {