@windward/core 0.1.0 → 0.1.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.
Files changed (154) hide show
  1. package/.idea/codeStyles/Project.xml +58 -0
  2. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  3. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  4. package/.idea/modules.xml +8 -0
  5. package/.idea/php-docker-settings.xml +24 -0
  6. package/.idea/php.xml +19 -0
  7. package/.idea/vcs.xml +6 -0
  8. package/.idea/watcherTasks.xml +4 -0
  9. package/.idea/windward-ui-plugin-core.iml +8 -0
  10. package/components/Content/Blocks/Accordion.vue +7 -2
  11. package/components/Content/Blocks/Email.vue +248 -0
  12. package/components/Content/Blocks/Image.vue +1 -1
  13. package/components/Content/Blocks/OpenResponse.vue +2 -2
  14. package/components/Content/Blocks/Tab.vue +7 -3
  15. package/components/Content/Blocks/UserUpload.vue +2 -2
  16. package/components/Settings/AccordionSettings.vue +9 -1
  17. package/components/Settings/EmailSettings.vue +216 -0
  18. package/components/Settings/ImageSettings.vue +1 -1
  19. package/components/Settings/OpenResponseCollateSettings.vue +1 -1
  20. package/components/Settings/OpenResponseSettings.vue +1 -1
  21. package/components/Settings/TabSettings.vue +7 -1
  22. package/components/Settings/TextEditorSettings.vue +1 -1
  23. package/components/Settings/UserUploadSettings.vue +1 -1
  24. package/components/utils/FillInBlank/FillInBlankInput.vue +5 -0
  25. package/components/utils/TinyMCEWrapper.vue +1 -1
  26. package/coverage/clover.xml +223 -0
  27. package/coverage/coverage-final.json +16 -0
  28. package/coverage/lcov-report/base.css +224 -0
  29. package/coverage/lcov-report/block-navigation.js +87 -0
  30. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +430 -0
  31. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +394 -0
  32. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +262 -0
  33. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +295 -0
  34. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +415 -0
  35. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +667 -0
  36. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +2275 -0
  37. package/coverage/lcov-report/components/Content/Blocks/index.html +206 -0
  38. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +199 -0
  39. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +919 -0
  40. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +343 -0
  41. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +271 -0
  42. package/coverage/lcov-report/components/utils/index.html +161 -0
  43. package/coverage/lcov-report/config/index.html +116 -0
  44. package/coverage/lcov-report/config/tinymce.config.js.html +493 -0
  45. package/coverage/lcov-report/favicon.png +0 -0
  46. package/coverage/lcov-report/helpers/MathHelper.ts.html +793 -0
  47. package/coverage/lcov-report/helpers/index.html +116 -0
  48. package/coverage/lcov-report/helpers/tinymce/index.html +116 -0
  49. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +334 -0
  50. package/coverage/lcov-report/index.html +191 -0
  51. package/coverage/lcov-report/prettify.css +1 -0
  52. package/coverage/lcov-report/prettify.js +2 -0
  53. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  54. package/coverage/lcov-report/sorter.js +196 -0
  55. package/coverage/lcov-report/test/index.html +116 -0
  56. package/coverage/lcov-report/test/mocks.js.html +457 -0
  57. package/coverage/lcov.info +403 -0
  58. package/helpers/MathHelper.ts +3 -3
  59. package/i18n/en-US/components/content/blocks/email.ts +12 -0
  60. package/i18n/en-US/components/content/blocks/index.ts +3 -1
  61. package/i18n/en-US/components/settings/email.ts +9 -0
  62. package/i18n/en-US/components/settings/index.ts +2 -0
  63. package/i18n/en-US/shared/content_blocks.ts +1 -1
  64. package/i18n/en-US/shared/settings.ts +3 -0
  65. package/i18n/es-ES/components/content/blocks/email.ts +12 -0
  66. package/i18n/es-ES/components/content/blocks/index.ts +3 -1
  67. package/i18n/es-ES/components/settings/email.ts +9 -0
  68. package/i18n/es-ES/components/settings/index.ts +3 -1
  69. package/i18n/es-ES/shared/content_blocks.ts +1 -1
  70. package/i18n/es-ES/shared/settings.ts +3 -0
  71. package/i18n/sv-SE/components/content/blocks/email.ts +12 -0
  72. package/i18n/sv-SE/components/content/blocks/index.ts +3 -1
  73. package/i18n/sv-SE/components/settings/email.ts +9 -0
  74. package/i18n/sv-SE/components/settings/index.ts +3 -1
  75. package/i18n/sv-SE/shared/content_blocks.ts +1 -1
  76. package/i18n/sv-SE/shared/settings.ts +3 -0
  77. package/lib/helpers/GlossaryHelper.d.ts +9 -0
  78. package/lib/helpers/GlossaryHelper.js +118 -0
  79. package/lib/helpers/GlossaryTerm.d.ts +10 -0
  80. package/lib/helpers/GlossaryTerm.js +22 -0
  81. package/lib/helpers/MathHelper.d.ts +99 -0
  82. package/lib/helpers/MathHelper.js +194 -0
  83. package/lib/helpers/tinymce/plugin.d.ts +2 -0
  84. package/lib/helpers/tinymce/plugin.js +86 -0
  85. package/lib/i18n/en-US/components/content/blocks/image.d.ts +6 -0
  86. package/lib/i18n/en-US/components/content/blocks/image.js +7 -0
  87. package/lib/i18n/en-US/components/content/blocks/index.d.ts +75 -0
  88. package/lib/i18n/en-US/components/content/blocks/index.js +14 -0
  89. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +5 -0
  90. package/lib/i18n/en-US/components/content/blocks/tab.js +6 -0
  91. package/lib/i18n/en-US/components/content/blocks/table.d.ts +5 -0
  92. package/lib/i18n/en-US/components/content/blocks/table.js +6 -0
  93. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +13 -0
  94. package/lib/i18n/en-US/components/content/blocks/user_upload.js +14 -0
  95. package/lib/i18n/en-US/components/content/blocks/video.d.ts +48 -0
  96. package/lib/i18n/en-US/components/content/blocks/video.js +49 -0
  97. package/lib/i18n/en-US/components/content/index.d.ts +77 -0
  98. package/lib/i18n/en-US/components/content/index.js +6 -0
  99. package/lib/i18n/en-US/components/index.d.ts +140 -0
  100. package/lib/i18n/en-US/components/index.js +12 -0
  101. package/lib/i18n/en-US/components/navigation/image.d.ts +5 -0
  102. package/lib/i18n/en-US/components/navigation/image.js +6 -0
  103. package/lib/i18n/en-US/components/navigation/index.d.ts +10 -0
  104. package/lib/i18n/en-US/components/navigation/index.js +8 -0
  105. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +4 -0
  106. package/lib/i18n/en-US/components/navigation/user_upload.js +5 -0
  107. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +6 -0
  108. package/lib/i18n/en-US/components/settings/clickable_icon.js +7 -0
  109. package/lib/i18n/en-US/components/settings/image.d.ts +2 -0
  110. package/lib/i18n/en-US/components/settings/image.js +3 -0
  111. package/lib/i18n/en-US/components/settings/index.d.ts +39 -0
  112. package/lib/i18n/en-US/components/settings/index.js +14 -0
  113. package/lib/i18n/en-US/components/settings/text_editor.d.ts +8 -0
  114. package/lib/i18n/en-US/components/settings/text_editor.js +9 -0
  115. package/lib/i18n/en-US/components/settings/user_upload.d.ts +12 -0
  116. package/lib/i18n/en-US/components/settings/user_upload.js +13 -0
  117. package/lib/i18n/en-US/components/settings/video.d.ts +13 -0
  118. package/lib/i18n/en-US/components/settings/video.js +14 -0
  119. package/lib/i18n/en-US/components/utils/index.d.ts +15 -0
  120. package/lib/i18n/en-US/components/utils/index.js +6 -0
  121. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +13 -0
  122. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +14 -0
  123. package/lib/i18n/en-US/index.d.ts +197 -0
  124. package/lib/i18n/en-US/index.js +16 -0
  125. package/lib/i18n/en-US/modules/index.d.ts +2 -0
  126. package/lib/i18n/en-US/modules/index.js +6 -0
  127. package/lib/i18n/en-US/pages/glossary.d.ts +8 -0
  128. package/lib/i18n/en-US/pages/glossary.js +9 -0
  129. package/lib/i18n/en-US/pages/index.d.ts +13 -0
  130. package/lib/i18n/en-US/pages/index.js +8 -0
  131. package/lib/i18n/en-US/pages/user_upload.d.ts +4 -0
  132. package/lib/i18n/en-US/pages/user_upload.js +5 -0
  133. package/lib/i18n/en-US/shared/content_blocks.d.ts +20 -0
  134. package/lib/i18n/en-US/shared/content_blocks.js +21 -0
  135. package/lib/i18n/en-US/shared/index.d.ts +39 -0
  136. package/lib/i18n/en-US/shared/index.js +10 -0
  137. package/lib/i18n/en-US/shared/menu.d.ts +4 -0
  138. package/lib/i18n/en-US/shared/menu.js +5 -0
  139. package/lib/i18n/en-US/shared/settings.d.ts +15 -0
  140. package/lib/i18n/en-US/shared/settings.js +16 -0
  141. package/lib/i18n/en-US.d.ts +197 -0
  142. package/lib/i18n/en-US.js +15 -0
  143. package/lib/models/UserFileAsset.d.ts +5 -0
  144. package/lib/models/UserFileAsset.js +37 -0
  145. package/package.json +1 -1
  146. package/plugin.js +21 -0
  147. package/test/Components/Content/Blocks/Accordion.spec.js +2 -0
  148. package/test/Components/Content/Blocks/BlockQuote.spec.js +2 -0
  149. package/test/Components/Content/Blocks/Email.spec.js +23 -0
  150. package/test/Components/Content/Blocks/Feedback.spec.js +1 -0
  151. package/test/Components/Content/Blocks/Math.spec.js +1 -0
  152. package/test/Components/Content/Blocks/Tab.spec.js +1 -0
  153. package/test/Components/Settings/EmailSettings.spec.js +45 -0
  154. package/test/__mocks__/componentsMock.js +6 -0
