@windward/core 0.6.0 → 0.8.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 (176) hide show
  1. package/CHANGELOG.md +8 -1
  2. package/components/Content/Blocks/Accordion.vue +22 -0
  3. package/components/Content/Blocks/BlockQuote.vue +6 -2
  4. package/components/Content/Blocks/ClickableIcons.vue +19 -4
  5. package/components/Content/Blocks/Email.vue +12 -3
  6. package/components/Content/Blocks/GenerateAIQuestionButton.vue +14 -6
  7. package/components/Content/Blocks/HorizontalRule.vue +3 -4
  8. package/components/Content/Blocks/OpenResponse.vue +25 -0
  9. package/components/Content/Blocks/OpenResponseCollate.vue +13 -12
  10. package/components/Content/Blocks/ScenarioChoice.vue +66 -33
  11. package/components/Content/Blocks/Tab.vue +19 -0
  12. package/components/Content/Blocks/UserUpload.vue +5 -10
  13. package/components/Content/Blocks/Video.vue +129 -15
  14. package/components/Settings/AccordionSettings.vue +52 -13
  15. package/components/Settings/BlockQuoteSettings.vue +17 -33
  16. package/components/Settings/ClickableIconsSettings.vue +37 -23
  17. package/components/Settings/EmailSettings.vue +12 -30
  18. package/components/Settings/FileDownloadSettings.vue +12 -31
  19. package/components/Settings/HorizontalRuleSettings.vue +0 -3
  20. package/components/Settings/ImageSettings.vue +3 -9
  21. package/components/Settings/OpenResponseCollateSettings.vue +47 -55
  22. package/components/Settings/OpenResponseSettings.vue +62 -36
  23. package/components/Settings/ScenarioChoiceSettings.vue +22 -29
  24. package/components/Settings/TabSettings.vue +99 -81
  25. package/components/Settings/UserUploadSettings.vue +16 -42
  26. package/components/Settings/VideoSettings/SourcePicker.vue +223 -0
  27. package/components/Settings/VideoSettings.vue +115 -195
  28. package/components/utils/TinyMCEWrapper.vue +9 -5
  29. package/components/utils/assets/tinymce/content/global.scss +14 -0
  30. package/components/utils/glossary/CourseGlossary.vue +52 -27
  31. package/helpers/GlossaryHelper.ts +12 -2
  32. package/helpers/tinymce/WindwardPlugins.ts +59 -10
  33. package/i18n/en-US/components/content/blocks/generate_questions.ts +2 -1
  34. package/i18n/en-US/components/content/blocks/video.ts +2 -51
  35. package/i18n/en-US/components/settings/accordion.ts +1 -0
  36. package/i18n/en-US/components/settings/open_response_collate.ts +1 -1
  37. package/i18n/en-US/components/settings/scenario_choice.ts +3 -2
  38. package/i18n/en-US/components/settings/tab.ts +1 -0
  39. package/i18n/en-US/components/settings/user_upload.ts +1 -0
  40. package/i18n/en-US/components/settings/video.ts +51 -0
  41. package/i18n/en-US/components/utils/tiny_mce_wrapper.ts +9 -1
  42. package/i18n/en-US/shared/settings.ts +1 -1
  43. package/i18n/es-ES/components/content/blocks/generate_questions.ts +2 -1
  44. package/i18n/es-ES/components/content/blocks/video.ts +3 -53
  45. package/i18n/es-ES/components/settings/accordion.ts +1 -0
  46. package/i18n/es-ES/components/settings/open_response_collate.ts +1 -1
  47. package/i18n/es-ES/components/settings/scenario_choice.ts +3 -2
  48. package/i18n/es-ES/components/settings/tab.ts +2 -0
  49. package/i18n/es-ES/components/settings/user_upload.ts +1 -0
  50. package/i18n/es-ES/components/settings/video.ts +53 -0
  51. package/i18n/es-ES/components/utils/tiny_mce_wrapper.ts +9 -0
  52. package/i18n/es-ES/shared/settings.ts +1 -1
  53. package/i18n/sv-SE/components/content/blocks/generate_questions.ts +2 -1
  54. package/i18n/sv-SE/components/content/blocks/video.ts +2 -51
  55. package/i18n/sv-SE/components/settings/accordion.ts +2 -0
  56. package/i18n/sv-SE/components/settings/open_response_collate.ts +1 -1
  57. package/i18n/sv-SE/components/settings/scenario_choice.ts +3 -2
  58. package/i18n/sv-SE/components/settings/tab.ts +1 -0
  59. package/i18n/sv-SE/components/settings/user_upload.ts +1 -0
  60. package/i18n/sv-SE/components/settings/video.ts +51 -0
  61. package/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts +8 -0
  62. package/package.json +3 -2
  63. package/plugin.js +1 -1
  64. package/test/__mocks__/modelMock.js +1 -1
  65. package/test/helpers/GlossaryHelper.spec.js +22 -3
  66. package/test/mocks.js +8 -0
  67. package/.idea/codeStyles/Project.xml +0 -58
  68. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  69. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  70. package/.idea/modules.xml +0 -8
  71. package/.idea/php-docker-settings.xml +0 -24
  72. package/.idea/php.xml +0 -19
  73. package/.idea/vcs.xml +0 -6
  74. package/.idea/watcherTasks.xml +0 -4
  75. package/.idea/windward-ui-plugin-core.iml +0 -8
  76. package/config/menu.config.json +0 -475
  77. package/coverage/clover.xml +0 -223
  78. package/coverage/coverage-final.json +0 -16
  79. package/coverage/lcov-report/base.css +0 -224
  80. package/coverage/lcov-report/block-navigation.js +0 -87
  81. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +0 -430
  82. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +0 -394
  83. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +0 -262
  84. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +0 -295
  85. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +0 -415
  86. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +0 -667
  87. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +0 -2275
  88. package/coverage/lcov-report/components/Content/Blocks/index.html +0 -206
  89. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +0 -199
  90. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +0 -919
  91. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +0 -343
  92. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +0 -271
  93. package/coverage/lcov-report/components/utils/index.html +0 -161
  94. package/coverage/lcov-report/config/index.html +0 -116
  95. package/coverage/lcov-report/config/tinymce.config.js.html +0 -493
  96. package/coverage/lcov-report/favicon.png +0 -0
  97. package/coverage/lcov-report/helpers/MathHelper.ts.html +0 -793
  98. package/coverage/lcov-report/helpers/index.html +0 -116
  99. package/coverage/lcov-report/helpers/tinymce/index.html +0 -116
  100. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +0 -334
  101. package/coverage/lcov-report/index.html +0 -191
  102. package/coverage/lcov-report/prettify.css +0 -1
  103. package/coverage/lcov-report/prettify.js +0 -2
  104. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  105. package/coverage/lcov-report/sorter.js +0 -196
  106. package/coverage/lcov-report/test/index.html +0 -116
  107. package/coverage/lcov-report/test/mocks.js.html +0 -457
  108. package/coverage/lcov.info +0 -403
  109. package/lib/helpers/GlossaryHelper.d.ts +0 -9
  110. package/lib/helpers/GlossaryHelper.js +0 -118
  111. package/lib/helpers/GlossaryTerm.d.ts +0 -10
  112. package/lib/helpers/GlossaryTerm.js +0 -22
  113. package/lib/helpers/MathHelper.d.ts +0 -99
  114. package/lib/helpers/MathHelper.js +0 -194
  115. package/lib/helpers/tinymce/plugin.d.ts +0 -2
  116. package/lib/helpers/tinymce/plugin.js +0 -86
  117. package/lib/i18n/en-US/components/content/blocks/image.d.ts +0 -6
  118. package/lib/i18n/en-US/components/content/blocks/image.js +0 -7
  119. package/lib/i18n/en-US/components/content/blocks/index.d.ts +0 -75
  120. package/lib/i18n/en-US/components/content/blocks/index.js +0 -14
  121. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +0 -5
  122. package/lib/i18n/en-US/components/content/blocks/tab.js +0 -6
  123. package/lib/i18n/en-US/components/content/blocks/table.d.ts +0 -5
  124. package/lib/i18n/en-US/components/content/blocks/table.js +0 -6
  125. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +0 -13
  126. package/lib/i18n/en-US/components/content/blocks/user_upload.js +0 -14
  127. package/lib/i18n/en-US/components/content/blocks/video.d.ts +0 -48
  128. package/lib/i18n/en-US/components/content/blocks/video.js +0 -49
  129. package/lib/i18n/en-US/components/content/index.d.ts +0 -77
  130. package/lib/i18n/en-US/components/content/index.js +0 -6
  131. package/lib/i18n/en-US/components/index.d.ts +0 -140
  132. package/lib/i18n/en-US/components/index.js +0 -12
  133. package/lib/i18n/en-US/components/navigation/image.d.ts +0 -5
  134. package/lib/i18n/en-US/components/navigation/image.js +0 -6
  135. package/lib/i18n/en-US/components/navigation/index.d.ts +0 -10
  136. package/lib/i18n/en-US/components/navigation/index.js +0 -8
  137. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +0 -4
  138. package/lib/i18n/en-US/components/navigation/user_upload.js +0 -5
  139. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +0 -6
  140. package/lib/i18n/en-US/components/settings/clickable_icon.js +0 -7
  141. package/lib/i18n/en-US/components/settings/image.d.ts +0 -2
  142. package/lib/i18n/en-US/components/settings/image.js +0 -3
  143. package/lib/i18n/en-US/components/settings/index.d.ts +0 -39
  144. package/lib/i18n/en-US/components/settings/index.js +0 -14
  145. package/lib/i18n/en-US/components/settings/text_editor.d.ts +0 -8
  146. package/lib/i18n/en-US/components/settings/text_editor.js +0 -9
  147. package/lib/i18n/en-US/components/settings/user_upload.d.ts +0 -12
  148. package/lib/i18n/en-US/components/settings/user_upload.js +0 -13
  149. package/lib/i18n/en-US/components/settings/video.d.ts +0 -13
  150. package/lib/i18n/en-US/components/settings/video.js +0 -14
  151. package/lib/i18n/en-US/components/utils/index.d.ts +0 -15
  152. package/lib/i18n/en-US/components/utils/index.js +0 -6
  153. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +0 -13
  154. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +0 -14
  155. package/lib/i18n/en-US/index.d.ts +0 -197
  156. package/lib/i18n/en-US/index.js +0 -16
  157. package/lib/i18n/en-US/modules/index.d.ts +0 -2
  158. package/lib/i18n/en-US/modules/index.js +0 -6
  159. package/lib/i18n/en-US/pages/glossary.d.ts +0 -8
  160. package/lib/i18n/en-US/pages/glossary.js +0 -9
  161. package/lib/i18n/en-US/pages/index.d.ts +0 -13
  162. package/lib/i18n/en-US/pages/index.js +0 -8
  163. package/lib/i18n/en-US/pages/user_upload.d.ts +0 -4
  164. package/lib/i18n/en-US/pages/user_upload.js +0 -5
  165. package/lib/i18n/en-US/shared/content_blocks.d.ts +0 -20
  166. package/lib/i18n/en-US/shared/content_blocks.js +0 -21
  167. package/lib/i18n/en-US/shared/index.d.ts +0 -39
  168. package/lib/i18n/en-US/shared/index.js +0 -10
  169. package/lib/i18n/en-US/shared/menu.d.ts +0 -4
  170. package/lib/i18n/en-US/shared/menu.js +0 -5
  171. package/lib/i18n/en-US/shared/settings.d.ts +0 -15
  172. package/lib/i18n/en-US/shared/settings.js +0 -16
  173. package/lib/i18n/en-US.d.ts +0 -197
  174. package/lib/i18n/en-US.js +0 -15
  175. package/lib/models/UserFileAsset.d.ts +0 -5
  176. package/lib/models/UserFileAsset.js +0 -37
