@windward/core 0.26.0 → 0.28.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 (109) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/components/Content/Blocks/Accordion.vue +9 -15
  3. package/components/Content/Blocks/BlockQuote.vue +29 -4
  4. package/components/Content/Blocks/ClickableIcons.vue +22 -9
  5. package/components/Content/Blocks/Email.vue +11 -4
  6. package/components/Content/Blocks/Feedback/FeedbackAnalytics.vue +179 -0
  7. package/components/Content/Blocks/Feedback.vue +115 -111
  8. package/components/Content/Blocks/FileDownload.vue +2 -2
  9. package/components/Content/Blocks/Image.vue +144 -0
  10. package/components/Content/Blocks/OpenResponse.vue +419 -5
  11. package/components/Content/Blocks/ScenarioChoice.vue +11 -2
  12. package/components/Content/Blocks/Tab.vue +16 -29
  13. package/components/Content/Blocks/UserUpload.vue +66 -38
  14. package/components/Content/Blocks/Video.vue +377 -28
  15. package/components/Settings/AccordionSettings.vue +3 -15
  16. package/components/Settings/BlockQuoteSettings.vue +6 -4
  17. package/components/Settings/ClickableIconsSettings.vue +24 -10
  18. package/components/Settings/EmailSettings.vue +3 -11
  19. package/components/Settings/FileDownloadSettings.vue +8 -2
  20. package/components/Settings/ImageSettings.vue +26 -0
  21. package/components/Settings/OpenResponseCollateSettings.vue +10 -0
  22. package/components/Settings/OpenResponseSettings.vue +67 -7
  23. package/components/Settings/ScenarioChoiceSettings.vue +11 -5
  24. package/components/Settings/TabSettings.vue +3 -18
  25. package/components/Settings/UserUploadSettings.vue +16 -8
  26. package/components/Settings/VideoSettings/SourcePicker.vue +55 -21
  27. package/components/Settings/VideoSettings.vue +18 -2
  28. package/components/utils/ContentViewer.vue +180 -1
  29. package/components/utils/glossary/GlossaryToolTip.vue +4 -23
  30. package/helpers/GlossaryHelper.ts +4 -7
  31. package/i18n/en-US/components/content/blocks/accordion.ts +3 -0
  32. package/i18n/en-US/components/content/blocks/block_quote.ts +3 -1
  33. package/i18n/en-US/components/content/blocks/feedback.ts +2 -0
  34. package/i18n/en-US/components/content/blocks/file_download.ts +2 -1
  35. package/i18n/en-US/components/content/blocks/index.ts +2 -0
  36. package/i18n/en-US/components/content/blocks/open_response.ts +19 -1
  37. package/i18n/en-US/components/content/blocks/open_response_collate.ts +1 -1
  38. package/i18n/en-US/components/content/blocks/scenario_choice.ts +2 -0
  39. package/i18n/en-US/components/content/blocks/user_upload.ts +2 -1
  40. package/i18n/en-US/components/settings/accordion.ts +2 -1
  41. package/i18n/en-US/components/settings/block_quote.ts +1 -1
  42. package/i18n/en-US/components/settings/clickable_icon.ts +5 -0
  43. package/i18n/en-US/components/settings/email.ts +2 -1
  44. package/i18n/en-US/components/settings/file_download.ts +2 -2
  45. package/i18n/en-US/components/settings/image.ts +1 -0
  46. package/i18n/en-US/components/settings/open_response.ts +8 -0
  47. package/i18n/en-US/components/settings/open_response_collate.ts +3 -0
  48. package/i18n/en-US/components/settings/scenario_choice.ts +3 -1
  49. package/i18n/en-US/components/settings/tab.ts +4 -3
  50. package/i18n/en-US/components/settings/user_upload.ts +1 -0
  51. package/i18n/en-US/components/settings/video.ts +3 -1
  52. package/i18n/en-US/shared/content_blocks.ts +1 -1
  53. package/i18n/es-ES/components/content/blocks/accordion.ts +3 -0
  54. package/i18n/es-ES/components/content/blocks/block_quote.ts +3 -1
  55. package/i18n/es-ES/components/content/blocks/feedback.ts +2 -0
  56. package/i18n/es-ES/components/content/blocks/file_download.ts +2 -1
  57. package/i18n/es-ES/components/content/blocks/index.ts +2 -0
  58. package/i18n/es-ES/components/content/blocks/open_response.ts +19 -2
  59. package/i18n/es-ES/components/content/blocks/open_response_collate.ts +1 -1
  60. package/i18n/es-ES/components/content/blocks/scenario_choice.ts +2 -0
  61. package/i18n/es-ES/components/content/blocks/user_upload.ts +2 -1
  62. package/i18n/es-ES/components/settings/accordion.ts +4 -2
  63. package/i18n/es-ES/components/settings/block_quote.ts +1 -1
  64. package/i18n/es-ES/components/settings/clickable_icon.ts +7 -0
  65. package/i18n/es-ES/components/settings/email.ts +2 -1
  66. package/i18n/es-ES/components/settings/image.ts +1 -0
  67. package/i18n/es-ES/components/settings/open_response.ts +8 -0
  68. package/i18n/es-ES/components/settings/open_response_collate.ts +3 -0
  69. package/i18n/es-ES/components/settings/scenario_choice.ts +3 -1
  70. package/i18n/es-ES/components/settings/tab.ts +3 -2
  71. package/i18n/es-ES/components/settings/user_upload.ts +1 -0
  72. package/i18n/es-ES/components/settings/video.ts +3 -1
  73. package/i18n/es-ES/shared/content_blocks.ts +1 -1
  74. package/i18n/sv-SE/components/content/blocks/accordion.ts +3 -0
  75. package/i18n/sv-SE/components/content/blocks/block_quote.ts +3 -1
  76. package/i18n/sv-SE/components/content/blocks/feedback.ts +2 -0
  77. package/i18n/sv-SE/components/content/blocks/file_download.ts +2 -1
  78. package/i18n/sv-SE/components/content/blocks/index.ts +2 -0
  79. package/i18n/sv-SE/components/content/blocks/open_response.ts +19 -2
  80. package/i18n/sv-SE/components/content/blocks/open_response_collate.ts +1 -1
  81. package/i18n/sv-SE/components/content/blocks/scenario_choice.ts +2 -0
  82. package/i18n/sv-SE/components/content/blocks/user_upload.ts +2 -1
  83. package/i18n/sv-SE/components/settings/accordion.ts +2 -1
  84. package/i18n/sv-SE/components/settings/block_quote.ts +1 -1
  85. package/i18n/sv-SE/components/settings/clickable_icon.ts +6 -0
  86. package/i18n/sv-SE/components/settings/email.ts +2 -1
  87. package/i18n/sv-SE/components/settings/image.ts +1 -0
  88. package/i18n/sv-SE/components/settings/open_response.ts +8 -0
  89. package/i18n/sv-SE/components/settings/open_response_collate.ts +3 -0
  90. package/i18n/sv-SE/components/settings/scenario_choice.ts +3 -1
  91. package/i18n/sv-SE/components/settings/tab.ts +5 -3
  92. package/i18n/sv-SE/components/settings/user_upload.ts +1 -0
  93. package/i18n/sv-SE/components/settings/video.ts +3 -1
  94. package/i18n/sv-SE/shared/content_blocks.ts +1 -1
  95. package/models/SurveyResultMetric.ts +8 -0
  96. package/package.json +2 -2
  97. package/plugin.js +8 -0
  98. package/test/Components/Content/Blocks/Feedback/FeedbackTemplates/FeedbackAnalytics.spec.js +23 -0
  99. package/test/Components/Content/Blocks/{FeedbackTemplates → Feedback/FeedbackTemplates}/FeedbackQuestionLikert.spec.js +1 -1
  100. package/test/Components/Content/Blocks/{FeedbackTemplates → Feedback/FeedbackTemplates}/FeedbackQuestionOpenResponse.spec.js +1 -1
  101. package/test/Components/Content/Blocks/{FeedbackTemplates → Feedback/FeedbackTemplates}/FeedbackQuestionTrueFalse.spec.js +1 -1
  102. package/test/Components/Settings/AccordionSettings.spec.js +0 -13
  103. package/test/Components/Settings/ClickableIconsSettings.spec.js +1 -12
  104. package/test/Components/Settings/EmailSettings.spec.js +0 -9
  105. package/test/Components/Settings/TabSettings.spec.js +0 -13
  106. package/test/helpers/GlossaryHelper.spec.js +8 -8
  107. package/components/Content/Blocks/{FeedbackTemplates → Feedback/FeedbackTemplates}/FeedbackQuestionLikert.vue +1 -1
  108. package/components/Content/Blocks/{FeedbackTemplates → Feedback/FeedbackTemplates}/FeedbackQuestionOpenResponse.vue +1 -1
  109. /package/components/Content/Blocks/{FeedbackTemplates → Feedback/FeedbackTemplates}/FeedbackQuestionTrueFalse.vue +0 -0