@@ -0,0 +1,216 @@
1
+ <template>
2
+ <div>
3
+ <v-form ref="form" v-model="valid" v-if="!loading"> </v-form>
4
+ <v-container class="pa-0">
5
+ <v-text-field
6
+ v-model="block.metadata.config.title"
7
+ outlined
8
+ :counter="50"
9
+ :autofocus="true"
10
+ :label="$t('windward.core.shared.settings.title.title')"
11
+ ref="title"
12
+ ></v-text-field>
13
+ <v-textarea
14
+ v-model="block.metadata.config.instructions"
15
+ outlined
16
+ auto-grow
17
+ :counter="255"
18
+ :label="$t('windward.core.shared.settings.title.instructions')"
19
+ ></v-textarea>
20
+ </v-container>
21
+ <v-container class="pa-0">
22
+ <v-text-field
23
+ v-model="block.metadata.config.subject"
24
+ outlined
25
+ :label="$t('windward.core.components.settings.email.subject')"
26
+ ></v-text-field>
27
+ </v-container>
28
+ <v-divider class="my-4 primary"></v-divider>
29
+ <v-container class="pa-0">
30
+ <p>Email Items</p>
31
+ <SortableExpansionPanel
32
+ v-model="block.metadata.config.emails"
33
+ @click:close="onRemoveElement($event)"
34
+ @change="onDragged"
35
+ >
36
+ <template #header="{ item }">{{
37
+ item.from
38
+ ? item.from
39
+ : $t(
40
+ 'windward.core.shared.settings.title.click_to_enter'
41
+ )
42
+ }}</template>
43
+ <template #body="{ item, index }">
44
+ <v-container :key="expansionPanelKey">
45
+ <v-text-field
46
+ v-model="block.metadata.config.emails[index].from"
47
+ :autofocus="true"
48
+ outlined
49
+ :label="
50
+ $t(
51
+ 'windward.core.components.settings.email.from'
52
+ )
53
+ "
54
+ ></v-text-field>
55
+ <v-text-field
56
+ v-model="block.metadata.config.emails[index].to"
57
+ outlined
58
+ :label="
59
+ $t('windward.core.components.settings.email.to')
60
+ "
61
+ ></v-text-field>
62
+ <v-text-field
63
+ v-model="block.metadata.config.emails[index].cc"
64
+ outlined
65
+ :label="
66
+ $t('windward.core.components.settings.email.cc')
67
+ "
68
+ ></v-text-field>
69
+ <v-btn
70
+ @click="
71
+ onToggleExpand(
72
+ block.metadata.config.emails[index],
73
+ index
74
+ )
75
+ "
76
+ >
77
+ <v-icon
78
+ v-if="
79
+ !block.metadata.config.emails[index].expand
80
+ "
81
+ >mdi-arrow-expand-all</v-icon
82
+ >
83
+ <v-icon
84
+ v-if="
85
+ block.metadata.config.emails[index].expand
86
+ "
87
+ >
88
+ mdi-arrow-collapse-all
89
+ </v-icon>
90
+ </v-btn>
91
+ <TextEditor
92
+ v-show="!block.metadata.config.emails[index].expand"
93
+ v-model="block.metadata.config.emails[index].body"
94
+ ></TextEditor>
95
+ </v-container>
96
+ </template>
97
+ </SortableExpansionPanel>
98
+ </v-container>
99
+ <v-container class="pa-0">
100
+ <v-row justify="center" class="my-4">
101
+ <v-btn color="primary" @click="onAddElement"
102
+ ><v-icon>mdi-plus</v-icon
103
+ >{{
104
+ $t('windward.core.components.settings.accordion.add')
105
+ }}</v-btn
106
+ >
107
+ </v-row>
108
+ </v-container>
109
+ <div v-if="loading" class="text-center">
110
+ <v-progress-circular
111
+ :size="70"
112
+ :width="7"
113
+ color="primary"
114
+ indeterminate
115
+ ></v-progress-circular>
116
+ </div>
117
+ </div>
118
+ </template>
119
+ <script>
120
+ import _ from 'lodash'
121
+ import Crypto from '~/helpers/Crypto'
122
+ import BaseContentSettings from '~/components/Content/Tool/BaseContentSettings.js'
123
+ import TextEditor from '~/components/Text/TextEditor'
124
+ import SortableExpansionPanel from '~/components/SortableExpansionPanel.vue'
125
+
126
+ export default {
127
+ name: 'EmailSettings',
128
+ components: {
129
+ SortableExpansionPanel,
130
+ TextEditor,
131
+ },
132
+ extends: BaseContentSettings,
133
+ beforeMount() {
134
+ if (_.isEmpty(this.block)) {
135
+ this.block = {}
136
+ }
137
+ if (_.isEmpty(this.block.metadata)) {
138
+ this.block.metadata = {}
139
+ }
140
+ if (_.isEmpty(this.block.metadata.config)) {
141
+ this.block.metadata.config = {}
142
+ }
143
+ if (_.isEmpty(this.block.metadata.config.title)) {
144
+ this.block.metadata.config.title = ''
145
+ }
146
+ if (_.isEmpty(this.block.metadata.config.instructions)) {
147
+ this.block.metadata.config.instructions = ''
148
+ }
149
+ if (_.isEmpty(this.block.metadata.config.subject)) {
150
+ this.block.metadata.config.subject = ''
151
+ }
152
+ if (_.isEmpty(this.block.metadata.config.emails)) {
153
+ this.block.metadata.config.emails = []
154
+ const defaultObject = {
155
+ from: '',
156
+ to: '',
157
+ cc: '',
158
+ body: '',
159
+ expand: false,
160
+ initials: '',
161
+ }
162
+ this.block.metadata.config.emails.push(defaultObject)
163
+ }
164
+ this.block.body = 'emails'
165
+ },
166
+ data() {
167
+ return {
168
+ valid: true,
169
+ loading: false,
170
+ expansionPanelKey: 0,
171
+ }
172
+ },
173
+ beforeDestroy() {
174
+ if (this.debouncer) {
175
+ clearTimeout(this.debouncer)
176
+ }
177
+ },
178
+ methods: {
179
+ onBeforeSave() {
180
+ this.block.metadata.config.emails.forEach((element) => {
181
+ let matches = element.from.match(/\b(\w)/g)
182
+ element.initials = matches.join('')
183
+ element.expand = false
184
+ })
185
+ },
186
+ onRemoveElement(event) {
187
+ this.block.metadata.config.emails.splice(event, 1)
188
+ this.expansionPanelKey = Crypto.id()
189
+ },
190
+ onAddElement() {
191
+ const defaultObject = {
192
+ from: '',
193
+ to: '',
194
+ cc: '',
195
+ body: '',
196
+ expand: false,
197
+ initials: '',
198
+ }
199
+ this.block.metadata.config.emails.push(defaultObject)
200
+ },
201
+ onToggleExpand(item, index) {
202
+ this.expansionPanelKey = Crypto.id()
203
+ return (item.expand = !item.expand)
204
+ },
205
+ onDragged() {
206
+ // need to remount body after dragged to update the content body on the element
207
+ this.expansionPanelKey = Crypto.id()
208
+ },
209
+ },
210
+ }
211
+ </script>
212
+ <style scoped>
213
+ .v-progress-circular {
214
+ margin: 1rem;
215
+ }
216
+ </style>
@@ -48,7 +48,7 @@
48
48
 
