@windward/core 0.0.6 → 0.0.8

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/Image.vue +36 -14
  11. package/components/Content/Blocks/OpenResponse.vue +159 -0
  12. package/components/Content/Blocks/OpenResponseCollate.vue +185 -0
  13. package/components/Settings/ImageSettings.vue +10 -0
  14. package/components/Settings/OpenResponseCollateSettings.vue +171 -0
  15. package/components/Settings/OpenResponseSettings.vue +81 -0
  16. package/components/Settings/TextEditorSettings.vue +1 -0
  17. package/components/utils/TinyMCEWrapper.vue +21 -4
  18. package/components/utils/assets/tinymce/css/content.scss +1 -1
  19. package/coverage/clover.xml +223 -0
  20. package/coverage/coverage-final.json +16 -0
  21. package/coverage/lcov-report/base.css +224 -0
  22. package/coverage/lcov-report/block-navigation.js +87 -0
  23. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +430 -0
  24. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +394 -0
  25. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +262 -0
  26. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +295 -0
  27. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +415 -0
  28. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +667 -0
  29. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +2275 -0
  30. package/coverage/lcov-report/components/Content/Blocks/index.html +206 -0
  31. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +199 -0
  32. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +919 -0
  33. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +343 -0
  34. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +271 -0
  35. package/coverage/lcov-report/components/utils/index.html +161 -0
  36. package/coverage/lcov-report/config/index.html +116 -0
  37. package/coverage/lcov-report/config/tinymce.config.js.html +493 -0
  38. package/coverage/lcov-report/favicon.png +0 -0
  39. package/coverage/lcov-report/helpers/MathHelper.ts.html +793 -0
  40. package/coverage/lcov-report/helpers/index.html +116 -0
  41. package/coverage/lcov-report/helpers/tinymce/index.html +116 -0
  42. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +334 -0
  43. package/coverage/lcov-report/index.html +191 -0
  44. package/coverage/lcov-report/prettify.css +1 -0
  45. package/coverage/lcov-report/prettify.js +2 -0
  46. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  47. package/coverage/lcov-report/sorter.js +196 -0
  48. package/coverage/lcov-report/test/index.html +116 -0
  49. package/coverage/lcov-report/test/mocks.js.html +457 -0
  50. package/coverage/lcov.info +403 -0
  51. package/helpers/tinymce/plugin.ts +1 -1
  52. package/i18n/en-US/components/content/blocks/index.ts +4 -0
  53. package/i18n/en-US/components/content/blocks/open_response.ts +5 -0
  54. package/i18n/en-US/components/content/blocks/open_response_collate.ts +7 -0
  55. package/i18n/en-US/components/settings/image.ts +3 -1
  56. package/i18n/en-US/components/settings/index.ts +5 -1
  57. package/i18n/en-US/components/settings/open_response.ts +5 -0
  58. package/i18n/en-US/components/settings/open_response_collate.ts +6 -0
  59. package/i18n/en-US/shared/content_blocks.ts +2 -0
  60. package/i18n/en-US/shared/settings.ts +3 -1
  61. package/i18n/es-ES/components/content/blocks/index.ts +4 -0
  62. package/i18n/es-ES/components/content/blocks/open_response.ts +6 -0
  63. package/i18n/es-ES/components/content/blocks/open_response_collate.ts +7 -0
  64. package/i18n/es-ES/components/settings/image.ts +3 -1
  65. package/i18n/es-ES/components/settings/index.ts +4 -0
  66. package/i18n/es-ES/components/settings/open_response.ts +5 -0
  67. package/i18n/es-ES/components/settings/open_response_collate.ts +7 -0
  68. package/i18n/es-ES/shared/content_blocks.ts +2 -0
  69. package/i18n/es-ES/shared/settings.ts +3 -0
  70. package/i18n/sv-SE/components/content/blocks/index.ts +4 -0
  71. package/i18n/sv-SE/components/content/blocks/open_response.ts +6 -0
  72. package/i18n/sv-SE/components/content/blocks/open_response_collate.ts +7 -0
  73. package/i18n/sv-SE/components/settings/image.ts +3 -1
  74. package/i18n/sv-SE/components/settings/index.ts +5 -1
  75. package/i18n/sv-SE/components/settings/open_response.ts +5 -0
  76. package/i18n/sv-SE/components/settings/open_response_collate.ts +6 -0
  77. package/i18n/sv-SE/shared/content_blocks.ts +2 -0
  78. package/i18n/sv-SE/shared/settings.ts +2 -0
  79. package/lib/helpers/GlossaryHelper.d.ts +9 -0
  80. package/lib/helpers/GlossaryHelper.js +118 -0
  81. package/lib/helpers/GlossaryTerm.d.ts +10 -0
  82. package/lib/helpers/GlossaryTerm.js +22 -0
  83. package/lib/helpers/MathHelper.d.ts +99 -0
  84. package/lib/helpers/MathHelper.js +194 -0
  85. package/lib/helpers/tinymce/plugin.d.ts +2 -0
  86. package/lib/helpers/tinymce/plugin.js +86 -0
  87. package/lib/i18n/en-US/components/content/blocks/image.d.ts +6 -0
  88. package/lib/i18n/en-US/components/content/blocks/image.js +7 -0
  89. package/lib/i18n/en-US/components/content/blocks/index.d.ts +75 -0
  90. package/lib/i18n/en-US/components/content/blocks/index.js +14 -0
  91. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +5 -0
  92. package/lib/i18n/en-US/components/content/blocks/tab.js +6 -0
  93. package/lib/i18n/en-US/components/content/blocks/table.d.ts +5 -0
  94. package/lib/i18n/en-US/components/content/blocks/table.js +6 -0
  95. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +13 -0
  96. package/lib/i18n/en-US/components/content/blocks/user_upload.js +14 -0
  97. package/lib/i18n/en-US/components/content/blocks/video.d.ts +48 -0
  98. package/lib/i18n/en-US/components/content/blocks/video.js +49 -0
  99. package/lib/i18n/en-US/components/content/index.d.ts +77 -0
  100. package/lib/i18n/en-US/components/content/index.js +6 -0
  101. package/lib/i18n/en-US/components/index.d.ts +140 -0
  102. package/lib/i18n/en-US/components/index.js +12 -0
  103. package/lib/i18n/en-US/components/navigation/image.d.ts +5 -0
  104. package/lib/i18n/en-US/components/navigation/image.js +6 -0
  105. package/lib/i18n/en-US/components/navigation/index.d.ts +10 -0
  106. package/lib/i18n/en-US/components/navigation/index.js +8 -0
  107. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +4 -0
  108. package/lib/i18n/en-US/components/navigation/user_upload.js +5 -0
  109. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +6 -0
  110. package/lib/i18n/en-US/components/settings/clickable_icon.js +7 -0
  111. package/lib/i18n/en-US/components/settings/image.d.ts +2 -0
  112. package/lib/i18n/en-US/components/settings/image.js +3 -0
  113. package/lib/i18n/en-US/components/settings/index.d.ts +39 -0
  114. package/lib/i18n/en-US/components/settings/index.js +14 -0
  115. package/lib/i18n/en-US/components/settings/text_editor.d.ts +8 -0
  116. package/lib/i18n/en-US/components/settings/text_editor.js +9 -0
  117. package/lib/i18n/en-US/components/settings/user_upload.d.ts +12 -0
  118. package/lib/i18n/en-US/components/settings/user_upload.js +13 -0
  119. package/lib/i18n/en-US/components/settings/video.d.ts +13 -0
  120. package/lib/i18n/en-US/components/settings/video.js +14 -0
  121. package/lib/i18n/en-US/components/utils/index.d.ts +15 -0
  122. package/lib/i18n/en-US/components/utils/index.js +6 -0
  123. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +13 -0
  124. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +14 -0
  125. package/lib/i18n/en-US/index.d.ts +197 -0
  126. package/lib/i18n/en-US/index.js +16 -0
  127. package/lib/i18n/en-US/modules/index.d.ts +2 -0
  128. package/lib/i18n/en-US/modules/index.js +6 -0
  129. package/lib/i18n/en-US/pages/glossary.d.ts +8 -0
  130. package/lib/i18n/en-US/pages/glossary.js +9 -0
  131. package/lib/i18n/en-US/pages/index.d.ts +13 -0
  132. package/lib/i18n/en-US/pages/index.js +8 -0
  133. package/lib/i18n/en-US/pages/user_upload.d.ts +4 -0
  134. package/lib/i18n/en-US/pages/user_upload.js +5 -0
  135. package/lib/i18n/en-US/shared/content_blocks.d.ts +20 -0
  136. package/lib/i18n/en-US/shared/content_blocks.js +21 -0
  137. package/lib/i18n/en-US/shared/index.d.ts +39 -0
  138. package/lib/i18n/en-US/shared/index.js +10 -0
  139. package/lib/i18n/en-US/shared/menu.d.ts +4 -0
  140. package/lib/i18n/en-US/shared/menu.js +5 -0
  141. package/lib/i18n/en-US/shared/settings.d.ts +15 -0
  142. package/lib/i18n/en-US/shared/settings.js +16 -0
  143. package/lib/i18n/en-US.d.ts +197 -0
  144. package/lib/i18n/en-US.js +15 -0
  145. package/lib/models/UserFileAsset.d.ts +5 -0
  146. package/lib/models/UserFileAsset.js +37 -0
  147. package/package.json +1 -1
  148. package/plugin.js +43 -0
  149. package/test/Components/Content/Blocks/OpenResponse.spec.js +31 -0
  150. package/test/Components/Content/Blocks/OpenResponseCollate.spec.js +36 -0
  151. package/test/Components/Settings/OpenResponseCollateSettings.spec.js +20 -0
  152. package/test/Components/Settings/OpenResponseSettings.spec.js +20 -0
  153. package/test/__mocks__/helpersMock.js +3 -0
  154. package/test/__mocks__/modelMock.js +4 -0