@@ -1,6 +1,7 @@
1
1
  export default {
2
2
  title: 'Título del vídeo',
3
3
  sources: 'Fuentes',
4
+ place_source: 'Colocar video o audio',
4
5
  playback: 'Reproducción',
5
6
  no_sources: 'No hay fuentes configuradas',
6
7
  default_filename: 'Vídeo',
@@ -10,4 +11,56 @@ export default {
10
11
  'Seleccione una fuente antes de nombrar este elemento de la lista de reproducción',
11
12
  playlist_add: 'Añadir una lista de reproducción artículo',
12
13
  playlist_remove: 'Eliminar este elemento de la lista de reproducción',
14
+ inherit_captions: 'Ärv global bildtext',
15
+ inherit_global_toggle_description:
16
+ 'Cuando está habilitado, el contenido multimedia seleccionado utilizará subtítulos vinculados al archivo, administrados en el administrador de archivos. Cuando está deshabilitado, el contenido multimedia seleccionado tendrá sus propios subtítulos exclusivos que no se comparten globalmente en el archivo.',
17
+ inherit_missing_captions:
18
+ 'No hay subtítulos globales disponibles para esta fuente. Establézcalos en la configuración del archivo',
19
+ video: {
20
+ title: 'Archivo de vídeo',
21
+ configure_blurb:
22
+ 'Cargue un archivo de video (.mp4 o .webm), elija uno del administrador de archivos o agréguelo a través de la URL pública',
23
+ autoplay: 'Reproducción automática al cargar',
24
+ controls: 'Mostrar controles',
25
+ loop: 'Vídeo en bucle',
26
+ muted: 'Empezar silenciado',
27
+ disablepictureinpicture: 'Desactivar botón de imagen en imagen',
28
+ poster: 'Póster de vídeo',
29
+ playback_rates: 'Tasas de reproducción',
30
+ rewind: 'Permitir rebobinado de 10 segundos',
31
+ playsinline:
32
+ 'Deshabilitar pantalla completa y forzar visualización en línea',
33
+ captionsmenu: 'Mostrar el interactivo menú de subtítulos',
34
+ playlistmenu:
35
+ 'Mostrar menú de lista de reproducción (requiere más de 1 video seleccionado para mostrar)',
36
+ playlistautoadvance:
37
+ 'Avanzar automáticamente la lista de reproducción al final de los medios',
38
+ },
39
+ tabs: {
40
+ source: 'Källa',
41
+ video: 'Vídeo',
42
+ poster: 'Póster',
43
+ preroll: 'Preroll',
44
+ postroll: 'Desplazamiento posterior',
45
+ },
46
+ caption: {
47
+ title: 'Colocar archivo de subtítulos locales',
48
+ configure_blurb:
49
+ 'Cargue un archivo de subtítulos (.vtt o .xml), elija uno del administrador de archivos o agréguelo a través de la URL pública',
50
+ },
51
+ poster: {
52
+ title: 'Archivo de imagen de póster',
53
+ configure_blurb:
54
+ 'Cargue un archivo de póster (.png o .jpg), elija uno del administrador de archivos o agréguelo a través de la URL pública. Esta es la imagen que aparece antes de reproducir el video.',
55
+ },
56
+ preroll: {
57
+ title: 'Archivo de vídeo predesplazamiento',
58
+ configure_blurb:
59
+ 'Cargue un archivo de video pre-roll (.mp4 o .webm), elija uno del administrador de archivos o agréguelo a través de la URL pública',
60
+ },
61
+ postroll: {
62
+ title: 'Archivo de vídeo Post-roll',
63
+ configure_blurb:
64
+ 'Cargue un archivo de video post-roll (.mp4 o .webm), elija uno del administrador de archivos o agréguelo a través de la URL pública',
65
+ },
13
66
  }
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ accessibility: 'Accesibilidad',
2
3
  glossary: 'Glosario',
3
4
  term: 'Término del glosario',
4
5
  alternate_forms: 'Formas alternativas',
@@ -16,6 +17,14 @@ export default {
16
17
  t_chart: 'Gráfico T',
17
18
  subject_report: 'Informe de asunto',
18
19
  },
20
+ math: 'Matemáticas',
19
21
  minimize: 'Minimizar',
20
22
  read_text_aloud: 'Leer texto',
23
+ heading_order_incorrect:
24
+ 'Los títulos deben aplicarse en orden secuencial: H2 debe ir seguido de H3, H4, etc.',
25
+ wcag_guidelines: '(Directrices WCAG {0})',
26
+ link_href_missing:
27
+ 'El Elemento HTML Anchor <a> debe contener un atributo href',
28
+ link_text_missing:
29
+ 'El Elemento HTML Anchor <a> debe contener texto. ',
21
30
  }