49
49
  <script>
50
50
  import _ from 'lodash'
51
- import TextEditor from '~/components/Text/TextEditor.vue'
51
+ import TextEditor from '~/components/Text/TextEditor'
52
52
  import BaseContentSettings from '~/components/Content/Tool/BaseContentSettings.js'
53
53
  import ContentBlockAsset from '~/components/Content/ContentBlockAsset.vue'
54
54
 
@@ -75,7 +75,7 @@
75
75
  import _ from 'lodash'
76
76
  import { mapGetters } from 'vuex'
77
77
  import draggable from 'vuedraggable'
78
- import TextEditor from '~/components/Text/TextEditor.vue'
78
+ import TextEditor from '~/components/Text/TextEditor'
79
79
  import BaseContentSettings from '~/components/Content/Tool/BaseContentSettings.js'
80
80
  import ContentBlock from '~/models/ContentBlock'
81
81
  import Course from '~/models/Course'
@@ -37,7 +37,7 @@
37
37
 
38
38
  <script>
39
39
  import _ from 'lodash'
40
- import TextEditor from '~/components/Text/TextEditor.vue'
40
+ import TextEditor from '~/components/Text/TextEditor'
41
41
  import BaseContentSettings from '~/components/Content/Tool/BaseContentSettings.js'