@@ -1,5 +1,7 @@
1
1
  export default {
2
2
  title: 'Título',
3
+ clickable_icon_title: 'Icono en el que se puede hacer clic',
4
+ item_header: 'Elementos de icono en los que se puede hacer clic',
3
5
  description: 'Descripción',
4
6
  information:
5
7
  'Haga clic en cada uno de los elementos de la lista a continuación para obtener más información.',
@@ -17,4 +19,9 @@ export default {
17
19
  italic_icon: 'Iconos en cursiva',
18
20
  large_icon: 'Iconos grandes',
19
21
  },
22
+ add_item: 'Agregar artículo',
23
+ no_clickable_items:
24
+ 'Agregue un elemento de ícono en el que se pueda hacer clic para comenzar.',
25
+ instructions:
26
+ 'Haga clic en cada uno de los elementos de la lista a continuación para obtener más información.',
20
27
  }
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  items: 'Elementos de correo electrónico',
3
- add: 'Agregar correo electrónico',
3
+ add: 'Agregar artículo',
4
4
  subject: 'Asunto',
5
5
  from: 'De',
6
6
  to: 'Para',
@@ -10,4 +10,5 @@ export default {
10
10
  from_required: 'El campo De es obligatorio',
11
11
  to_required: 'El campo Para es obligatorio',
12
12
  subject_required: 'El campo Asunto es obligatorio',
13
+ no_emails: 'Agregue elementos de correo electrónico para comenzar.',
13
14
  }