@@ -23,7 +23,7 @@ export default {
23
23
  block_quote: 'Configuración de cotización en bloque',
24
24
  },
25
25
  errors: {
26
- input_limitations: 'Debe tener menos de {0} caracteres.'
26
+ input_limitations: 'Debe tener menos de {0} caracteres.',
27
27
  },
28
28
  upload_file: 'Subir Archivo',
29
29
  alt_image: 'Texto alternativo para imagen',
@@ -1,3 +1,4 @@
1
1
  export default {
2
- error: "Kunde inte generera en fråga från det tillhandahållna innehållet."
2
+ error: "Kunde inte generera en fråga från det tillhandahållna innehållet.",
3
+ button_label: 'Generera fråga'
3
4
  }
@@ -1,53 +1,4 @@
1
1
  export default {
2
- tabs: {
3
- video: 'Video',
4
- poster: 'Poster',
5
- preroll: 'Preroll',
6
- postroll: 'Postroll',
7
- },
8
- forms: {
9
- unsaved: 'Du har osparade ändringar. Vill du spara dem?',
10
- cancel: 'Avbryt',
11
- confirm: 'Bekräfta',
12
- },
13
- video: {
14
- title: 'Videofil',
15
- configure_blurb:
16
- 'Ladda upp en videofil (.mp4 eller .webm), välj en från filhanteraren eller lägg till via den offentliga webbadressen',
17
- not_configured_title: 'Video inte konfigurerad',
18
- edit_prompt: 'Redigera detta block för att komma igång',
19
- autoplay: 'Autoplay on load',
20
- controls: 'Visa kontroller',
21
- loop: 'Loop video',
22
- muted: 'Starta tyst',
23
- disablepictureinpicture: 'Inaktivera bild-i-bild-knapp',
24
- poster: 'Videoposter',
25
- playback_rates: 'Uppspelningshastigheter',
26
- rewind: 'Tillåt 10 sekunders spola tillbaka',
27
- playsinline: 'Inaktivera helskärm och tvinga inline-visning',
28
- captionsmenu: 'Visa det interaktiva bildtextmeny',
29
- playlistmenu:
30
- 'Visa spellistameny (kräver mer än 1 video vald för att visa)',
31
- playlistautoadvance: 'Avancera spellistan automatiskt på mediaänden',
32
- },
33
- caption: {
34
- title: 'Captions File',
35
- configure_blurb:
36
- 'Ladda upp en bildtextfil (.vtt eller .xml), välj en från filhanteraren eller lägg till via den offentliga webbadressen',
37
- },
38
- poster: {
39
- title: 'Affischbildfil',
40
- configure_blurb:
41
- 'Ladda upp en affischfil (.png eller .jpg), välj en från filhanteraren eller lägg till via den offentliga webbadressen. Det här är bilden som visas innan videon spelas upp.',
42
- },
43
- preroll: {
44
- title: 'Preroll Video File',
45
- configure_blurb:
46
- 'Ladda upp en preroll-videofil (.mp4 eller .webm), välj en från filhanteraren eller lägg till via den offentliga webbadressen',
47
- },
48
- postroll: {
49
- title: 'Postroll Video File',
50
- configure_blurb:
51
- 'Ladda upp en postroll-videofil (.mp4 eller .webm), välj en från filhanteraren eller lägg till via den offentliga webbadressen',
52
- },
2
+ not_configured_title: 'Video inte konfigurerad',
3
+ edit_prompt: 'Redigera detta block för att komma igång',
53
4
  }
