@windward/core 0.0.8 → 0.1.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 (194) hide show
  1. package/components/Content/Blocks/BlockQuote.vue +191 -0
  2. package/components/Content/Blocks/ClickableIcons.vue +128 -40
  3. package/components/Content/Blocks/FeedbackTemplates/FeedbackQuestionLikert.vue +25 -14
  4. package/components/Content/Blocks/FeedbackTemplates/FeedbackQuestionTrueFalse.vue +3 -7
  5. package/components/Content/Blocks/Image.vue +2 -2
  6. package/components/Content/Blocks/OpenResponse.vue +20 -14
  7. package/components/Content/Blocks/ScenarioChoice.vue +262 -0
  8. package/components/Content/Blocks/Tab.vue +2 -7
  9. package/components/Settings/AccordionSettings.vue +97 -74
  10. package/components/Settings/BlockQuoteSettings.vue +143 -0
  11. package/components/Settings/ClickableIconsSettings.vue +101 -86
  12. package/components/Settings/OpenResponseSettings.vue +6 -8
  13. package/components/Settings/ScenarioChoiceSettings.vue +329 -0
  14. package/components/Settings/TabSettings.vue +79 -62
  15. package/components/Settings/TextEditorSettings.vue +1 -3
  16. package/components/utils/FillInBlank/FillInBlankInput.vue +4 -1
  17. package/components/utils/MathExpressionEditor.vue +30 -15
  18. package/components/utils/TinyMCEWrapper.vue +3 -1
  19. package/helpers/FillInBlankHelper.ts +0 -2
  20. package/i18n/en-US/components/content/blocks/block_quote.ts +3 -0
  21. package/i18n/en-US/components/content/blocks/index.ts +4 -2
  22. package/i18n/en-US/components/content/blocks/scenario_choice.ts +5 -0
  23. package/i18n/en-US/components/settings/accordion.ts +5 -0
  24. package/i18n/en-US/components/settings/block_quote.ts +9 -0
  25. package/i18n/en-US/components/settings/clickable_icon.ts +8 -0
  26. package/i18n/en-US/components/settings/index.ts +8 -0
  27. package/i18n/en-US/components/settings/scenario_choice.ts +19 -0
  28. package/i18n/en-US/components/settings/tab.ts +7 -0
  29. package/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts +1 -1
  30. package/i18n/en-US/components/utils/index.ts +2 -0
  31. package/i18n/en-US/components/utils/math_expression_editor.ts +3 -0
  32. package/i18n/en-US/shared/content_blocks.ts +2 -0
  33. package/i18n/en-US/shared/settings.ts +4 -0
  34. package/i18n/es-ES/components/content/blocks/block_quote.ts +3 -0
  35. package/i18n/es-ES/components/content/blocks/feedback.ts +2 -0
  36. package/i18n/es-ES/components/content/blocks/index.ts +4 -2
  37. package/i18n/es-ES/components/content/blocks/scenario_choice.ts +6 -0
  38. package/i18n/es-ES/components/navigation/index.ts +2 -0
  39. package/i18n/es-ES/components/settings/accordion.ts +5 -0
  40. package/i18n/es-ES/components/settings/block_quote.ts +9 -0
  41. package/i18n/es-ES/components/settings/clickable_icon.ts +8 -0
  42. package/i18n/es-ES/components/settings/index.ts +8 -0
  43. package/i18n/es-ES/components/settings/scenario_choice.ts +19 -0
  44. package/i18n/es-ES/components/{content/blocks → settings}/tab.ts +3 -0
  45. package/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts +13 -0
  46. package/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts +11 -0
  47. package/i18n/es-ES/components/utils/FillInBlank/index.ts +6 -0
  48. package/i18n/es-ES/components/utils/index.ts +4 -1
  49. package/i18n/es-ES/components/utils/math_expression_editor.ts +3 -0
  50. package/i18n/es-ES/components/utils/tiny_mce_wrapper.ts +1 -0
  51. package/i18n/es-ES/shared/content_blocks.ts +2 -0
  52. package/i18n/es-ES/shared/menu.ts +1 -0
  53. package/i18n/es-ES/shared/settings.ts +4 -0
  54. package/i18n/index.ts +11 -0
  55. package/i18n/sv-SE/components/content/blocks/block_quote.ts +3 -0
  56. package/i18n/sv-SE/components/content/blocks/feedback.ts +2 -0
  57. package/i18n/sv-SE/components/content/blocks/index.ts +4 -2
  58. package/i18n/sv-SE/components/content/blocks/scenario_choice.ts +5 -0
  59. package/i18n/sv-SE/components/navigation/index.ts +2 -0
  60. package/i18n/sv-SE/components/settings/accordion.ts +5 -0
  61. package/i18n/sv-SE/components/settings/block_quote.ts +9 -0
  62. package/i18n/sv-SE/components/settings/clickable_icon.ts +8 -0
  63. package/i18n/sv-SE/components/settings/index.ts +8 -0
  64. package/i18n/sv-SE/components/settings/scenario_choice.ts +19 -0
  65. package/i18n/sv-SE/components/{content/blocks → settings}/tab.ts +3 -0
  66. package/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts +13 -0
  67. package/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts +11 -0
  68. package/i18n/sv-SE/components/utils/FillInBlank/index.ts +6 -0
  69. package/i18n/sv-SE/components/utils/index.ts +4 -1
  70. package/i18n/sv-SE/components/utils/math_expression_editor.ts +3 -0
  71. package/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts +1 -0
  72. package/i18n/sv-SE/shared/content_blocks.ts +2 -0
  73. package/i18n/sv-SE/shared/menu.ts +1 -0
  74. package/i18n/sv-SE/shared/settings.ts +4 -0
  75. package/package.json +5 -4
  76. package/plugin.js +45 -5
  77. package/test/Components/Content/Blocks/BlockQuote.spec.js +21 -0
  78. package/test/Components/Content/Blocks/ScenarioChoice.spec.js +21 -0
  79. package/test/Components/Settings/BlockQuoteSettings.spec.js +20 -0
  80. package/test/Components/Settings/ClickableIconsSettings.spec.js +1 -1
  81. package/test/Components/Settings/ScenarioChoiceSettings.spec.js +20 -0
  82. package/test/Feature/LocaleKeys.spec.js +9 -0
  83. package/test/__mocks__/componentsMock.js +24 -0
  84. package/test/locales.js +95 -0
  85. package/.idea/codeStyles/Project.xml +0 -58
  86. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  87. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  88. package/.idea/modules.xml +0 -8
  89. package/.idea/php-docker-settings.xml +0 -24
  90. package/.idea/php.xml +0 -19
  91. package/.idea/vcs.xml +0 -6
  92. package/.idea/watcherTasks.xml +0 -4
  93. package/.idea/windward-ui-plugin-core.iml +0 -8
  94. package/coverage/clover.xml +0 -223
  95. package/coverage/coverage-final.json +0 -16
  96. package/coverage/lcov-report/base.css +0 -224
  97. package/coverage/lcov-report/block-navigation.js +0 -87
  98. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +0 -430
  99. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +0 -394
  100. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +0 -262
  101. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +0 -295
  102. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +0 -415
  103. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +0 -667
  104. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +0 -2275
  105. package/coverage/lcov-report/components/Content/Blocks/index.html +0 -206
  106. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +0 -199
  107. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +0 -919
  108. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +0 -343
  109. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +0 -271
  110. package/coverage/lcov-report/components/utils/index.html +0 -161
  111. package/coverage/lcov-report/config/index.html +0 -116
  112. package/coverage/lcov-report/config/tinymce.config.js.html +0 -493
  113. package/coverage/lcov-report/favicon.png +0 -0
  114. package/coverage/lcov-report/helpers/MathHelper.ts.html +0 -793
  115. package/coverage/lcov-report/helpers/index.html +0 -116
  116. package/coverage/lcov-report/helpers/tinymce/index.html +0 -116
  117. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +0 -334
  118. package/coverage/lcov-report/index.html +0 -191
  119. package/coverage/lcov-report/prettify.css +0 -1
  120. package/coverage/lcov-report/prettify.js +0 -2
  121. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  122. package/coverage/lcov-report/sorter.js +0 -196
  123. package/coverage/lcov-report/test/index.html +0 -116
  124. package/coverage/lcov-report/test/mocks.js.html +0 -457
  125. package/coverage/lcov.info +0 -403
  126. package/i18n/en-US/components/content/blocks/tab.ts +0 -4
  127. package/lib/helpers/GlossaryHelper.d.ts +0 -9
  128. package/lib/helpers/GlossaryHelper.js +0 -118
  129. package/lib/helpers/GlossaryTerm.d.ts +0 -10
  130. package/lib/helpers/GlossaryTerm.js +0 -22
  131. package/lib/helpers/MathHelper.d.ts +0 -99
  132. package/lib/helpers/MathHelper.js +0 -194
  133. package/lib/helpers/tinymce/plugin.d.ts +0 -2
  134. package/lib/helpers/tinymce/plugin.js +0 -86
  135. package/lib/i18n/en-US/components/content/blocks/image.d.ts +0 -6
  136. package/lib/i18n/en-US/components/content/blocks/image.js +0 -7
  137. package/lib/i18n/en-US/components/content/blocks/index.d.ts +0 -75
  138. package/lib/i18n/en-US/components/content/blocks/index.js +0 -14
  139. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +0 -5
  140. package/lib/i18n/en-US/components/content/blocks/tab.js +0 -6
  141. package/lib/i18n/en-US/components/content/blocks/table.d.ts +0 -5
  142. package/lib/i18n/en-US/components/content/blocks/table.js +0 -6
  143. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +0 -13
  144. package/lib/i18n/en-US/components/content/blocks/user_upload.js +0 -14
  145. package/lib/i18n/en-US/components/content/blocks/video.d.ts +0 -48
  146. package/lib/i18n/en-US/components/content/blocks/video.js +0 -49
  147. package/lib/i18n/en-US/components/content/index.d.ts +0 -77
  148. package/lib/i18n/en-US/components/content/index.js +0 -6
  149. package/lib/i18n/en-US/components/index.d.ts +0 -140
  150. package/lib/i18n/en-US/components/index.js +0 -12
  151. package/lib/i18n/en-US/components/navigation/image.d.ts +0 -5
  152. package/lib/i18n/en-US/components/navigation/image.js +0 -6
  153. package/lib/i18n/en-US/components/navigation/index.d.ts +0 -10
  154. package/lib/i18n/en-US/components/navigation/index.js +0 -8
  155. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +0 -4
  156. package/lib/i18n/en-US/components/navigation/user_upload.js +0 -5
  157. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +0 -6
  158. package/lib/i18n/en-US/components/settings/clickable_icon.js +0 -7
  159. package/lib/i18n/en-US/components/settings/image.d.ts +0 -2
  160. package/lib/i18n/en-US/components/settings/image.js +0 -3
  161. package/lib/i18n/en-US/components/settings/index.d.ts +0 -39
  162. package/lib/i18n/en-US/components/settings/index.js +0 -14
  163. package/lib/i18n/en-US/components/settings/text_editor.d.ts +0 -8
  164. package/lib/i18n/en-US/components/settings/text_editor.js +0 -9
  165. package/lib/i18n/en-US/components/settings/user_upload.d.ts +0 -12
  166. package/lib/i18n/en-US/components/settings/user_upload.js +0 -13
  167. package/lib/i18n/en-US/components/settings/video.d.ts +0 -13
  168. package/lib/i18n/en-US/components/settings/video.js +0 -14
  169. package/lib/i18n/en-US/components/utils/index.d.ts +0 -15
  170. package/lib/i18n/en-US/components/utils/index.js +0 -6
  171. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +0 -13
  172. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +0 -14
  173. package/lib/i18n/en-US/index.d.ts +0 -197
  174. package/lib/i18n/en-US/index.js +0 -16
  175. package/lib/i18n/en-US/modules/index.d.ts +0 -2
  176. package/lib/i18n/en-US/modules/index.js +0 -6
  177. package/lib/i18n/en-US/pages/glossary.d.ts +0 -8
  178. package/lib/i18n/en-US/pages/glossary.js +0 -9
  179. package/lib/i18n/en-US/pages/index.d.ts +0 -13
  180. package/lib/i18n/en-US/pages/index.js +0 -8
  181. package/lib/i18n/en-US/pages/user_upload.d.ts +0 -4
  182. package/lib/i18n/en-US/pages/user_upload.js +0 -5
  183. package/lib/i18n/en-US/shared/content_blocks.d.ts +0 -20
  184. package/lib/i18n/en-US/shared/content_blocks.js +0 -21
  185. package/lib/i18n/en-US/shared/index.d.ts +0 -39
  186. package/lib/i18n/en-US/shared/index.js +0 -10
  187. package/lib/i18n/en-US/shared/menu.d.ts +0 -4
  188. package/lib/i18n/en-US/shared/menu.js +0 -5
  189. package/lib/i18n/en-US/shared/settings.d.ts +0 -15
  190. package/lib/i18n/en-US/shared/settings.js +0 -16
  191. package/lib/i18n/en-US.d.ts +0 -197
  192. package/lib/i18n/en-US.js +0 -15
  193. package/lib/models/UserFileAsset.d.ts +0 -5
  194. package/lib/models/UserFileAsset.js +0 -37