@@ -18,4 +18,5 @@ export default {
18
18
  'No hay texto alternativo global disponible para el archivo',
19
19
  inherit_no_aria:
20
20
  'No hay texto de lector de pantalla global disponible para el archivo',
21
+ no_image: 'Coloque un archivo de imagen para comenzar.',
21
22
  }
@@ -1,5 +1,13 @@
1
1
  export default {
2
2
  question: 'Pregunta',
3
3
  sample_response: 'Respuesta sugerida/de muestra',
4
+ ai_mode_for_student: 'Modo de IA para el estudiante',
4
5
  starting_text: 'Texto inicial',
6
+ title: 'Respuesta abierta',
7
+ instructions:
8
+ 'Escriba su respuesta en el cuadro de texto y haga clic en "Enviar" para guardar su respuesta.',
9
+ validation: {
10
+ sample_response_required_ai_mode:
11
+ 'La respuesta sugerida/de muestra es obligatoria cuando el modo de IA para el estudiante está habilitado.',
12
+ },
5
13
  }
@@ -1,4 +1,7 @@
1
1
  export default {
2
+ title: 'Abrir respuesta Descargar',
3
+ block_instructions:
4
+ 'Haga clic en el botón a continuación para descargar una copia de su respuesta.',
2
5
  instructions:
3
6
  'Marque los elementos de respuesta abiertos para recopilarlos en un documento.',
4
7
  include_prompts: 'Incluir mensajes',
@@ -1,5 +1,6 @@
1
1
  export default {
2
2
  title: 'Título',
3
+ scenario_title: 'Elección de escenario',
3
4
  description: 'Descripción',
4
5
  over_item_limit: 'No se pueden agregar más elementos',
5
6
  no_title: 'Sin título',
@@ -16,7 +17,8 @@ export default {
16
17
  letter: 'Letras',
17
18
  number: 'Números',
18
19
  },
19
- add_choice: 'Agregar opción',
20
+ add_choice: 'Agregar artículo',
20
21
  generated_successfully: 'Escenarios generados con éxito',
21
22
  invalid_response: 'Respuesta inválida de la generación de escenarios',
23
+ choices: 'Opciones',
22
24
  }
@@ -1,9 +1,10 @@
1
1
  export default {
2
2
  tab: 'Pestaña',
3
- tabs: 'Pestañas',
3
+ tabs: 'Elementos de pestaña',
4
4
  header: 'Encabezado de Pestaña',
5
- add_tab: 'Añadir pestaña',
5
+ add_tab: 'Agregar artículo',
6
6
  delete_tab: 'Borrar pestaña',
7
7
  instructions:
8
8
  'Haga clic en cada uno de los títulos a continuación para obtener más información.',
9
+ no_tabs: 'Añade un elemento de pestaña para comenzar.',
9
10
  }
@@ -11,4 +11,5 @@ export default {
11
11
  },
12
12
  max_file_size: 'Tamaño máximo de archivo: 100 MB',
13
13
  instructions: 'Arrastre o haga clic aquí para cargar archivos.',
14
+ files_header: 'Opciones de envío de archivos',
14
15
  }
@@ -1,5 +1,6 @@
1
1
  export default {
2
- title: 'Título del medio',
2
+ title: 'Título',
3
+ prebuilt_title: 'Vídeo/Audio',
3
4
  sources: 'Fuentes',
4
5
  place_source: 'Colocar video o audio',
5
6
  playback: 'Reproducción',
@@ -67,4 +68,5 @@ export default {
67
68
  configure_blurb:
68
69
  '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',
69
70
  },
71
+ no_video_alert: 'Coloque un archivo de vídeo o audio para comenzar.',
70
72
  }