@@ -3,4 +3,6 @@ export default {
3
3
  add: 'Lägg till dragspel',
4
4
  accordion: 'Dragspel',
5
5
  label: 'Dragspel brödtext',
6
+ instructions:
7
+ 'Klicka på var och en av rubrikerna nedan för mer information.',
6
8
  }
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  instructions:
3
- 'Bocka av öppna svar för att sortera. Dra uppmaningarna för att ställa in den ordning du vill att svaren ska sorteras',
3
+ 'Bocka av öppna svarsobjekt för att sortera till ett dokument.',
4
4
  include_prompts: 'Inkludera uppmaningar',
5
5
  filename: 'Filnamn (tomt för nuvarande sidnamn)',
6
6
  }
@@ -3,8 +3,8 @@ export default {
3
3
  description: 'Beskrivning',
4
4
  over_item_limit: 'Kan inte lägga till fler objekt',
5
5
  no_title: 'Ingen titel',
6
- item_title: 'Artikeltitel',
7
- item_text: 'Artikeltext',
6
+ item_title: 'Valtext',
7
+ item_text: 'Förklaring av detta val',
8
8
  correct_choice: 'Är rätt val',
9
9
  show_reset: 'Tillåt återförsök',
10
10
  display_style: 'Visa stil',
@@ -16,4 +16,5 @@ export default {
16
16
  letter: 'Brev',
17
17
  number: 'Nummer',
18
18
  },
19
+ add_choice: 'Lägg till val',
19
20
  }