42
42
  import ContentBlockAsset from '~/components/Content/ContentBlockAsset.vue'
43
43
 
@@ -5,6 +5,7 @@
5
5
  <p>{{ $t('windward.core.components.settings.tab.tabs') }}</p>
6
6
  <SortableExpansionPanel
7
7
  v-model="block.metadata.config.items"
8
+ v-bind:currentPanel.sync="block.metadata.config.currentTab"
8
9
  @change="onDragged"
9
10
  @click:close="onRemoveElement($event)"
10
11
  >
@@ -70,7 +71,7 @@
70
71
  <script>
71
72
  import _, { get } from 'lodash'
72
73
  import Crypto from '~/helpers/Crypto'
73
- import TextEditor from '~/components/Text/TextEditor.vue'
74
+ import TextEditor from '~/components/Text/TextEditor'
74
75
  import BaseContentSettings from '~/components/Content/Tool/BaseContentSettings.js'
75
76
  import SortableExpansionPanel from '~/components/SortableExpansionPanel.vue'
76
77
 
@@ -96,6 +97,9 @@ export default {
96
97
  if (_.isEmpty(this.block.metadata.config.tab)) {
97
98
  this.block.metadata.config.tab = 0
98
99
  }
100
+ if (_.isEmpty(this.block.metadata.config.currentTab)) {
101
+ this.block.metadata.config.currentTab = 0
102
+ }
99
103
  if (_.isEmpty(this.block.metadata.config.items)) {
100
104
  const defaultObject = {
101
105
  tabHeader: '',
@@ -132,6 +136,8 @@ export default {
132
136
  content: '',
133
137
  }
134
138
  this.block.metadata.config.items.push(defaultObject)
139
+ this.block.metadata.config.currentTab =
140
+ this.block.metadata.config.items.length - 1
135
141
  },
136
142
  onRemoveElement(index) {
137
143
  this.block.metadata.config.items.splice(index, 1)
@@ -138,7 +138,7 @@ import { mapGetters, mapMutations } from 'vuex'
138
138
  import GlossaryHelper from '../../helpers/GlossaryHelper'
139
139
  import Course from '~/models/Course'
140
140
  import BaseContentSettings from '~/components/Content/Tool/BaseContentSettings.js'
141
- import TextEditor from '~/components/Text/TextEditor.vue'
141
+ import TextEditor from '~/components/Text/TextEditor'
142
142
  import CourseGlossaryForm from '../utils/glossary/CourseGlossaryForm.vue'
143
143
  export default {
144
144
  name: 'TextEditorSettings',
@@ -50,7 +50,7 @@
50
50
  <script>
51
51
  import BaseContentSettings from '~/components/Content/Tool/BaseContentSettings.js'
52
52
  import Crypto from '~/helpers/Crypto'
53
- import TextEditor from '~/components/Text/TextEditor.vue'
53
+ import TextEditor from '~/components/Text/TextEditor'
54
54
  import _ from 'lodash'
55
55
 
56
56
  export default {
@@ -82,6 +82,11 @@
82
82
  "
83
83
  @input="showAnswer = false"
84
84
  @keydown="onPressEnter"
85
+ :aria-label="
86
+ $t(
87
+ 'windward.core.components.utils.tiny_mce_wrapper.fill_in_blank'
88
+ )
89
+ "
85
90
  ></v-text-field>
86
91
  &nbsp;
87
92
  <v-btn
@@ -231,7 +231,7 @@ export default {
231
231
  ],
232
232
  style_formats_merge: true,
233
233
  placeholder: this.$t(
234
- 'windward.core.shared.content_blocks.grouping.placeholder'
234
+ 'windward.core.shared.settings.title.placeholder'
235
235
  ),
236
236
  //required as it will be displayed as inline style in tinymce renderer
237
237
 
@@ -0,0 +1,223 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <coverage generated="1670426388313" clover="3.2.0">
3
+ <project timestamp="1670426388313" name="All files">
4
+ <metrics statements="154" coveredstatements="121" conditionals="12" coveredconditionals="8" methods="51" coveredmethods="18" elements="217" coveredelements="147" complexity="0" loc="154" ncloc="154" packages="6" files="15" classes="15"/>
5
+ <package name="components.Content.Blocks">
6
+ <metrics statements="21" coveredstatements="21" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
7
+ <file name="Accordion.vue" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/components/Content/Blocks/Accordion.vue">
8
+ <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
9
+ <line num="53" count="1" type="stmt"/>
10
+ <line num="54" count="1" type="stmt"/>
11
+ <line num="55" count="1" type="stmt"/>
12
+ </file>
13
+ <file name="Image.vue" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/components/Content/Blocks/Image.vue">
14
+ <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
15
+ <line num="50" count="1" type="stmt"/>
16
+ <line num="51" count="1" type="stmt"/>
17
+ <line num="52" count="1" type="stmt"/>
18
+ </file>
19
+ <file name="Math.vue" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/components/Content/Blocks/Math.vue">
20
+ <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
21
+ <line num="20" count="1" type="stmt"/>
22
+ <line num="21" count="1" type="stmt"/>
23
+ <line num="22" count="1" type="stmt"/>
24
+ </file>
25
+ <file name="RichText.vue" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/components/Content/Blocks/RichText.vue">
26
+ <metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
27
+ <line num="20" count="1" type="stmt"/>
28
+ <line num="21" count="1" type="stmt"/>
29
+ <line num="22" count="1" type="stmt"/>
30
+ <line num="23" count="1" type="stmt"/>
31
+ </file>
32
+ <file name="Tab.vue" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/components/Content/Blocks/Tab.vue">
33
+ <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
34
+ <line num="57" count="1" type="stmt"/>
35
+ <line num="58" count="1" type="stmt"/>
36
+ <line num="59" count="1" type="stmt"/>
37
+ </file>
38
+ <file name="Table.vue" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/components/Content/Blocks/Table.vue">
39
+ <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
40
+ <line num="95" count="1" type="stmt"/>
41
+ </file>
42
+ <file name="Video.vue" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/components/Content/Blocks/Video.vue">
43
+ <metrics statements="4" coveredstatements="4" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
44
+ <line num="296" count="1" type="stmt"/>
45
+ <line num="297" count="1" type="stmt"/>
46
+ <line num="298" count="1" type="stmt"/>
47
+ <line num="299" count="1" type="stmt"/>
48
+ </file>
49
+ </package>
50
+ <package name="components.utils">
51
+ <metrics statements="9" coveredstatements="9" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
52
+ <file name="ContentViewer.vue" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/components/utils/ContentViewer.vue">
53
+ <metrics statements="1" coveredstatements="1" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
54
+ <line num="6" count="3" type="stmt"/>
55
+ </file>
56
+ <file name="MathExpressionEditor.vue" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/components/utils/MathExpressionEditor.vue">
57
+ <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
58
+ <line num="107" count="1" type="stmt"/>
59
+ <line num="108" count="1" type="stmt"/>
60
+ <line num="109" count="1" type="stmt"/>
61
+ </file>
62
+ <file name="MathLiveWrapper.vue" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/components/utils/MathLiveWrapper.vue">
63
+ <metrics statements="3" coveredstatements="3" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
64
+ <line num="6" count="1" type="stmt"/>
65
+ <line num="7" count="1" type="stmt"/>
66
+ <line num="8" count="1" type="stmt"/>
67
+ </file>
68
+ <file name="TinyMCEWrapper.vue" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/components/utils/TinyMCEWrapper.vue">
69
+ <metrics statements="2" coveredstatements="2" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
70
+ <line num="15" count="3" type="stmt"/>
71
+ <line num="16" count="3" type="stmt"/>
72
+ </file>
73
+ </package>
74
+ <package name="config">
75
+ <metrics statements="0" coveredstatements="0" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
76
+ <file name="tinymce.config.js" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/config/tinymce.config.js">
77
+ <metrics statements="0" coveredstatements="0" conditionals="0" coveredconditionals="0" methods="0" coveredmethods="0"/>
78
+ </file>
79
+ </package>
80
+ <package name="helpers">
81
+ <metrics statements="68" coveredstatements="68" conditionals="8" coveredconditionals="8" methods="17" coveredmethods="17"/>
82
+ <file name="MathHelper.ts" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/helpers/MathHelper.ts">
83
+ <metrics statements="68" coveredstatements="68" conditionals="8" coveredconditionals="8" methods="17" coveredmethods="17"/>
84
+ <line num="1" count="5" type="stmt"/>
85
+ <line num="2" count="5" type="stmt"/>
86
+ <line num="3" count="5" type="stmt"/>
87
+ <line num="4" count="5" type="stmt"/>
88
+ <line num="8" count="5" type="stmt"/>
89
+ <line num="17" count="5" type="stmt"/>
90
+ <line num="18" count="3" type="stmt"/>
91
+ <line num="20" count="3" type="stmt"/>
92
+ <line num="30" count="5" type="stmt"/>
93
+ <line num="31" count="2" type="stmt"/>
94
+ <line num="33" count="2" type="stmt"/>
95
+ <line num="43" count="5" type="stmt"/>
96
+ <line num="44" count="2" type="stmt"/>
97
+ <line num="46" count="2" type="stmt"/>
98
+ <line num="55" count="5" type="stmt"/>
99
+ <line num="56" count="3" type="stmt"/>
100
+ <line num="57" count="3" type="stmt"/>
101
+ <line num="58" count="3" type="cond" truecount="1" falsecount="0"/>
102
+ <line num="59" count="2" type="stmt"/>
103
+ <line num="60" count="2" type="stmt"/>
104
+ <line num="67" count="3" type="stmt"/>
105
+ <line num="76" count="5" type="stmt"/>
106
+ <line num="77" count="3" type="stmt"/>
107
+ <line num="78" count="3" type="stmt"/>
108
+ <line num="79" count="3" type="cond" truecount="1" falsecount="0"/>
109
+ <line num="80" count="2" type="stmt"/>
110
+ <line num="81" count="2" type="stmt"/>
111
+ <line num="82" count="2" type="cond" truecount="1" falsecount="0"/>
112
+ <line num="83" count="1" type="stmt"/>
113
+ <line num="90" count="2" type="cond" truecount="1" falsecount="0"/>
114
+ <line num="91" count="1" type="stmt"/>
115
+ <line num="101" count="3" type="stmt"/>
116
+ <line num="110" count="5" type="stmt"/>
117
+ <line num="112" count="2" type="stmt"/>
118
+ <line num="114" count="2" type="stmt"/>
119
+ <line num="124" count="5" type="stmt"/>
120
+ <line num="125" count="3" type="stmt"/>
121
+ <line num="127" count="3" type="stmt"/>
122
+ <line num="128" count="3" type="cond" truecount="1" falsecount="0"/>
123
+ <line num="129" count="2" type="stmt"/>
124
+ <line num="130" count="3" type="stmt"/>
125
+ <line num="142" count="3" type="stmt"/>
126
+ <line num="152" count="5" type="stmt"/>
127
+ <line num="153" count="3" type="stmt"/>
128
+ <line num="155" count="3" type="stmt"/>
129
+ <line num="156" count="3" type="cond" truecount="1" falsecount="0"/>
130
+ <line num="157" count="2" type="stmt"/>
131
+ <line num="158" count="2" type="stmt"/>
132
+ <line num="159" count="2" type="stmt"/>
133
+ <line num="172" count="3" type="stmt"/>
134
+ <line num="182" count="5" type="stmt"/>
135
+ <line num="183" count="2" type="stmt"/>
136
+ <line num="196" count="5" type="stmt"/>
137
+ <line num="197" count="1" type="stmt"/>
138
+ <line num="207" count="5" type="stmt"/>
139
+ <line num="208" count="2" type="stmt"/>
140
+ <line num="210" count="2" type="stmt"/>
141
+ <line num="211" count="2" type="cond" truecount="1" falsecount="0"/>
142
+ <line num="212" count="1" type="stmt"/>
143
+ <line num="213" count="1" type="stmt"/>
144
+ <line num="216" count="1" type="stmt"/>
145
+ <line num="226" count="5" type="stmt"/>
146
+ <line num="227" count="2" type="stmt"/>
147
+ <line num="229" count="2" type="stmt"/>
148
+ <line num="230" count="2" type="cond" truecount="1" falsecount="0"/>
149
+ <line num="231" count="1" type="stmt"/>
150
+ <line num="234" count="1" type="stmt"/>
151
+ <line num="236" count="5" type="stmt"/>
152
+ </file>
153
+ </package>
154
+ <package name="helpers.tinymce">
155
+ <metrics statements="27" coveredstatements="2" conditionals="4" coveredconditionals="0" methods="8" coveredmethods="0"/>
156
+ <file name="plugin.ts" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/helpers/tinymce/plugin.ts">
157
+ <metrics statements="27" coveredstatements="2" conditionals="4" coveredconditionals="0" methods="8" coveredmethods="0"/>
158
+ <line num="1" count="3" type="stmt"/>
159
+ <line num="5" count="0" type="stmt"/>
160
+ <line num="6" count="0" type="stmt"/>
161
+ <line num="23" count="0" type="cond" truecount="0" falsecount="1"/>
162
+ <line num="24" count="0" type="stmt"/>
163
+ <line num="26" count="0" type="stmt"/>
164
+ <line num="32" count="0" type="stmt"/>
165
+ <line num="33" count="0" type="stmt"/>
166
+ <line num="37" count="0" type="cond" truecount="0" falsecount="2"/>
167
+ <line num="39" count="0" type="stmt"/>
168
+ <line num="40" count="0" type="stmt"/>
169
+ <line num="42" count="0" type="stmt"/>
170
+ <line num="43" count="0" type="stmt"/>
171
+ <line num="49" count="0" type="stmt"/>
172
+ <line num="53" count="0" type="stmt"/>
173
+ <line num="56" count="0" type="stmt"/>
174
+ <line num="57" count="0" type="stmt"/>
175
+ <line num="60" count="0" type="stmt"/>
176
+ <line num="61" count="0" type="stmt"/>
177
+ <line num="66" count="0" type="stmt"/>
178
+ <line num="67" count="0" type="stmt"/>
179
+ <line num="68" count="0" type="cond" truecount="0" falsecount="1"/>
180
+ <line num="69" count="0" type="stmt"/>
181
+ <line num="72" count="0" type="stmt"/>
182
+ <line num="73" count="0" type="stmt"/>
183
+ <line num="74" count="0" type="stmt"/>
184
+ <line num="83" count="3" type="stmt"/>
185
+ </file>
186
+ </package>
187
+ <package name="test">
188
+ <metrics statements="29" coveredstatements="21" conditionals="0" coveredconditionals="0" methods="26" coveredmethods="1"/>
189
+ <file name="mocks.js" path="/home/tcelestin/Documents/code/mindedge/windward-ui-plugin-core/test/mocks.js">
190
+ <metrics statements="29" coveredstatements="21" conditionals="0" coveredconditionals="0" methods="26" coveredmethods="1"/>
191
+ <line num="2" count="7" type="stmt"/>
192
+ <line num="3" count="7" type="stmt"/>
193
+ <line num="4" count="7" type="stmt"/>
194
+ <line num="7" count="7" type="stmt"/>
195
+ <line num="8" count="7" type="stmt"/>
196
+ <line num="9" count="7" type="stmt"/>
197
+ <line num="10" count="7" type="stmt"/>
198
+ <line num="11" count="7" type="stmt"/>
199
+ <line num="12" count="7" type="stmt"/>
200
+ <line num="13" count="7" type="stmt"/>
201
+ <line num="14" count="7" type="stmt"/>
202
+ <line num="15" count="7" type="stmt"/>
203
+ <line num="17" count="7" type="stmt"/>
204
+ <line num="20" count="0" type="stmt"/>
205
+ <line num="23" count="0" type="stmt"/>
206
+ <line num="24" count="0" type="stmt"/>
207
+ <line num="26" count="0" type="stmt"/>
208
+ <line num="27" count="0" type="stmt"/>
209
+ <line num="31" count="0" type="stmt"/>
210
+ <line num="38" count="7" type="stmt"/>
211
+ <line num="45" count="0" type="stmt"/>
212
+ <line num="77" count="2" type="stmt"/>
213
+ <line num="78" count="0" type="stmt"/>
214
+ <line num="118" count="7" type="stmt"/>
215
+ <line num="119" count="7" type="stmt"/>
216
+ <line num="120" count="7" type="stmt"/>
217
+ <line num="121" count="7" type="stmt"/>
218
+ <line num="122" count="7" type="stmt"/>
219
+ <line num="124" count="7" type="stmt"/>
220
+ </file>
221
+ </package>
222
+ </project>
223
+ </coverage>