@windward/integrations 0.3.0 → 0.4.1
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/Blocks/ExternalIntegration/LtiConsumer.vue +2 -0
- package/components/ExternalIntegration/Driver/Lti1p1/ManageConsumer.vue +2 -0
- package/components/ExternalIntegration/Driver/Lti1p1/ManageConsumers.vue +1 -0
- package/components/ExternalIntegration/Driver/Lti1p1/ManageProvider.vue +2 -0
- package/components/ExternalIntegration/Driver/Lti1p1/ManageProviders.vue +1 -0
- package/components/ExternalIntegration/Driver/Lti1p3/ManageConsumer.vue +2 -0
- package/components/ExternalIntegration/Driver/Lti1p3/ManageConsumers.vue +1 -0
- package/components/ExternalIntegration/Driver/Lti1p3/ManageProvider.vue +2 -0
- package/components/ExternalIntegration/Driver/Lti1p3/ManageProviders.vue +1 -0
- package/components/FileImport/Resourcespace.vue +1 -0
- package/components/Integration/JobLog.vue +1 -0
- package/components/Integration/TestConnection.vue +1 -0
- package/components/SecretField.vue +2 -2
- package/components/Settings/ExternalIntegration/ManageCourseIntegrationSettings.vue +56 -0
- package/package.json +1 -1
- package/pages/admin/importCourse.vue +1 -1
- package/pages/admin/vendors.vue +1 -0
- package/pages/course/externalIntegration/index.vue +4 -45
- package/plugin.js +13 -1
- package/test/Components/Settings/ManageCourseIntegrationSettings.spec.js +19 -0
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
block.metadata.config.launch_type === 'new_window'
|
|
21
21
|
"
|
|
22
22
|
color="primary"
|
|
23
|
+
elevation="0"
|
|
23
24
|
block
|
|
24
25
|
@click="onLaunch"
|
|
25
26
|
>
|
|
@@ -34,6 +35,7 @@
|
|
|
34
35
|
<v-btn
|
|
35
36
|
v-else
|
|
36
37
|
color="primary"
|
|
38
|
+
elevation="0"
|
|
37
39
|
block
|
|
38
40
|
@click="setLaunchTimer(100)"
|
|
39
41
|
>
|
|
@@ -112,6 +112,7 @@
|
|
|
112
112
|
<v-btn
|
|
113
113
|
text
|
|
114
114
|
color="primary"
|
|
115
|
+
elevation="0"
|
|
115
116
|
@click="deleteCustomParameter(index)"
|
|
116
117
|
>
|
|
117
118
|
<v-icon small> mdi-delete </v-icon>
|
|
@@ -125,6 +126,7 @@
|
|
|
125
126
|
<v-btn
|
|
126
127
|
color="primary"
|
|
127
128
|
class="mb-3"
|
|
129
|
+
elevation="0"
|
|
128
130
|
@click="addCustomParameter"
|
|
129
131
|
>{{ $t('shared.forms.add') }}</v-btn
|
|
130
132
|
>
|
|
@@ -103,6 +103,7 @@
|
|
|
103
103
|
<v-btn
|
|
104
104
|
text
|
|
105
105
|
color="primary"
|
|
106
|
+
elevation="0"
|
|
106
107
|
@click="deleteCustomParameter(index)"
|
|
107
108
|
>
|
|
108
109
|
<v-icon small> mdi-delete </v-icon>
|
|
@@ -116,6 +117,7 @@
|
|
|
116
117
|
<v-btn
|
|
117
118
|
color="primary"
|
|
118
119
|
class="mb-3"
|
|
120
|
+
elevation="0"
|
|
119
121
|
@click="addCustomParameter"
|
|
120
122
|
>{{ $t('shared.forms.add') }}</v-btn
|
|
121
123
|
>
|
|
@@ -8,10 +8,10 @@
|
|
|
8
8
|
:label="label"
|
|
9
9
|
>
|
|
10
10
|
<template #append>
|
|
11
|
-
<v-btn icon @click="toggleClear">
|
|
11
|
+
<v-btn icon elevation="0" @click="toggleClear">
|
|
12
12
|
<v-icon>{{ showClear ? 'mdi-eye-off' : 'mdi-eye' }}</v-icon>
|
|
13
13
|
</v-btn>
|
|
14
|
-
<v-btn v-if="copy" icon @click="copyText(value)">
|
|
14
|
+
<v-btn v-if="copy" icon elevation="0" @click="copyText(value)">
|
|
15
15
|
<v-icon>mdi-content-copy</v-icon>
|
|
16
16
|
<span class="sr-only">{{ $t('shared.forms.copy') }}</span>
|
|
17
17
|
</v-btn>
|
|
@@ -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
package/pages/admin/vendors.vue
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'
|
|
@@ -215,12 +216,23 @@ export default {
|
|
|
215
216
|
{
|
|
216
217
|
tag: 'windward-integrations-lti-consumer-settings',
|
|
217
218
|
template: LtiConsumerBlockSettings,
|
|
218
|
-
context: ['block'],
|
|
219
|
+
context: ['block.windward-integrations-lti-consumer'],
|
|
219
220
|
metadata: {
|
|
220
221
|
icon: 'mdi-cog',
|
|
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
|
+
})
|