@@ -10,7 +10,7 @@ export default {
10
10
  open_response: 'Respuesta abierta',
11
11
  open_response_collate: 'Módulo de descarga de respuestas',
12
12
  image: 'Imagen',
13
- user_upload: 'Carga de usuario',
13
+ user_upload: 'Envío de archivos',
14
14
  clickable_icons: 'Iconos en los que se puede hacer clic',
15
15
  scenario_choice: 'Elección de escenario',
16
16
  feedback: 'Comentarios',
@@ -0,0 +1,3 @@
1
+ export default {
2
+ no_accordion_items: 'Lägg till ett dragspelsföremål för att komma igång.',
3
+ }
@@ -1,3 +1,5 @@
1
1
  export default {
2
- body: 'Block Citat Body',
2
+ body: 'Citationstecken',
3
+ title: 'Blockera citat',
4
+ no_items: 'Lägg till citattext för att komma igång.',
3
5
  }
@@ -28,4 +28,6 @@ export default {
28
28
  disagree: 'Instämmer inte alls',
29
29
  strongly_disagree: 'Håller inte med starkt',
30
30
  },
31
+ no_feedback:
32
+ 'Välj ett förinställt alternativ för kursfeedback eller modulfeedback för att komma igång.',
31
33
  }
@@ -1,5 +1,6 @@
1
1
  export default {
2
2
  default_title: 'Ladda ner fil(er)',
3
3
  default_instructions: 'Klicka på varje länk för att ladda ner filen.',
4
- no_files: 'Inga filer',
4
+ no_files: 'Lägg till en fil för att komma igång.',
5
+ items_header: 'Filnedladdningsobjekt',
5
6
  }
@@ -10,6 +10,7 @@ import block_quote from './block_quote'
10
10
  import file_download from './file_download'
11
11
  import email from './email'
12
12
  import generate_questions from './generate_questions'
13
+ import accordion from './accordion'
13
14
 
