@windward/integrations 0.4.0 → 0.5.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/components/ExternalIntegration/Driver/Lti1p1/ManageProvider.vue +6 -1
- package/components/ExternalIntegration/Driver/Lti1p3/ManageProvider.vue +6 -1
- package/components/Settings/ExternalIntegration/ManageCourseIntegrationSettings.vue +56 -0
- package/package.json +1 -1
- package/pages/course/externalIntegration/index.vue +4 -45
- package/plugin.js +12 -0
- package/test/Components/Settings/ManageCourseIntegrationSettings.spec.js +19 -0
|
@@ -4,7 +4,12 @@
|
|
|
4
4
|
<v-progress-circular size="128" indeterminate />
|
|
5
5
|
</div>
|
|
6
6
|
<div v-if="render">
|
|
7
|
-
<v-form
|
|
7
|
+
<v-form
|
|
8
|
+
:id="formId"
|
|
9
|
+
ref="form"
|
|
10
|
+
v-model="formValid"
|
|
11
|
+
@submit="onFormSubmit"
|
|
12
|
+
>
|
|
8
13
|
<v-row justify="center" align="center">
|
|
9
14
|
<v-col cols="12">
|
|
10
15
|
<ProviderTargetPicker
|
|
@@ -4,7 +4,12 @@
|
|
|
4
4
|
<v-progress-circular size="128" indeterminate />
|
|
5
5
|
</div>
|
|
6
6
|
<div v-if="render">
|
|
7
|
-
<v-form
|
|
7
|
+
<v-form
|
|
8
|
+
:id="formId"
|
|
9
|
+
ref="form"
|
|
10
|
+
v-model="formValid"
|
|
11
|
+
@submit="onFormSubmit"
|
|
12
|
+
>
|
|
8
13
|
<v-row justify="center" align="center">
|
|
9
14
|
<v-col cols="12">
|
|
10
15
|
<ProviderTargetPicker
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<v-tabs v-model="tab">
|
|
4
|
+
<v-tabs-slider></v-tabs-slider>
|
|
5
|
+
|
|
6
|
+
<v-tab>
|
|
7
|
+
{{
|
|
8
|
+
$t(
|
|
9
|
+
'windward.integrations.pages.course.external_integration.lti_1p1'
|
|
10
|
+
)
|
|
11
|
+
}}
|
|
12
|
+
</v-tab>
|
|
13
|
+
|
|
14
|
+
<v-tab>
|
|
15
|
+
{{
|
|
16
|
+
$t(
|
|
17
|
+
'windward.integrations.pages.course.external_integration.lti_1p3'
|
|
18
|
+
)
|
|
19
|
+
}}
|
|
20
|
+
</v-tab>
|
|
21
|
+
|
|
22
|
+
<v-tab>
|
|
23
|
+
{{
|
|
24
|
+
$t(
|
|
25
|
+
'windward.integrations.pages.course.external_integration.scorm_1p2'
|
|
26
|
+
)
|
|
27
|
+
}}
|
|
28
|
+
</v-tab>
|
|
29
|
+
</v-tabs>
|
|
30
|
+
|
|
31
|
+
<v-tabs-items v-model="tab">
|
|
32
|
+
<v-tab-item> <ManageLti1p1></ManageLti1p1> </v-tab-item>
|
|
33
|
+
<v-tab-item>
|
|
34
|
+
<ManageLti1p3 />
|
|
35
|
+
<!-- <p class="ma-5">LTI 1.3 Not yet implemented</p>-->
|
|
36
|
+
</v-tab-item>
|
|
37
|
+
<v-tab-item>
|
|
38
|
+
<p class="ma-5">SCORM 1.2 Not yet implemented</p>
|
|
39
|
+
</v-tab-item>
|
|
40
|
+
</v-tabs-items>
|
|
41
|
+
</div>
|
|
42
|
+
</template>
|
|
43
|
+
|
|
44
|
+
<script>
|
|
45
|
+
import ManageLti1p1 from '../../ExternalIntegration/Driver/ManageLti1p1.vue'
|
|
46
|
+
import ManageLti1p3 from '../../ExternalIntegration/Driver/ManageLti1p3.vue'
|
|
47
|
+
export default {
|
|
48
|
+
name: 'PluginIntegrationsExternalIntegrationManageCourseIntegrationSettings',
|
|
49
|
+
components: { ManageLti1p1, ManageLti1p3 },
|
|
50
|
+
data() {
|
|
51
|
+
return {
|
|
52
|
+
tab: 0,
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
}
|
|
56
|
+
</script>
|
package/package.json
CHANGED
|
@@ -7,53 +7,17 @@
|
|
|
7
7
|
)
|
|
8
8
|
}}
|
|
9
9
|
</h1>
|
|
10
|
-
<v-tabs v-model="tab">
|
|
11
|
-
<v-tabs-slider></v-tabs-slider>
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
{{
|
|
15
|
-
$t(
|
|
16
|
-
'windward.integrations.pages.course.external_integration.lti_1p1'
|
|
17
|
-
)
|
|
18
|
-
}}
|
|
19
|
-
</v-tab>
|
|
20
|
-
|
|
21
|
-
<v-tab>
|
|
22
|
-
{{
|
|
23
|
-
$t(
|
|
24
|
-
'windward.integrations.pages.course.external_integration.lti_1p3'
|
|
25
|
-
)
|
|
26
|
-
}}
|
|
27
|
-
</v-tab>
|
|
28
|
-
|
|
29
|
-
<v-tab>
|
|
30
|
-
{{
|
|
31
|
-
$t(
|
|
32
|
-
'windward.integrations.pages.course.external_integration.scorm_1p2'
|
|
33
|
-
)
|
|
34
|
-
}}
|
|
35
|
-
</v-tab>
|
|
36
|
-
</v-tabs>
|
|
37
|
-
|
|
38
|
-
<v-tabs-items v-model="tab">
|
|
39
|
-
<v-tab-item> <ManageLti1p1></ManageLti1p1> </v-tab-item>
|
|
40
|
-
<v-tab-item>
|
|
41
|
-
<ManageLti1p3 />
|
|
42
|
-
<!-- <p class="ma-5">LTI 1.3 Not yet implemented</p>-->
|
|
43
|
-
</v-tab-item>
|
|
44
|
-
<v-tab-item>
|
|
45
|
-
<p class="ma-5">SCORM 1.2 Not yet implemented</p>
|
|
46
|
-
</v-tab-item>
|
|
47
|
-
</v-tabs-items>
|
|
11
|
+
<ManageCourseIntegrationSettings></ManageCourseIntegrationSettings>
|
|
48
12
|
</div>
|
|
49
13
|
</template>
|
|
50
14
|
|
|
51
15
|
<script>
|
|
52
|
-
import
|
|
53
|
-
|
|
16
|
+
import ManageCourseIntegrationSettings from '../../../components/Settings/ExternalIntegration/ManageCourseIntegrationSettings.vue'
|
|
17
|
+
|
|
54
18
|
export default {
|
|
55
19
|
name: 'PluginIntegrationsExternalIntegrationIndexPage',
|
|
56
|
-
components: {
|
|
20
|
+
components: { ManageCourseIntegrationSettings },
|
|
57
21
|
layout: 'authenticated',
|
|
58
22
|
meta: {
|
|
59
23
|
privilege: {
|
|
@@ -62,11 +26,6 @@ export default {
|
|
|
62
26
|
},
|
|
63
27
|
},
|
|
64
28
|
},
|
|
65
|
-
data() {
|
|
66
|
-
return {
|
|
67
|
-
tab: 0,
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
29
|
async fetch() {},
|
|
71
30
|
computed: {},
|
|
72
31
|
}
|
package/plugin.js
CHANGED
|
@@ -9,6 +9,7 @@ import IntegrationHelper from './helpers/IntegrationHelper'
|
|
|
9
9
|
|
|
10
10
|
import LtiConsumerBlock from './components/Content/Blocks/ExternalIntegration/LtiConsumer'
|
|
11
11
|
import LtiConsumerBlockSettings from './components/Settings/ExternalIntegration/LtiConsumerSettings'
|
|
12
|
+
import ManageCourseIntegrationSettings from './components/Settings/ExternalIntegration/ManageCourseIntegrationSettings'
|
|
12
13
|
|
|
13
14
|
import FileImportMenu from './components/FileImport/FileImportMenu.vue'
|
|
14
15
|
import FileImportResourcespace from './components/FileImport/Resourcespace.vue'
|
|
@@ -221,6 +222,17 @@ export default {
|
|
|
221
222
|
name: 'windward.integrations.shared.settings.title.lti_consumer',
|
|
222
223
|
},
|
|
223
224
|
},
|
|
225
|
+
{
|
|
226
|
+
tag: 'windward-integrations-external-integration-settings',
|
|
227
|
+
template: ManageCourseIntegrationSettings,
|
|
228
|
+
context: ['course'],
|
|
229
|
+
permissions:
|
|
230
|
+
'plugin.windward.integrations.course.externalIntegration',
|
|
231
|
+
metadata: {
|
|
232
|
+
icon: 'mdi-shield-link-variant-outline',
|
|
233
|
+
name: 'windward.integrations.pages.course.external_integration.title',
|
|
234
|
+
},
|
|
235
|
+
},
|
|
224
236
|
],
|
|
225
237
|
fileImport: [
|
|
226
238
|
{
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { shallowMount } from '@vue/test-utils'
|
|
2
|
+
|
|
3
|
+
import Vue from 'vue'
|
|
4
|
+
import Vuetify from 'vuetify'
|
|
5
|
+
import { defaultMocks } from '@/test/mocks'
|
|
6
|
+
|
|
7
|
+
import ManageCourseIntegrationSettings from '@/components/Settings/ExternalIntegration/ManageCourseIntegrationSettings.vue'
|
|
8
|
+
|
|
9
|
+
Vue.use(Vuetify)
|
|
10
|
+
|
|
11
|
+
describe('ManageCourseIntegrationSettings', () => {
|
|
12
|
+
test('ManageCourseIntegrationSettings is a Vue instance', () => {
|
|
13
|
+
const wrapper = shallowMount(ManageCourseIntegrationSettings, {
|
|
14
|
+
vuetify: new Vuetify(),
|
|
15
|
+
mocks: defaultMocks,
|
|
16
|
+
})
|
|
17
|
+
expect(wrapper.vm).toBeTruthy()
|
|
18
|
+
})
|
|
19
|
+
})
|