@windward/games 0.2.0 → 0.2.2
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/components/content/DatableEditor.vue +1 -1
- package/components/content/blocks/crosswordPuzzle/CrosswordPuzzle.vue +1 -0
- package/components/content/blocks/dragDrop/BucketGame.vue +2 -2
- package/components/content/blocks/dragDrop/SortingGame.vue +4 -10
- package/components/content/blocks/flashcards/FlashcardSlides.vue +5 -12
- package/components/content/blocks/matchingGame/MatchingGame.vue +8 -13
- package/components/content/blocks/multipleChoice/MultipleChoice.vue +26 -2
- package/components/content/blocks/multipleChoice/QuestionDialog.vue +4 -12
- package/components/content/blocks/quizshowGame/AnswerPanel.vue +1 -2
- package/components/content/blocks/quizshowGame/Gridview.vue +2 -1
- package/components/content/blocks/sevenStrikes/SevenStikes.vue +31 -3
- package/components/content/blocks/slideshow/SlideShow.vue +5 -12
- package/components/content/blocks/wordJumble/WordJumble.vue +24 -1
- package/components/settings/FlashCardSlidesManager.vue +77 -60
- package/components/settings/MatchingGameManager.vue +55 -39
- package/components/settings/QuizShowSettingsManager.vue +7 -2
- package/package.json +1 -1
- package/plugin.js +15 -24
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
<v-row class="col-md-10">
|
|
64
64
|
<v-card
|
|
65
65
|
v-if="mainAnswer[0]"
|
|
66
|
-
class="pa-2 d-flex justify-center flex-fill"
|
|
66
|
+
class="pa-2 d-flex justify-center flex-fill container-outline"
|
|
67
67
|
outlined
|
|
68
68
|
tile
|
|
69
69
|
>
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
startingIndex
|
|
140
140
|
]
|
|
141
141
|
"
|
|
142
|
-
class="pa-2 d-flex justify-center flex-fill"
|
|
142
|
+
class="pa-2 d-flex justify-center flex-fill container-outline"
|
|
143
143
|
outlined
|
|
144
144
|
tile
|
|
145
145
|
>
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
<v-col cols="10">
|
|
53
53
|
<v-card
|
|
54
54
|
:class="
|
|
55
|
-
'pa-2 flex-fill
|
|
55
|
+
'pa-2 flex-fill container-outline ' +
|
|
56
56
|
bucketStateClass(index)
|
|
57
57
|
"
|
|
58
58
|
outlined
|
|
@@ -88,11 +88,11 @@
|
|
|
88
88
|
<v-btn
|
|
89
89
|
v-if="isFail()"
|
|
90
90
|
color="primary"
|
|
91
|
-
|
|
91
|
+
text
|
|
92
92
|
@click="continueGame"
|
|
93
93
|
>{{ $t('shared.forms.try_again') }} </v-btn
|
|
94
94
|
>
|
|
95
|
-
<v-btn color="primary" elevation="0" @click="reset"
|
|
95
|
+
<v-btn color="primary" elevation="0" @click="reset" outlined
|
|
96
96
|
>{{ $t('shared.forms.reset') }}
|
|
97
97
|
</v-btn>
|
|
98
98
|
</v-row>
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
<v-col cols="11">
|
|
124
124
|
<v-card
|
|
125
125
|
:class="
|
|
126
|
-
'pa-2 flex-fill
|
|
126
|
+
'pa-2 flex-fill container-outline ' +
|
|
127
127
|
bucketStateClass(index)
|
|
128
128
|
"
|
|
129
129
|
elevation="0"
|
|
@@ -356,12 +356,6 @@ export default {
|
|
|
356
356
|
border: 4px solid var(--v-error-base);
|
|
357
357
|
color: var(--v-error-base);
|
|
358
358
|
}
|
|
359
|
-
.bucket {
|
|
360
|
-
border: solid 1px black;
|
|
361
|
-
border-radius: 4px !important;
|
|
362
|
-
cursor: pointer;
|
|
363
|
-
font-weight: bold;
|
|
364
|
-
}
|
|
365
359
|
.bucket--error {
|
|
366
360
|
background-color: var(--v-error-base);
|
|
367
361
|
color: white;
|
|
@@ -8,16 +8,14 @@
|
|
|
8
8
|
{{ block.metadata.config.instructions }}
|
|
9
9
|
</p>
|
|
10
10
|
<br />
|
|
11
|
-
<v-carousel
|
|
12
|
-
v-model="block.metadata.config.currentSlide"
|
|
13
|
-
hide-delimiters
|
|
14
|
-
>
|
|
11
|
+
<v-carousel v-model="block.metadata.config.currentSlide">
|
|
15
12
|
<template #prev="{ on, attrs }">
|
|
16
13
|
<v-btn
|
|
17
14
|
variant="elevated"
|
|
18
15
|
color="primary"
|
|
16
|
+
outlined
|
|
19
17
|
fab
|
|
20
|
-
|
|
18
|
+
small
|
|
21
19
|
v-bind="attrs"
|
|
22
20
|
v-on="on"
|
|
23
21
|
><v-icon>mdi-chevron-left</v-icon></v-btn
|
|
@@ -27,8 +25,9 @@
|
|
|
27
25
|
<v-btn
|
|
28
26
|
variant="elevated"
|
|
29
27
|
color="primary"
|
|
28
|
+
outlined
|
|
30
29
|
fab
|
|
31
|
-
|
|
30
|
+
small
|
|
32
31
|
v-bind="attrs"
|
|
33
32
|
v-on="on"
|
|
34
33
|
><v-icon>mdi-chevron-right</v-icon></v-btn
|
|
@@ -49,12 +48,6 @@
|
|
|
49
48
|
</v-sheet>
|
|
50
49
|
</v-carousel-item>
|
|
51
50
|
</v-carousel>
|
|
52
|
-
|
|
53
|
-
<v-row justify="center" align="center">
|
|
54
|
-
<div class="pa-3 text-center">
|
|
55
|
-
{{ slide }}/{{ block.metadata.config.cards.length }}
|
|
56
|
-
</div></v-row
|
|
57
|
-
>
|
|
58
51
|
</div>
|
|
59
52
|
</template>
|
|
60
53
|
|
|
@@ -72,10 +72,8 @@
|
|
|
72
72
|
v-for="(answer, aindex) in block.metadata.config
|
|
73
73
|
.answerObjects"
|
|
74
74
|
:key="aindex"
|
|
75
|
-
class="pa-2 ma-2 answerCard"
|
|
75
|
+
class="pa-2 ma-2 answerCard container-outline"
|
|
76
76
|
outlined
|
|
77
|
-
tile
|
|
78
|
-
color="primary"
|
|
79
77
|
>
|
|
80
78
|
<v-icon>mdi-drag-vertical</v-icon>
|
|
81
79
|
<span>
|
|
@@ -90,7 +88,7 @@
|
|
|
90
88
|
>
|
|
91
89
|
<v-row align="center" class="col-md-12">
|
|
92
90
|
<v-card
|
|
93
|
-
v-if="
|
|
91
|
+
v-if="mainPrompt['textOrImage'] === 'text'"
|
|
94
92
|
class="flex-fill bucket"
|
|
95
93
|
min-height="5em"
|
|
96
94
|
outlined
|
|
@@ -118,7 +116,7 @@
|
|
|
118
116
|
</v-row>
|
|
119
117
|
<v-row align="center" class="col-md-10">
|
|
120
118
|
<v-card
|
|
121
|
-
v-if="mainPrompt['
|
|
119
|
+
v-if="mainPrompt['textOrImage'] === 'image'"
|
|
122
120
|
class="pa-2 flex-fill bucket"
|
|
123
121
|
min-height="5em"
|
|
124
122
|
outlined
|
|
@@ -170,9 +168,9 @@
|
|
|
170
168
|
<v-row align="center" class="col-md-12">
|
|
171
169
|
<v-card
|
|
172
170
|
v-if="
|
|
173
|
-
|
|
171
|
+
block.metadata.config.prompts[
|
|
174
172
|
startingIndex
|
|
175
|
-
][startingIndex].
|
|
173
|
+
][startingIndex].textOrImage === 'text'
|
|
176
174
|
"
|
|
177
175
|
class="pa-2 flex-fill bucket"
|
|
178
176
|
min-height="5em"
|
|
@@ -207,7 +205,7 @@
|
|
|
207
205
|
v-if="
|
|
208
206
|
block.metadata.config.prompts[
|
|
209
207
|
startingIndex
|
|
210
|
-
][startingIndex].
|
|
208
|
+
][startingIndex].textOrImage === 'image' &&
|
|
211
209
|
block.metadata.config.prompts[
|
|
212
210
|
startingIndex
|
|
213
211
|
][startingIndex].file
|
|
@@ -419,7 +417,7 @@ export default {
|
|
|
419
417
|
name: '',
|
|
420
418
|
},
|
|
421
419
|
prompt: '',
|
|
422
|
-
|
|
420
|
+
textOrImage: 'text',
|
|
423
421
|
},
|
|
424
422
|
startingIndex: 0,
|
|
425
423
|
flattenedPrompts: '',
|
|
@@ -472,10 +470,7 @@ export default {
|
|
|
472
470
|
}
|
|
473
471
|
let draggedElement = ''
|
|
474
472
|
let target = ''
|
|
475
|
-
if (
|
|
476
|
-
this.mainPrompt.toggle === false ||
|
|
477
|
-
!_.isBoolean(this.mainPrompt.toggle)
|
|
478
|
-
) {
|
|
473
|
+
if (this.mainPrompt.textOrImage === 'text') {
|
|
479
474
|
draggedElement =
|
|
480
475
|
this.block.metadata.config.answerObjects[evt.oldIndex]
|
|
481
476
|
this.block.metadata.config.prompts.forEach((outerElement) => {
|
|
@@ -7,6 +7,30 @@
|
|
|
7
7
|
</v-col>
|
|
8
8
|
</v-row>
|
|
9
9
|
<v-carousel height="600">
|
|
10
|
+
<template #prev="{ on, attrs }">
|
|
11
|
+
<v-btn
|
|
12
|
+
variant="elevated"
|
|
13
|
+
color="primary"
|
|
14
|
+
outlined
|
|
15
|
+
fab
|
|
16
|
+
small
|
|
17
|
+
v-bind="attrs"
|
|
18
|
+
v-on="on"
|
|
19
|
+
><v-icon>mdi-chevron-left</v-icon></v-btn
|
|
20
|
+
>
|
|
21
|
+
</template>
|
|
22
|
+
<template #next="{ on, attrs }">
|
|
23
|
+
<v-btn
|
|
24
|
+
variant="elevated"
|
|
25
|
+
color="primary"
|
|
26
|
+
outlined
|
|
27
|
+
fab
|
|
28
|
+
small
|
|
29
|
+
v-bind="attrs"
|
|
30
|
+
v-on="on"
|
|
31
|
+
><v-icon>mdi-chevron-right</v-icon></v-btn
|
|
32
|
+
>
|
|
33
|
+
</template>
|
|
10
34
|
<v-carousel-item
|
|
11
35
|
v-for="question in block.metadata.config.questions"
|
|
12
36
|
:key="question.id"
|
|
@@ -72,7 +96,7 @@
|
|
|
72
96
|
<v-row class="d-flex justify-center">
|
|
73
97
|
<v-btn
|
|
74
98
|
color="primary"
|
|
75
|
-
|
|
99
|
+
text
|
|
76
100
|
class="mr-4 btn-hint"
|
|
77
101
|
@click="onHint(question)"
|
|
78
102
|
>{{
|
|
@@ -83,7 +107,7 @@
|
|
|
83
107
|
>
|
|
84
108
|
<v-btn
|
|
85
109
|
color="primary"
|
|
86
|
-
|
|
110
|
+
text
|
|
87
111
|
:disabled="
|
|
88
112
|
question.answer_options.length !== 4 ||
|
|
89
113
|
question.fiftyFifty
|
|
@@ -99,27 +99,19 @@
|
|
|
99
99
|
@mouseleave="onHoverLeave"
|
|
100
100
|
@click="onDelete(index)"
|
|
101
101
|
>
|
|
102
|
-
<v-icon>mdi-delete</v-icon>
|
|
102
|
+
<v-icon color="error">mdi-delete-outline</v-icon>
|
|
103
103
|
</v-col>
|
|
104
104
|
</v-row>
|
|
105
105
|
</v-container>
|
|
106
106
|
<v-container class="d-flex justify-center" v-if="overLength">
|
|
107
|
-
<
|
|
108
|
-
|
|
109
|
-
@mouseleave="onHoverLeave"
|
|
110
|
-
@click="onAddAnswer"
|
|
111
|
-
v-on:keyup.enter="onAddAnswer"
|
|
112
|
-
class="fullWidth"
|
|
113
|
-
:class="cursor"
|
|
114
|
-
tabindex="0"
|
|
115
|
-
>
|
|
116
|
-
<v-icon class="primary addIcon">mdi-plus</v-icon>
|
|
107
|
+
<v-btn @click="onAddAnswer" :class="cursor" color="primary">
|
|
108
|
+
<v-icon>mdi-plus</v-icon>
|
|
117
109
|
{{
|
|
118
110
|
$t(
|
|
119
111
|
'windward.games.components.settings.multiple_choice.add_answer'
|
|
120
112
|
)
|
|
121
113
|
}}
|
|
122
|
-
</
|
|
114
|
+
</v-btn>
|
|
123
115
|
</v-container>
|
|
124
116
|
</v-row>
|
|
125
117
|
</v-form>
|
|
@@ -18,6 +18,30 @@
|
|
|
18
18
|
v-model="block.metadata.config.currentWord"
|
|
19
19
|
@change="onSlideChanged($event)"
|
|
20
20
|
>
|
|
21
|
+
<template #prev="{ on, attrs }">
|
|
22
|
+
<v-btn
|
|
23
|
+
variant="elevated"
|
|
24
|
+
color="primary"
|
|
25
|
+
outlined
|
|
26
|
+
fab
|
|
27
|
+
small
|
|
28
|
+
v-bind="attrs"
|
|
29
|
+
v-on="on"
|
|
30
|
+
><v-icon>mdi-chevron-left</v-icon></v-btn
|
|
31
|
+
>
|
|
32
|
+
</template>
|
|
33
|
+
<template #next="{ on, attrs }">
|
|
34
|
+
<v-btn
|
|
35
|
+
variant="elevated"
|
|
36
|
+
color="primary"
|
|
37
|
+
outlined
|
|
38
|
+
fab
|
|
39
|
+
small
|
|
40
|
+
v-bind="attrs"
|
|
41
|
+
v-on="on"
|
|
42
|
+
><v-icon>mdi-chevron-right</v-icon></v-btn
|
|
43
|
+
>
|
|
44
|
+
</template>
|
|
21
45
|
<v-carousel-item
|
|
22
46
|
v-for="(word, index) in block.metadata.config.words"
|
|
23
47
|
:key="index"
|
|
@@ -117,7 +141,7 @@
|
|
|
117
141
|
<keyboard
|
|
118
142
|
v-if="!showFeedback"
|
|
119
143
|
:key="index"
|
|
120
|
-
:keyboardClass="keyBoardClass + index"
|
|
144
|
+
:keyboardClass="keyBoardClass + '-' + index"
|
|
121
145
|
@onChange="onChange"
|
|
122
146
|
@onKeyPress="onKeyPress"
|
|
123
147
|
:input="input"
|
|
@@ -128,7 +152,9 @@
|
|
|
128
152
|
v-if="showFeedback"
|
|
129
153
|
>
|
|
130
154
|
<v-btn
|
|
131
|
-
color="primary
|
|
155
|
+
color="primary"
|
|
156
|
+
class="ml-4"
|
|
157
|
+
outlined
|
|
132
158
|
@click="onRevealAnswer"
|
|
133
159
|
>{{
|
|
134
160
|
$t(
|
|
@@ -137,7 +163,9 @@
|
|
|
137
163
|
}}</v-btn
|
|
138
164
|
>
|
|
139
165
|
<v-btn
|
|
140
|
-
color="primary
|
|
166
|
+
color="primary"
|
|
167
|
+
class="ml-4"
|
|
168
|
+
outlined
|
|
141
169
|
@click="onSlideChanged(index)"
|
|
142
170
|
>{{
|
|
143
171
|
$t(
|
|
@@ -30,8 +30,9 @@
|
|
|
30
30
|
<v-btn
|
|
31
31
|
variant="elevated"
|
|
32
32
|
color="primary"
|
|
33
|
+
outlined
|
|
33
34
|
fab
|
|
34
|
-
|
|
35
|
+
small
|
|
35
36
|
v-bind="attrs"
|
|
36
37
|
v-on="on"
|
|
37
38
|
><v-icon>mdi-chevron-left</v-icon></v-btn
|
|
@@ -41,8 +42,9 @@
|
|
|
41
42
|
<v-btn
|
|
42
43
|
variant="elevated"
|
|
43
44
|
color="primary"
|
|
45
|
+
outlined
|
|
44
46
|
fab
|
|
45
|
-
|
|
47
|
+
small
|
|
46
48
|
v-bind="attrs"
|
|
47
49
|
v-on="on"
|
|
48
50
|
><v-icon>mdi-chevron-right</v-icon></v-btn
|
|
@@ -125,7 +127,7 @@ export default {
|
|
|
125
127
|
watch: {
|
|
126
128
|
render(newValue) {
|
|
127
129
|
this.block.metadata.config.currentSlide = 0
|
|
128
|
-
}
|
|
130
|
+
},
|
|
129
131
|
},
|
|
130
132
|
methods: {},
|
|
131
133
|
}
|
|
@@ -165,15 +167,6 @@ export default {
|
|
|
165
167
|
.ten {
|
|
166
168
|
height: 10% !important;
|
|
167
169
|
}
|
|
168
|
-
.nav-buttons {
|
|
169
|
-
font-size: 34px;
|
|
170
|
-
font-weight: 340;
|
|
171
|
-
}
|
|
172
|
-
</style>
|
|
173
|
-
<style>
|
|
174
|
-
.v-carousel__controls {
|
|
175
|
-
background: var(--v-primary-base) !important;
|
|
176
|
-
}
|
|
177
170
|
.header-description {
|
|
178
171
|
padding-left: 75px;
|
|
179
172
|
padding-right: 75px;
|
|
@@ -15,10 +15,33 @@
|
|
|
15
15
|
<v-col class="pa-0">
|
|
16
16
|
<template>
|
|
17
17
|
<v-carousel
|
|
18
|
-
hide-delimiters
|
|
19
18
|
v-model="block.metadata.config.currentWord"
|
|
20
19
|
@change="onSlideChanged()"
|
|
21
20
|
>
|
|
21
|
+
<template #prev="{ on, attrs }">
|
|
22
|
+
<v-btn
|
|
23
|
+
variant="elevated"
|
|
24
|
+
color="primary"
|
|
25
|
+
outlined
|
|
26
|
+
fab
|
|
27
|
+
small
|
|
28
|
+
v-bind="attrs"
|
|
29
|
+
v-on="on"
|
|
30
|
+
><v-icon>mdi-chevron-left</v-icon></v-btn
|
|
31
|
+
>
|
|
32
|
+
</template>
|
|
33
|
+
<template #next="{ on, attrs }">
|
|
34
|
+
<v-btn
|
|
35
|
+
variant="elevated"
|
|
36
|
+
color="primary"
|
|
37
|
+
outlined
|
|
38
|
+
fab
|
|
39
|
+
small
|
|
40
|
+
v-bind="attrs"
|
|
41
|
+
v-on="on"
|
|
42
|
+
><v-icon>mdi-chevron-right</v-icon></v-btn
|
|
43
|
+
>
|
|
44
|
+
</template>
|
|
22
45
|
<v-carousel-item
|
|
23
46
|
v-for="(word, index) in block.metadata.config.words"
|
|
24
47
|
:key="index"
|
|
@@ -50,49 +50,60 @@
|
|
|
50
50
|
<template #body="{ item, index }">
|
|
51
51
|
<v-container>
|
|
52
52
|
<v-row
|
|
53
|
-
class="d-flex justify-space-around
|
|
53
|
+
class="d-flex justify-space-around"
|
|
54
54
|
align="center"
|
|
55
55
|
justify="center"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
:outlined="
|
|
60
|
-
!block.metadata.config.cards[index].side
|
|
61
|
-
"
|
|
56
|
+
>
|
|
57
|
+
<v-container
|
|
58
|
+
class="d-flex justify-center align-center"
|
|
62
59
|
>{{
|
|
63
60
|
$t(
|
|
64
|
-
'windward.games.components.settings.flashcard.form.
|
|
65
|
-
)
|
|
66
|
-
|
|
61
|
+
'windward.games.components.settings.flashcard.form.card'
|
|
62
|
+
) +
|
|
63
|
+
' ' +
|
|
64
|
+
(index + 1) +
|
|
65
|
+
' ' +
|
|
66
|
+
(block.metadata.config.cards[index].side
|
|
67
|
+
? $t(
|
|
68
|
+
'windward.games.components.settings.flashcard.form.front'
|
|
69
|
+
)
|
|
70
|
+
: $t(
|
|
71
|
+
'windward.games.components.settings.flashcard.form.back'
|
|
72
|
+
))
|
|
73
|
+
}}</v-container
|
|
67
74
|
>
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
'windward.games.components.settings.flashcard.form.card'
|
|
71
|
-
) +
|
|
72
|
-
' ' +
|
|
73
|
-
(index + 1) +
|
|
74
|
-
' ' +
|
|
75
|
-
(block.metadata.config.cards[index].side
|
|
76
|
-
? $t(
|
|
77
|
-
'windward.games.components.settings.flashcard.form.front'
|
|
78
|
-
)
|
|
79
|
-
: $t(
|
|
80
|
-
'windward.games.components.settings.flashcard.form.back'
|
|
81
|
-
))
|
|
82
|
-
}}<v-btn
|
|
83
|
-
@click="flipCardBack(index)"
|
|
84
|
-
color="primary"
|
|
85
|
-
:outlined="
|
|
75
|
+
<v-btn-toggle
|
|
76
|
+
v-model="
|
|
86
77
|
block.metadata.config.cards[index].side
|
|
87
78
|
"
|
|
88
79
|
>
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
80
|
+
<v-btn
|
|
81
|
+
:value="true"
|
|
82
|
+
:outlined="
|
|
83
|
+
!block.metadata.config.cards[index]
|
|
84
|
+
.side
|
|
85
|
+
"
|
|
86
|
+
>{{
|
|
87
|
+
$t(
|
|
88
|
+
'windward.games.components.settings.flashcard.form.front'
|
|
89
|
+
)
|
|
90
|
+
}}</v-btn
|
|
91
|
+
><v-btn
|
|
92
|
+
:value="false"
|
|
93
|
+
:outlined="
|
|
94
|
+
block.metadata.config.cards[index]
|
|
95
|
+
.side
|
|
96
|
+
"
|
|
97
|
+
>
|
|
98
|
+
{{
|
|
99
|
+
$t(
|
|
100
|
+
'windward.games.components.settings.flashcard.form.back'
|
|
101
|
+
)
|
|
102
|
+
}}</v-btn
|
|
103
|
+
>
|
|
104
|
+
</v-btn-toggle>
|
|
105
|
+
</v-row>
|
|
106
|
+
<br />
|
|
96
107
|
<v-form ref="form">
|
|
97
108
|
<br />
|
|
98
109
|
|
|
@@ -254,35 +265,41 @@
|
|
|
254
265
|
class="d-flex justify-space-around pt-8"
|
|
255
266
|
align="center"
|
|
256
267
|
justify="center"
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
:outlined="
|
|
261
|
-
!block.metadata.config.cards[index]
|
|
262
|
-
.side
|
|
263
|
-
"
|
|
264
|
-
>{{
|
|
265
|
-
$t(
|
|
266
|
-
'windward.games.components.settings.flashcard.form.front'
|
|
267
|
-
)
|
|
268
|
-
}}</v-btn
|
|
269
|
-
>
|
|
270
|
-
|
|
271
|
-
<v-btn
|
|
272
|
-
@click="flipCardBack(index)"
|
|
273
|
-
color="primary"
|
|
274
|
-
:outlined="
|
|
268
|
+
>
|
|
269
|
+
<v-btn-toggle
|
|
270
|
+
v-model="
|
|
275
271
|
block.metadata.config.cards[index]
|
|
276
272
|
.side
|
|
277
273
|
"
|
|
278
274
|
>
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
275
|
+
<v-btn
|
|
276
|
+
:value="true"
|
|
277
|
+
:outlined="
|
|
278
|
+
!block.metadata.config.cards[
|
|
279
|
+
index
|
|
280
|
+
].side
|
|
281
|
+
"
|
|
282
|
+
>{{
|
|
283
|
+
$t(
|
|
284
|
+
'windward.games.components.settings.flashcard.form.front'
|
|
285
|
+
)
|
|
286
|
+
}}</v-btn
|
|
287
|
+
><v-btn
|
|
288
|
+
:value="false"
|
|
289
|
+
:outlined="
|
|
290
|
+
block.metadata.config.cards[
|
|
291
|
+
index
|
|
292
|
+
].side
|
|
293
|
+
"
|
|
294
|
+
>
|
|
295
|
+
{{
|
|
296
|
+
$t(
|
|
297
|
+
'windward.games.components.settings.flashcard.form.back'
|
|
298
|
+
)
|
|
299
|
+
}}</v-btn
|
|
300
|
+
>
|
|
301
|
+
</v-btn-toggle>
|
|
302
|
+
</v-row>
|
|
286
303
|
<br />
|
|
287
304
|
</v-form>
|
|
288
305
|
</v-container>
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
index: indexPrompt,
|
|
93
93
|
}"
|
|
94
94
|
>
|
|
95
|
-
<span v-if="
|
|
95
|
+
<span v-if="prompt.textOrImage === 'text'">
|
|
96
96
|
{{
|
|
97
97
|
prompt.prompt
|
|
98
98
|
? block.metadata.config.prompts[
|
|
@@ -103,13 +103,16 @@
|
|
|
103
103
|
)
|
|
104
104
|
}}
|
|
105
105
|
</span>
|
|
106
|
-
<span
|
|
107
|
-
prompt.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
106
|
+
<span
|
|
107
|
+
v-if="prompt.textOrImage === 'image'"
|
|
108
|
+
>{{
|
|
109
|
+
prompt.file && prompt.file !== null
|
|
110
|
+
? prompt.file.name
|
|
111
|
+
: $t(
|
|
112
|
+
'windward.games.components.content.blocks.matching_game.image'
|
|
113
|
+
)
|
|
114
|
+
}}</span
|
|
115
|
+
>
|
|
113
116
|
</template>
|
|
114
117
|
<template
|
|
115
118
|
#body="{ item: prompt, index: indexPrompt }"
|
|
@@ -134,40 +137,42 @@
|
|
|
134
137
|
cols="6"
|
|
135
138
|
class="d-flex justify-end pa-0"
|
|
136
139
|
>
|
|
137
|
-
<v-btn
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
block.metadata.config.prompts[
|
|
142
|
-
index
|
|
143
|
-
][
|
|
144
|
-
indexPrompt
|
|
145
|
-
].toggle = false
|
|
146
|
-
"
|
|
147
|
-
><v-icon
|
|
148
|
-
>mdi-alpha-t</v-icon
|
|
149
|
-
></v-btn
|
|
150
|
-
>
|
|
151
|
-
<v-btn
|
|
152
|
-
outlined
|
|
153
|
-
class="pa-0 btn-text-file-toggle"
|
|
154
|
-
@click="
|
|
155
|
-
block.metadata.config.prompts[
|
|
140
|
+
<v-btn-toggle
|
|
141
|
+
v-model="
|
|
142
|
+
block.metadata
|
|
143
|
+
.config.prompts[
|
|
156
144
|
index
|
|
157
|
-
][
|
|
158
|
-
|
|
159
|
-
].toggle = true
|
|
145
|
+
][indexPrompt]
|
|
146
|
+
.textOrImage
|
|
160
147
|
"
|
|
161
|
-
|
|
162
|
-
>mdi-image-area</v-icon
|
|
163
|
-
></v-btn
|
|
148
|
+
borderless
|
|
164
149
|
>
|
|
150
|
+
<v-btn
|
|
151
|
+
text
|
|
152
|
+
class="pa-0 mr-2 btn-text-file-toggle"
|
|
153
|
+
value="text"
|
|
154
|
+
><v-icon
|
|
155
|
+
>mdi-alpha-t</v-icon
|
|
156
|
+
></v-btn
|
|
157
|
+
>
|
|
158
|
+
<v-btn
|
|
159
|
+
text
|
|
160
|
+
class="pa-0 btn-text-file-toggle"
|
|
161
|
+
value="image"
|
|
162
|
+
><v-icon
|
|
163
|
+
>mdi-image-area</v-icon
|
|
164
|
+
></v-btn
|
|
165
|
+
>
|
|
166
|
+
</v-btn-toggle>
|
|
165
167
|
</v-col>
|
|
166
168
|
</v-row>
|
|
167
169
|
</v-container>
|
|
168
170
|
<v-container class="pa-0">
|
|
169
171
|
<v-text-field
|
|
170
|
-
v-if="
|
|
172
|
+
v-if="
|
|
173
|
+
prompt.textOrImage ===
|
|
174
|
+
'text'
|
|
175
|
+
"
|
|
171
176
|
v-model="
|
|
172
177
|
block.metadata.config
|
|
173
178
|
.prompts[index][
|
|
@@ -179,7 +184,9 @@
|
|
|
179
184
|
></v-text-field>
|
|
180
185
|
</v-container>
|
|
181
186
|
<v-container
|
|
182
|
-
v-if="
|
|
187
|
+
v-if="
|
|
188
|
+
prompt.textOrImage === 'image'
|
|
189
|
+
"
|
|
183
190
|
class="pa-0"
|
|
184
191
|
>
|
|
185
192
|
<v-text-field
|
|
@@ -190,7 +197,10 @@
|
|
|
190
197
|
].altText
|
|
191
198
|
"
|
|
192
199
|
class="pt-3 pb-3"
|
|
193
|
-
v-if="
|
|
200
|
+
v-if="
|
|
201
|
+
prompt.textOrImage ===
|
|
202
|
+
'image'
|
|
203
|
+
"
|
|
194
204
|
:hide-details="true"
|
|
195
205
|
dense
|
|
196
206
|
outlined
|
|
@@ -202,7 +212,10 @@
|
|
|
202
212
|
"
|
|
203
213
|
></v-text-field>
|
|
204
214
|
<v-text-field
|
|
205
|
-
v-if="
|
|
215
|
+
v-if="
|
|
216
|
+
prompt.textOrImage ===
|
|
217
|
+
'image'
|
|
218
|
+
"
|
|
206
219
|
v-model="
|
|
207
220
|
block.metadata.config
|
|
208
221
|
.prompts[index][
|
|
@@ -220,7 +233,10 @@
|
|
|
220
233
|
"
|
|
221
234
|
></v-text-field>
|
|
222
235
|
<ContentBlockAsset
|
|
223
|
-
v-if="
|
|
236
|
+
v-if="
|
|
237
|
+
prompt.textOrImage ===
|
|
238
|
+
'image'
|
|
239
|
+
"
|
|
224
240
|
v-model="
|
|
225
241
|
block.metadata.config
|
|
226
242
|
.prompts[index][
|
|
@@ -368,7 +384,7 @@ export default {
|
|
|
368
384
|
}
|
|
369
385
|
let default_prompt = {
|
|
370
386
|
id: index,
|
|
371
|
-
|
|
387
|
+
textOrImage: 'text',
|
|
372
388
|
prompt: '',
|
|
373
389
|
file: null,
|
|
374
390
|
altText: '',
|
|
@@ -72,7 +72,6 @@
|
|
|
72
72
|
.categories[index - 1]
|
|
73
73
|
"
|
|
74
74
|
:counter="255"
|
|
75
|
-
append-icon="mdi-delete-outline"
|
|
76
75
|
maxlength="255"
|
|
77
76
|
:label="
|
|
78
77
|
$tc(
|
|
@@ -86,7 +85,13 @@
|
|
|
86
85
|
@click:append="
|
|
87
86
|
removeCategory(index)
|
|
88
87
|
"
|
|
89
|
-
|
|
88
|
+
>
|
|
89
|
+
<template #append>
|
|
90
|
+
<v-icon color="error"
|
|
91
|
+
>mdi-delete-outline</v-icon
|
|
92
|
+
>
|
|
93
|
+
</template>
|
|
94
|
+
</v-text-field>
|
|
90
95
|
</v-row>
|
|
91
96
|
<v-row justify="center" align="center">
|
|
92
97
|
<v-btn
|
package/package.json
CHANGED
package/plugin.js
CHANGED
|
@@ -40,10 +40,9 @@ export default {
|
|
|
40
40
|
tag: 'games-flash-card',
|
|
41
41
|
template: flashcards,
|
|
42
42
|
metadata: {
|
|
43
|
-
icon: '
|
|
43
|
+
icon: '$flashcards',
|
|
44
44
|
name: 'windward.games.shared.content_blocks.title.flashcards',
|
|
45
|
-
grouping:
|
|
46
|
-
'windward.games.shared.content_blocks.grouping.game',
|
|
45
|
+
grouping: 'components.content.blocks.group.activities',
|
|
47
46
|
},
|
|
48
47
|
},
|
|
49
48
|
{
|
|
@@ -52,8 +51,7 @@ export default {
|
|
|
52
51
|
metadata: {
|
|
53
52
|
icon: 'mdi-sort',
|
|
54
53
|
name: 'windward.games.shared.content_blocks.title.sort',
|
|
55
|
-
grouping:
|
|
56
|
-
'windward.games.shared.content_blocks.grouping.game',
|
|
54
|
+
grouping: 'components.content.blocks.group.activities',
|
|
57
55
|
},
|
|
58
56
|
},
|
|
59
57
|
{
|
|
@@ -62,15 +60,14 @@ export default {
|
|
|
62
60
|
metadata: {
|
|
63
61
|
icon: 'mdi-bucket-outline',
|
|
64
62
|
name: 'windward.games.shared.content_blocks.title.bucket',
|
|
65
|
-
grouping:
|
|
66
|
-
'windward.games.shared.content_blocks.grouping.game',
|
|
63
|
+
grouping: 'components.content.blocks.group.activities',
|
|
67
64
|
},
|
|
68
65
|
},
|
|
69
66
|
{
|
|
70
67
|
tag: 'games-slideshow',
|
|
71
68
|
template: slideShow,
|
|
72
69
|
metadata: {
|
|
73
|
-
icon: '
|
|
70
|
+
icon: '$slideshow',
|
|
74
71
|
name: 'windward.games.shared.content_blocks.title.slideshow',
|
|
75
72
|
grouping: 'components.content.blocks.group.multimedia',
|
|
76
73
|
},
|
|
@@ -79,10 +76,9 @@ export default {
|
|
|
79
76
|
tag: 'games-matching-game',
|
|
80
77
|
template: MatchingGame,
|
|
81
78
|
metadata: {
|
|
82
|
-
icon: '
|
|
79
|
+
icon: '$match_game',
|
|
83
80
|
name: 'windward.games.shared.content_blocks.title.matching_game',
|
|
84
|
-
grouping:
|
|
85
|
-
'windward.games.shared.content_blocks.grouping.game',
|
|
81
|
+
grouping: 'components.content.blocks.group.activities',
|
|
86
82
|
},
|
|
87
83
|
},
|
|
88
84
|
{
|
|
@@ -91,18 +87,16 @@ export default {
|
|
|
91
87
|
metadata: {
|
|
92
88
|
icon: 'mdi-head-question-outline',
|
|
93
89
|
name: 'windward.games.shared.content_blocks.title.quizshow',
|
|
94
|
-
grouping:
|
|
95
|
-
'windward.games.shared.content_blocks.grouping.game',
|
|
90
|
+
grouping: 'components.content.blocks.group.activities',
|
|
96
91
|
},
|
|
97
92
|
},
|
|
98
93
|
{
|
|
99
94
|
tag: 'games-multiple-choice',
|
|
100
95
|
template: MultipleChoice,
|
|
101
96
|
metadata: {
|
|
102
|
-
icon: '
|
|
97
|
+
icon: '$multiple_choice',
|
|
103
98
|
name: 'windward.games.shared.content_blocks.title.multiple_choice',
|
|
104
|
-
grouping:
|
|
105
|
-
'windward.games.shared.content_blocks.grouping.game',
|
|
99
|
+
grouping: 'components.content.blocks.group.activities',
|
|
106
100
|
},
|
|
107
101
|
},
|
|
108
102
|
{
|
|
@@ -111,28 +105,25 @@ export default {
|
|
|
111
105
|
metadata: {
|
|
112
106
|
icon: 'mdi-alphabetical-variant',
|
|
113
107
|
name: 'windward.games.shared.content_blocks.title.word_jumble',
|
|
114
|
-
grouping:
|
|
115
|
-
'windward.games.shared.content_blocks.grouping.game',
|
|
108
|
+
grouping: 'components.content.blocks.group.activities',
|
|
116
109
|
},
|
|
117
110
|
},
|
|
118
111
|
{
|
|
119
112
|
tag: 'games-seven-strikes-game',
|
|
120
113
|
template: SevenStrikes,
|
|
121
114
|
metadata: {
|
|
122
|
-
icon: '
|
|
115
|
+
icon: '$seven_strikes',
|
|
123
116
|
name: 'windward.games.shared.content_blocks.title.seven_strikes',
|
|
124
|
-
grouping:
|
|
125
|
-
'windward.games.shared.content_blocks.grouping.game',
|
|
117
|
+
grouping: 'components.content.blocks.group.activities',
|
|
126
118
|
},
|
|
127
119
|
},
|
|
128
120
|
{
|
|
129
121
|
tag: 'games-crossword-puzzle-game',
|
|
130
122
|
template: CrosswordPuzzle,
|
|
131
123
|
metadata: {
|
|
132
|
-
icon: '
|
|
124
|
+
icon: '$crossword',
|
|
133
125
|
name: 'windward.games.shared.content_blocks.title.crossword_puzzle',
|
|
134
|
-
grouping:
|
|
135
|
-
'windward.games.shared.content_blocks.grouping.game',
|
|
126
|
+
grouping: 'components.content.blocks.group.activities',
|
|
136
127
|
},
|
|
137
128
|
},
|
|
138
129
|
],
|