14
15
  export default {
15
16
  user_upload,
@@ -24,4 +25,5 @@ export default {
24
25
  file_download,
25
26
  email,
26
27
  generate_questions,
28
+ accordion,
27
29
  }
@@ -1,6 +1,23 @@
1
1
  export default {
2
- initial_setup:
3
- 'Ange en uppmaning för detta öppna svarsblock för att komma igång',
2
+ initial_setup: 'Lägg till frågetext för att komma igång.',
4
3
  your_response: 'Ditt svar',
5
4
  sample_response: 'Föreslagen/provsvar',
5
+ ai_feedback: 'AI-feedback',
6
+ ai_feedback_generating: 'Genererar feedback…',
7
+ ai_feedback_retry: 'Försök igen',
8
+ ai_feedback_sources: 'Föreslagna sidor att granska',
9
+ ai_feedback_not_available: 'Ingen AI-feedback tillgänglig ännu.',
10
+ ai_feedback_error:
11
+ 'Vi kunde inte generera AI-feedback just nu. Försök igen.',
12
+ ai_feedback_timeout:
13
+ 'AI-feedback tar längre tid än förväntat. Försök igen.',
14
+ untitled_page: 'Sida utan titel',
15
+ understanding_level: 'Förståelsenivå',
16
+ understanding_levels: {
17
+ strong: 'Stark förståelse',
18
+ clear: 'Tydlig förståelse',
19
+ developing: 'Förståelse under utveckling',
20
+ emerging: 'Begynnande förståelse',
21
+ limited: 'Begränsad förståelse',
22
+ },
6
23
  }
@@ -2,6 +2,6 @@ export default {
2
2
  download_document: 'Ladda ner Word-dokument',
3
3
  no_response: '[inget svar]',
4
4
  initial_setup:
5
- 'Öppna blockinställningarna och välj Öppna svarsblock som du vill sortera för nedladdning',
5
+ 'Välj öppna svarsfrågor under kursens gång att inkludera i den här nedladdningen för att komma igång.',
6
6
  generate_error: 'Det gick inte att generera dokumentet',
7
7
  }
@@ -2,4 +2,6 @@ export default {
2
2
  information: 'Klicka på ett av objekten nedan för att gör ett val.',
3
3
  try_again: 'Försök igen',
4
4
  selected_choice: 'Ditt val',
5
+ no_scenario:
6
+ 'Add scenario text to get started. Then, add choices in response to the scenario.',
5
7
  }
@@ -1,9 +1,10 @@
1
1
  export default {
2
+ title: 'Filinlämning',
2
3
  user_uploads: 'Användaruppladdningar',
3
4
  dialog_view: 'Visa uppladdningar',
4
5
  instructions_none: 'Ingen',
5
6
  must_save:
6
- 'Du måste spara detta block innan användare kan göra uppladdningar',
7
+ 'Du måste spara detta block innan användare kan göra uppladdningar.',
7
8
  uploaded: 'Uppladdat',
8
9
  name: 'Namn',
9
10
  size: 'Storlek',
@@ -1,8 +1,9 @@
1
1
  export default {
2
2
  items: 'Dragspelsföremål',
3
- add: 'Lägg till dragspel',
3
+ add: 'Lägg till objekt',
4
4
  accordion: 'Dragspel',
5
5
  label: 'Dragspel brödtext',
6
6
  instructions:
7
7
  'Klicka på var och en av rubrikerna nedan för mer information.',
8
+ no_accordion_items: 'Lägg till ett dragspelsföremål för att komma igång.',
8
9
  }
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  block_quote: 'Blockera citat',
3
- body: 'Blockquote Body',
3
+ body: 'Citationstecken',
4
4
  name: 'Namn',
5
5
  title: 'Titel',
6
6
  org: 'Organisation',
@@ -1,5 +1,7 @@
1
1
  export default {
2
2
  title: 'Titel',
3
+ clickable_icon_title: 'Klickbar ikon',
4
+ item_header: 'Klickbara ikonobjekt',
3
5
  description: 'Description',
4
6
  information:
5
7
  'Klicka på vart och ett av listobjekten nedan för mer information.',
@@ -17,4 +19,8 @@ export default {
17
19
  italic_icon: 'Kursiva ikoner',
18
20
  large_icon: 'Stora ikoner',
19
21
  },
22
+ add_item: 'Lägg till objekt',
23
+ no_clickable_items: 'lägg till en klickbar ikon för att komma igång.',
24
+ instructions:
25
+ 'Klicka på vart och ett av listobjekten nedan för mer information.',
20
26
  }
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  items: 'E-postobjekt',
3
- add: 'Lägg till e-post',
3
+ add: 'Lägg till objekt',
4
4
  subject: 'Ämne',
5
5
  from: 'Från',
6
6
  to: 'Till',
@@ -10,4 +10,5 @@ export default {
10
10
  from_required: 'Från-fältet är obligatoriskt',
11
11
  to_required: 'Till-fältet är obligatoriskt',
12
12
  subject_required: 'Ämne-fältet är obligatoriskt',
13
+ no_emails: 'Lägg till e-postobjekt för att komma igång.',
13
14
  }
@@ -16,4 +16,5 @@ export default {
16
16
  inherit: 'Ärva globala inställningar',
17
17
  inherit_no_alt: 'Ingen global alt-text tillgänglig för filen',
18
18
  inherit_no_aria: 'Ingen global skärmläsartext tillgänglig för filen',
19
+ no_image: 'Placera en bildfil för att komma igång.',
19
20
  }
@@ -1,5 +1,13 @@
1
1
  export default {
2
2
  question: 'Fråga',
3
3
  sample_response: 'Föreslagen/provsvar',
4
+ ai_mode_for_student: 'AI-läge för studenten',
4
5
  starting_text: 'Starttext',
6
+ title: 'Öppet svar',
7
+ instructions:
8
+ 'Skriv ditt svar i textrutan och klicka på "Skicka" för att spara ditt svar.',
9
+ validation: {
10
+ sample_response_required_ai_mode:
11
+ 'Föreslagen/provsvar krävs när AI-läge för studenten är aktiverat.',
12
+ },
5
13
  }
@@ -1,4 +1,7 @@
1
1
  export default {
2
+ title: 'Öppna svarsnedladdning',
3
+ block_instructions:
4
+ 'Klicka på knappen nedan för att ladda ner en kopia av ditt svar.',
2
5
  instructions:
3
6
  'Bocka av öppna svarsobjekt för att sortera till ett dokument.',
4
7
  include_prompts: 'Inkludera uppmaningar',
@@ -1,5 +1,6 @@
1
1
  export default {
2
2
  title: 'Titel',
3
+ scenario_title: 'Scenarioval',
3
4
  description: 'Beskrivning',
4
5
  over_item_limit: 'Kan inte lägga till fler objekt',
5
6
  no_title: 'Ingen titel',
@@ -16,7 +17,8 @@ export default {
16
17
  letter: 'Brev',
17
18
  number: 'Nummer',
18
19
  },
19
- add_choice: 'Lägg till val',
20
+ add_choice: 'Lägg till objekt',
20
21
  generated_successfully: 'Scenarier genererades framgångsrikt',
21
22
  invalid_response: 'Ogiltigt svar från scenariogenereringen',
23
+ choices: 'Val',
22
24
  }
@@ -1,8 +1,10 @@
1
1
  export default {
2
2
  tab: 'Flik',
3
- tabs: 'Flikar',
3
+ tabs: 'Flikobjekt',
4
4
  header: 'Flikhuvud',
5
- add_tab: 'Lägg till flik',
5
+ add_tab: 'Lägg till objekt',
6
6
  delete_tab: 'Delete Tab',
7
- instructions: 'Klicka på var och en av rubrikerna nedan för mer information.'
7
+ instructions:
8
+ 'Klicka på var och en av rubrikerna nedan för mer information.',
9
+ no_tabs: 'Lägg till ett flikobjekt för att komma igång.',
8
10
  }
@@ -11,4 +11,5 @@ export default {
11
11
  },
12
12
  max_file_size: 'Maximal filstorlek: 100 MB',
13
13
  instructions: 'Dra eller klicka här för att ladda upp filer.',
14
+ files_header: 'Filinlämningsalternativ',
14
15
  }
@@ -1,5 +1,6 @@
1
1
  export default {
2
- title: 'Media Titel',
2
+ title: 'Titel',
3
+ prebuilt_title: 'Video/ljud',
3
4
  sources: 'Källor',
4
5
  place_source: 'Placera video eller ljud',
5
6
  playback: 'Uppspelning',
@@ -65,4 +66,5 @@ export default {
65
66
  configure_blurb:
66
67
  'Ladda upp en postroll-videofil (.mp4 eller .webm), välj en från filhanteraren eller lägg till via den offentliga webbadressen',
67
68
  },
69
+ no_video_alert: 'Placera en video- eller ljudfil för att komma igång.',
68
70
  }
@@ -10,7 +10,7 @@ export default {
10
10
  open_response: 'Öppet svar',
11
11
  open_response_collate: 'Öppna svar Ladda ner',
12
12
  image: 'Bild',
13
- user_upload: 'User Upload',
13
+ user_upload: 'Filinlämning',
14
14
  clickable_icons: 'Klickbara ikoner',
15
15
  scenario_choice: 'Scenarioval',
16
16
  feedback: 'Feedback',
@@ -0,0 +1,8 @@
1
+ // @ts-ignore
2
+ import Model from '~/models/Model'
3
+
4
+ export default class SurveyResultMetric extends Model {
5
+ resource() {
6
+ return 'survey-result-metric'
7
+ }
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@windward/core",
3
- "version": "0.26.0",
3
+ "version": "0.28.0",
4
4
  "description": "Windward UI Core Plugins",
5
5
  "main": "plugin.js",
6
6
  "scripts": {
@@ -21,7 +21,7 @@
21
21
  "license": "MIT",
22
22
  "homepage": "https://bitbucket.org/mindedge/windward-ui-plugin-core#readme",
23
23
  "dependencies": {
24
- "@mindedge/vuetify-player": "^0.5.1",
24
+ "@mindedge/vuetify-player": "^0.5.2",
25
25
  "@tinymce/tinymce-vue": "^3.2.8",
26
26
  "accessibility-scanner": "^0.0.1",
27
27
  "eslint": "^8.11.0",
package/plugin.js CHANGED
@@ -45,6 +45,7 @@ import FillInTheBlanks from './components/utils/FillInBlank/FillInTheBlanksManag
45
45
  import FillInBlankInput from './components/utils/FillInBlank/FillInBlankInput.vue'
46
46
 
47
47
  import GlossaryStore from './store/glossary.js'
48
+ import FeedbackAnalytics from './components/Content/Blocks/Feedback/FeedbackAnalytics.vue'
48
49
 
49
50
  export default {
50
51
  name: 'windward.core.name',
@@ -397,6 +398,13 @@ export default {
397
398
  },
398
399
  },
399
400
  ],
401
+ contentBlockAnalytics: [
402
+ {
403
+ tag: 'core-feedback-analytics',
404
+ template: FeedbackAnalytics,
405
+ context: ['block.plugin-core-feedback'],
406
+ },
407
+ ],
400
408
  },
401
409
  store: {
402
410
  glossary: GlossaryStore,
@@ -0,0 +1,23 @@
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 FeedbackAnalytics from '@/components/Content/Blocks/Feedback/FeedbackAnalytics.vue'
6
+
7
+ Vue.use(Vuetify)
8
+
9
+ describe('Accordion', () => {
10
+ test('is a Vue instance', () => {
11
+ const wrapper = shallowMount(FeedbackAnalytics, {
12
+ vuetify: new Vuetify(),
13
+ mocks: defaultMocks,
14
+ propsData: {
15
+ value: {
16
+ body: 'accordion',
17
+ metadata: { config: {} },
18
+ },
19
+ },
20
+ })
21
+ expect(wrapper.vm).toBeTruthy()
22
+ })
23
+ })
@@ -2,7 +2,7 @@ import { shallowMount } from '@vue/test-utils'
2
2
  import Vuetify from 'vuetify'
3
3
  import Vue from 'vue'
4
4
  import { defaultMocks } from '@/test/mocks'
5
- import FeedbackQuestionLikert from '@/components/Content/Blocks/FeedbackTemplates/FeedbackQuestionLikert'
5
+ import FeedbackQuestionLikert from '@/components/Content/Blocks/Feedback/FeedbackTemplates/FeedbackQuestionLikert'
6
6
 
7
7
  Vue.use(Vuetify)
8
8
 
@@ -2,7 +2,7 @@ import { shallowMount } from '@vue/test-utils'
2
2
  import Vuetify from 'vuetify'
3
3
  import Vue from 'vue'
4
4
  import { defaultMocks } from '@/test/mocks'
5
- import FeedbackQuestionOpenResponse from '@/components/Content/Blocks/FeedbackTemplates/FeedbackQuestionOpenResponse'
5
+ import FeedbackQuestionOpenResponse from '@/components/Content/Blocks/Feedback/FeedbackTemplates/FeedbackQuestionOpenResponse'
6
6
 
7
7
  Vue.use(Vuetify)
8
8
 
@@ -2,7 +2,7 @@ import { shallowMount } from '@vue/test-utils'
2
2
  import Vuetify from 'vuetify'
3
3
  import Vue from 'vue'
4
4
  import { defaultMocks } from '@/test/mocks'
5
- import FeedbackQuestionTrueFalse from '@/components/Content/Blocks/FeedbackTemplates/FeedbackQuestionTrueFalse'
5
+ import FeedbackQuestionTrueFalse from '@/components/Content/Blocks/Feedback/FeedbackTemplates/FeedbackQuestionTrueFalse'
6
6
 
7
7
  Vue.use(Vuetify)
8
8
 
@@ -40,19 +40,6 @@ describe('AccordionSettings', () => {
40
40
  hideBackground: true,
41
41
  },
42
42
  },
43
- {
44
- header: '',
45
- expand: false,
46
- content: '',
47
- fileConfig: {
48
- display: {
49
- width: 100,
50
- margin: '',
51
- padding: '',
52
- },
53
- hideBackground: true,
54
- },
55
- },
56
43
  ])
57
44
  })
58
45
 
@@ -28,18 +28,7 @@ describe('ClickableIconsSettings', () => {
28
28
  wrapper.vm.onAddElement()
29
29
  expect(wrapper.vm.$data.block.metadata.config.items).toEqual([
30
30
  {
31
- icon: '',
32
- fileConfig: {},
33
- iconImage: false,
34
- title: '',
35
- body: '<p></p>',
36
- color: {
37
- class: '',
38
- },
39
- active: false,
40
- },
41
- {
42
- icon: '',
31
+ icon: 'mdi-star',
43
32
  fileConfig: {},
44
33
  iconImage: false,
45
34
  title: '',
@@ -36,15 +36,6 @@ describe('EmailSettings', () => {
36
36
  subject: '',
37
37
  tinymce_expand: false,
38
38
  },
39
- {
40
- from: '',
41
- to: '',
42
- cc: '',
43
- body: '',
44
- initials: '',
45
- subject: '',
46
- tinymce_expand: false,
47
- },
48
39
  ])
49
40
  })
50
41
 
@@ -40,19 +40,6 @@ describe('TabSettings', () => {
40
40
  hideBackground: true,
41
41
  },
42
42
  },
43
- {
44
- tabHeader: '',
45
- expand: false,
46
- content: '',
47
- imageAsset: {
48
- display: {
49
- width: 100,
50
- margin: '',
51
- padding: '',
52
- },
53
- hideBackground: true,
54
- },
55
- },
56
43
  ])
57
44
  })