@@ -0,0 +1,171 @@
1
+ <template>
2
+ <v-container>
3
+ <v-form>
4
+ <p>
5
+ {{
6
+ $t(
7
+ 'windward.core.components.settings.open_response_collate.instructions'
8
+ )
9
+ }}
10
+ </p>
11
+ <v-switch
12
+ v-model="block.metadata.config.include_prompts"
13
+ :label="
14
+ $t(
15
+ 'windward.core.components.settings.open_response_collate.include_prompts'
16
+ )
17
+ "
18
+ ></v-switch>
19
+ <v-text-field
20
+ v-model="block.metadata.config.filename"
21
+ :label="
22
+ $t(
23
+ 'windward.core.components.settings.open_response_collate.filename'
24
+ )
25
+ "
26
+ ></v-text-field>
27
+ <v-list>
28
+ <v-list-item-group
29
+ v-model="linked"
30
+ multiple
31
+ color="primary"
32
+ @change="onLinkedChange"
33
+ >
34
+ <draggable
35
+ v-bind="dragOptions"
36
+ :list="contentBlocks"
37
+ @change="onDragChange"
38
+ >
39
+ <v-list-item
40
+ v-for="contentBlock in contentBlocks"
41
+ :key="contentBlock.block_id"
42
+ :value="contentBlock.block_id"
43
+ >
44
+ <template #default="{ active }">
45
+ <v-list-item-icon>
46
+ <v-icon>mdi-drag</v-icon>
47
+ </v-list-item-icon>
48
+
49
+ <v-list-item-content>
50
+ <v-list-item-title>
51
+ {{
52
+ contentBlock.block.body.replace(
53
+ /<[^>]*>?/gm,
54
+ ''
55
+ )
56
+ }}
57
+ </v-list-item-title>
58
+ </v-list-item-content>
59
+ <v-list-item-action>
60
+ <v-checkbox
61
+ :input-value="active"
62
+ color="primary"
63
+ ></v-checkbox>
64
+ </v-list-item-action>
65
+ </template>
66
+ </v-list-item>
67
+ </draggable>
68
+ </v-list-item-group>
69
+ </v-list>
70
+ </v-form>
71
+ </v-container>
72
+ </template>
73
+
74
+ <script>
75
+ import _ from 'lodash'
76
+ import { mapGetters } from 'vuex'
77
+ import draggable from 'vuedraggable'
78
+ import TextEditor from '~/components/Text/TextEditor.vue'
79
+ import BaseContentSettings from '~/components/Content/Tool/BaseContentSettings.js'
80
+ import ContentBlock from '~/models/ContentBlock'
81
+ import Course from '~/models/Course'
82
+
83
+ export default {
84
+ name: 'ImageSettings',
85
+ extends: BaseContentSettings,
86
+ components: { draggable, TextEditor },
87
+ props: {
88
+ settings: { type: Object, required: false, default: null },
89
+ context: { type: String, required: false, default: 'block' },
90
+ },
91
+ data() {
92
+ return {
93
+ contentBlocks: [],
94
+ linked: [],
95
+ }
96
+ },
97
+ computed: {
98
+ ...mapGetters({
99
+ organization: 'organization/get',
100
+ course: 'course/get',
101
+ enrollment: 'enrollment/get',
102
+ }),
103
+ dragOptions() {
104
+ return {
105
+ animation: 200,
106
+ }
107
+ },
108
+ },
109
+ async fetch() {
110
+ this.contentBlocks = await ContentBlock.where(
111
+ 'tag',
112
+ 'plugin-core-open-response'
113
+ )
114
+ .for(new Course({ id: this.course.id }))
115
+ .get()
116
+ },
117
+ beforeMount() {
118
+ if (_.isEmpty(this.block)) {
119
+ this.block = {}
120
+ }
121
+ if (_.isEmpty(this.block.body)) {
122
+ this.block.body = ''
123
+ }
124
+ if (_.isEmpty(this.block.metadata)) {
125
+ this.block.metadata = {}
126
+ }
127
+ if (_.isEmpty(this.block.metadata.config)) {
128
+ this.block.metadata.config = {}
129
+ }
130
+ if (_.isEmpty(this.block.metadata.config.linked)) {
131
+ this.block.metadata.config.linked = []
132
+ }
133
+ if (_.isEmpty(this.block.metadata.config.filename)) {
134
+ this.block.metadata.config.filename = ''
135
+ }
136
+ // _.isEmpty(true) returns false. use isBoolean to check if this prop exists
137
+ if (!_.isBoolean(this.block.metadata.config.include_prompts)) {
138
+ this.block.metadata.config.include_prompts = false
139
+ }
140
+
141
+ this.linked = this.block.metadata.config.linked
142
+ },
143
+ watch: {},
144
+ mounted() {},
145
+ methods: {
146
+ // Called when the order changes
147
+ onDragChange(e) {
148
+ this.setLinkedBlocks()
149
+ },
150
+ // Called when blocks are added / removed
151
+ onLinkedChange() {
152
+ this.setLinkedBlocks()
153
+ },
154
+ setLinkedBlocks() {
155
+ const linkedBlockIds = []
156
+
157
+ // Loop over content blocks since they have the correct order we want to collate
158
+ this.contentBlocks.forEach((contentBlock) => {
159
+ // If the unsorted this.linked includes the block id, add it in the right order
160
+ if (this.linked.includes(contentBlock.block_id)) {
161
+ linkedBlockIds.push(contentBlock.block_id)
162
+ }
163
+ })
164
+
165
+ // Set the linked and also body for convenience
166
+ this.block.metadata.config.linked = linkedBlockIds
167
+ this.block.body = linkedBlockIds.join()
168
+ },
169
+ },
170
+ }
171
+ </script>
@@ -0,0 +1,81 @@
1
+ <template>
2
+ <v-container>
3
+ <v-form>
4
+ <h3 class="pb-2">
5
+ {{
6
+ $t(
7
+ 'windward.core.components.settings.open_response.question'
8
+ )
9
+ }}
10
+ </h3>
11
+ <TextEditor v-model="block.body" :height="200"></TextEditor>
12
+
13
+ <h3 class="pb-2">
14
+ {{
15
+ $t(
16
+ 'windward.core.components.settings.open_response.sample_response'
17
+ )
18
+ }}
19
+ </h3>
20
+ <TextEditor
21
+ v-model="block.metadata.config.sample_response"
22
+ :height="200"
23
+ ></TextEditor>
24
+
25
+ <h3 class="pb-2">
26
+ {{
27
+ $t(
28
+ 'windward.core.components.settings.open_response.starting_text'
29
+ )
30
+ }}
31
+ </h3>
32
+ <TextEditor
33
+ v-model="block.metadata.config.starting_text"
34
+ :height="200"
35
+ ></TextEditor>
36
+ </v-form>
37
+ </v-container>
38
+ </template>
39
+
40
+ <script>
41
+ import _ from 'lodash'
42
+ import TextEditor from '~/components/Text/TextEditor.vue'
43
+ import BaseContentSettings from '~/components/Content/Tool/BaseContentSettings.js'
44
+ import ContentBlockAsset from '~/components/Content/ContentBlockAsset.vue'
45
+
46
+ export default {
47
+ name: 'ImageSettings',
48
+ extends: BaseContentSettings,
49
+ components: { ContentBlockAsset, TextEditor },
50
+ props: {
51
+ settings: { type: Object, required: false, default: null },
52
+ context: { type: String, required: false, default: 'block' },
53
+ },
54
+ beforeMount() {
55
+ if (_.isEmpty(this.block)) {
56
+ this.block = {}
57
+ }
58
+ if (_.isEmpty(this.block.body)) {
59
+ this.block.body = ''
60
+ }
61
+ if (_.isEmpty(this.block.metadata)) {
62
+ this.block.metadata = {}
63
+ }
64
+ if (_.isEmpty(this.block.metadata.config)) {
65
+ this.block.metadata.config = {}
66
+ }
67
+ if (_.isEmpty(this.block.metadata.config.sample_response)) {
68
+ this.block.metadata.config.sample_response = ''
69
+ }
70
+ if (_.isEmpty(this.block.metadata.config.starting_text)) {
71
+ this.block.metadata.config.starting_text = ''
72
+ }
73
+ },
74
+ data() {
75
+ return {}
76
+ },
77
+ watch: {},
78
+ mounted() {},
79
+ methods: {},
80
+ }
81
+ </script>
@@ -103,6 +103,7 @@
103
103
  v-show="