@@ -0,0 +1,19 @@
1
+ export default {
2
+ title: 'Título',
3
+ description: 'Descripción',
4
+ over_item_limit: 'No se pueden agregar más elementos',
5
+ no_title: 'Sin título',
6
+ item_title: 'Título del artículo',
7
+ item_text: 'Texto del elemento',
8
+ correct_choice: 'Es la elección correcta',
9
+ show_reset: 'Permitir reintentos',
10
+ display_style: 'Estilo de visualización',
11
+ is_linked: 'Bloquear enlaces a una página',
12
+ link_content: 'Contenido del enlace',
13
+ link_text: 'Texto del enlace',
14
+ link_required: 'Se requieren el texto del enlace y la página de destino.',
15
+ style: {
16
+ letter: 'Letras',
17
+ number: 'Números',
18
+ },
19
+ }
@@ -1,4 +1,7 @@
1
1
  export default {
2
+ tab: 'Pestaña',
3
+ tabs: 'Pestañas',
4
+ header: 'Encabezado de Pestaña',
2
5
  add_tab: 'Añadir pestaña',
3
6
  delete_tab: 'Borrar pestaña',
4
7
  }
@@ -0,0 +1,13 @@
1
+ export default {
2
+ add_answer: 'Agregar respuesta',
3
+ answer: 'Respuesta',
4
+ check: 'Verificar',
5
+ check_answer: 'Haga clic para comprobar respuesta',
6
+ close: 'Cerrar',
7
+ correct: 'Correcto',
8
+ default_description: 'Su entrada es correcta',
9
+ incorrect: 'Incorrecto',
10
+ input_incorrect: "'{0}' es incorrecto",
11
+ reset: 'restablecer',
12
+ try_again: 'Intentar de nuevo',
13
+ }
@@ -0,0 +1,11 @@
1
+ export default {
2
+ close: 'Cerrar',
3
+ try_again: 'Intentar de nuevo',
4
+ correct: 'Correcto',
5
+ incorrect: 'Incorrecto',
6
+ reset: 'restablecer',
7
+ check: 'Verificar',
8
+ add_answer: 'Agregar respuesta',
9
+ default_description: 'descripción predeterminada',
10
+ answer: 'Respuesta',
11
+ }
@@ -0,0 +1,6 @@
1
+ import fill_in_blank_input from './FillInBlankInput'
2
+ import fill_in_the_blank_manager from './FillInTheBlanksManager'
3
+ export default {
4
+ fill_in_blank_input,
5
+ fill_in_the_blank_manager,
6
+ }
@@ -1,5 +1,8 @@
1
1
  import tiny_mce_wrapper from './tiny_mce_wrapper'