58
45
 
@@ -75,15 +75,15 @@ const glossaryRender =
75
75
  ' Et inventore hic aut.</p>' +
76
76
  '<plugin-core-glossary-tool-tip>' +
77
77
  '<template v-slot:term>Architecto</template>' +
78
+ '<template v-slot:main_term>Architecto</template>' +
78
79
  '<template v-slot:definition>Architecto is a word that means architect of the universe</template>' +
79
- '<template v-slot:alternate_forms>Architect,universe</template>' +
80
80
  '<template v-slot:related_terms>a,b,c,d</template>' +
81
81
  '</plugin-core-glossary-tool-tip>'
82
82
  const glossaryRenderMultiple =
83
83
  '<plugin-core-glossary-tool-tip>' +
84
84
  '<template v-slot:term>Architecto</template>' +
85
+ '<template v-slot:main_term>Architecto</template>' +
85
86
  '<template v-slot:definition>Architecto is a word that means architect of the universe</template>' +
86
- '<template v-slot:alternate_forms>Architect,universe</template>' +
87
87
  '<template v-slot:related_terms>a,b,c,d</template>' +
88
88
  '</plugin-core-glossary-tool-tip>' +
89
89
  '<p>Voluptas est quis ut <strong>consequatur.</strong> ' +
@@ -92,8 +92,8 @@ const glossaryRenderMultiple =
92
92
  ' Et inventore hic aut.</p>' +