104
104
  settingSelector.includes(1) && !block.metadata.config.expand
105
105
  "
106
+ autofill
106
107
  ></text-editor>
107
108
  <v-skeleton-loader
108
109
  v-bind="attrs"
@@ -6,7 +6,7 @@
6
6
  :api-key="api_key"
7
7
  :init="config"
8
8
  tag-name="div"
9
- model-events="change keydown blur focus paste input submit"
9
+ model-events="change keydown blur focus paste input submit SetContent"
10
10
  >
11
11
  </editor>
12
12
  </template>
@@ -26,6 +26,17 @@ export default {
26
26
  value: { type: String, required: true, default: '' },
27
27
  api_key: { type: String, required: true, default: '' },
28
28
  height: { type: Number, required: false, default: null },
29
+ menubar: {
30
+ type: String,
31
+ required: false,
32
+ default: 'edit insert format view table windward help',
33
+ },
34
+ toolbar: {
35
+ type: String,
36
+ required: false,
37
+ default:
38
+ 'undo redo | formatselect | fontsizeselect | bold italic underline strikethrough removeformat | alignleft aligncenter alignright | table bullist numlist outdent indent | mathButton ',
39
+ },
29
40
  },
30
41
  beforeMount() {
31
42
  this.text = this.value
@@ -50,7 +61,7 @@ export default {
50
61
  return {
51
62
  height: 500,
52
63
  visual: false,
53
- menubar: 'file edit insert format view table windward help',
64
+ menubar: this.menubar,
54
65
  menu: {
55
66
  insert: {
56
67
  title: 'Insert',
@@ -60,6 +71,10 @@ export default {
60
71
  title: 'Table',
61
72
  items: 'inserttable | tableprops | deletetable',
62
73
  },
74
+ format: {
75
+ title: 'Format',
76
+ items: ' bold italic underline strikethrough superscript subscript codeformat | formats align | forecolor backcolor | language | removeformat',
77
+ },
63
78
  },
64
79
  plugins: [
65
80
  'advlist autolink lists link charmap',
@@ -67,14 +82,15 @@ export default {
67
82
  'anchor insertdatetime ',
68
83
  'paste code wordcount table WindwardToolKit ',
69
84
  ],
70
- toolbar:
71
- 'undo redo | formatselect | bold italic | alignleft aligncenter alignright | table bullist numlist outdent indent | mathButton ',
85
+ toolbar: this.toolbar,
72
86
  table_advtab: false,
73
87
  table_cell_advtab: false,
74
88
  table_row_advtab: false,
75
89
  table_default_attributes: {
76
90
  class: 'default',
77
91
  },
92
+ font_size_formats:
93
+ '8pt 10pt 12pt 14pt 16pt 18pt 24pt 36pt 48pt',
78
94
  table_class_list: [
79
95
  { title: 'None', value: ' ' },
80
96
  {
@@ -153,6 +169,7 @@ export default {
153
169
  WindwardPlugins
154
170
  )
155
171
  },
172
+
156
173
  formats: {
157
174
  glossary: {
158
175
  inline: 'span',
@@ -193,5 +193,5 @@ span.windward-fill-blank{
193
193
  color: #000000;
194
194
  }
195
195
 
196
-
196
+ body { font-family: 'Roboto', sans-serif; }
197
197
 
@@ -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>