2
-
2
+ import fill_in_the_blank from './FillInBlank/index'
3
+ import math_expression_editor from './math_expression_editor'
3
4
  export default {
4
5
  tiny_mce_wrapper,
6
+ fill_in_the_blank,
7
+ math_expression_editor,
5
8
  }
@@ -0,0 +1,3 @@
1
+ export default {
2
+ title: 'Manipulador de expresión matemática',
3
+ }
@@ -4,6 +4,7 @@ export default {
4
4
  alternate_forms: 'Formas alternativas',
5
5
  definition: 'definición',
6
6
  related_terms: 'términos relacionados',
7
+ fill_blank: 'Completa el espacio en blanco',
7
8
  table: {
8
9
  default: 'Tabla predeterminada',
9
10
  default_white_line: 'Líneas blancas de tabla predeterminadas',
@@ -12,7 +12,9 @@ export default {
12
12
  image: 'Imagen',
13
13
  user_upload: 'Carga de usuario',
14
14
  clickable_icons: 'Iconos en los que se puede hacer clic',
15
+ scenario_choice: 'Elección de escenario',
15
16
  feedback: 'Comentarios',
17
+ block_quote: 'Cotización en bloque',
16
18
  },
17
19
  grouping: {
18
20
  basic: 'Componentes básicos',
@@ -1,3 +1,4 @@
1
1
  export default {
2
2
  course_glossary: 'Glosario del curso',
3
+ ask_the_expert: 'Pregunta al experto',
3
4
  }
@@ -10,10 +10,14 @@ export default {
10
10
  text_editor: 'Configuración del editor de texto',
11
11
  clickable_icons:
12
12
  'Configuración de iconos en los que se puede hacer clic',
13
+ scenario_choice: 'Elección de escenario',
13
14
  accordion: 'Configuración de acordeón',
14
15
  video: 'Configuración de vídeo',
15
16
  table: 'Configuración de la tabla',
16
17
  math: 'Configuración matemática',
17
18
  feedback: 'Configuración de comentarios',
19
+ block_quote: 'Configuración de cotización en bloque',
20
+ title: 'Título',
21
+ instructions: 'Instrucciones',
18
22
  },
19
23
  }
package/i18n/index.ts ADDED
@@ -0,0 +1,11 @@
1
+ import enUS from './en-US'
2
+ import esES from './es-ES'
3
+ import svSE from './sv-SE'
4
+
5
+ export default {
6
+ messages: {
7
+ 'en-US': enUS,
8
+ 'es-ES': esES,
9
+ 'sv-SE': svSE,
10
+ },
11
+ }
@@ -0,0 +1,3 @@
1
+ export default {
2
+ body: 'Block Citat Body',
3
+ }
@@ -4,6 +4,8 @@ export default {
4
4
  module: 'Modul',
5
5
  preset: 'Förinställningar',
6
6
  likert: 'Lägg till standard likert-frågor',
7
+ likert_directions:
8
+ 'Klicka för att välja det första alternativet och använd sedan fliken för att växla knappgrupper och sedan pilarna för att navigera mellan alternativen.',
7
9
  contact_mindedge: 'Kontakta Mindedge fråga',
8
10
  open_response: 'Öppet svar',
9
11
  response_prompt: 'Ge kursfeedback nedan',
@@ -2,18 +2,20 @@ import user_upload from './user_upload'
2
2
  import image from './image'
3
3
  import video from './video'
4
4
  import table from './table'
5
- import tab from './tab'
6
5
  import feedback from './feedback'
7
6
  import open_response from './open_response'
8
7
  import open_response_collate from './open_response_collate'
8
+ import scenarioChoice from './scenario_choice'
9
+ import block_quote from './block_quote'
9
10
 
10
11
  export default {
11
12
  user_upload,
12
13
  image,
13
14
  video,
14
15
  table,
15
- tab,
16
16
  feedback,
17
17
  open_response,
18
18
  open_response_collate,
19
+ scenario_choice: scenarioChoice,
20
+ block_quote
19
21
  }
@@ -0,0 +1,5 @@
1
+ export default {
2
+ information: 'Klicka på ett av objekten nedan för att gör ett val.',
3
+ try_again: 'Försök igen',
4
+ selected_choice: 'Ditt val',
5
+ }
@@ -1,7 +1,9 @@
1
+ import ask_the_expert from './ask_the_expert'
1
2
  import user_upload from './user_upload'
2
3
  import image from './image'
3
4
 
4
5
  export default {
5
6
  user_upload,
6
7
  image,
8
+ ask_the_expert,
7
9
  }
@@ -0,0 +1,5 @@
1
+ export default {
2
+ items: 'Dragspelsföremål',
3
+ add: 'Lägg till dragspel',
4
+ accordion: 'Dragspel',
5
+ }
@@ -0,0 +1,9 @@
1
+ export default {
2
+ block_quote: 'Blockera citat',
3
+ body: 'Blockquote Body',
4
+ name: 'Namn',
5
+ title: 'Titel',
6
+ org: 'Organisation',
7
+ source_title: 'Källtitel' ,
8
+ type: 'Källtyp',
9
+ }
@@ -3,8 +3,16 @@ export default {
3
3
  description: 'Description',
4
4
  information:
5
5
  'Klicka på vart och ett av listobjekten nedan för mer information.',
6
+ no_icon: 'Ingen ikon',
6
7
  item_icon: 'Artikel {0} icon',
7
8
  item_title: 'Artikeltitel',
8
9
  item_color: 'Artikelfärg',
9
10
  item_text: 'Artikeltext',
11
+ autocolor: 'Auto-färgalternativ',
12
+ display: {
13
+ show_title: 'Visa alltid titel',
14
+ show_background: 'Visa bakgrund',
15
+ round_icon: 'Runda ikoner',
16
+ italic_icon: 'Kursiva ikoner',
17
+ },
10
18
  }
@@ -5,13 +5,21 @@ import video from './video'
5
5
  import clickable_icon from './clickable_icon'
6
6
  import open_response from './open_response'
7
7
  import open_response_collate from './open_response_collate'
8
+ import scenarioChoice from './scenario_choice'
9
+ import accordion from './accordion'
10
+ import tab from './tab'
11
+ import block_quote from './block_quote'
8
12
 
9
13
  export default {
14
+ accordion,
10
15
  image,
11
16
  user_upload,
12
17
  text_editor,
18
+ tab,
13
19
  video,
14
20
  clickable_icon,
15
21
  open_response,
16
22
  open_response_collate,
23
+ scenario_choice: scenarioChoice,
24
+ block_quote
17
25
  }
@@ -0,0 +1,19 @@
1
+ export default {
2
+ title: 'Titel',
3
+ description: 'Beskrivning',
4
+ over_item_limit: 'Kan inte lägga till fler objekt',
5
+ no_title: 'Ingen titel',
6
+ item_title: 'Artikeltitel',
7
+ item_text: 'Artikeltext',
8
+ correct_choice: 'Är rätt val',
9
+ show_reset: 'Tillåt återförsök',
10
+ display_style: 'Visa stil',
11
+ is_linked: 'Blockera länkar till en sida',
12
+ link_content: 'Länkinnehåll',
13
+ link_text: 'Länktext',
14
+ link_required: 'Länktext och målsida krävs',
15
+ style: {
16
+ letter: 'Brev',
17
+ number: 'Nummer',
18
+ },
19
+ }
@@ -1,4 +1,7 @@
1
1
  export default {
2
+ tab: 'Flik',
3
+ tabs: 'Flikar',
4
+ header: 'Flikhuvud',
2
5
  add_tab: 'Lägg till flik',
3
6
  delete_tab: 'Delete Tab',
4
7
  }
@@ -0,0 +1,13 @@
1
+ export default {
2
+ add_answer: 'Lägg till svar',
3
+ answer: 'Svar',
4
+ check: 'Kontrollera',
5
+ check_answer: 'Klicka för att kontrollera svar',
6
+ close: 'Stäng',
7
+ correct: 'Korrekt',
8
+ default_description: 'Din inmatning är korrekt',
9
+ incorrect: 'Inkorrekt',
10
+ input_incorrect: "'{0}' är felaktig",
11
+ reset: 'återställ',
12
+ try_again: 'Try Again',
13
+ }
@@ -0,0 +1,11 @@
1
+ export default {
2
+ close: 'Stäng',
3
+ try_again: 'Try Again',
4
+ correct: 'Korrekt',
5
+ incorrect: 'Inkorrekt',
6
+ reset: 'återställ',
7
+ check: 'Kontrollera',
8
+ add_answer: 'Lägg till svar',
9
+ default_description: 'default description',
10
+ answer: 'Svar',
11
+ }
@@ -0,0 +1,6 @@
1
+ import fill_in_blank_input from './FillInBlankInput'
2
+ import fill_in_the_blank_manager from './FillInTheBlanksManager'
3
+ export default {
4
+ fill_in_blank_input,
5
+ fill_in_the_blank_manager,
6
+ }
@@ -1,5 +1,8 @@
1
1
  import tiny_mce_wrapper from './tiny_mce_wrapper'
2
-
2
+ import fill_in_the_blank from './FillInBlank/index'
3
+ import math_expression_editor from './math_expression_editor'
3
4
  export default {
4
5
  tiny_mce_wrapper,
6
+ fill_in_the_blank,
7
+ math_expression_editor,
5
8
  }
@@ -0,0 +1,3 @@
1
+ export default {
2
+ title: 'Redaktör för matematiska uttryck',
3
+ }
@@ -4,6 +4,7 @@ export default {
4
4
  alternate_forms: 'Alternativa formulär',
5
5
  definition: 'definition',
6
6
  related_terms: 'relaterade termer',
7
+ fill_blank: 'Fyll i luckorna',
7
8
  table: {
8
9
  default: 'Standardtabell',
9
10
  default_white_line: 'Standard tabell vita linjer',
@@ -12,7 +12,9 @@ export default {
12
12
  image: 'Bild',
13
13
  user_upload: 'User Upload',
14
14
  clickable_icons: 'Klickbara ikoner',
15
+ scenario_choice: 'Scenarioval',
15
16
  feedback: 'Feedback',
17
+ block_quote: 'Block citat',
16
18
  },
17
19
  grouping: {
18
20
  basic: 'Basic Components',
@@ -1,3 +1,4 @@
1
1
  export default {
2
2
  course_glossary: 'Kursordlista',
3
+ ask_the_expert: 'Fråga experten',
3
4
  }
@@ -8,10 +8,14 @@ export default {
8
8
  tab_settings: 'Flikinställningar',
9
9
  text_editor: 'Textredigeringsinställningar',
10
10
  clickable_icons: 'Inställningar för klickbara ikoner',
11
+ scenario_choice: 'Scenarioval',
11
12
  accordion: 'Accordion Settings',
12
13
  video: 'Videoinställningar',
13
14
  table: 'Tabellinställningar',
14
15
  math: 'Matematiska inställningar',
15
16
  feedback: 'Feedback-inställningar',
17
+ block_quote: 'Blockera offertinställningar',
18
+ title: 'Titel',
19
+ instructions: 'Instruktioner',
16
20
  },
17
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windward/core",
3
- "version": "0.0.8",
3
+ "version": "0.1.0",
4
4
  "description": "Windward UI Core Plugins",
5
5
  "main": "plugin.js",
6
6
  "scripts": {
@@ -16,12 +16,13 @@
16
16
  "license": "MIT",
17
17
  "homepage": "https://bitbucket.org/mindedge/windward-ui-plugin-core#readme",
18
18
  "dependencies": {
19
- "@mindedge/vuetify-player": "^0.2.0",
19
+ "@mindedge/vuetify-player": "^0.3.0",
20
20
  "@tinymce/tinymce-vue": "^3.2.8",
21
21
  "eslint": "^8.11.0",
22
+ "he": "^1.2.0",
22
23
  "lodash": "^4.17.21",
23
- "mathlive": "^0.73.7",
24
- "mathml-to-latex": "^1.2.0",
24
+ "mathlive": "^0.75.0",
25
+ "mathml-to-latex": "^1.3.0",
25
26
  "prettier": "^2.6.0",
26
27
  "raw-loader": "^4.0.2"
27
28
  },
package/plugin.js CHANGED
@@ -1,4 +1,4 @@
1
- import enUS from './i18n/en-US'
1
+ import locales from './i18n'
2
2
 
3
3
  // Content Blocks
4
4
  import Video from './components/Content/Blocks/Video'
@@ -8,6 +8,8 @@ import MathExpressionEditor from './components/utils/MathExpressionEditor'
8
8
  import Accordion from './components/Content/Blocks/Accordion'
9
9
  import Feedback from './components/Content/Blocks/Feedback.vue'
10
10
  import ClickableIcons from './components/Content/Blocks/ClickableIcons'
11
+ import ScenarioChoice from './components/Content/Blocks/ScenarioChoice'
12
+ import BlockQuote from './components/Content/Blocks/BlockQuote.vue'
11
13
 
12
14
  import UserUploadNav from './components/Navigation/Items/UserUploadNav.vue'
13
15
 
@@ -27,10 +29,12 @@ import OpenResponseCollateSettings from './components/Settings/OpenResponseColla
27
29
  import ImageSettings from './components/Settings/ImageSettings.vue'
28
30
  import UserUploadSettings from './components/Settings/UserUploadSettings.vue'
29
31
  import ClickableIconsSettings from './components/Settings/ClickableIconsSettings.vue'
32
+ import ScenarioChoiceSettings from './components/Settings/ScenarioChoiceSettings.vue'
30
33
  import VideoSettings from './components/Settings/VideoSettings.vue'
31
34
  import AccordionSettings from './components/Settings/AccordionSettings.vue'
32
35
  import TabSettings from './components/Settings/TabSettings.vue'
33
36
  import FeedbackSettings from './components/Settings/FeedbackSettings.vue'
37
+ import BlockQuoteSettigns from './components/Settings/BlockQuoteSettings.vue'
34
38
 
35
39
  import UserUploadPage from './pages/userUpload.vue'
36
40
  import GlossaryToolTip from './components/utils/glossary/GlossaryToolTip.vue'
@@ -52,9 +56,7 @@ export default {
52
56
  onLoad: (page) => {},
53
57
  onContent: () => {},
54
58
  },
55
- i18n: {
56
- 'en-US': enUS,
57
- },
59
+ i18n: locales.messages,
58
60
  pages: [
59
61
  {
60
62
  page: 'user-uploads',
@@ -231,6 +233,16 @@ export default {
231
233
  'windward.core.shared.content_blocks.grouping.basic',
232
234
  },
233
235
  },
236
+ {
237
+ tag: 'core-scenario-choice',
238
+ template: ScenarioChoice,
239
+ metadata: {
240
+ icon: 'mdi-ab-testing',
241
+ name: 'windward.core.shared.content_blocks.title.scenario_choice',
242
+ grouping:
243
+ 'windward.core.shared.content_blocks.grouping.basic',
244
+ },
245
+ },
234
246
  {
235
247
  tag: 'core-feedback',
236
248
  template: Feedback,
@@ -241,6 +253,16 @@ export default {
241
253
  'windward.core.shared.content_blocks.grouping.basic',
242
254
  },
243
255
  },
256
+ {
257
+ tag: 'core-block-quote',
258
+ template: BlockQuote,
259
+ metadata: {
260
+ icon: 'mdi-format-quote-close',
261
+ name: 'windward.core.shared.content_blocks.title.block_quote',
262
+ grouping:
263
+ 'windward.core.shared.content_blocks.grouping.basic',
264
+ },
265
+ },
244
266
  ],
245
267
  settings: [
246
268
  {
@@ -289,7 +311,7 @@ export default {
289
311
  },
290
312
  },
291
313
  {
292
- tag: 'core-clickable-icon-setting',
314
+ tag: 'core-clickable-icons-settings',
293
315
  template: ClickableIconsSettings,
294
316
  context: ['block.core-clickable-icons'],
295
317
  metadata: {
@@ -297,6 +319,15 @@ export default {
297
319
  name: 'windward.core.shared.settings.title.clickable_icons',
298
320
  },
299
321
  },
322
+ {
323
+ tag: 'core-scenario-choice-settings',
324
+ template: ScenarioChoiceSettings,
325
+ context: ['block.core-scenario-choice'],
326
+ metadata: {
327
+ icon: 'mdi-cog',
328
+ name: 'windward.core.shared.settings.title.scenario_choice',
329
+ },
330
+ },
300
331
  {
301
332
  tag: 'core-video-settings',
302
333
  template: VideoSettings,
@@ -351,6 +382,15 @@ export default {
351
382
  name: 'windward.core.shared.settings.title.feedback',
352
383
  },
353
384
  },
385
+ {
386
+ tag: 'core-block-quote-settings',
387
+ template: BlockQuoteSettigns,
388
+ context: ['block.core-block-quote'],
389
+ metadata: {
390
+ icon: 'mdi-notebook-outline',
391
+ name: 'windward.core.shared.settings.title.block_quote',
392
+ },
393
+ },
354
394
  ],
355
395
  },
356
396
  }
@@ -0,0 +1,21 @@
1
+ import { shallowMount } from '@vue/test-utils'
2
+ import Vuetify from 'vuetify'
3
+ import Vue from 'vue'
4
+ import { defaultMocks } from '@/test/mocks'
5
+ import BlockQuote from '@/components/Content/Blocks/BlockQuote'
6
+
7
+ Vue.use(Vuetify)
8
+
9
+ describe('BlockQuote', () => {
10
+ test('is a Vue instance', () => {
11
+ const wrapper = shallowMount(BlockQuote, {
12
+ propsData: {
13
+ value: {
14
+ body: 'block quote',
15
+ metadata: { config: {} },
16
+ },
17
+ },
18
+ })
19
+ expect(wrapper.vm).toBeTruthy()
20
+ })
21
+ })
@@ -0,0 +1,21 @@
1
+ import { shallowMount } from '@vue/test-utils'
2
+ import Vue from 'vue'
3
+ import Vuetify from 'vuetify'
4
+
5
+ import { defaultMocks } from '@/test/mocks'
6
+ import ScenarioChoice from '@/components/Content/Blocks/ScenarioChoice'
7
+
8
+ Vue.use(Vuetify)
9
+
10
+ describe('ContentClickableIcon component', () => {
11
+ test('is a Vue instance', () => {
12
+ const wrapper = shallowMount(ScenarioChoice, {
13
+ vuetify: new Vuetify(),
14
+ mocks: defaultMocks,
15
+ propsData: {
16
+ value: { body: 'scenario choice', metadata: { config: {} } },
17
+ },
18
+ })
19
+ expect(wrapper.vm).toBeTruthy()
20
+ })
21
+ })
@@ -0,0 +1,20 @@
1
+ import { shallowMount } from '@vue/test-utils'
2
+ import Vuetify from 'vuetify'
3
+ import Vue from 'vue'
4
+
5
+ import { defaultMocks } from '@/test/mocks'
6
+ import BlockQuoteSettings from '@/components/Settings/BlockQuoteSettings'
7
+
8
+ Vue.use(Vuetify)
9
+
10
+ describe('BlockQuoteSettings', () => {
11
+ test('is a Vue instance', () => {
12
+ const wrapper = shallowMount(BlockQuoteSettings, {
13
+ propsData: {
14
+ tag: 'core-block-quote-settings',
15
+ },
16
+ mocks: defaultMocks,
17
+ })
18
+ expect(wrapper.vm).toBeTruthy()
19
+ })
20
+ })
@@ -11,7 +11,7 @@ describe('ClickableIconsSettings', () => {
11
11
  test('is a Vue instance', () => {
12
12
  const wrapper = shallowMount(ClickableIconsSettings, {
13
13
  propsData: {
14
- tag: 'core-clickable-icon-setting',
14
+ tag: 'core-clickable-icons-settings',
15
15
  },
16
16
  mocks: defaultMocks,
17
17
  })
@@ -0,0 +1,20 @@
1
+ import { shallowMount } from '@vue/test-utils'
2
+ import Vuetify from 'vuetify'
3
+ import Vue from 'vue'
4
+
5
+ import { defaultMocks } from '@/test/mocks'
6
+ import ScenarioChoiceSettings from '@/components/Settings/ScenarioChoiceSettings'
7
+
8
+ Vue.use(Vuetify)
9
+
10
+ describe('ScenarioChoiceSettings', () => {
11
+ test('is a Vue instance', () => {
12
+ const wrapper = shallowMount(ScenarioChoiceSettings, {
13
+ propsData: {
14
+ tag: 'core-scenario-choice-settings',
15
+ },
16
+ mocks: defaultMocks,
17
+ })
18
+ expect(wrapper.vm).toBeTruthy()
19
+ })
20
+ })
@@ -0,0 +1,9 @@
1
+ import _ from 'lodash'
2
+ import locales from '../../i18n'
3
+ import localeTest from '../locales'
4
+ describe('LocaleKeys', () => {
5
+ test('Confirm that all localizations are equal aka not missing keys between them', () => {
6
+ const messages = locales.messages
7
+ localeTest.test(messages)
8
+ })
9
+ })
@@ -1,3 +1,27 @@
1
+ jest.mock(
2
+ '~/components/TextIconPicker.vue',
3
+ () => {
4
+ return {
5
+ props: {},
6
+ computed: {},
7
+ methods: {},
8
+ }
9
+ },
10
+ { virtual: true }
11
+ )
12
+
13
+ jest.mock(
14
+ '~/components/SortableExpansionPanel.vue',
15
+ () => {
16
+ return {
17
+ props: {},
18
+ computed: {},
19
+ methods: {},
20
+ }
21
+ },
22
+ { virtual: true }
23
+ )
24
+
1
25
  jest.mock(
2
26
  '~/components/Dialog.vue',
3
27
  () => {