@windward/integrations 0.9.0 → 0.11.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/CHANGELOG.md +9 -0
- package/components/Content/Blocks/ExternalIntegration/LtiConsumer.vue +3 -0
- package/components/ExternalIntegration/Driver/ManageLti1p1.vue +2 -4
- package/components/ExternalIntegration/Driver/ManageLti1p3.vue +2 -4
- package/components/FileImport/FileImportMenu.vue +24 -19
- package/components/Settings/ExternalIntegration/LtiConsumerSettings.vue +6 -1
- package/components/Settings/ExternalIntegration/ManageCourseIntegrationSettings.vue +5 -3
- package/i18n/en-US/components/external_integration/index.ts +4 -2
- package/i18n/en-US/shared/index.ts +2 -0
- package/i18n/en-US/shared/notification.ts +14 -0
- package/i18n/es-ES/components/external_integration/index.ts +4 -2
- package/i18n/es-ES/shared/index.ts +2 -0
- package/i18n/es-ES/shared/notification.ts +16 -0
- package/i18n/sv-SE/components/external_integration/index.ts +4 -2
- package/i18n/sv-SE/shared/index.ts +2 -0
- package/i18n/sv-SE/shared/notification.ts +15 -0
- package/package.json +1 -1
- package/pages/admin/importCourse.vue +2 -2
- package/pages/admin/vendors.vue +1 -1
- package/plugin.js +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -230,6 +230,9 @@ export default {
|
|
|
230
230
|
if (_.isEmpty(this.block.metadata.config.instructions)) {
|
|
231
231
|
this.block.metadata.config.instructions = ''
|
|
232
232
|
}
|
|
233
|
+
if (_.isEmpty(this.block.metadata.config.launch_type)) {
|
|
234
|
+
this.block.metadata.config.launch_type = 'new_window'
|
|
235
|
+
}
|
|
233
236
|
},
|
|
234
237
|
mounted() {
|
|
235
238
|
if (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<v-expansion-panels
|
|
3
|
+
<v-expansion-panels flat accordion>
|
|
4
4
|
<v-expansion-panel>
|
|
5
5
|
<v-expansion-panel-header>
|
|
6
6
|
{{
|
|
@@ -37,9 +37,7 @@ export default {
|
|
|
37
37
|
name: 'ManageLti1p1Driver',
|
|
38
38
|
components: { ManageProviders, ManageConsumers },
|
|
39
39
|
data() {
|
|
40
|
-
return {
|
|
41
|
-
panel: 0,
|
|
42
|
-
}
|
|
40
|
+
return {}
|
|
43
41
|
},
|
|
44
42
|
}
|
|
45
43
|
</script>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<v-expansion-panels
|
|
3
|
+
<v-expansion-panels flat accordion>
|
|
4
4
|
<v-expansion-panel>
|
|
5
5
|
<v-expansion-panel-header>
|
|
6
6
|
{{
|
|
@@ -37,9 +37,7 @@ export default {
|
|
|
37
37
|
name: 'ManageLti1p3Driver',
|
|
38
38
|
components: { ManageProviders, ManageConsumers },
|
|
39
39
|
data() {
|
|
40
|
-
return {
|
|
41
|
-
panel: 0,
|
|
42
|
-
}
|
|
40
|
+
return {}
|
|
43
41
|
},
|
|
44
42
|
}
|
|
45
43
|
</script>
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
3
|
<v-list-item
|
|
4
|
-
v-for="
|
|
5
|
-
:key="
|
|
6
|
-
|
|
4
|
+
v-for="vendor in vendors"
|
|
5
|
+
:key="vendor.product_code"
|
|
6
|
+
:disabled="!vendor.enabled"
|
|
7
|
+
@click="onClickImport(vendor)"
|
|
7
8
|
>
|
|
8
9
|
<v-list-item-icon>
|
|
9
|
-
<v-icon>{{
|
|
10
|
+
<v-icon>{{ vendor.icon }}</v-icon>
|
|
10
11
|
</v-list-item-icon>
|
|
11
|
-
<v-list-item-title>{{ $t(
|
|
12
|
+
<v-list-item-title>{{ $t(vendor.i18n) }}</v-list-item-title>
|
|
12
13
|
</v-list-item>
|
|
13
14
|
|
|
14
15
|
<DialogBox
|
|
@@ -22,7 +23,7 @@
|
|
|
22
23
|
<template #form="{ on, attrs }">
|
|
23
24
|
<component
|
|
24
25
|
:is="activeVendor.template"
|
|
25
|
-
v-if="activeVendor"
|
|
26
|
+
v-if="activeVendor && activeVendor.organization_integration"
|
|
26
27
|
:organization-integration="
|
|
27
28
|
activeVendor.organization_integration
|
|
28
29
|
"
|
|
@@ -38,8 +39,8 @@
|
|
|
38
39
|
<script>
|
|
39
40
|
import _ from 'lodash'
|
|
40
41
|
import { mapGetters } from 'vuex'
|
|
41
|
-
import Organization from '../../models/Organization'
|
|
42
42
|
import DialogBox from '~/components/Core/DialogBox.vue'
|
|
43
|
+
import Organization from '../../models/Organization'
|
|
43
44
|
|
|
44
45
|
export default {
|
|
45
46
|
name: 'FileImportMenu',
|
|
@@ -77,26 +78,30 @@ export default {
|
|
|
77
78
|
...mapGetters({
|
|
78
79
|
organization: 'organization/get',
|
|
79
80
|
}),
|
|
80
|
-
|
|
81
|
-
const enabled = []
|
|
81
|
+
vendors() {
|
|
82
82
|
// Get only the vendors that are defined to be displayed as a fileImport vendor from plugin.js
|
|
83
|
-
const
|
|
83
|
+
const vendors = _.cloneDeep(_.get(this.metadata, 'vendors', []))
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
85
|
+
for (const vendorIndex in vendors) {
|
|
86
|
+
const productCode = vendors[vendorIndex].product_code
|
|
87
|
+
const found = this.organizationIntegrations.find((orgInt) => {
|
|
88
|
+
return (
|
|
89
|
+
_.get(orgInt, 'vendor.product_code') === productCode &&
|
|
90
|
+
!!vendors[vendorIndex].template
|
|
91
|
+
)
|
|
90
92
|
})
|
|
91
93
|
|
|
92
94
|
if (found) {
|
|
93
95
|
// Set the organization integration so we can reference the api later
|
|
94
|
-
|
|
95
|
-
enabled.push(found)
|
|
96
|
+
vendors[vendorIndex].organization_integration = found
|
|
96
97
|
}
|
|
97
|
-
})
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
vendors[vendorIndex].enabled =
|
|
100
|
+
vendors[vendorIndex].enabled &&
|
|
101
|
+
_.get(found, 'enabled', false)
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return vendors
|
|
100
105
|
},
|
|
101
106
|
},
|
|
102
107
|
mounted() {},
|
|
@@ -171,7 +171,12 @@ export default {
|
|
|
171
171
|
}),
|
|
172
172
|
},
|
|
173
173
|
watch: {},
|
|
174
|
-
beforeMount() {
|
|
174
|
+
beforeMount() {
|
|
175
|
+
// Default the launch type to new window if undefined
|
|
176
|
+
if (_.isEmpty(this.block.metadata.config.launch_type)) {
|
|
177
|
+
this.block.metadata.config.launch_type = 'new_window'
|
|
178
|
+
}
|
|
179
|
+
},
|
|
175
180
|
mounted() {},
|
|
176
181
|
methods: {},
|
|
177
182
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
}}
|
|
20
20
|
</v-tab>
|
|
21
21
|
|
|
22
|
-
<v-tab>
|
|
22
|
+
<v-tab v-if="ltiReady">
|
|
23
23
|
{{
|
|
24
24
|
$t(
|
|
25
25
|
'windward.integrations.pages.course.external_integration.scorm_1p2'
|
|
@@ -29,10 +29,11 @@
|
|
|
29
29
|
</v-tabs>
|
|
30
30
|
|
|
31
31
|
<v-tabs-items v-model="tab">
|
|
32
|
-
<v-tab-item>
|
|
32
|
+
<v-tab-item>
|
|
33
|
+
<ManageLti1p1></ManageLti1p1>
|
|
34
|
+
</v-tab-item>
|
|
33
35
|
<v-tab-item>
|
|
34
36
|
<ManageLti1p3 />
|
|
35
|
-
<!-- <p class="ma-5">LTI 1.3 Not yet implemented</p>-->
|
|
36
37
|
</v-tab-item>
|
|
37
38
|
<v-tab-item>
|
|
38
39
|
<p class="ma-5">SCORM 1.2 Not yet implemented</p>
|
|
@@ -50,6 +51,7 @@ export default {
|
|
|
50
51
|
data() {
|
|
51
52
|
return {
|
|
52
53
|
tab: 0,
|
|
54
|
+
ltiReady: false,
|
|
53
55
|
}
|
|
54
56
|
},
|
|
55
57
|
}
|
|
@@ -5,8 +5,10 @@ export default {
|
|
|
5
5
|
driver: { lti1p1, lti1p3 },
|
|
6
6
|
provider_target: providerTarget,
|
|
7
7
|
|
|
8
|
-
provider_panel_title:
|
|
9
|
-
|
|
8
|
+
provider_panel_title:
|
|
9
|
+
'Provider (users incoming to LearningEdge from another system)',
|
|
10
|
+
consumer_panel_title:
|
|
11
|
+
'Consumer (users outgoing from LearningEdge to another system)',
|
|
10
12
|
|
|
11
13
|
target: 'Target',
|
|
12
14
|
target_url: 'Target Url',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import contentBlocks from './content_blocks'
|
|
2
2
|
import settings from './settings'
|
|
3
3
|
import menu from './menu'
|
|
4
|
+
import notification from './notification'
|
|
4
5
|
import permission from './permission'
|
|
5
6
|
import file from './file'
|
|
6
7
|
import error from './error'
|
|
@@ -9,6 +10,7 @@ export default {
|
|
|
9
10
|
content_blocks: contentBlocks,
|
|
10
11
|
settings,
|
|
11
12
|
menu,
|
|
13
|
+
notification,
|
|
12
14
|
permission,
|
|
13
15
|
file,
|
|
14
16
|
error,
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
event: {
|
|
3
|
+
type_title: {
|
|
4
|
+
'windward-integrations-import-complete':
|
|
5
|
+
'3rd Party Import Complete',
|
|
6
|
+
'windward-integrations-import-fail': '3rd Party Import Failed',
|
|
7
|
+
},
|
|
8
|
+
|
|
9
|
+
type_description: {
|
|
10
|
+
'windward-core-ask-the-expert': '3rd Party Import Complete',
|
|
11
|
+
'windward-core-contact-support': '3rd Party Import Failed',
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
}
|
|
@@ -5,8 +5,10 @@ export default {
|
|
|
5
5
|
driver: { lti1p1, lti1p3 },
|
|
6
6
|
provider_target: providerTarget,
|
|
7
7
|
|
|
8
|
-
provider_panel_title:
|
|
9
|
-
|
|
8
|
+
provider_panel_title:
|
|
9
|
+
'Proveedor (usuarios que ingresan a LearningEdge desde otro sistema)',
|
|
10
|
+
consumer_panel_title:
|
|
11
|
+
'Consumidor (usuarios que salen de LearningEdge a otro sistema)',
|
|
10
12
|
|
|
11
13
|
target: 'Objetivo',
|
|
12
14
|
target_url: 'URL de destino',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import contentBlocks from './content_blocks'
|
|
2
2
|
import settings from './settings'
|
|
3
3
|
import menu from './menu'
|
|
4
|
+
import notification from './notification'
|
|
4
5
|
import permission from './permission'
|
|
5
6
|
import file from './file'
|
|
6
7
|
import error from './error'
|
|
@@ -9,6 +10,7 @@ export default {
|
|
|
9
10
|
content_blocks: contentBlocks,
|
|
10
11
|
settings,
|
|
11
12
|
menu,
|
|
13
|
+
notification,
|
|
12
14
|
permission,
|
|
13
15
|
file,
|
|
14
16
|
error,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
event: {
|
|
3
|
+
type_title: {
|
|
4
|
+
'windward-integrations-import-complete':
|
|
5
|
+
'Importación de terceros completa',
|
|
6
|
+
'windward-integrations-import-fail':
|
|
7
|
+
'Error en la importación de terceros',
|
|
8
|
+
},
|
|
9
|
+
|
|
10
|
+
type_description: {
|
|
11
|
+
'windward-core-ask-the-expert': 'Importación de terceros completa',
|
|
12
|
+
'windward-core-contact-support':
|
|
13
|
+
'Error en la importación de terceros',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
}
|
|
@@ -5,8 +5,10 @@ export default {
|
|
|
5
5
|
driver: { lti1p1, lti1p3 },
|
|
6
6
|
provider_target: providerTarget,
|
|
7
7
|
|
|
8
|
-
provider_panel_title:
|
|
9
|
-
|
|
8
|
+
provider_panel_title:
|
|
9
|
+
'Leverantör (användare som kommer till LearningEdge från ett annat system)',
|
|
10
|
+
consumer_panel_title:
|
|
11
|
+
'Konsument (användare som går från LearningEdge till ett annat system)',
|
|
10
12
|
|
|
11
13
|
target: 'Mål',
|
|
12
14
|
target_url: 'Måladress',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import contentBlocks from './content_blocks'
|
|
2
2
|
import settings from './settings'
|
|
3
3
|
import menu from './menu'
|
|
4
|
+
import notification from './notification'
|
|
4
5
|
import permission from './permission'
|
|
5
6
|
import file from './file'
|
|
6
7
|
import error from './error'
|
|
@@ -9,6 +10,7 @@ export default {
|
|
|
9
10
|
content_blocks: contentBlocks,
|
|
10
11
|
settings,
|
|
11
12
|
menu,
|
|
13
|
+
notification,
|
|
12
14
|
permission,
|
|
13
15
|
file,
|
|
14
16
|
error,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
event: {
|
|
3
|
+
type_title: {
|
|
4
|
+
'windward-integrations-import-complete':
|
|
5
|
+
'Tredjepartsimport slutförd',
|
|
6
|
+
'windward-integrations-import-fail':
|
|
7
|
+
'Tredjepartsimport misslyckades',
|
|
8
|
+
},
|
|
9
|
+
|
|
10
|
+
type_description: {
|
|
11
|
+
'windward-core-ask-the-expert': 'Tredje parts import klar',
|
|
12
|
+
'windward-core-contact-support': 'Tredjepartsimport misslyckades',
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
}
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
</v-tabs>
|
|
18
18
|
<v-tabs-items v-model="tab">
|
|
19
19
|
<v-tab-item>
|
|
20
|
-
<h2>
|
|
20
|
+
<h2 tabindex="0">
|
|
21
21
|
{{ $t('windward.integrations.pages.import_course.title') }}
|
|
22
22
|
</h2>
|
|
23
23
|
|
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
</div>
|
|
145
145
|
</v-tab-item>
|
|
146
146
|
<v-tab-item>
|
|
147
|
-
<h2>
|
|
147
|
+
<h2 tabindex="0">
|
|
148
148
|
{{
|
|
149
149
|
$t(
|
|
150
150
|
'windward.integrations.components.integration.job.recent_jobs_title'
|
package/pages/admin/vendors.vue
CHANGED
package/plugin.js
CHANGED
|
@@ -20,6 +20,7 @@ import CourseJobLog from './components/Navigation/Items/CourseJobLog.vue'
|
|
|
20
20
|
|
|
21
21
|
export default {
|
|
22
22
|
name: 'windward.integrations.name',
|
|
23
|
+
version: null,
|
|
23
24
|
hooks: {
|
|
24
25
|
beforeContent: (body) => {
|
|
25
26
|
return body
|
|
@@ -245,21 +246,21 @@ export default {
|
|
|
245
246
|
i18n: 'windward.integrations.shared.file.import_resourcespace',
|
|
246
247
|
icon: 'mdi-cube',
|
|
247
248
|
product_code: 'resourcespace',
|
|
248
|
-
|
|
249
|
+
enabled: true,
|
|
249
250
|
},
|
|
250
251
|
{
|
|
251
252
|
template: FileImportGoogleDrive,
|
|
252
253
|
i18n: 'windward.integrations.shared.file.import_google_drive',
|
|
253
254
|
icon: 'mdi-google-drive',
|
|
254
255
|
product_code: 'google_drive',
|
|
255
|
-
|
|
256
|
+
enabled: false,
|
|
256
257
|
},
|
|
257
258
|
{
|
|
258
259
|
template: FileImportDropbox,
|
|
259
260
|
i18n: 'windward.integrations.shared.file.import_dropbox',
|
|
260
261
|
icon: 'mdi-dropbox',
|
|
261
262
|
product_code: 'dropbox',
|
|
262
|
-
|
|
263
|
+
enabled: false,
|
|
263
264
|
},
|
|
264
265
|
],
|
|
265
266
|
},
|