93
93
  '<plugin-core-glossary-tool-tip>' +
94
94
  '<template v-slot:term>Architecto</template>' +
95
+ '<template v-slot:main_term>Architecto</template>' +
95
96
  '<template v-slot:definition>Architecto is a word that means architect of the universe</template>' +
96
- '<template v-slot:alternate_forms>Architect,universe</template>' +
97
97
  '<template v-slot:related_terms>a,b,c,d</template>' +
98
98
  '</plugin-core-glossary-tool-tip>'
99
99
 
@@ -101,8 +101,8 @@ const term = new CourseGlossaryTerm(glossary[1])
101
101
  const expectedToolTip =
102
102
  '<plugin-core-glossary-tool-tip>' +
103
103
  '<template v-slot:term>Architecto</template>' +
104
+ '<template v-slot:main_term>Architecto</template>' +
104
105
  '<template v-slot:definition>Architecto is a word that means architect of the universe</template>' +
105
- '<template v-slot:alternate_forms>Architect,universe</template>' +
106
106
  '<template v-slot:related_terms>a,b,c,d</template>' +
107
107
  '</plugin-core-glossary-tool-tip>'
108
108
  const glossaryRenderCapitalized =
@@ -112,8 +112,8 @@ const glossaryRenderCapitalized =
112
112
  ' Et inventore hic aut.</p>' +
