@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.
- package/CHANGELOG.md +8 -1
- package/components/Content/Blocks/Accordion.vue +22 -0
- package/components/Content/Blocks/BlockQuote.vue +6 -2
- package/components/Content/Blocks/ClickableIcons.vue +19 -4
- package/components/Content/Blocks/Email.vue +12 -3
- package/components/Content/Blocks/GenerateAIQuestionButton.vue +14 -6
- package/components/Content/Blocks/HorizontalRule.vue +3 -4
- package/components/Content/Blocks/OpenResponse.vue +25 -0
- package/components/Content/Blocks/OpenResponseCollate.vue +13 -12
- package/components/Content/Blocks/ScenarioChoice.vue +66 -33
- package/components/Content/Blocks/Tab.vue +19 -0
- package/components/Content/Blocks/UserUpload.vue +5 -10
- package/components/Content/Blocks/Video.vue +129 -15
- package/components/Settings/AccordionSettings.vue +52 -13
- package/components/Settings/BlockQuoteSettings.vue +17 -33
- package/components/Settings/ClickableIconsSettings.vue +37 -23
- package/components/Settings/EmailSettings.vue +12 -30
- package/components/Settings/FileDownloadSettings.vue +12 -31
- package/components/Settings/HorizontalRuleSettings.vue +0 -3
- package/components/Settings/ImageSettings.vue +3 -9
- package/components/Settings/OpenResponseCollateSettings.vue +47 -55
- package/components/Settings/OpenResponseSettings.vue +62 -36
- package/components/Settings/ScenarioChoiceSettings.vue +22 -29
- package/components/Settings/TabSettings.vue +99 -81
- package/components/Settings/UserUploadSettings.vue +16 -42
- package/components/Settings/VideoSettings/SourcePicker.vue +223 -0
- package/components/Settings/VideoSettings.vue +115 -195
- package/components/utils/TinyMCEWrapper.vue +9 -5
- package/components/utils/assets/tinymce/content/global.scss +14 -0
- package/components/utils/glossary/CourseGlossary.vue +52 -27
- package/helpers/GlossaryHelper.ts +12 -2
- package/helpers/tinymce/WindwardPlugins.ts +59 -10
- package/i18n/en-US/components/content/blocks/generate_questions.ts +2 -1
- package/i18n/en-US/components/content/blocks/video.ts +2 -51
- package/i18n/en-US/components/settings/accordion.ts +1 -0
- package/i18n/en-US/components/settings/open_response_collate.ts +1 -1
- package/i18n/en-US/components/settings/scenario_choice.ts +3 -2
- package/i18n/en-US/components/settings/tab.ts +1 -0
- package/i18n/en-US/components/settings/user_upload.ts +1 -0
- package/i18n/en-US/components/settings/video.ts +51 -0
- package/i18n/en-US/components/utils/tiny_mce_wrapper.ts +9 -1
- package/i18n/en-US/shared/settings.ts +1 -1
- package/i18n/es-ES/components/content/blocks/generate_questions.ts +2 -1
- package/i18n/es-ES/components/content/blocks/video.ts +3 -53
- package/i18n/es-ES/components/settings/accordion.ts +1 -0
- package/i18n/es-ES/components/settings/open_response_collate.ts +1 -1
- package/i18n/es-ES/components/settings/scenario_choice.ts +3 -2
- package/i18n/es-ES/components/settings/tab.ts +2 -0
- package/i18n/es-ES/components/settings/user_upload.ts +1 -0
- package/i18n/es-ES/components/settings/video.ts +53 -0
- package/i18n/es-ES/components/utils/tiny_mce_wrapper.ts +9 -0
- package/i18n/es-ES/shared/settings.ts +1 -1
- package/i18n/sv-SE/components/content/blocks/generate_questions.ts +2 -1
- package/i18n/sv-SE/components/content/blocks/video.ts +2 -51
- package/i18n/sv-SE/components/settings/accordion.ts +2 -0
- package/i18n/sv-SE/components/settings/open_response_collate.ts +1 -1
- package/i18n/sv-SE/components/settings/scenario_choice.ts +3 -2
- package/i18n/sv-SE/components/settings/tab.ts +1 -0
- package/i18n/sv-SE/components/settings/user_upload.ts +1 -0
- package/i18n/sv-SE/components/settings/video.ts +51 -0
- package/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts +8 -0
- package/package.json +3 -2
- package/plugin.js +1 -1
- package/test/__mocks__/modelMock.js +1 -1
- package/test/helpers/GlossaryHelper.spec.js +22 -3
- package/test/mocks.js +8 -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 -223
- package/coverage/coverage-final.json +0 -16
- 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 -430
- package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +0 -394
- package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +0 -262
- package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +0 -295
- package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +0 -415
- package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +0 -667
- package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +0 -2275
- package/coverage/lcov-report/components/Content/Blocks/index.html +0 -206
- package/coverage/lcov-report/components/utils/ContentViewer.vue.html +0 -199
- package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +0 -919
- package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +0 -343
- package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +0 -271
- package/coverage/lcov-report/components/utils/index.html +0 -161
- package/coverage/lcov-report/config/index.html +0 -116
- package/coverage/lcov-report/config/tinymce.config.js.html +0 -493
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/helpers/MathHelper.ts.html +0 -793
- package/coverage/lcov-report/helpers/index.html +0 -116
- 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/index.html +0 -191
- 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 -116
- package/coverage/lcov-report/test/mocks.js.html +0 -457
- package/coverage/lcov.info +0 -403
- 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
|
@@ -3,19 +3,21 @@
|
|
|
3
3
|
<v-row>
|
|
4
4
|
<v-col cols="12">
|
|
5
5
|
<v-text-field
|
|
6
|
+
id="block-settings-title"
|
|
6
7
|
v-model="block.metadata.config.title"
|
|
7
|
-
:
|
|
8
|
+
:rules="$Validation.getRule('block.title')"
|
|
9
|
+
:counter="$Validation.getLimit('block.title')"
|
|
8
10
|
outlined
|
|
9
|
-
:rules="validation.shortInputRules"
|
|
10
11
|
:label="$t('windward.core.components.settings.video.title')"
|
|
11
12
|
:disabled="render"
|
|
12
13
|
></v-text-field>
|
|
13
14
|
<v-textarea
|
|
15
|
+
id="block-settings-instructions"
|
|
14
16
|
v-model="block.metadata.config.description"
|
|
15
17
|
outlined
|
|
16
18
|
auto-grow
|
|
17
|
-
:rules="
|
|
18
|
-
:counter="
|
|
19
|
+
:rules="$Validation.getRule('block.instructions')"
|
|
20
|
+
:counter="$Validation.getLimit('block.instructions')"
|
|
19
21
|
:label="
|
|
20
22
|
$t(
|
|
21
23
|
'components.content.settings.base.description_optional'
|
|
@@ -31,83 +33,48 @@
|
|
|
31
33
|
<v-tab>
|
|
32
34
|
{{
|
|
33
35
|
$t(
|
|
34
|
-
'windward.core.components.
|
|
36
|
+
'windward.core.components.settings.video.tabs.source'
|
|
35
37
|
)
|
|
36
38
|
}}
|
|
37
39
|
</v-tab>
|
|
38
40
|
<v-tab>
|
|
39
41
|
{{
|
|
40
42
|
$t(
|
|
41
|
-
'windward.core.components.
|
|
43
|
+
'windward.core.components.settings.video.tabs.poster'
|
|
42
44
|
)
|
|
43
45
|
}}
|
|
44
46
|
</v-tab>
|
|
45
|
-
<v-tab>
|
|
47
|
+
<v-tab v-if="showPreRoll">
|
|
46
48
|
{{
|
|
47
49
|
$t(
|
|
48
|
-
'windward.core.components.
|
|
50
|
+
'windward.core.components.settings.video.tabs.preroll'
|
|
49
51
|
)
|
|
50
52
|
}}
|
|
51
53
|
</v-tab>
|
|
52
|
-
<v-tab>
|
|
54
|
+
<v-tab v-if="showPostRoll">
|
|
53
55
|
{{
|
|
54
56
|
$t(
|
|
55
|
-
'windward.core.components.
|
|
57
|
+
'windward.core.components.settings.video.tabs.postroll'
|
|
56
58
|
)
|
|
57
59
|
}}
|
|
58
60
|
</v-tab>
|
|
59
61
|
</v-tabs>
|
|
60
62
|
|
|
61
|
-
<v-tabs-items v-model="fileTab">
|
|
63
|
+
<v-tabs-items v-model="fileTab" class="mt-2">
|
|
62
64
|
<v-tab-item class="mb-1">
|
|
63
|
-
<
|
|
64
|
-
|
|
65
|
+
<SourcePicker
|
|
66
|
+
:source.sync="media.source"
|
|
67
|
+
:track.sync="media.track"
|
|
65
68
|
:assets.sync="block.assets"
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
:source-label="
|
|
70
|
+
$t(
|
|
71
|
+
'windward.core.components.settings.video.place_source'
|
|
72
|
+
)
|
|
73
|
+
"
|
|
69
74
|
:disabled="render"
|
|
70
|
-
@change="onSourceSelect"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
{{
|
|
74
|
-
$t(
|
|
75
|
-
'windward.core.components.content.blocks.video.video.title'
|
|
76
|
-
)
|
|
77
|
-
}}
|
|
78
|
-
</template>
|
|
79
|
-
<template #description>
|
|
80
|
-
{{
|
|
81
|
-
$t(
|
|
82
|
-
'windward.core.components.content.blocks.video.video.configure_blurb'
|
|
83
|
-
)
|
|
84
|
-
}}
|
|
85
|
-
</template>
|
|
86
|
-
</ContentBlockAsset>
|
|
87
|
-
<ContentBlockAsset
|
|
88
|
-
v-model="media.track"
|
|
89
|
-
:assets.sync="block.assets"
|
|
90
|
-
mimes="text/vtt,text/xml"
|
|
91
|
-
allow-url
|
|
92
|
-
class="mb-4"
|
|
93
|
-
:disabled="render"
|
|
94
|
-
@change="onTrackSelect"
|
|
95
|
-
>
|
|
96
|
-
<template #title>
|
|
97
|
-
{{
|
|
98
|
-
$t(
|
|
99
|
-
'windward.core.components.content.blocks.video.caption.title'
|
|
100
|
-
)
|
|
101
|
-
}}
|
|
102
|
-
</template>
|
|
103
|
-
<template #description>
|
|
104
|
-
{{
|
|
105
|
-
$t(
|
|
106
|
-
'windward.core.components.content.blocks.video.caption.configure_blurb'
|
|
107
|
-
)
|
|
108
|
-
}}
|
|
109
|
-
</template>
|
|
110
|
-
</ContentBlockAsset>
|
|
75
|
+
@change:source="onSourceSelect"
|
|
76
|
+
@change:track="onTrackSelect"
|
|
77
|
+
></SourcePicker>
|
|
111
78
|
</v-tab-item>
|
|
112
79
|
|
|
113
80
|
<v-tab-item class="mb-1">
|
|
@@ -122,120 +89,67 @@
|
|
|
122
89
|
<template #title>
|
|
123
90
|
{{
|
|
124
91
|
$t(
|
|
125
|
-
'windward.core.components.
|
|
92
|
+
'windward.core.components.settings.video.poster.title'
|
|
126
93
|
)
|
|
127
94
|
}}
|
|
128
95
|
</template>
|
|
129
96
|
<template #description>
|
|
130
97
|
{{
|
|
131
98
|
$t(
|
|
132
|
-
'windward.core.components.
|
|
99
|
+
'windward.core.components.settings.video.poster.configure_blurb'
|
|
133
100
|
)
|
|
134
101
|
}}
|
|
135
102
|
</template>
|
|
136
103
|
</ContentBlockAsset>
|
|
137
104
|
</v-tab-item>
|
|
138
105
|
|
|
139
|
-
<v-tab-item class="mb-1">
|
|
140
|
-
<
|
|
141
|
-
|
|
106
|
+
<v-tab-item v-if="showPreRoll" class="mb-1">
|
|
107
|
+
<SourcePicker
|
|
108
|
+
:source.sync="media.ads[0].source"
|
|
109
|
+
:track.sync="media.ads[0].track"
|
|
142
110
|
:assets.sync="block.assets"
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
)
|
|
154
|
-
}}
|
|
155
|
-
</template>
|
|
156
|
-
<template #description>
|
|
157
|
-
{{
|
|
158
|
-
$t(
|
|
159
|
-
'windward.core.components.content.blocks.video.preroll.configure_blurb'
|
|
160
|
-
)
|
|
161
|
-
}}
|
|
162
|
-
</template>
|
|
163
|
-
</ContentBlockAsset>
|
|
164
|
-
|
|
165
|
-
<ContentBlockAsset
|
|
166
|
-
v-model="media.ads.preroll.track"
|
|
167
|
-
:assets.sync="block.assets"
|
|
168
|
-
mimes="text/vtt,text/xml"
|
|
169
|
-
allow-url
|
|
111
|
+
:source-label="
|
|
112
|
+
$t(
|
|
113
|
+
'windward.core.components.settings.video.preroll.title'
|
|
114
|
+
)
|
|
115
|
+
"
|
|
116
|
+
:source-description="
|
|
117
|
+
$t(
|
|
118
|
+
'windward.core.components.settings.video.preroll.configure_blurb'
|
|
119
|
+
)
|
|
120
|
+
"
|
|
170
121
|
:disabled="render"
|
|
171
|
-
@change="
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
)
|
|
178
|
-
}}
|
|
179
|
-
</template>
|
|
180
|
-
<template #description>
|
|
181
|
-
{{
|
|
182
|
-
$t(
|
|
183
|
-
'windward.core.components.content.blocks.video.caption.configure_blurb'
|
|
184
|
-
)
|
|
185
|
-
}}
|
|
186
|
-
</template>
|
|
187
|
-
</ContentBlockAsset>
|
|
122
|
+
@change:source="
|
|
123
|
+
(file, rawFile) =>
|
|
124
|
+
onAdSourceSelect(file, rawFile, 0)
|
|
125
|
+
"
|
|
126
|
+
@change:track="onAdTrackSelect($event, 0)"
|
|
127
|
+
></SourcePicker>
|
|
188
128
|
</v-tab-item>
|
|
189
129
|
|
|
190
130
|
<v-tab-item class="mb-1">
|
|
191
|
-
<
|
|
192
|
-
v-
|
|
131
|
+
<SourcePicker
|
|
132
|
+
v-if="showPostRoll"
|
|
133
|
+
:source.sync="media.ads[100].source"
|
|
134
|
+
:track.sync="media.ads[100].track"
|
|
193
135
|
:assets.sync="block.assets"
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
136
|
+
:source-label="
|
|
137
|
+
$t(
|
|
138
|
+
'windward.core.components.settings.video.postroll.title'
|
|
139
|
+
)
|
|
140
|
+
"
|
|
141
|
+
:source-description="
|
|
142
|
+
$t(
|
|
143
|
+
'windward.core.components.settings.video.postroll.configure_blurb'
|
|
144
|
+
)
|
|
145
|
+
"
|
|
197
146
|
:disabled="render"
|
|
198
|
-
@change="
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
)
|
|
205
|
-
}}
|
|
206
|
-
</template>
|
|
207
|
-
<template #description>
|
|
208
|
-
{{
|
|
209
|
-
$t(
|
|
210
|
-
'windward.core.components.content.blocks.video.postroll.configure_blurb'
|
|
211
|
-
)
|
|
212
|
-
}}
|
|
213
|
-
</template>
|
|
214
|
-
</ContentBlockAsset>
|
|
215
|
-
|
|
216
|
-
<ContentBlockAsset
|
|
217
|
-
v-model="media.ads.postroll.track"
|
|
218
|
-
:assets.sync="block.assets"
|
|
219
|
-
mimes="text/vtt,text/xml"
|
|
220
|
-
allow-url
|
|
221
|
-
:disabled="render"
|
|
222
|
-
@change="onAdTrackSelect($event, 100)"
|
|
223
|
-
>
|
|
224
|
-
<template #title>
|
|
225
|
-
{{
|
|
226
|
-
$t(
|
|
227
|
-
'windward.core.components.content.blocks.video.caption.title'
|
|
228
|
-
)
|
|
229
|
-
}}
|
|
230
|
-
</template>
|
|
231
|
-
<template #description>
|
|
232
|
-
{{
|
|
233
|
-
$t(
|
|
234
|
-
'windward.core.components.content.blocks.video.caption.configure_blurb'
|
|
235
|
-
)
|
|
236
|
-
}}
|
|
237
|
-
</template>
|
|
238
|
-
</ContentBlockAsset>
|
|
147
|
+
@change:source="
|
|
148
|
+
(file, rawFile) =>
|
|
149
|
+
onAdSourceSelect(file, rawFile, 0)
|
|
150
|
+
"
|
|
151
|
+
@change:track="onAdTrackSelect($event, 0)"
|
|
152
|
+
></SourcePicker>
|
|
239
153
|
</v-tab-item>
|
|
240
154
|
</v-tabs-items>
|
|
241
155
|
</v-col>
|
|
@@ -363,7 +277,7 @@
|
|
|
363
277
|
:items="playbackRateOptions"
|
|
364
278
|
:label="
|
|
365
279
|
$t(
|
|
366
|
-
'windward.core.components.
|
|
280
|
+
'windward.core.components.settings.video.video.playback_rates'
|
|
367
281
|
)
|
|
368
282
|
"
|
|
369
283
|
multiple
|
|
@@ -385,7 +299,7 @@
|
|
|
385
299
|
"
|
|
386
300
|
:label="
|
|
387
301
|
$t(
|
|
388
|
-
'windward.core.components.
|
|
302
|
+
'windward.core.components.settings.video.video.controls'
|
|
389
303
|
)
|
|
390
304
|
"
|
|
391
305
|
:disabled="render"
|
|
@@ -396,7 +310,7 @@
|
|
|
396
310
|
"
|
|
397
311
|
:label="
|
|
398
312
|
$t(
|
|
399
|
-
'windward.core.components.
|
|
313
|
+
'windward.core.components.settings.video.video.rewind'
|
|
400
314
|
)
|
|
401
315
|
"
|
|
402
316
|
:disabled="render"
|
|
@@ -408,7 +322,7 @@
|
|
|
408
322
|
"
|
|
409
323
|
:label="
|
|
410
324
|
$t(
|
|
411
|
-
'windward.core.components.
|
|
325
|
+
'windward.core.components.settings.video.video.captionsmenu'
|
|
412
326
|
)
|
|
413
327
|
"
|
|
414
328
|
:disabled="render"
|
|
@@ -420,7 +334,7 @@
|
|
|
420
334
|
"
|
|
421
335
|
:label="
|
|
422
336
|
$t(
|
|
423
|
-
'windward.core.components.
|
|
337
|
+
'windward.core.components.settings.video.video.disablepictureinpicture'
|
|
424
338
|
)
|
|
425
339
|
"
|
|
426
340
|
:disabled="render"
|
|
@@ -428,11 +342,11 @@
|
|
|
428
342
|
<!--
|
|
429
343
|
<v-switch
|
|
430
344
|
v-model="block.metadata.config.attributes.playlistmenu"
|
|
431
|
-
:label="$t('windward.core.components.
|
|
345
|
+
:label="$t('windward.core.components.settings.video.video.attributes.playlistmenu')"
|
|
432
346
|
></v-switch>
|
|
433
347
|
<v-switch
|
|
434
348
|
v-model="block.metadata.config.attributes.playlistautoadvance"
|
|
435
|
-
:label="$t('windward.core.components.
|
|
349
|
+
:label="$t('windward.core.components.settings.video.video.attributes.playlistautoadvance')"
|
|
436
350
|
></v-switch>
|
|
437
351
|
-->
|
|
438
352
|
</v-col>
|
|
@@ -443,7 +357,7 @@
|
|
|
443
357
|
"
|
|
444
358
|
:label="
|
|
445
359
|
$t(
|
|
446
|
-
'windward.core.components.
|
|
360
|
+
'windward.core.components.settings.video.video.muted'
|
|
447
361
|
)
|
|
448
362
|
"
|
|
449
363
|
:disabled="render"
|
|
@@ -454,7 +368,7 @@
|
|
|
454
368
|
"
|
|
455
369
|
:label="
|
|
456
370
|
$t(
|
|
457
|
-
'windward.core.components.
|
|
371
|
+
'windward.core.components.settings.video.video.loop'
|
|
458
372
|
)
|
|
459
373
|
"
|
|
460
374
|
:disabled="render"
|
|
@@ -466,7 +380,7 @@
|
|
|
466
380
|
"
|
|
467
381
|
:label="
|
|
468
382
|
$t(
|
|
469
|
-
'windward.core.components.
|
|
383
|
+
'windward.core.components.settings.video.video.playsinline'
|
|
470
384
|
)
|
|
471
385
|
"
|
|
472
386
|
:disabled="render"
|
|
@@ -482,11 +396,13 @@
|
|
|
482
396
|
<script>
|
|
483
397
|
import _ from 'lodash'
|
|
484
398
|
import BaseContentSettings from '~/components/Content/Settings/BaseContentSettings.js'
|
|
399
|
+
import ContentBlockAsset from '~/components/Content/ContentBlockAsset.vue'
|
|
400
|
+
import SourcePicker from './VideoSettings/SourcePicker.vue'
|
|
485
401
|
|
|
486
402
|
export default {
|
|
487
403
|
name: 'VideoSettings',
|
|
488
404
|
extends: BaseContentSettings,
|
|
489
|
-
components: {},
|
|
405
|
+
components: { ContentBlockAsset, SourcePicker },
|
|
490
406
|
data() {
|
|
491
407
|
return {
|
|
492
408
|
fileTab: null,
|
|
@@ -494,45 +410,26 @@ export default {
|
|
|
494
410
|
playlistPaginator: 1,
|
|
495
411
|
media: {
|
|
496
412
|
source: null,
|
|
413
|
+
sourceInherit: true,
|
|
497
414
|
track: null,
|
|
498
415
|
poster: null,
|
|
499
416
|
ads: {
|
|
500
|
-
preroll
|
|
417
|
+
// preroll
|
|
418
|
+
0: {
|
|
501
419
|
source: null,
|
|
502
420
|
track: null,
|
|
421
|
+
inherit: true,
|
|
503
422
|
},
|
|
504
|
-
postroll
|
|
423
|
+
// postroll
|
|
424
|
+
100: {
|
|
505
425
|
source: null,
|
|
506
426
|
track: null,
|
|
427
|
+
inherit: true,
|
|
507
428
|
},
|
|
508
429
|
},
|
|
509
430
|
},
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
(v) =>
|
|
513
|
-
v.length <= 50 ||
|
|
514
|
-
this.$t(
|
|
515
|
-
'windward.core.shared.settings.errors.input_limitations',
|
|
516
|
-
[50]
|
|
517
|
-
),
|
|
518
|
-
],
|
|
519
|
-
instructionRule: [
|
|
520
|
-
(v) =>
|
|
521
|
-
v.length <= 255 ||
|
|
522
|
-
this.$t(
|
|
523
|
-
'windward.core.shared.settings.errors.input_limitations',
|
|
524
|
-
[255]
|
|
525
|
-
),
|
|
526
|
-
],
|
|
527
|
-
clueRule: [
|
|
528
|
-
(v) =>
|
|
529
|
-
v.length <= 155 ||
|
|
530
|
-
this.$t(
|
|
531
|
-
'windward.core.shared.settings.errors.input_limitations',
|
|
532
|
-
[155]
|
|
533
|
-
),
|
|
534
|
-
],
|
|
535
|
-
},
|
|
431
|
+
showPreRoll: false,
|
|
432
|
+
showPostRoll: false,
|
|
536
433
|
}
|
|
537
434
|
},
|
|
538
435
|
computed: {
|
|
@@ -578,7 +475,7 @@ export default {
|
|
|
578
475
|
)
|
|
579
476
|
|
|
580
477
|
this.media.ads = {
|
|
581
|
-
|
|
478
|
+
0: {
|
|
582
479
|
source: this.resolveAsset(
|
|
583
480
|
_.get(
|
|
584
481
|
this.block,
|
|
@@ -602,7 +499,7 @@ export default {
|
|
|
602
499
|
)
|
|
603
500
|
),
|
|
604
501
|
},
|
|
605
|
-
|
|
502
|
+
100: {
|
|
606
503
|
source: this.resolveAsset(
|
|
607
504
|
_.get(
|
|
608
505
|
this.block,
|
|
@@ -640,6 +537,17 @@ export default {
|
|
|
640
537
|
delete self.block.metadata.config.__isDirty
|
|
641
538
|
}, 500)
|
|
642
539
|
},
|
|
540
|
+
getLinkedCaptions(file) {
|
|
541
|
+
// Check to see if the video source has a linked asset and it's a vtt file
|
|
542
|
+
const linkedCaption = _.find(
|
|
543
|
+
_.get(file, 'asset.linked_assets', []),
|
|
544
|
+
function (f) {
|
|
545
|
+
return _.get(f, 'asset.metadata.extension', '') === 'vtt'
|
|
546
|
+
}
|
|
547
|
+
)
|
|
548
|
+
|
|
549
|
+
return linkedCaption || null
|
|
550
|
+
},
|
|
643
551
|
/**
|
|
644
552
|
* Returns the next array index for an ad slot
|
|
645
553
|
* If a slot is already defined then return that index
|
|
@@ -713,7 +621,7 @@ export default {
|
|
|
713
621
|
|
|
714
622
|
this.reloadVideo()
|
|
715
623
|
},
|
|
716
|
-
onSourceSelect(file) {
|
|
624
|
+
onSourceSelect(file, rawFile) {
|
|
717
625
|
// No file, clear the selection
|
|
718
626
|
if (_.isEmpty(file)) {
|
|
719
627
|
delete this.block.metadata.config.playlist[this.playlistIndex]
|
|
@@ -722,6 +630,10 @@ export default {
|
|
|
722
630
|
this.playlistIndex
|
|
723
631
|
].sources = []
|
|
724
632
|
|
|
633
|
+
// Clear out any associated captions
|
|
634
|
+
this.media.track = null
|
|
635
|
+
this.onTrackSelect(null)
|
|
636
|
+
|
|
725
637
|
this.showVideo = false
|
|
726
638
|
} else {
|
|
727
639
|
// Apply an updated name
|
|
@@ -737,6 +649,10 @@ export default {
|
|
|
737
649
|
].sources = [file]
|
|
738
650
|
|
|
739
651
|
this.showVideo = true
|
|
652
|
+
|
|
653
|
+
// Clear the tracks. it will either be inherited via linked captions or be hard-set by the user
|
|
654
|
+
this.media.track = null
|
|
655
|
+
this.onTrackSelect(null)
|
|
740
656
|
}
|
|
741
657
|
this.reloadVideo()
|
|
742
658
|
},
|
|
@@ -751,7 +667,7 @@ export default {
|
|
|
751
667
|
}
|
|
752
668
|
this.reloadVideo()
|
|
753
669
|
},
|
|
754
|
-
onAdSourceSelect(file, playAtPercent) {
|
|
670
|
+
onAdSourceSelect(file, rawFile, playAtPercent) {
|
|
755
671
|
const adIndex = this.getAdSlot(playAtPercent)
|
|
756
672
|
|
|
757
673
|
// Prep in case the ad slot isn't setup yet
|
|
@@ -769,6 +685,10 @@ export default {
|
|
|
769
685
|
this.block.metadata.config.playlist[this.playlistIndex].ads[
|
|
770
686
|
adIndex
|
|
771
687
|
].sources = [file]
|
|
688
|
+
|
|
689
|
+
// Clear the tracks. it will either be inherited via linked captions or be hard-set by the user
|
|
690
|
+
this.media.ads[playAtPercent].track = null
|
|
691
|
+
this.onAdTrackSelect(null, playAtPercent)
|
|
772
692
|
}
|
|
773
693
|
this.reloadVideo()
|
|
774
694
|
},
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
"
|
|
8
8
|
:data-cy="dataCy"
|
|
9
9
|
>
|
|
10
|
-
<
|
|
11
|
-
|
|
10
|
+
<slot name="label" :render="render">
|
|
11
|
+
<label v-if="label" class="editor-label">{{ label }}</label>
|
|
12
|
+
</slot>
|
|
12
13
|
<Editor
|
|
13
14
|
:id="id"
|
|
14
15
|
:key="seed + (isDarkTheme ? '-theme-dark' : '-theme-light')"
|
|
@@ -26,7 +27,9 @@
|
|
|
26
27
|
>
|
|
27
28
|
</Editor>
|
|
28
29
|
|
|
29
|
-
<
|
|
30
|
+
<slot name="hint" :render="render">
|
|
31
|
+
<label v-if="hint" class="editor-hint">{{ hint }}</label>
|
|
32
|
+
</slot>
|
|
30
33
|
</div>
|
|
31
34
|
|
|
32
35
|
<v-btn-toggle dense multiple class="pt-1 d-flex justify-end">
|
|
@@ -145,7 +148,7 @@ export default {
|
|
|
145
148
|
type: String,
|
|
146
149
|
required: false,
|
|
147
150
|
default:
|
|
148
|
-
'undo redo | styles | bold italic underline strikethrough removeformat | alignleft aligncenter alignright | table bullist numlist outdent indent |
|
|
151
|
+
'undo redo | styles | bold italic underline strikethrough removeformat | alignleft aligncenter alignright | table tablerowprops tablecellprops |bullist numlist outdent indent |glossaryButton fibFormatButton mathButton a11yButton',
|
|
149
152
|
},
|
|
150
153
|
root_block: { type: String, required: false, default: 'div' },
|
|
151
154
|
label: { type: String, required: false, default: '' },
|
|
@@ -238,7 +241,7 @@ export default {
|
|
|
238
241
|
},
|
|
239
242
|
format: {
|
|
240
243
|
title: 'Format',
|
|
241
|
-
items: ' bold italic underline strikethrough superscript subscript codeformat | formats align |
|
|
244
|
+
items: ' bold italic underline strikethrough superscript subscript codeformat | formats align | language | removeformat',
|
|
242
245
|
},
|
|
243
246
|
},
|
|
244
247
|
plugins: [
|
|
@@ -263,6 +266,7 @@ export default {
|
|
|
263
266
|
table_advtab: false,
|
|
264
267
|
table_cell_advtab: false,
|
|
265
268
|
table_row_advtab: false,
|
|
269
|
+
table_header_type: 'auto',
|
|
266
270
|
table_default_attributes: {
|
|
267
271
|
class: 'default',
|
|
268
272
|
},
|
|
@@ -206,3 +206,17 @@ html:has(body.editor--theme-light) {
|
|
|
206
206
|
html:has(body.editor--theme-dark) {
|
|
207
207
|
@import './dark/content.scss';
|
|
208
208
|
}
|
|
209
|
+
|
|
210
|
+
.a11y-error{
|
|
211
|
+
background-color: #cf3f3f;
|
|
212
|
+
border-color: #cf3f3f;
|
|
213
|
+
color: #fff;
|
|
214
|
+
padding: 4px;
|
|
215
|
+
font-size: 0.8333rem;
|
|
216
|
+
border-radius: 4px;
|
|
217
|
+
&--highlight{
|
|
218
|
+
text-decoration-line: underline;
|
|
219
|
+
text-decoration-style: wavy;
|
|
220
|
+
text-decoration-color: #cf3f3f;
|
|
221
|
+
}
|
|
222
|
+
}
|