@windward/core 0.9.2 → 0.11.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.
- package/CHANGELOG.md +6 -0
- package/components/Content/Blocks/Accordion.vue +102 -45
- package/components/Content/Blocks/ClickableIcons.vue +13 -2
- package/components/Content/Blocks/FileDownload.vue +1 -1
- package/components/Content/Blocks/GenerateAIQuestionButton.vue +17 -22
- package/components/Content/Blocks/OpenResponse.vue +2 -2
- package/components/Content/Blocks/Tab.vue +65 -1
- package/components/Content/Blocks/Video.vue +113 -25
- package/components/Navigation/Items/CourseGlossaryToolNav.vue +15 -1
- package/components/Navigation/Items/GlossaryNav.vue +3 -3
- package/components/Settings/AccordionSettings.vue +48 -49
- package/components/Settings/ClickableIconsSettings.vue +13 -21
- package/components/Settings/TabSettings.vue +44 -3
- package/components/Settings/VideoSettings/SourcePicker.vue +1 -1
- package/components/Settings/VideoSettings.vue +22 -11
- package/components/utils/ContentViewer.vue +19 -0
- package/components/utils/TinyMCEWrapper.vue +18 -2
- package/components/utils/assets/tinymce/content/global.scss +10 -0
- package/components/utils/assets/tinymce/ui/global.scss +6 -2
- package/components/utils/glossary/CourseGlossary.vue +6 -3
- package/components/utils/glossary/GlossaryToolTip.vue +6 -6
- package/i18n/en-US/components/content/blocks/generate_questions.ts +21 -1
- package/i18n/en-US/components/content/blocks/video.ts +1 -1
- package/i18n/en-US/components/settings/video.ts +8 -4
- package/i18n/en-US/components/utils/tiny_mce_wrapper.ts +1 -0
- package/i18n/en-US/shared/settings.ts +1 -1
- package/i18n/es-ES/components/content/blocks/generate_questions.ts +24 -1
- package/i18n/es-ES/components/content/blocks/video.ts +1 -1
- package/i18n/es-ES/components/settings/video.ts +8 -4
- package/i18n/es-ES/components/utils/tiny_mce_wrapper.ts +1 -0
- package/i18n/es-ES/shared/settings.ts +1 -1
- package/i18n/sv-SE/components/content/blocks/generate_questions.ts +21 -1
- package/i18n/sv-SE/components/content/blocks/video.ts +1 -1
- package/i18n/sv-SE/components/settings/video.ts +8 -4
- package/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts +1 -0
- package/i18n/sv-SE/shared/settings.ts +1 -1
- package/package.json +2 -2
- package/pages/glossary.vue +11 -3
- package/test/Components/Settings/AccordionSettings.spec.js +16 -6
- package/test/Components/Settings/ClickableIconsSettings.spec.js +45 -0
- package/test/Components/Settings/TabSettings.spec.js +26 -2
- package/test/__mocks__/modelMock.js +4 -0
- package/.idea/codeStyles/Project.xml +0 -58
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/modules.xml +0 -8
- package/.idea/php-docker-settings.xml +0 -24
- package/.idea/php.xml +0 -19
- package/.idea/vcs.xml +0 -6
- package/.idea/watcherTasks.xml +0 -4
- package/.idea/windward-ui-plugin-core.iml +0 -8
- package/config/menu.config.json +0 -475
- package/coverage/clover.xml +0 -1474
- package/coverage/coverage-final.json +0 -199
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +0 -772
- package/coverage/lcov-report/components/Content/Blocks/BlockQuote.vue.html +0 -625
- package/coverage/lcov-report/components/Content/Blocks/ClickableIcons.vue.html +0 -979
- package/coverage/lcov-report/components/Content/Blocks/Email.vue.html +0 -1171
- package/coverage/lcov-report/components/Content/Blocks/Feedback.vue.html +0 -1075
- package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileLinks.vue.html +0 -331
- package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileTable.vue.html +0 -403
- package/coverage/lcov-report/components/Content/Blocks/FileDownload/index.html +0 -131
- package/coverage/lcov-report/components/Content/Blocks/FileDownload.vue.html +0 -514
- package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +0 -211
- package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +0 -352
- package/coverage/lcov-report/components/Content/Blocks/OpenResponse.vue.html +0 -667
- package/coverage/lcov-report/components/Content/Blocks/OpenResponseCollate.vue.html +0 -643
- package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +0 -295
- package/coverage/lcov-report/components/Content/Blocks/ScenarioChoice.vue.html +0 -976
- package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +0 -445
- package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +0 -667
- package/coverage/lcov-report/components/Content/Blocks/UserUpload/DisplayUserFilesTable.vue.html +0 -562
- package/coverage/lcov-report/components/Content/Blocks/UserUpload/index.html +0 -116
- package/coverage/lcov-report/components/Content/Blocks/UserUpload.vue.html +0 -844
- package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +0 -1225
- package/coverage/lcov-report/components/Content/Blocks/index.html +0 -311
- package/coverage/lcov-report/components/Settings/AccordionSettings.vue.html +0 -961
- package/coverage/lcov-report/components/Settings/BlockQuoteSettings.vue.html +0 -673
- package/coverage/lcov-report/components/Settings/ClickableIconsSettings.vue.html +0 -1144
- package/coverage/lcov-report/components/Settings/EmailSettings.vue.html +0 -901
- package/coverage/lcov-report/components/Settings/FeedbackSettings.vue.html +0 -373
- package/coverage/lcov-report/components/Settings/FileDownloadSettings.vue.html +0 -607
- package/coverage/lcov-report/components/Settings/ImageSettings.vue.html +0 -310
- package/coverage/lcov-report/components/Settings/MathSettings.vue.html +0 -337
- package/coverage/lcov-report/components/Settings/OpenResponseCollateSettings.vue.html +0 -586
- package/coverage/lcov-report/components/Settings/OpenResponseSettings.vue.html +0 -415
- package/coverage/lcov-report/components/Settings/ScenarioChoiceSettings.vue.html +0 -1183
- package/coverage/lcov-report/components/Settings/TabSettings.vue.html +0 -751
- package/coverage/lcov-report/components/Settings/UserUploadSettings.vue.html +0 -535
- package/coverage/lcov-report/components/Settings/index.html +0 -296
- package/coverage/lcov-report/components/utils/ContentViewer.vue.html +0 -199
- package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +0 -1120
- package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +0 -415
- package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +0 -271
- package/coverage/lcov-report/components/utils/index.html +0 -131
- package/coverage/lcov-report/config/index.html +0 -116
- package/coverage/lcov-report/config/tinymce.config.js.html +0 -493
- package/coverage/lcov-report/config/tinymce.config.ts.html +0 -1051
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/helpers/GlossaryHelper.ts.html +0 -577
- package/coverage/lcov-report/helpers/GlossaryTerm.ts.html +0 -178
- package/coverage/lcov-report/helpers/MathHelper.ts.html +0 -1033
- package/coverage/lcov-report/helpers/index.html +0 -146
- package/coverage/lcov-report/helpers/tinymce/index.html +0 -116
- package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +0 -334
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/block_quote.ts.html +0 -94
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/email.ts.html +0 -127
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/feedback.ts.html +0 -178
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/file_download.ts.html +0 -100
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/generate_questions.ts.html +0 -100
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/image.ts.html +0 -100
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.html +0 -296
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.ts.html +0 -166
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response.ts.html +0 -100
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response_collate.ts.html +0 -106
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/scenario_choice.ts.html +0 -100
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/table.ts.html +0 -97
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/user_upload.ts.html +0 -115
- package/coverage/lcov-report/i18n/en-US/components/content/blocks/video.ts.html +0 -97
- package/coverage/lcov-report/i18n/en-US/components/content/index.html +0 -116
- package/coverage/lcov-report/i18n/en-US/components/content/index.ts.html +0 -100
- package/coverage/lcov-report/i18n/en-US/components/index.html +0 -116
- package/coverage/lcov-report/i18n/en-US/components/index.ts.html +0 -118
- package/coverage/lcov-report/i18n/en-US/components/navigation/ask_the_expert.ts.html +0 -118
- package/coverage/lcov-report/i18n/en-US/components/navigation/image.ts.html +0 -97
- package/coverage/lcov-report/i18n/en-US/components/navigation/index.html +0 -161
- package/coverage/lcov-report/i18n/en-US/components/navigation/index.ts.html +0 -112
- package/coverage/lcov-report/i18n/en-US/components/navigation/user_upload.ts.html +0 -94
- package/coverage/lcov-report/i18n/en-US/components/settings/accordion.ts.html +0 -106
- package/coverage/lcov-report/i18n/en-US/components/settings/block_quote.ts.html +0 -130
- package/coverage/lcov-report/i18n/en-US/components/settings/clickable_icon.ts.html +0 -142
- package/coverage/lcov-report/i18n/en-US/components/settings/email.ts.html +0 -115
- package/coverage/lcov-report/i18n/en-US/components/settings/file_download.ts.html +0 -109
- package/coverage/lcov-report/i18n/en-US/components/settings/horizontal_rule.ts.html +0 -94
- package/coverage/lcov-report/i18n/en-US/components/settings/image.ts.html +0 -142
- package/coverage/lcov-report/i18n/en-US/components/settings/index.html +0 -326
- package/coverage/lcov-report/i18n/en-US/components/settings/index.ts.html +0 -178
- package/coverage/lcov-report/i18n/en-US/components/settings/open_response.ts.html +0 -100
- package/coverage/lcov-report/i18n/en-US/components/settings/open_response_collate.ts.html +0 -103
- package/coverage/lcov-report/i18n/en-US/components/settings/scenario_choice.ts.html +0 -145
- package/coverage/lcov-report/i18n/en-US/components/settings/tab.ts.html +0 -109
- package/coverage/lcov-report/i18n/en-US/components/settings/text_editor.ts.html +0 -115
- package/coverage/lcov-report/i18n/en-US/components/settings/user_upload.ts.html +0 -121
- package/coverage/lcov-report/i18n/en-US/components/settings/video.ts.html +0 -277
- package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
- package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
- package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.html +0 -146
- package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.ts.html +0 -103
- package/coverage/lcov-report/i18n/en-US/components/utils/index.html +0 -146
- package/coverage/lcov-report/i18n/en-US/components/utils/index.ts.html +0 -109
- package/coverage/lcov-report/i18n/en-US/components/utils/math_expression_editor.ts.html +0 -130
- package/coverage/lcov-report/i18n/en-US/components/utils/tiny_mce_wrapper.ts.html +0 -175
- package/coverage/lcov-report/i18n/en-US/index.html +0 -116
- package/coverage/lcov-report/i18n/en-US/index.ts.html +0 -133
- package/coverage/lcov-report/i18n/en-US/modules/index.html +0 -116
- package/coverage/lcov-report/i18n/en-US/modules/index.ts.html +0 -100
- package/coverage/lcov-report/i18n/en-US/pages/glossary.ts.html +0 -106
- package/coverage/lcov-report/i18n/en-US/pages/index.html +0 -146
- package/coverage/lcov-report/i18n/en-US/pages/index.ts.html +0 -112
- package/coverage/lcov-report/i18n/en-US/pages/plugins/error.ts.html +0 -112
- package/coverage/lcov-report/i18n/en-US/pages/plugins/index.html +0 -131
- package/coverage/lcov-report/i18n/en-US/pages/plugins/index.ts.html +0 -100
- package/coverage/lcov-report/i18n/en-US/pages/user_upload.ts.html +0 -94
- package/coverage/lcov-report/i18n/en-US/shared/content_blocks.ts.html +0 -163
- package/coverage/lcov-report/i18n/en-US/shared/index.html +0 -176
- package/coverage/lcov-report/i18n/en-US/shared/index.ts.html +0 -118
- package/coverage/lcov-report/i18n/en-US/shared/menu.ts.html +0 -97
- package/coverage/lcov-report/i18n/en-US/shared/permission.ts.html +0 -130
- package/coverage/lcov-report/i18n/en-US/shared/settings.ts.html +0 -172
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/block_quote.ts.html +0 -94
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/email.ts.html +0 -127
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/feedback.ts.html +0 -178
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/file_download.ts.html +0 -100
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/generate_questions.ts.html +0 -100
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/image.ts.html +0 -100
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.html +0 -296
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.ts.html +0 -166
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response.ts.html +0 -103
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response_collate.ts.html +0 -106
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/scenario_choice.ts.html +0 -103
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/table.ts.html +0 -97
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/user_upload.ts.html +0 -118
- package/coverage/lcov-report/i18n/es-ES/components/content/blocks/video.ts.html +0 -100
- package/coverage/lcov-report/i18n/es-ES/components/content/index.html +0 -116
- package/coverage/lcov-report/i18n/es-ES/components/content/index.ts.html +0 -100
- package/coverage/lcov-report/i18n/es-ES/components/index.html +0 -116
- package/coverage/lcov-report/i18n/es-ES/components/index.ts.html +0 -121
- package/coverage/lcov-report/i18n/es-ES/components/navigation/ask_the_expert.ts.html +0 -118
- package/coverage/lcov-report/i18n/es-ES/components/navigation/image.ts.html +0 -97
- package/coverage/lcov-report/i18n/es-ES/components/navigation/index.html +0 -161
- package/coverage/lcov-report/i18n/es-ES/components/navigation/index.ts.html +0 -112
- package/coverage/lcov-report/i18n/es-ES/components/navigation/user_upload.ts.html +0 -94
- package/coverage/lcov-report/i18n/es-ES/components/settings/accordion.ts.html +0 -106
- package/coverage/lcov-report/i18n/es-ES/components/settings/block_quote.ts.html +0 -130
- package/coverage/lcov-report/i18n/es-ES/components/settings/clickable_icon.ts.html +0 -145
- package/coverage/lcov-report/i18n/es-ES/components/settings/email.ts.html +0 -115
- package/coverage/lcov-report/i18n/es-ES/components/settings/file_download.ts.html +0 -109
- package/coverage/lcov-report/i18n/es-ES/components/settings/horizontal_rule.ts.html +0 -94
- package/coverage/lcov-report/i18n/es-ES/components/settings/image.ts.html +0 -148
- package/coverage/lcov-report/i18n/es-ES/components/settings/index.html +0 -326
- package/coverage/lcov-report/i18n/es-ES/components/settings/index.ts.html +0 -178
- package/coverage/lcov-report/i18n/es-ES/components/settings/open_response.ts.html +0 -100
- package/coverage/lcov-report/i18n/es-ES/components/settings/open_response_collate.ts.html +0 -106
- package/coverage/lcov-report/i18n/es-ES/components/settings/scenario_choice.ts.html +0 -145
- package/coverage/lcov-report/i18n/es-ES/components/settings/tab.ts.html +0 -112
- package/coverage/lcov-report/i18n/es-ES/components/settings/text_editor.ts.html +0 -115
- package/coverage/lcov-report/i18n/es-ES/components/settings/user_upload.ts.html +0 -121
- package/coverage/lcov-report/i18n/es-ES/components/settings/video.ts.html +0 -283
- package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
- package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
- package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.html +0 -146
- package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.ts.html +0 -103
- package/coverage/lcov-report/i18n/es-ES/components/utils/index.html +0 -146
- package/coverage/lcov-report/i18n/es-ES/components/utils/index.ts.html +0 -109
- package/coverage/lcov-report/i18n/es-ES/components/utils/math_expression_editor.ts.html +0 -130
- package/coverage/lcov-report/i18n/es-ES/components/utils/tiny_mce_wrapper.ts.html +0 -178
- package/coverage/lcov-report/i18n/es-ES/index.html +0 -116
- package/coverage/lcov-report/i18n/es-ES/index.ts.html +0 -133
- package/coverage/lcov-report/i18n/es-ES/modules/index.html +0 -116
- package/coverage/lcov-report/i18n/es-ES/modules/index.ts.html +0 -100
- package/coverage/lcov-report/i18n/es-ES/pages/glossary.ts.html +0 -106
- package/coverage/lcov-report/i18n/es-ES/pages/index.html +0 -146
- package/coverage/lcov-report/i18n/es-ES/pages/index.ts.html +0 -112
- package/coverage/lcov-report/i18n/es-ES/pages/plugins/error.ts.html +0 -112
- package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.html +0 -131
- package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.ts.html +0 -100
- package/coverage/lcov-report/i18n/es-ES/pages/user_upload.ts.html +0 -94
- package/coverage/lcov-report/i18n/es-ES/shared/content_blocks.ts.html +0 -163
- package/coverage/lcov-report/i18n/es-ES/shared/index.html +0 -176
- package/coverage/lcov-report/i18n/es-ES/shared/index.ts.html +0 -118
- package/coverage/lcov-report/i18n/es-ES/shared/menu.ts.html +0 -97
- package/coverage/lcov-report/i18n/es-ES/shared/permission.ts.html +0 -130
- package/coverage/lcov-report/i18n/es-ES/shared/settings.ts.html +0 -178
- package/coverage/lcov-report/i18n/index.html +0 -116
- package/coverage/lcov-report/i18n/index.ts.html +0 -118
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/block_quote.ts.html +0 -94
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/email.ts.html +0 -127
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/feedback.ts.html +0 -178
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/file_download.ts.html +0 -100
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/generate_questions.ts.html +0 -100
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/image.ts.html +0 -100
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.html +0 -296
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.ts.html +0 -166
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response.ts.html +0 -103
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response_collate.ts.html +0 -106
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/scenario_choice.ts.html +0 -100
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/table.ts.html +0 -97
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/user_upload.ts.html +0 -118
- package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/video.ts.html +0 -97
- package/coverage/lcov-report/i18n/sv-SE/components/content/index.html +0 -116
- package/coverage/lcov-report/i18n/sv-SE/components/content/index.ts.html +0 -100
- package/coverage/lcov-report/i18n/sv-SE/components/index.html +0 -116
- package/coverage/lcov-report/i18n/sv-SE/components/index.ts.html +0 -121
- package/coverage/lcov-report/i18n/sv-SE/components/navigation/ask_the_expert.ts.html +0 -118
- package/coverage/lcov-report/i18n/sv-SE/components/navigation/image.ts.html +0 -97
- package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.html +0 -161
- package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.ts.html +0 -112
- package/coverage/lcov-report/i18n/sv-SE/components/navigation/user_upload.ts.html +0 -94
- package/coverage/lcov-report/i18n/sv-SE/components/settings/accordion.ts.html +0 -109
- package/coverage/lcov-report/i18n/sv-SE/components/settings/block_quote.ts.html +0 -130
- package/coverage/lcov-report/i18n/sv-SE/components/settings/clickable_icon.ts.html +0 -145
- package/coverage/lcov-report/i18n/sv-SE/components/settings/email.ts.html +0 -115
- package/coverage/lcov-report/i18n/sv-SE/components/settings/file_download.ts.html +0 -109
- package/coverage/lcov-report/i18n/sv-SE/components/settings/horizontal_rule.ts.html +0 -94
- package/coverage/lcov-report/i18n/sv-SE/components/settings/image.ts.html +0 -142
- package/coverage/lcov-report/i18n/sv-SE/components/settings/index.html +0 -326
- package/coverage/lcov-report/i18n/sv-SE/components/settings/index.ts.html +0 -178
- package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response.ts.html +0 -100
- package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response_collate.ts.html +0 -103
- package/coverage/lcov-report/i18n/sv-SE/components/settings/scenario_choice.ts.html +0 -145
- package/coverage/lcov-report/i18n/sv-SE/components/settings/tab.ts.html +0 -109
- package/coverage/lcov-report/i18n/sv-SE/components/settings/text_editor.ts.html +0 -115
- package/coverage/lcov-report/i18n/sv-SE/components/settings/user_upload.ts.html +0 -121
- package/coverage/lcov-report/i18n/sv-SE/components/settings/video.ts.html +0 -277
- package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts.html +0 -130
- package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +0 -118
- package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.html +0 -146
- package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.ts.html +0 -103
- package/coverage/lcov-report/i18n/sv-SE/components/utils/index.html +0 -146
- package/coverage/lcov-report/i18n/sv-SE/components/utils/index.ts.html +0 -109
- package/coverage/lcov-report/i18n/sv-SE/components/utils/math_expression_editor.ts.html +0 -130
- package/coverage/lcov-report/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts.html +0 -178
- package/coverage/lcov-report/i18n/sv-SE/index.html +0 -116
- package/coverage/lcov-report/i18n/sv-SE/index.ts.html +0 -133
- package/coverage/lcov-report/i18n/sv-SE/modules/index.html +0 -116
- package/coverage/lcov-report/i18n/sv-SE/modules/index.ts.html +0 -100
- package/coverage/lcov-report/i18n/sv-SE/pages/glossary.ts.html +0 -106
- package/coverage/lcov-report/i18n/sv-SE/pages/index.html +0 -146
- package/coverage/lcov-report/i18n/sv-SE/pages/index.ts.html +0 -112
- package/coverage/lcov-report/i18n/sv-SE/pages/plugins/error.ts.html +0 -109
- package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.html +0 -131
- package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.ts.html +0 -100
- package/coverage/lcov-report/i18n/sv-SE/pages/user_upload.ts.html +0 -94
- package/coverage/lcov-report/i18n/sv-SE/shared/content_blocks.ts.html +0 -163
- package/coverage/lcov-report/i18n/sv-SE/shared/index.html +0 -176
- package/coverage/lcov-report/i18n/sv-SE/shared/index.ts.html +0 -118
- package/coverage/lcov-report/i18n/sv-SE/shared/menu.ts.html +0 -97
- package/coverage/lcov-report/i18n/sv-SE/shared/permission.ts.html +0 -130
- package/coverage/lcov-report/i18n/sv-SE/shared/settings.ts.html +0 -172
- package/coverage/lcov-report/index.html +0 -806
- package/coverage/lcov-report/models/SurveyResult.ts.html +0 -109
- package/coverage/lcov-report/models/SurveyTemplate.ts.html +0 -109
- package/coverage/lcov-report/models/index.html +0 -131
- package/coverage/lcov-report/pages/plugins/tinymce/_plugin.vue.html +0 -322
- package/coverage/lcov-report/pages/plugins/tinymce/index.html +0 -116
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/test/index.html +0 -131
- package/coverage/lcov-report/test/locales.js.html +0 -370
- package/coverage/lcov-report/test/mocks.js.html +0 -532
- package/coverage/lcov.info +0 -2753
- package/lib/helpers/GlossaryHelper.d.ts +0 -9
- package/lib/helpers/GlossaryHelper.js +0 -118
- package/lib/helpers/GlossaryTerm.d.ts +0 -10
- package/lib/helpers/GlossaryTerm.js +0 -22
- package/lib/helpers/MathHelper.d.ts +0 -99
- package/lib/helpers/MathHelper.js +0 -194
- package/lib/helpers/tinymce/plugin.d.ts +0 -2
- package/lib/helpers/tinymce/plugin.js +0 -86
- package/lib/i18n/en-US/components/content/blocks/image.d.ts +0 -6
- package/lib/i18n/en-US/components/content/blocks/image.js +0 -7
- package/lib/i18n/en-US/components/content/blocks/index.d.ts +0 -75
- package/lib/i18n/en-US/components/content/blocks/index.js +0 -14
- package/lib/i18n/en-US/components/content/blocks/tab.d.ts +0 -5
- package/lib/i18n/en-US/components/content/blocks/tab.js +0 -6
- package/lib/i18n/en-US/components/content/blocks/table.d.ts +0 -5
- package/lib/i18n/en-US/components/content/blocks/table.js +0 -6
- package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +0 -13
- package/lib/i18n/en-US/components/content/blocks/user_upload.js +0 -14
- package/lib/i18n/en-US/components/content/blocks/video.d.ts +0 -48
- package/lib/i18n/en-US/components/content/blocks/video.js +0 -49
- package/lib/i18n/en-US/components/content/index.d.ts +0 -77
- package/lib/i18n/en-US/components/content/index.js +0 -6
- package/lib/i18n/en-US/components/index.d.ts +0 -140
- package/lib/i18n/en-US/components/index.js +0 -12
- package/lib/i18n/en-US/components/navigation/image.d.ts +0 -5
- package/lib/i18n/en-US/components/navigation/image.js +0 -6
- package/lib/i18n/en-US/components/navigation/index.d.ts +0 -10
- package/lib/i18n/en-US/components/navigation/index.js +0 -8
- package/lib/i18n/en-US/components/navigation/user_upload.d.ts +0 -4
- package/lib/i18n/en-US/components/navigation/user_upload.js +0 -5
- package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +0 -6
- package/lib/i18n/en-US/components/settings/clickable_icon.js +0 -7
- package/lib/i18n/en-US/components/settings/image.d.ts +0 -2
- package/lib/i18n/en-US/components/settings/image.js +0 -3
- package/lib/i18n/en-US/components/settings/index.d.ts +0 -39
- package/lib/i18n/en-US/components/settings/index.js +0 -14
- package/lib/i18n/en-US/components/settings/text_editor.d.ts +0 -8
- package/lib/i18n/en-US/components/settings/text_editor.js +0 -9
- package/lib/i18n/en-US/components/settings/user_upload.d.ts +0 -12
- package/lib/i18n/en-US/components/settings/user_upload.js +0 -13
- package/lib/i18n/en-US/components/settings/video.d.ts +0 -13
- package/lib/i18n/en-US/components/settings/video.js +0 -14
- package/lib/i18n/en-US/components/utils/index.d.ts +0 -15
- package/lib/i18n/en-US/components/utils/index.js +0 -6
- package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +0 -13
- package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +0 -14
- package/lib/i18n/en-US/index.d.ts +0 -197
- package/lib/i18n/en-US/index.js +0 -16
- package/lib/i18n/en-US/modules/index.d.ts +0 -2
- package/lib/i18n/en-US/modules/index.js +0 -6
- package/lib/i18n/en-US/pages/glossary.d.ts +0 -8
- package/lib/i18n/en-US/pages/glossary.js +0 -9
- package/lib/i18n/en-US/pages/index.d.ts +0 -13
- package/lib/i18n/en-US/pages/index.js +0 -8
- package/lib/i18n/en-US/pages/user_upload.d.ts +0 -4
- package/lib/i18n/en-US/pages/user_upload.js +0 -5
- package/lib/i18n/en-US/shared/content_blocks.d.ts +0 -20
- package/lib/i18n/en-US/shared/content_blocks.js +0 -21
- package/lib/i18n/en-US/shared/index.d.ts +0 -39
- package/lib/i18n/en-US/shared/index.js +0 -10
- package/lib/i18n/en-US/shared/menu.d.ts +0 -4
- package/lib/i18n/en-US/shared/menu.js +0 -5
- package/lib/i18n/en-US/shared/settings.d.ts +0 -15
- package/lib/i18n/en-US/shared/settings.js +0 -16
- package/lib/i18n/en-US.d.ts +0 -197
- package/lib/i18n/en-US.js +0 -15
- package/lib/models/UserFileAsset.d.ts +0 -5
- package/lib/models/UserFileAsset.js +0 -37
package/CHANGELOG.md
CHANGED
|
@@ -46,7 +46,10 @@
|
|
|
46
46
|
class="expansion-panel-body"
|
|
47
47
|
:key="expansionPanelKey"
|
|
48
48
|
>
|
|
49
|
-
<v-container
|
|
49
|
+
<v-container
|
|
50
|
+
class="px-0 d-flex"
|
|
51
|
+
:class="getTextImageContainerClass(item)"
|
|
52
|
+
>
|
|
50
53
|
<TextViewer
|
|
51
54
|
v-if="!item.expand"
|
|
52
55
|
v-model="item.content"
|
|
@@ -58,27 +61,19 @@
|
|
|
58
61
|
block.metadata.config.items[itemIndex].content
|
|
59
62
|
"
|
|
60
63
|
></TextEditor>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
<v-img
|
|
64
|
-
v-if="block.metadata.config.items[itemIndex].file"
|
|
65
|
-
:aria-describedby="
|
|
64
|
+
<ImageAssetViewer
|
|
65
|
+
v-if="
|
|
66
66
|
block.metadata.config.items[itemIndex]
|
|
67
|
-
.
|
|
68
|
-
"
|
|
69
|
-
:alt="
|
|
70
|
-
getImageAlt(
|
|
71
|
-
block.metadata.config.items[itemIndex].file,
|
|
72
|
-
block.metadata.config.items[itemIndex]
|
|
73
|
-
.altText
|
|
74
|
-
)
|
|
67
|
+
.fileConfig.asset
|
|
75
68
|
"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
)
|
|
69
|
+
v-model="
|
|
70
|
+
block.metadata.config.items[itemIndex]
|
|
71
|
+
.fileConfig
|
|
80
72
|
"
|
|
81
|
-
|
|
73
|
+
:class="getImageOrder(item)"
|
|
74
|
+
:assets="block.assets"
|
|
75
|
+
:max-width="getImageWidth(item)"
|
|
76
|
+
></ImageAssetViewer>
|
|
82
77
|
</v-container>
|
|
83
78
|
</v-expansion-panel-content>
|
|
84
79
|
</v-expansion-panel>
|
|
@@ -89,6 +84,7 @@
|
|
|
89
84
|
<script>
|
|
90
85
|
import _ from 'lodash'
|
|
91
86
|
import Crypto from '~/helpers/Crypto'
|
|
87
|
+
import ImageAssetViewer from '~/components/Content/ImageAssetViewer.vue'
|
|
92
88
|
import TextEditor from '~/components/Text/TextEditor'
|
|
93
89
|
import TextViewer from '~/components/Text/TextViewer'
|
|
94
90
|
import BaseContentBlock from '~/components/Content/Blocks/BaseContentBlock'
|
|
@@ -98,6 +94,7 @@ export default {
|
|
|
98
94
|
components: {
|
|
99
95
|
TextEditor,
|
|
100
96
|
TextViewer,
|
|
97
|
+
ImageAssetViewer,
|
|
101
98
|
},
|
|
102
99
|
extends: BaseContentBlock,
|
|
103
100
|
beforeMount() {
|
|
@@ -118,9 +115,14 @@ export default {
|
|
|
118
115
|
header: '',
|
|
119
116
|
expand: false,
|
|
120
117
|
content: '',
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
fileConfig: {
|
|
119
|
+
display: {
|
|
120
|
+
width: 100,
|
|
121
|
+
margin: '',
|
|
122
|
+
padding: '',
|
|
123
|
+
},
|
|
124
|
+
hideBackground: true,
|
|
125
|
+
},
|
|
124
126
|
}
|
|
125
127
|
this.block.metadata.config.items = []
|
|
126
128
|
this.block.metadata.config.items.push(defaultObject)
|
|
@@ -134,36 +136,42 @@ export default {
|
|
|
134
136
|
expansionPanelKey: '0',
|
|
135
137
|
editingInContentItem: false,
|
|
136
138
|
selectedPanels: null,
|
|
139
|
+
fullWidth: true,
|
|
137
140
|
}
|
|
138
141
|
},
|
|
139
142
|
watch: {
|
|
140
|
-
value
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
this.selectedPanels !== newValue.metadata.config.selectedPanels
|
|
144
|
-
) {
|
|
145
|
-
// update editing content block
|
|
146
|
-
this.selectedPanels = newValue.metadata.config.selectedPanels
|
|
147
|
-
this.expansionPanelKey = Crypto.id()
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
const length = newValue.metadata.config.items.length
|
|
151
|
-
let counter = 0
|
|
152
|
-
newValue.metadata.config.items.forEach((element) => {
|
|
143
|
+
value: {
|
|
144
|
+
deep: true,
|
|
145
|
+
handler(newValue) {
|
|
153
146
|
if (
|
|
154
|
-
|
|
155
|
-
this.
|
|
147
|
+
!this.render &&
|
|
148
|
+
this.selectedPanels !==
|
|
149
|
+
newValue.metadata.config.selectedPanels
|
|
156
150
|
) {
|
|
157
|
-
|
|
151
|
+
// update editing content block
|
|
152
|
+
this.selectedPanels =
|
|
153
|
+
newValue.metadata.config.selectedPanels
|
|
158
154
|
this.expansionPanelKey = Crypto.id()
|
|
159
155
|
}
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
156
|
+
|
|
157
|
+
const length = newValue.metadata.config.items.length
|
|
158
|
+
let counter = 0
|
|
159
|
+
newValue.metadata.config.items.forEach((element) => {
|
|
160
|
+
if (
|
|
161
|
+
element.expand === true &&
|
|
162
|
+
this.editingInContentItem !== true
|
|
163
|
+
) {
|
|
164
|
+
this.editingInContentItem = true
|
|
165
|
+
this.expansionPanelKey = Crypto.id()
|
|
166
|
+
}
|
|
167
|
+
if (element.expand === false) {
|
|
168
|
+
counter = counter + 1
|
|
169
|
+
}
|
|
170
|
+
if (counter === length) {
|
|
171
|
+
this.editingInContentItem = false
|
|
172
|
+
}
|
|
173
|
+
})
|
|
174
|
+
},
|
|
167
175
|
},
|
|
168
176
|
render() {
|
|
169
177
|
if (this.render === true) {
|
|
@@ -206,6 +214,55 @@ export default {
|
|
|
206
214
|
const foundAsset = this.resolveAsset(asset)
|
|
207
215
|
return _.get(foundAsset, 'asset.metadata.props.alt', null)
|
|
208
216
|
},
|
|
217
|
+
getImageWidth(item) {
|
|
218
|
+
if (item.fileConfig.display) {
|
|
219
|
+
return String(item.fileConfig.display.width) + '%'
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
getTextImageContainerClass(item) {
|
|
223
|
+
const { margin, width } = item.fileConfig.display
|
|
224
|
+
|
|
225
|
+
if (width === 100) {
|
|
226
|
+
return margin === 'top'
|
|
227
|
+
? 'flex-column-reverse '
|
|
228
|
+
: 'flex-column '
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// If no display items have been set, keep the image in its own row
|
|
232
|
+
if (!margin) {
|
|
233
|
+
return 'flex-column '
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
switch (margin) {
|
|
237
|
+
case 'top':
|
|
238
|
+
return 'flex-column-reverse '
|
|
239
|
+
case 'right':
|
|
240
|
+
return _.isEmpty(item.content)
|
|
241
|
+
? 'justify-end'
|
|
242
|
+
: 'justify-space-between'
|
|
243
|
+
case 'left':
|
|
244
|
+
return ''
|
|
245
|
+
default:
|
|
246
|
+
return 'flex-column '
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
},
|
|
250
|
+
getImageOrder(item) {
|
|
251
|
+
const margin = item.fileConfig.display?.margin
|
|
252
|
+
if (margin) {
|
|
253
|
+
switch (margin) {
|
|
254
|
+
case 'left':
|
|
255
|
+
return 'order-first pr-1 '
|
|
256
|
+
case 'right':
|
|
257
|
+
return ''
|
|
258
|
+
default:
|
|
259
|
+
return 'align-self-center '
|
|
260
|
+
}
|
|
261
|
+
} else {
|
|
262
|
+
// if adjusting size and margin hasn't been set yet keep centered here
|
|
263
|
+
return 'align-self-center '
|
|
264
|
+
}
|
|
265
|
+
},
|
|
209
266
|
async onBeforeSave() {
|
|
210
267
|
this.block.metadata.config.items.forEach((element) => {
|
|
211
268
|
element.expand = false
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
@click="item.active = !item.active"
|
|
28
28
|
>
|
|
29
29
|
<v-avatar
|
|
30
|
-
v-if="item.iconImage && item.
|
|
30
|
+
v-if="item.iconImage && item.fileConfig"
|
|
31
31
|
class="clickable--image"
|
|
32
32
|
:rounded="
|
|
33
33
|
block.metadata.config.display.round_icon
|
|
@@ -36,7 +36,12 @@
|
|
|
36
36
|
"
|
|
37
37
|
size="100%"
|
|
38
38
|
>
|
|
39
|
-
<
|
|
39
|
+
<ImageAssetViewer
|
|
40
|
+
v-model="item.fileConfig"
|
|
41
|
+
:assets="block.assets"
|
|
42
|
+
class="image-asset-viewer"
|
|
43
|
+
:inherit-sizing="true"
|
|
44
|
+
></ImageAssetViewer>
|
|
40
45
|
</v-avatar>
|
|
41
46
|
<v-icon
|
|
42
47
|
v-else-if="isIcon(item.icon)"
|
|
@@ -77,11 +82,13 @@ import _ from 'lodash'
|
|
|
77
82
|
import he from 'he'
|
|
78
83
|
import BaseContentBlock from '~/components/Content/Blocks/BaseContentBlock'
|
|
79
84
|
import TextViewer from '~/components/Text/TextViewer'
|
|
85
|
+
import ImageAssetViewer from '~/components/Content/ImageAssetViewer.vue'
|
|
80
86
|
|
|
81
87
|
export default {
|
|
82
88
|
name: 'ClickableIcons',
|
|
83
89
|
components: {
|
|
84
90
|
TextViewer,
|
|
91
|
+
ImageAssetViewer,
|
|
85
92
|
},
|
|
86
93
|
extends: BaseContentBlock,
|
|
87
94
|
beforeMount() {
|
|
@@ -295,4 +302,8 @@ button.button-icon.button-icon--rounded {
|
|
|
295
302
|
font-size: 2.5rem;
|
|
296
303
|
}
|
|
297
304
|
}
|
|
305
|
+
.image-asset-viewer {
|
|
306
|
+
height: inherit;
|
|
307
|
+
width: inherit;
|
|
308
|
+
}
|
|
298
309
|
</style>
|
|
@@ -10,19 +10,10 @@
|
|
|
10
10
|
:disabled="isLoading"
|
|
11
11
|
@click="generateAIQuestion"
|
|
12
12
|
>
|
|
13
|
-
<v-icon class="pr-1" v-if="!isLoading"
|
|
14
|
-
|
|
15
|
-
>
|
|
16
|
-
{{
|
|
17
|
-
this.$t(
|
|
18
|
-
'windward.core.components.content.blocks.generate_questions.button_label'
|
|
19
|
-
)
|
|
20
|
-
}}
|
|
13
|
+
<v-icon class="pr-1" v-if="!isLoading">mdi-magic-staff</v-icon>
|
|
14
|
+
{{ $t('windward.core.components.content.blocks.generate_questions.button_label') }}
|
|
21
15
|
<template v-slot:loader>
|
|
22
|
-
<v-progress-circular
|
|
23
|
-
indeterminate
|
|
24
|
-
size="23"
|
|
25
|
-
></v-progress-circular>
|
|
16
|
+
<v-progress-circular indeterminate size="23"></v-progress-circular>
|
|
26
17
|
</template>
|
|
27
18
|
</v-btn>
|
|
28
19
|
</v-col>
|
|
@@ -34,11 +25,7 @@
|
|
|
34
25
|
outlined
|
|
35
26
|
hide-details
|
|
36
27
|
dense
|
|
37
|
-
:label="
|
|
38
|
-
$t(
|
|
39
|
-
'windward.core.components.content.blocks.generate_questions.selected_pages'
|
|
40
|
-
)
|
|
41
|
-
"
|
|
28
|
+
:label="$t('windward.core.components.content.blocks.generate_questions.selected_pages')"
|
|
42
29
|
item-text="content.name"
|
|
43
30
|
return-object
|
|
44
31
|
></v-select>
|
|
@@ -116,11 +103,18 @@ export default {
|
|
|
116
103
|
this.$emit('click:generate', generatedQuestion)
|
|
117
104
|
}
|
|
118
105
|
} catch (error) {
|
|
119
|
-
|
|
106
|
+
const errorType = error.response?.data?.errors?.detail?.split('.').pop() || 'default'
|
|
107
|
+
const basePath = 'windward.core.components.content.blocks.generate_questions.error'
|
|
108
|
+
|
|
120
109
|
this.$dialog.error(
|
|
121
|
-
this.$t(
|
|
122
|
-
|
|
123
|
-
|
|
110
|
+
this.$t(`${basePath}.${errorType}`) + '\n\n' +
|
|
111
|
+
this.$t(`${basePath}.${errorType}_support`),
|
|
112
|
+
{
|
|
113
|
+
duration: 5000,
|
|
114
|
+
keepOnHover: true,
|
|
115
|
+
singleton: true,
|
|
116
|
+
type: 'error'
|
|
117
|
+
}
|
|
124
118
|
)
|
|
125
119
|
} finally {
|
|
126
120
|
this.isLoading = false
|
|
@@ -129,8 +123,9 @@ export default {
|
|
|
129
123
|
},
|
|
130
124
|
}
|
|
131
125
|
</script>
|
|
126
|
+
|
|
132
127
|
<style scoped>
|
|
133
128
|
.btn-selector {
|
|
134
129
|
width: 100%;
|
|
135
130
|
}
|
|
136
|
-
</style>
|
|
131
|
+
</style>
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
:height="200"
|
|
28
28
|
menubar=""
|
|
29
29
|
></TextEditor>
|
|
30
|
-
<p class="pa-3 text-center
|
|
30
|
+
<p class="pa-3 text-center">
|
|
31
31
|
<v-btn
|
|
32
32
|
color="primary"
|
|
33
33
|
elevation="0"
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
></TextViewer>
|
|
67
67
|
</v-alert>
|
|
68
68
|
</div>
|
|
69
|
-
<p class="pa-3 text-center
|
|
69
|
+
<p class="pa-3 text-center">
|
|
70
70
|
<v-btn
|
|
71
71
|
elevation="0"
|
|
72
72
|
color="primary"
|
|
@@ -37,7 +37,10 @@
|
|
|
37
37
|
.config.items"
|
|
38
38
|
:key="'tabContent ' + tabContentIndex"
|
|
39
39
|
>
|
|
40
|
-
<v-container
|
|
40
|
+
<v-container
|
|
41
|
+
class="d-flex"
|
|
42
|
+
:class="getTextImageContainerClass(tabContent)"
|
|
43
|
+
>
|
|
41
44
|
<TextViewer
|
|
42
45
|
v-if="!tabContent.expand"
|
|
43
46
|
v-model="tabContent.content"
|
|
@@ -54,6 +57,8 @@
|
|
|
54
57
|
"
|
|
55
58
|
v-model="tabContent.imageAsset"
|
|
56
59
|
:assets="block.assets"
|
|
60
|
+
:class="getImageOrder(tabContent)"
|
|
61
|
+
:max-width="getImageWidth(tabContent)"
|
|
57
62
|
></ImageAssetViewer>
|
|
58
63
|
</v-container>
|
|
59
64
|
</v-tab-item>
|
|
@@ -86,6 +91,14 @@ export default {
|
|
|
86
91
|
tabHeader: '',
|
|
87
92
|
expand: false,
|
|
88
93
|
content: '',
|
|
94
|
+
imageAsset: {
|
|
95
|
+
display: {
|
|
96
|
+
width: 100,
|
|
97
|
+
margin: '',
|
|
98
|
+
padding: '',
|
|
99
|
+
},
|
|
100
|
+
hideBackground: true,
|
|
101
|
+
},
|
|
89
102
|
}
|
|
90
103
|
this.block.metadata.config.items = []
|
|
91
104
|
this.block.metadata.config.items.push(defaultObject)
|
|
@@ -113,6 +126,57 @@ export default {
|
|
|
113
126
|
})
|
|
114
127
|
this.block.metadata.config.currentTab = null
|
|
115
128
|
},
|
|
129
|
+
getImageWidth(item) {
|
|
130
|
+
if (item.imageAsset?.display) {
|
|
131
|
+
return String(item.imageAsset.display.width) + '%'
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
getTextImageContainerClass(item) {
|
|
135
|
+
const { margin, width } = item.imageAsset.display
|
|
136
|
+
// if full width set container to column
|
|
137
|
+
if (width === 100) {
|
|
138
|
+
return margin === 'top'
|
|
139
|
+
? 'flex-column-reverse '
|
|
140
|
+
: 'flex-column '
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// If no display items have been set, keep the image in its own row
|
|
144
|
+
if (!margin) {
|
|
145
|
+
return 'flex-column '
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
switch (margin) {
|
|
149
|
+
case 'top':
|
|
150
|
+
return 'flex-column-reverse '
|
|
151
|
+
case 'right':
|
|
152
|
+
return _.isEmpty(item.content)
|
|
153
|
+
? 'justify-end'
|
|
154
|
+
: 'justify-space-between'
|
|
155
|
+
case 'left':
|
|
156
|
+
return ''
|
|
157
|
+
default:
|
|
158
|
+
return 'flex-column '
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
getImageOrder(item) {
|
|
162
|
+
const margin = item.imageAsset.display?.margin
|
|
163
|
+
// filter out tab blocks that were created before custom
|
|
164
|
+
// spacing was added to image asset settings
|
|
165
|
+
if (margin) {
|
|
166
|
+
// if top or bottom image will always be centered
|
|
167
|
+
switch (margin) {
|
|
168
|
+
case 'left':
|
|
169
|
+
return 'order-first pr-1 '
|
|
170
|
+
case 'right':
|
|
171
|
+
return ''
|
|
172
|
+
default:
|
|
173
|
+
return 'align-self-center '
|
|
174
|
+
}
|
|
175
|
+
} else {
|
|
176
|
+
// if adjusting size and margin hasn't been set yet keep centered here
|
|
177
|
+
return 'align-self-center '
|
|
178
|
+
}
|
|
179
|
+
},
|
|
116
180
|
},
|
|
117
181
|
}
|
|
118
182
|
</script>
|
|
@@ -7,30 +7,9 @@
|
|
|
7
7
|
{{ block.metadata.config.description }}
|
|
8
8
|
</p>
|
|
9
9
|
|
|
10
|
-
<v-card v-if="render && !hasSource">
|
|
11
|
-
<v-card-title>
|
|
12
|
-
<v-icon class="mr-2">mdi-cloud-question</v-icon>
|
|
13
|
-
{{
|
|
14
|
-
$t(
|
|
15
|
-
'windward.core.components.content.blocks.video.not_configured_title'
|
|
16
|
-
)
|
|
17
|
-
}}
|
|
18
|
-
</v-card-title>
|
|
19
|
-
<v-card-text>{{
|
|
20
|
-
$t('windward.core.components.content.blocks.video.edit_prompt')
|
|
21
|
-
}}</v-card-text>
|
|
22
|
-
</v-card>
|
|
23
|
-
|
|
24
|
-
<v-skeleton-loader
|
|
25
|
-
v-if="!render && !hasSource"
|
|
26
|
-
type="image, image, list-item-avatar"
|
|
27
|
-
class="reload-skeleton"
|
|
28
|
-
></v-skeleton-loader>
|
|
29
|
-
|
|
30
10
|
<VuetifyPlayer
|
|
31
|
-
v-if="hasSource"
|
|
32
11
|
:language="$i18n && $i18n.locale ? $i18n.locale : 'en-US'"
|
|
33
|
-
|
|
12
|
+
type="auto"
|
|
34
13
|
:playlist="linkedPlaylist"
|
|
35
14
|
:autoplay="block.metadata.config.attributes.autoplay"
|
|
36
15
|
:autopictureinpicture="
|
|
@@ -50,6 +29,8 @@
|
|
|
50
29
|
:rewind="block.metadata.config.attributes.rewind"
|
|
51
30
|
:loop="block.metadata.config.attributes.loop"
|
|
52
31
|
:muted="block.metadata.config.attributes.muted"
|
|
32
|
+
:volume.sync="volume"
|
|
33
|
+
:cc.sync="ccVisible"
|
|
53
34
|
:playsinline="block.metadata.config.attributes.playsinline"
|
|
54
35
|
:poster="linkedPosterPublicUrl"
|
|
55
36
|
:preload="block.metadata.config.attributes.preload"
|
|
@@ -59,9 +40,31 @@
|
|
|
59
40
|
block.metadata.config.attributes.playlistautoadvance
|
|
60
41
|
"
|
|
61
42
|
:playbackrates="block.metadata.config.attributes.playbackrates"
|
|
43
|
+
:captions-autoscroll.sync="captionsAutoscroll"
|
|
44
|
+
:captions-paragraph-view.sync="captionsParagraphView"
|
|
45
|
+
:captions-visible.sync="captionsVisible"
|
|
46
|
+
flat
|
|
62
47
|
@seeking="onSeeking"
|
|
63
48
|
@timeupdate="onTimeupdate"
|
|
64
|
-
|
|
49
|
+
>
|
|
50
|
+
<template #no-source>
|
|
51
|
+
<v-card>
|
|
52
|
+
<v-card-title class="justify-center">
|
|
53
|
+
<v-icon class="mr-2">mdi-cloud-question</v-icon>
|
|
54
|
+
{{
|
|
55
|
+
$t(
|
|
56
|
+
'windward.core.components.content.blocks.video.not_configured_title'
|
|
57
|
+
)
|
|
58
|
+
}}
|
|
59
|
+
</v-card-title>
|
|
60
|
+
<v-card-text>{{
|
|
61
|
+
$t(
|
|
62
|
+
'windward.core.components.content.blocks.video.edit_prompt'
|
|
63
|
+
)
|
|
64
|
+
}}</v-card-text>
|
|
65
|
+
</v-card>
|
|
66
|
+
</template>
|
|
67
|
+
</VuetifyPlayer>
|
|
65
68
|
<!-- display first note in the playlist for now -->
|
|
66
69
|
<v-alert
|
|
67
70
|
v-if="notes.length > 0"
|
|
@@ -78,10 +81,11 @@
|
|
|
78
81
|
|
|
79
82
|
<script>
|
|
80
83
|
import _ from 'lodash'
|
|
84
|
+
import he from 'he'
|
|
81
85
|
import VuetifyPlayer from '@mindedge/vuetify-player'
|
|
86
|
+
import AuthUserRepository from '~/models/repositories/AuthUserRepository'
|
|
82
87
|
import BaseContentBlock from '~/components/Content/Blocks/BaseContentBlock'
|
|
83
88
|
import TextViewer from '~/components/Text/TextViewer'
|
|
84
|
-
import he from 'he'
|
|
85
89
|
|
|
86
90
|
export default {
|
|
87
91
|
name: 'ContentBlockVideo',
|
|
@@ -214,6 +218,90 @@ export default {
|
|
|
214
218
|
})
|
|
215
219
|
return playlist
|
|
216
220
|
},
|
|
221
|
+
captionsAutoscroll: {
|
|
222
|
+
get() {
|
|
223
|
+
const user = new AuthUserRepository(this.$nuxt)
|
|
224
|
+
|
|
225
|
+
return user.getPreference('video.captions-autoscroll', true)
|
|
226
|
+
},
|
|
227
|
+
set(v) {
|
|
228
|
+
try {
|
|
229
|
+
const user = new AuthUserRepository(this.$nuxt)
|
|
230
|
+
user.setPreference('video.captions-autoscroll', v)
|
|
231
|
+
user.save()
|
|
232
|
+
} catch (e) {
|
|
233
|
+
console.error('Could not save user video preference!')
|
|
234
|
+
console.error(e)
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
captionsParagraphView: {
|
|
239
|
+
get() {
|
|
240
|
+
const user = new AuthUserRepository(this.$nuxt)
|
|
241
|
+
return user.getPreference(
|
|
242
|
+
'video.captions-paragraph-view',
|
|
243
|
+
false
|
|
244
|
+
)
|
|
245
|
+
},
|
|
246
|
+
set(v) {
|
|
247
|
+
try {
|
|
248
|
+
const user = new AuthUserRepository(this.$nuxt)
|
|
249
|
+
user.setPreference('video.captions-paragraph-view', v)
|
|
250
|
+
user.save()
|
|
251
|
+
} catch (e) {
|
|
252
|
+
console.error('Could not save user video preference!')
|
|
253
|
+
console.error(e)
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
},
|
|
257
|
+
captionsVisible: {
|
|
258
|
+
get() {
|
|
259
|
+
const user = new AuthUserRepository(this.$nuxt)
|
|
260
|
+
return user.getPreference('video.captions-visible', false)
|
|
261
|
+
},
|
|
262
|
+
set(v) {
|
|
263
|
+
try {
|
|
264
|
+
const user = new AuthUserRepository(this.$nuxt)
|
|
265
|
+
user.setPreference('video.captions-visible', v)
|
|
266
|
+
user.save()
|
|
267
|
+
} catch (e) {
|
|
268
|
+
console.error('Could not save user video preference!')
|
|
269
|
+
console.error(e)
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
},
|
|
273
|
+
ccVisible: {
|
|
274
|
+
get() {
|
|
275
|
+
const user = new AuthUserRepository(this.$nuxt)
|
|
276
|
+
return user.getPreference('video.cc-visible', false)
|
|
277
|
+
},
|
|
278
|
+
set(v) {
|
|
279
|
+
try {
|
|
280
|
+
const user = new AuthUserRepository(this.$nuxt)
|
|
281
|
+
user.setPreference('video.cc-visible', v)
|
|
282
|
+
user.save()
|
|
283
|
+
} catch (e) {
|
|
284
|
+
console.error('Could not save user video preference!')
|
|
285
|
+
console.error(e)
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
volume: {
|
|
290
|
+
get() {
|
|
291
|
+
const user = new AuthUserRepository(this.$nuxt)
|
|
292
|
+
return user.getPreference('video.volume', 0.5)
|
|
293
|
+
},
|
|
294
|
+
set(v) {
|
|
295
|
+
try {
|
|
296
|
+
const user = new AuthUserRepository(this.$nuxt)
|
|
297
|
+
user.setPreference('video.volume', v)
|
|
298
|
+
user.save()
|
|
299
|
+
} catch (e) {
|
|
300
|
+
console.error('Could not save user video preference!')
|
|
301
|
+
console.error(e)
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
},
|
|
217
305
|
},
|
|
218
306
|
data() {
|
|
219
307
|
return {
|
|
@@ -224,7 +312,7 @@ export default {
|
|
|
224
312
|
description: '',
|
|
225
313
|
// Default settings for new blocks
|
|
226
314
|
// This will be overridden in beforeMount()
|
|
227
|
-
type: '
|
|
315
|
+
type: 'auto', // Allowed auto|video|audio. In audio mode the player has a max-height of 40px. Auto will switch between the other types when needed
|
|
228
316
|
attributes: {
|
|
229
317
|
autoplay: false, // Autoplay on load. It's in the spec but DON'T USE THIS
|
|
230
318
|
autopictureinpicture: false, // Start with picture in picture mode
|
|
@@ -9,7 +9,21 @@
|
|
|
9
9
|
<template #title>{{ $t(config.i18n) }}</template>
|
|
10
10
|
<template #form="{ on, attrs }">
|
|
11
11
|
<div v-bind="attrs" v-on="on">
|
|
12
|
-
<
|
|
12
|
+
<v-alert
|
|
13
|
+
v-if="!$ContextService.courseInSourceOrganization()"
|
|
14
|
+
type="warning"
|
|
15
|
+
>
|
|
16
|
+
{{
|
|
17
|
+
$t(
|
|
18
|
+
'shared.forms.source_organization_course_lock'
|
|
19
|
+
)
|
|
20
|
+
}}
|
|
21
|
+
</v-alert>
|
|
22
|
+
<CourseGlossary
|
|
23
|
+
:disabled="
|
|
24
|
+
!$ContextService.courseInSourceOrganization()
|
|
25
|
+
"
|
|
26
|
+
/>
|
|
13
27
|
</div>
|
|
14
28
|
</template>
|
|
15
29
|
</DialogBox>
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
<template #activator="{ on, attrs }">
|
|
4
4
|
<v-list-item
|
|
5
5
|
:class="color"
|
|
6
|
-
v-on="on"
|
|
7
|
-
v-bind="attrs"
|
|
8
6
|
:to="'/course/' + course.id + '/glossary'"
|
|
7
|
+
v-bind="attrs"
|
|
8
|
+
v-on="on"
|
|
9
9
|
>
|
|
10
10
|
<v-list-item-action>
|
|
11
|
-
<v-icon v-
|
|
11
|
+
<v-icon v-bind="attrs" v-on="on"
|
|
12
12
|
>mdi-comment-text-multiple</v-icon
|
|
13
13
|
>
|
|
14
14
|
</v-list-item-action>
|