113
113
  '<plugin-core-glossary-tool-tip>' +
114
114
  '<template v-slot:term>Crisis change</template>' +
115
+ '<template v-slot:main_term>crisis change</template>' +
115
116
  '<template v-slot:definition>n/a</template>' +
116
- '<template v-slot:alternate_forms>crisis,change</template>' +
117
117
  '</plugin-core-glossary-tool-tip>'
118
118
  const glossaryRenderCapitalizedSpaceBefore =
119
119
  '<p>Voluptas est quis ut <strong>consequatur.</strong> ' +
@@ -122,8 +122,8 @@ const glossaryRenderCapitalizedSpaceBefore =
122
122
  ' Et inventore hic aut.</p>' +
123
123
  '<plugin-core-glossary-tool-tip>' +
124
124
  '<template v-slot:term> Crisis change</template>' +
125
+ '<template v-slot:main_term>crisis change</template>' +
125
126
  '<template v-slot:definition>n/a</template>' +
126
- '<template v-slot:alternate_forms>crisis,change</template>' +
127
127
  '</plugin-core-glossary-tool-tip>'
128
128
  const glossaryRenderCapitalizedSpaceAfter =
129
129
  '<p>Voluptas est quis ut <strong>consequatur.</strong> ' +
@@ -132,8 +132,8 @@ const glossaryRenderCapitalizedSpaceAfter =
132
132
  ' Et inventore hic aut.</p>' +
133
133
  '<plugin-core-glossary-tool-tip>' +
134
134
  '<template v-slot:term>Crisis change </template>' +
135
+ '<template v-slot:main_term>crisis change</template>' +
135
136
  '<template v-slot:definition>n/a</template>' +
136
- '<template v-slot:alternate_forms>crisis,change</template>' +
137
137
  '</plugin-core-glossary-tool-tip>'
138
138
  const glossaryRenderCapitalizedSpaceBeforeAfter =
139
139
  '<p>Voluptas est quis ut <strong>consequatur.</strong> ' +
@@ -142,8 +142,8 @@ const glossaryRenderCapitalizedSpaceBeforeAfter =
142
142
  ' Et inventore hic aut.</p>' +
143
143
  '<plugin-core-glossary-tool-tip>' +
144
144
  '<template v-slot:term> Crisis change </template>' +
145
+ '<template v-slot:main_term>crisis change</template>' +
145
146
  '<template v-slot:definition>n/a</template>' +
146
- '<template v-slot:alternate_forms>crisis,change</template>' +
147
147
  '</plugin-core-glossary-tool-tip>'
148
148
  describe('GlossaryHelper ', () => {
149
149
  test('detects text has glossary words', () => {