@@ -4,4 +4,5 @@ export default {
4
4
  header: 'Flikhuvud',
5
5
  add_tab: 'Lägg till flik',
6
6
  delete_tab: 'Delete Tab',
7
+ instructions: 'Klicka på var och en av rubrikerna nedan för mer information.'
7
8
  }
@@ -8,4 +8,5 @@ export default {
8
8
  all_excel: 'Kalkylblad - .xls och .xlsx',
9
9
  all_zip: 'Komprimerad - .zip',
10
10
  },
11
+ instructions:'Dra eller klicka här för att ladda upp filer.',
11
12
  }
@@ -1,6 +1,7 @@
1
1
  export default {
2
2
  title: 'Videotitel',
3
3
  sources: 'Källor',
4
+ place_source: 'Placera video eller ljud',
4
5
  playback: 'Uppspelning',
5
6
  no_sources: 'Inga källor konfigurerade',
6
7
  default_filename: 'Video',
@@ -10,4 +11,54 @@ export default {
10
11
  'Välj en källa innan du namnger detta spellistaobjekt',
11
12
  playlist_add: 'Lägg till en spellista Artikel',
12
13
  playlist_remove: 'Ta bort detta spellistobjekt',
14
+ inherit_captions: 'Heredar subtítulos globales',
15
+ inherit_global_toggle_description:
16
+ 'När det är aktiverat kommer det valda mediet att använda bildtexter länkade på filen, hanterade i filhanteraren. När det är inaktiverat kommer det valda mediet att ha sina egna unika bildtexter som inte delas globalt på filen.',
17
+ inherit_missing_captions:
18
+ 'Inga globala bildtexter är tillgängliga för den här källan. Ange dem i filinställningarna',
19
+ video: {
20
+ title: 'Videofil',
21
+ configure_blurb:
22
+ 'Ladda upp en videofil (.mp4 eller .webm), välj en från filhanteraren eller lägg till via den offentliga webbadressen',
23
+ autoplay: 'Autoplay on load',
24
+ controls: 'Visa kontroller',
25
+ loop: 'Loop video',
26
+ muted: 'Starta tyst',
27
+ disablepictureinpicture: 'Inaktivera bild-i-bild-knapp',
28
+ poster: 'Videoposter',
29
+ playback_rates: 'Uppspelningshastigheter',
30
+ rewind: 'Tillåt 10 sekunders spola tillbaka',
31
+ playsinline: 'Inaktivera helskärm och tvinga inline-visning',
32
+ captionsmenu: 'Visa det interaktiva bildtextmeny',
33
+ playlistmenu:
34
+ 'Visa spellistameny (kräver mer än 1 video vald för att visa)',
35
+ playlistautoadvance: 'Avancera spellistan automatiskt på mediaänden',
36
+ },
37
+ tabs: {
38
+ source: 'Fuente',
39
+ video: 'Video',
40
+ poster: 'Poster',
41
+ preroll: 'Preroll',
42
+ postroll: 'Postroll',
43
+ },
44
+ caption: {
45
+ title: 'Placera en lokal bildtextfil',
46
+ configure_blurb:
47
+ 'Ladda upp en bildtextfil (.vtt eller .xml), välj en från filhanteraren eller lägg till via den offentliga webbadressen',
48
+ },
49
+ poster: {
50
+ title: 'Affischbildfil',
51
+ configure_blurb:
52
+ 'Ladda upp en affischfil (.png eller .jpg), välj en från filhanteraren eller lägg till via den offentliga webbadressen. Det här är bilden som visas innan videon spelas upp.',
53
+ },
54
+ preroll: {
55
+ title: 'Preroll Video File',
56
+ configure_blurb:
57
+ 'Ladda upp en preroll-videofil (.mp4 eller .webm), välj en från filhanteraren eller lägg till via den offentliga webbadressen',
58
+ },
59
+ postroll: {
60
+ title: 'Postroll Video File',
61
+ configure_blurb:
62
+ 'Ladda upp en postroll-videofil (.mp4 eller .webm), välj en från filhanteraren eller lägg till via den offentliga webbadressen',
63
+ },
13
64
  }
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ accessibility: 'Tillgänglighet',
2
3
  glossary: 'Ordlista',
3
4
  term: 'Ordlista Term',
4
5
  alternate_forms: 'Alternativa formulär',
@@ -16,6 +17,13 @@ export default {
16
17
  t_chart: 'T Chart',
17
18
  subject_report: 'Ämnesrapport',
18
19
  },
20
+ math: 'Matematik',
19
21
  minimize: 'Minimera',
20
22
  read_text_aloud: 'Läs texten högt',
23
+ heading_order_incorrect:
24
+ 'Rubriker måste tillämpas i sekventiell ordning: H2 ska följas av H3, H4, och så vidare',
25
+ wcag_guidelines: '(WCAG {0} riktlinjer)',
26
+ link_href_missing:
27
+ 'HTML Anchor <a>-elementet måste innehålla ett href-attribut',
28
+ link_text_missing: 'HTML-ankarelementet <a> måste innehålla text.',
21
29
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windward/core",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Windward UI Core Plugins",
5
5
  "main": "plugin.js",
6
6
  "scripts": {
@@ -23,6 +23,7 @@
23
23
  "dependencies": {
24
24
  "@mindedge/vuetify-player": "^0.3.1",
25
25
  "@tinymce/tinymce-vue": "^3.2.8",
26
+ "accessibility-scanner": "^0.0.1",
26
27
  "eslint": "^8.11.0",
27
28
  "he": "^1.2.0",
28
29
  "lodash": "^4.17.21",
@@ -35,6 +36,7 @@
35
36
  },
36
37
  "devDependencies": {
37
38
  "@babel/preset-env": "^7.16.11",
39
+ "@mindedge/vue-api-query": "^1.14.0",
38
40
  "@nuxtjs/axios": "^5.13.6",
39
41
  "@types/lodash": "^4.14.180",
40
42
  "@vue/cli-plugin-babel": "^5.0.4",
@@ -51,7 +53,6 @@
51
53
  "ts-jest": "^26.5.6",
52
54
  "typescript": "^4.6.3",
53
55
  "vue": "^2.6.14",
54
- "vue-api-query": "^1.11.0",
55
56
  "vue-jest": "^3.0.7",
56
57
  "vuetify": "^2.6.4"
57
58
  }
package/plugin.js CHANGED
@@ -246,7 +246,7 @@ export default {
246
246
  metadata: {
247
247
  icon: 'mdi-ab-testing',
248
248
  name: 'windward.core.shared.content_blocks.title.scenario_choice',
249
- grouping: 'components.content.blocks.group.basic',
249
+ grouping: 'components.content.blocks.group.activities',
250
250
  },
251
251
  },
252
252
  {
@@ -1,4 +1,4 @@
1
- import { Model as mockModel } from 'vue-api-query'
1
+ import { Model as mockModel } from '@mindedge/vue-api-query'
2
2
 
3
3
  import axios from 'axios'
4
4
  jest.mock('axios')
@@ -16,6 +16,10 @@ const unVerifiedGlossaryWordWithSpace =
16
16
  '<span class="glossary-word" aria-label="Glossary Term"> Climate </span>'
17
17
  const glossaryWord3 =
18
18
  '<span class="glossary-word" aria-label="Glossary Term">Crisis change</span>'
19
+ const glossaryWord4 =
20
+ '<span class="glossary-word" aria-label="Glossary Term">architect</span>'
21
+ const glossaryWord5 =
22
+ '<span class="glossary-word" aria-label="Glossary Term">universe</span>'
19
23
  const glossaryWordSpaceBefore =
20
24
  '<span class="glossary-word" aria-label="Glossary Term"> Crisis change</span>'
21
25
  const glossaryWordSpaceAfter =
@@ -32,7 +36,7 @@ const glossary = [
32
36
  {
33
37
  term: 'Architecto',
34
38
  definition: 'Architecto is a word that means architect of the universe',
35
- alternate_forms: null,
39
+ alternate_forms: ['Architect', 'universe'],
36
40
  related_term: 'a,b,c,d',
37
41
  },
38
42
  {
@@ -47,7 +51,7 @@ const glossary = [
47
51
  {
48
52
  term: 'crisis change',
49
53
  definition: 'n/a',
50
- alternate_forms: null,
54
+ alternate_forms: ['crisis', 'change'],
51
55
  related_term: null,
52
56
  },
53
57
  ]
@@ -135,7 +139,14 @@ describe('GlossaryHelper ', () => {
135
139
  )
136
140
  ).toEqual([term])
137
141
  })
138
-
142
+ test('can retrieve verified glossary terms from alternate form ', () => {
143
+ expect(
144
+ GlossaryHelper.getContentVerifiedGlossaryTerms(
145
+ glossaryWord4 + contentHtml + glossaryWord5,
146
+ glossary
147
+ )
148
+ ).toEqual([term])
149
+ })
139
150
  test('can retrieve un-verified glossary terms', () => {
140
151
  expect(
141
152
  GlossaryHelper.getContentUnVerifiedGlossaryTerms(
@@ -144,6 +155,14 @@ describe('GlossaryHelper ', () => {
144
155
  )
145
156
  ).toEqual([new GlossaryTerm({ term: 'unverified', definition: 'n/a' })])
146
157
  })
158
+ test('does not mistake alternate forms for un-verified glossary terms', () => {
159
+ expect(
160
+ GlossaryHelper.getContentUnVerifiedGlossaryTerms(
161
+ glossaryWord2 + contentHtml + glossaryWord4,
162
+ glossary
163
+ )
164
+ ).toEqual([new GlossaryTerm({ term: 'unverified', definition: 'n/a' })])
165
+ })
147
166
 
148
167
  test('can retrieve un-verified glossary terms with space', () => {
149
168
  expect(
package/test/mocks.js CHANGED
@@ -55,6 +55,14 @@ const mocks = {
55
55
  window: {},
56
56
  app: {},
57
57
  $router: [],
58
+ $Validation: {
59
+ getRule() {},
60
+ getLimit() {},
61
+ addLimit() {},
62
+ addRule() {},
63
+ addLimits() {},
64
+ addRules() {},
65
+ },
58
66
  $PluginService: { mounted: () => {} },
59
67
  $PermissionService: { userHasAccessTo: () => {} },
60
68
  $Grading: {
@@ -1,58 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <code_scheme name="Project" version="173">
3
- <HTMLCodeStyleSettings>
4
- <option name="HTML_SPACE_INSIDE_EMPTY_TAG" value="true" />
5
- <option name="HTML_ENFORCE_QUOTES" value="true" />
6
- </HTMLCodeStyleSettings>
7
- <JSCodeStyleSettings version="0">
8
- <option name="FORCE_SEMICOLON_STYLE" value="true" />
9
- <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
10
- <option name="FORCE_QUOTE_STYlE" value="true" />
11
- <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
12
- <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
13
- <option name="SPACES_WITHIN_IMPORTS" value="true" />
14
- </JSCodeStyleSettings>
15
- <TypeScriptCodeStyleSettings version="0">
16
- <option name="FORCE_SEMICOLON_STYLE" value="true" />
17
- <option name="SPACE_BEFORE_FUNCTION_LEFT_PARENTH" value="false" />
18
- <option name="FORCE_QUOTE_STYlE" value="true" />
19
- <option name="ENFORCE_TRAILING_COMMA" value="Remove" />
20
- <option name="SPACES_WITHIN_OBJECT_LITERAL_BRACES" value="true" />
21
- <option name="SPACES_WITHIN_IMPORTS" value="true" />
22
- </TypeScriptCodeStyleSettings>
23
- <VueCodeStyleSettings>
24
- <option name="INTERPOLATION_NEW_LINE_AFTER_START_DELIMITER" value="false" />
25
- <option name="INTERPOLATION_NEW_LINE_BEFORE_END_DELIMITER" value="false" />
26
- </VueCodeStyleSettings>
27
- <codeStyleSettings language="HTML">
28
- <option name="SOFT_MARGINS" value="80" />
29
- <indentOptions>
30
- <option name="INDENT_SIZE" value="2" />
31
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
32
- <option name="TAB_SIZE" value="2" />
33
- </indentOptions>
34
- </codeStyleSettings>
35
- <codeStyleSettings language="JavaScript">
36
- <option name="SOFT_MARGINS" value="80" />
37
- <indentOptions>
38
- <option name="INDENT_SIZE" value="2" />
39
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
40
- <option name="TAB_SIZE" value="2" />
41
- </indentOptions>
42
- </codeStyleSettings>
43
- <codeStyleSettings language="TypeScript">
44
- <option name="SOFT_MARGINS" value="80" />
45
- <indentOptions>
46
- <option name="INDENT_SIZE" value="2" />
47
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
48
- <option name="TAB_SIZE" value="2" />
49
- </indentOptions>
50
- </codeStyleSettings>
51
- <codeStyleSettings language="Vue">
52
- <option name="SOFT_MARGINS" value="80" />
53
- <indentOptions>
54
- <option name="CONTINUATION_INDENT_SIZE" value="2" />
55
- </indentOptions>
56
- </codeStyleSettings>
57
- </code_scheme>
58
- </component>
@@ -1,5 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <state>
3
- <option name="USE_PER_PROJECT_SETTINGS" value="true" />
4
- </state>
5
- </component>
@@ -1,6 +0,0 @@
1
- <component name="InspectionProjectProfileManager">
2
- <profile version="1.0">
3
- <option name="myName" value="Project Default" />
4
- <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
5
- </profile>
6
- </component>
package/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/windward-ui-plugin-core.iml" filepath="$PROJECT_DIR$/.idea/windward-ui-plugin-core.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,24 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="PhpDockerContainerSettings">
4
- <list>
5
- <map>
6
- <entry key="79d59a8f-c56c-4789-b96c-e55a326ab125">
7
- <value>
8
- <DockerContainerSettings>
9
- <option name="version" value="1" />
10
- <option name="volumeBindings">
11
- <list>
12
- <DockerVolumeBindingImpl>
13
- <option name="containerPath" value="/opt/project" />
14
- <option name="hostPath" value="$PROJECT_DIR$" />
15
- </DockerVolumeBindingImpl>
16
- </list>
17
- </option>
18
- </DockerContainerSettings>
19
- </value>
20
- </entry>
21
- </map>
22
- </list>
23
- </component>
24
- </project>
package/.idea/php.xml DELETED
@@ -1,19 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="MessDetectorOptionsConfiguration">
4
- <option name="transferred" value="true" />
5
- </component>
6
- <component name="PHPCSFixerOptionsConfiguration">
7
- <option name="transferred" value="true" />
8
- </component>
9
- <component name="PHPCodeSnifferOptionsConfiguration">
10
- <option name="highlightLevel" value="WARNING" />
11
- <option name="transferred" value="true" />
12
- </component>
13
- <component name="PhpStanOptionsConfiguration">
14
- <option name="transferred" value="true" />
15
- </component>
16
- <component name="PsalmOptionsConfiguration">
17
- <option name="transferred" value="true" />
18
- </component>
19
- </project>
package/.idea/vcs.xml DELETED
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
5
- </component>
6
- </project>
@@ -1,4 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectTasksOptions" suppressed-tasks="SCSS" />
4
- </project>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="WEB_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$" />
5
- <orderEntry type="inheritedJdk" />
6
- <orderEntry type="sourceFolder" forTests="false" />
7
- </component>
8
- </module>