@windward/integrations 0.1.1 → 0.2.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 +4 -4
- package/components/ExternalIntegration/Driver/Lti1p1/ManageConsumers.vue +46 -27
- package/components/ExternalIntegration/Driver/Lti1p1/ManageProvider.vue +4 -4
- package/components/ExternalIntegration/Driver/Lti1p1/ManageProviders.vue +56 -27
- package/components/ExternalIntegration/Driver/Lti1p3/ManageConsumers.vue +69 -46
- package/components/ExternalIntegration/Driver/Lti1p3/ManageProviders.vue +52 -27
- package/components/ExternalIntegration/ProviderTargetPicker.vue +2 -2
- package/components/FileImport/FileImportMenu.vue +4 -4
- package/components/Integration/JobTable.vue +2 -2
- package/components/Navigation/Items/CourseJobLog.vue +2 -2
- package/helpers/IntegrationHelper.ts +2 -2
- package/i18n/en-US/components/external_integration/driver/lti1p1.ts +3 -0
- package/i18n/es-ES/components/external_integration/driver/lti1p1.ts +3 -0
- package/i18n/sv-SE/components/external_integration/driver/lti1p1.ts +3 -0
- package/package.json +7 -2
- package/pages/admin/vendors.vue +5 -5
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
:name="frameId"
|
|
81
81
|
class="launch-frame"
|
|
82
82
|
></iframe>
|
|
83
|
-
<
|
|
83
|
+
<DialogBox
|
|
84
84
|
v-if="block.metadata.config.launch_type === 'modal'"
|
|
85
85
|
v-model="openModal"
|
|
86
86
|
:trigger="false"
|
|
@@ -108,7 +108,7 @@
|
|
|
108
108
|
|
|
109
109
|
<div v-else></div>
|
|
110
110
|
</template>
|
|
111
|
-
</
|
|
111
|
+
</DialogBox>
|
|
112
112
|
</div>
|
|
113
113
|
|
|
114
114
|
<v-alert v-if="missing" type="error">
|
|
@@ -154,11 +154,11 @@ import BaseContentBlock from '~/components/Content/Blocks/BaseContentBlock'
|
|
|
154
154
|
import Course from '~/models/Course'
|
|
155
155
|
import Organization from '~/models/Organization'
|
|
156
156
|
import Enrollment from '~/models/Enrollment'
|
|
157
|
-
import
|
|
157
|
+
import DialogBox from '~/components/DialogBox.vue'
|
|
158
158
|
|
|
159
159
|
export default {
|
|
160
160
|
name: 'ContentBlockExternalIntegrationLti1p1Consumer',
|
|
161
|
-
components: { TextViewer,
|
|
161
|
+
components: { TextViewer, DialogBox },
|
|
162
162
|
extends: BaseContentBlock,
|
|
163
163
|
data() {
|
|
164
164
|
return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<
|
|
3
|
+
<DialogBox
|
|
4
4
|
color="primary"
|
|
5
5
|
action-save
|
|
6
6
|
action-save-new
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<template #form="{ on, attrs }"
|
|
20
20
|
><ManageConsumer v-bind="attrs" v-on="on"></ManageConsumer
|
|
21
21
|
></template>
|
|
22
|
-
</
|
|
22
|
+
</DialogBox>
|
|
23
23
|
|
|
24
24
|
<v-data-table
|
|
25
25
|
:headers="headers"
|
|
@@ -44,33 +44,51 @@
|
|
|
44
44
|
{{ $d(new Date(item.created_at), 'long') }}
|
|
45
45
|
</template>
|
|
46
46
|
<template #[`item.actions`]="{ index, item }">
|
|
47
|
-
<
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
<SpeedDial
|
|
48
|
+
direction="left"
|
|
49
|
+
color="primary"
|
|
50
|
+
transition="slide-x-reverse-transition"
|
|
51
|
+
>
|
|
52
|
+
<v-btn
|
|
53
|
+
color="error"
|
|
54
|
+
outlined
|
|
55
|
+
class="outlined"
|
|
56
|
+
@click="onConfirmDelete(item)"
|
|
57
|
+
>
|
|
58
|
+
{{ $t('shared.forms.delete') }}
|
|
55
59
|
<span class="sr-only">{{
|
|
60
|
+
$t('shared.forms.delete')
|
|
61
|
+
}}</span>
|
|
62
|
+
</v-btn>
|
|
63
|
+
<DialogBox
|
|
64
|
+
color="primary"
|
|
65
|
+
outlined
|
|
66
|
+
:class-prop="'outlined'"
|
|
67
|
+
action-save
|
|
68
|
+
@click:save="onSaved"
|
|
69
|
+
>
|
|
70
|
+
<template #title>{{
|
|
56
71
|
$t(
|
|
57
72
|
'windward.integrations.components.external_integration.driver.lti1p1.edit'
|
|
58
73
|
)
|
|
59
|
-
}}</
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
}}</template>
|
|
75
|
+
<template #trigger>
|
|
76
|
+
{{ $t('shared.forms.edit') }}
|
|
77
|
+
<span class="sr-only">{{
|
|
78
|
+
$t(
|
|
79
|
+
'windward.integrations.components.external_integration.driver.lti1p1.edit'
|
|
80
|
+
)
|
|
81
|
+
}}</span>
|
|
82
|
+
</template>
|
|
83
|
+
<template #form="{ on, attrs }"
|
|
84
|
+
><ManageConsumer
|
|
85
|
+
v-model="consumers[index]"
|
|
86
|
+
v-bind="attrs"
|
|
87
|
+
v-on="on"
|
|
88
|
+
></ManageConsumer
|
|
89
|
+
></template>
|
|
90
|
+
</DialogBox>
|
|
91
|
+
</SpeedDial>
|
|
74
92
|
</template>
|
|
75
93
|
</v-data-table>
|
|
76
94
|
</div>
|
|
@@ -83,11 +101,12 @@ import LtiConsumer from '../../../../models/ExternalIntegration/LtiConsumer'
|
|
|
83
101
|
import ManageConsumer from './ManageConsumer.vue'
|
|
84
102
|
import Course from '~/models/Course'
|
|
85
103
|
import Organization from '~/models/Organization'
|
|
86
|
-
import
|
|
104
|
+
import DialogBox from '~/components/DialogBox.vue'
|
|
105
|
+
import SpeedDial from '~/components/SpeedDial.vue'
|
|
87
106
|
|
|
88
107
|
export default {
|
|
89
108
|
name: 'ManageLti1p1ConsumersDriver',
|
|
90
|
-
components: {
|
|
109
|
+
components: { DialogBox, ManageConsumer, SpeedDial },
|
|
91
110
|
data() {
|
|
92
111
|
return {
|
|
93
112
|
consumers: [],
|
|
@@ -52,12 +52,12 @@
|
|
|
52
52
|
"
|
|
53
53
|
:label="
|
|
54
54
|
$t(
|
|
55
|
-
'windward.integrations.components.external_integration.driver.lti1p1.
|
|
55
|
+
'windward.integrations.components.external_integration.driver.lti1p1.key_auto'
|
|
56
56
|
)
|
|
57
57
|
"
|
|
58
58
|
:hint="
|
|
59
59
|
$t(
|
|
60
|
-
'windward.integrations.components.external_integration.driver.lti1p1.
|
|
60
|
+
'windward.integrations.components.external_integration.driver.lti1p1.key_auto'
|
|
61
61
|
)
|
|
62
62
|
"
|
|
63
63
|
></v-text-field>
|
|
@@ -72,12 +72,12 @@
|
|
|
72
72
|
"
|
|
73
73
|
:label="
|
|
74
74
|
$t(
|
|
75
|
-
'windward.integrations.components.external_integration.driver.lti1p1.
|
|
75
|
+
'windward.integrations.components.external_integration.driver.lti1p1.secret_auto'
|
|
76
76
|
)
|
|
77
77
|
"
|
|
78
78
|
:hint="
|
|
79
79
|
$t(
|
|
80
|
-
'windward.integrations.components.external_integration.driver.lti1p1.
|
|
80
|
+
'windward.integrations.components.external_integration.driver.lti1p1.secret_auto'
|
|
81
81
|
)
|
|
82
82
|
"
|
|
83
83
|
>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<
|
|
3
|
+
<DialogBox
|
|
4
4
|
color="primary"
|
|
5
5
|
action-save
|
|
6
6
|
action-save-new
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<template #form="{ on, attrs }"
|
|
16
16
|
><ManageProvider v-bind="attrs" v-on="on"></ManageProvider
|
|
17
17
|
></template>
|
|
18
|
-
</
|
|
18
|
+
</DialogBox>
|
|
19
19
|
|
|
20
20
|
<v-data-table
|
|
21
21
|
:headers="headers"
|
|
@@ -63,33 +63,55 @@
|
|
|
63
63
|
{{ $d(new Date(item.created_at), 'short') }}
|
|
64
64
|
</template>
|
|
65
65
|
<template #[`item.actions`]="{ index, item }">
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
<SpeedDial
|
|
67
|
+
direction="left"
|
|
68
|
+
color="primary"
|
|
69
|
+
transition="slide-x-reverse-transition"
|
|
70
|
+
>
|
|
71
|
+
<v-btn
|
|
72
|
+
color="error"
|
|
73
|
+
outlined
|
|
74
|
+
class="outlined"
|
|
75
|
+
@click="onConfirmDelete(item)"
|
|
76
|
+
>
|
|
77
|
+
{{ $t('shared.forms.delete') }}
|
|
74
78
|
<span class="sr-only">{{
|
|
79
|
+
$t('shared.forms.delete')
|
|
80
|
+
}}</span>
|
|
81
|
+
</v-btn>
|
|
82
|
+
<DialogBox
|
|
83
|
+
color="primary"
|
|
84
|
+
outlined
|
|
85
|
+
:class-prop="'outlined'"
|
|
86
|
+
action-save
|
|
87
|
+
@click:save="onSaved"
|
|
88
|
+
>
|
|
89
|
+
<template #title>{{
|
|
75
90
|
$t(
|
|
76
91
|
'windward.integrations.components.external_integration.driver.lti1p1.edit'
|
|
77
92
|
)
|
|
78
|
-
}}</
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
}}</template>
|
|
94
|
+
<template #trigger>
|
|
95
|
+
{{
|
|
96
|
+
$t(
|
|
97
|
+
'windward.integrations.components.external_integration.driver.lti1p1.edit_display'
|
|
98
|
+
)
|
|
99
|
+
}}
|
|
100
|
+
<span class="sr-only">{{
|
|
101
|
+
$t(
|
|
102
|
+
'windward.integrations.components.external_integration.driver.lti1p1.edit'
|
|
103
|
+
)
|
|
104
|
+
}}</span>
|
|
105
|
+
</template>
|
|
106
|
+
<template #form="{ on, attrs }"
|
|
107
|
+
><ManageProvider
|
|
108
|
+
v-model="providers[index]"
|
|
109
|
+
v-bind="attrs"
|
|
110
|
+
v-on="on"
|
|
111
|
+
></ManageProvider
|
|
112
|
+
></template>
|
|
113
|
+
</DialogBox>
|
|
114
|
+
</SpeedDial>
|
|
93
115
|
</template>
|
|
94
116
|
</v-data-table>
|
|
95
117
|
</div>
|
|
@@ -102,13 +124,20 @@ import LtiProvider from '../../../../models/ExternalIntegration/LtiProvider'
|
|
|
102
124
|
import SecretField from '../../../SecretField.vue'
|
|
103
125
|
import ProviderTargetViewer from '../../ProviderTargetViewer.vue'
|
|
104
126
|
import ManageProvider from './ManageProvider.vue'
|
|
105
|
-
import
|
|
127
|
+
import DialogBox from '~/components/DialogBox.vue'
|
|
106
128
|
import Organization from '~/models/Organization'
|
|
107
129
|
import Course from '~/models/Course'
|
|
130
|
+
import SpeedDial from '~/components/SpeedDial.vue'
|
|
108
131
|
|
|
109
132
|
export default {
|
|
110
133
|
name: 'ManageLti1p1ProvidersDriver',
|
|
111
|
-
components: {
|
|
134
|
+
components: {
|
|
135
|
+
SecretField,
|
|
136
|
+
DialogBox,
|
|
137
|
+
ManageProvider,
|
|
138
|
+
ProviderTargetViewer,
|
|
139
|
+
SpeedDial,
|
|
140
|
+
},
|
|
112
141
|
data() {
|
|
113
142
|
return {
|
|
114
143
|
providers: [],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<
|
|
3
|
+
<DialogBox
|
|
4
4
|
color="primary"
|
|
5
5
|
action-save
|
|
6
6
|
action-save-new
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<template #form="{ on, attrs }"
|
|
20
20
|
><ManageConsumer v-bind="attrs" v-on="on"></ManageConsumer
|
|
21
21
|
></template>
|
|
22
|
-
</
|
|
22
|
+
</DialogBox>
|
|
23
23
|
|
|
24
24
|
<v-data-table
|
|
25
25
|
:headers="headers"
|
|
@@ -44,55 +44,77 @@
|
|
|
44
44
|
{{ $d(new Date(item.created_at), 'long') }}
|
|
45
45
|
</template>
|
|
46
46
|
<template #[`item.actions`]="{ index, item }">
|
|
47
|
-
<
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
<SpeedDial
|
|
48
|
+
direction="left"
|
|
49
|
+
color="primary"
|
|
50
|
+
transition="slide-x-reverse-transition"
|
|
51
|
+
>
|
|
52
|
+
<v-btn
|
|
53
|
+
color="error"
|
|
54
|
+
outlined
|
|
55
|
+
class="outlined"
|
|
56
|
+
@click="onConfirmDelete(item)"
|
|
57
|
+
>
|
|
58
|
+
{{ $t('shared.forms.delete') }}
|
|
55
59
|
<span class="sr-only">{{
|
|
60
|
+
$t('shared.forms.delete')
|
|
61
|
+
}}</span>
|
|
62
|
+
</v-btn>
|
|
63
|
+
<DialogBox
|
|
64
|
+
color="primary"
|
|
65
|
+
outlined
|
|
66
|
+
:class-prop="'outlined'"
|
|
67
|
+
>
|
|
68
|
+
<template #title>{{
|
|
56
69
|
$t(
|
|
57
70
|
'windward.integrations.components.external_integration.driver.lti1p3.view'
|
|
58
71
|
)
|
|
59
|
-
}}</
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
72
|
+
}}</template>
|
|
73
|
+
<template #trigger>
|
|
74
|
+
<v-icon small>mdi-eye-outline</v-icon>
|
|
75
|
+
<span class="sr-only">{{
|
|
76
|
+
$t(
|
|
77
|
+
'windward.integrations.components.external_integration.driver.lti1p3.view'
|
|
78
|
+
)
|
|
79
|
+
}}</span>
|
|
80
|
+
</template>
|
|
81
|
+
<template #form="{ on, attrs }"
|
|
82
|
+
><ViewConsumer
|
|
83
|
+
v-model="consumers[index]"
|
|
84
|
+
v-bind="attrs"
|
|
85
|
+
v-on="on"
|
|
86
|
+
></ViewConsumer
|
|
87
|
+
></template>
|
|
88
|
+
</DialogBox>
|
|
89
|
+
<DialogBox
|
|
90
|
+
color="primary"
|
|
91
|
+
outlined
|
|
92
|
+
:class-prop="'outlined'"
|
|
93
|
+
action-save
|
|
94
|
+
@click:save="onSaved"
|
|
95
|
+
>
|
|
96
|
+
<template #title>{{
|
|
78
97
|
$t(
|
|
79
98
|
'windward.integrations.components.external_integration.driver.lti1p3.edit'
|
|
80
99
|
)
|
|
81
|
-
}}</
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
100
|
+
}}</template>
|
|
101
|
+
<template #trigger>
|
|
102
|
+
<v-icon small>mdi-pencil</v-icon>
|
|
103
|
+
<span class="sr-only">{{
|
|
104
|
+
$t(
|
|
105
|
+
'windward.integrations.components.external_integration.driver.lti1p3.edit'
|
|
106
|
+
)
|
|
107
|
+
}}</span>
|
|
108
|
+
</template>
|
|
109
|
+
<template #form="{ on, attrs }"
|
|
110
|
+
><ManageConsumer
|
|
111
|
+
v-model="consumers[index]"
|
|
112
|
+
v-bind="attrs"
|
|
113
|
+
v-on="on"
|
|
114
|
+
></ManageConsumer
|
|
115
|
+
></template>
|
|
116
|
+
</DialogBox>
|
|
117
|
+
</SpeedDial>
|
|
96
118
|
</template>
|
|
97
119
|
</v-data-table>
|
|
98
120
|
</div>
|
|
@@ -106,11 +128,12 @@ import ManageConsumer from './ManageConsumer.vue'
|
|
|
106
128
|
import ViewConsumer from './ViewConsumer.vue'
|
|
107
129
|
import Course from '~/models/Course'
|
|
108
130
|
import Organization from '~/models/Organization'
|
|
109
|
-
import
|
|
131
|
+
import DialogBox from '~/components/DialogBox.vue'
|
|
132
|
+
import SpeedDial from '~/components/SpeedDial.vue'
|
|
110
133
|
|
|
111
134
|
export default {
|
|
112
135
|
name: 'ManageLti1p1ConsumersDriver',
|
|
113
|
-
components: {
|
|
136
|
+
components: { DialogBox, ManageConsumer, ViewConsumer, SpeedDial },
|
|
114
137
|
data() {
|
|
115
138
|
return {
|
|
116
139
|
consumers: [],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
|
-
<
|
|
3
|
+
<DialogBox
|
|
4
4
|
color="primary"
|
|
5
5
|
action-save
|
|
6
6
|
action-save-new
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<template #form="{ on, attrs }"
|
|
16
16
|
><ManageProvider v-bind="attrs" v-on="on"></ManageProvider
|
|
17
17
|
></template>
|
|
18
|
-
</
|
|
18
|
+
</DialogBox>
|
|
19
19
|
|
|
20
20
|
<v-data-table
|
|
21
21
|
:headers="headers"
|
|
@@ -69,33 +69,51 @@
|
|
|
69
69
|
{{ $d(new Date(item.created_at), 'short') }}
|
|
70
70
|
</template>
|
|
71
71
|
<template #[`item.actions`]="{ index, item }">
|
|
72
|
-
<
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
72
|
+
<SpeedDial
|
|
73
|
+
direction="left"
|
|
74
|
+
color="primary"
|
|
75
|
+
transition="slide-x-reverse-transition"
|
|
76
|
+
>
|
|
77
|
+
<v-btn
|
|
78
|
+
color="error"
|
|
79
|
+
outlined
|
|
80
|
+
class="outlined"
|
|
81
|
+
@click="onConfirmDelete(item)"
|
|
82
|
+
>
|
|
83
|
+
{{ $t('shared.forms.delete') }}
|
|
80
84
|
<span class="sr-only">{{
|
|
85
|
+
$t('shared.forms.delete')
|
|
86
|
+
}}</span>
|
|
87
|
+
</v-btn>
|
|
88
|
+
<DialogBox
|
|
89
|
+
color="primary"
|
|
90
|
+
outlined
|
|
91
|
+
:class-prop="'outlined'"
|
|
92
|
+
action-save
|
|
93
|
+
@click:save="onSaved"
|
|
94
|
+
>
|
|
95
|
+
<template #title>{{
|
|
81
96
|
$t(
|
|
82
97
|
'windward.integrations.components.external_integration.driver.lti1p3.edit'
|
|
83
98
|
)
|
|
84
|
-
}}</
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
}}</template>
|
|
100
|
+
<template #trigger>
|
|
101
|
+
{{ $t('shared.forms.edit') }}
|
|
102
|
+
<span class="sr-only">{{
|
|
103
|
+
$t(
|
|
104
|
+
'windward.integrations.components.external_integration.driver.lti1p3.edit'
|
|
105
|
+
)
|
|
106
|
+
}}</span>
|
|
107
|
+
</template>
|
|
108
|
+
<template #form="{ on, attrs }"
|
|
109
|
+
><ManageProvider
|
|
110
|
+
v-model="providers[index]"
|
|
111
|
+
v-bind="attrs"
|
|
112
|
+
v-on="on"
|
|
113
|
+
></ManageProvider
|
|
114
|
+
></template>
|
|
115
|
+
</DialogBox>
|
|
116
|
+
</SpeedDial>
|
|
99
117
|
</template>
|
|
100
118
|
</v-data-table>
|
|
101
119
|
</div>
|
|
@@ -108,13 +126,20 @@ import LtiProvider from '../../../../models/ExternalIntegration/LtiProvider'
|
|
|
108
126
|
import SecretField from '../../../SecretField.vue'
|
|
109
127
|
import ProviderTargetViewer from '../../ProviderTargetViewer.vue'
|
|
110
128
|
import ManageProvider from './ManageProvider.vue'
|
|
111
|
-
import
|
|
129
|
+
import DialogBox from '~/components/DialogBox.vue'
|
|
112
130
|
import Organization from '~/models/Organization'
|
|
113
131
|
import Course from '~/models/Course'
|
|
132
|
+
import SpeedDial from '~/components/SpeedDial.vue'
|
|
114
133
|
|
|
115
134
|
export default {
|
|
116
135
|
name: 'ManageLti1p1ProvidersDriver',
|
|
117
|
-
components: {
|
|
136
|
+
components: {
|
|
137
|
+
SecretField,
|
|
138
|
+
DialogBox,
|
|
139
|
+
ManageProvider,
|
|
140
|
+
ProviderTargetViewer,
|
|
141
|
+
SpeedDial,
|
|
142
|
+
},
|
|
118
143
|
data() {
|
|
119
144
|
return {
|
|
120
145
|
providers: [],
|
|
@@ -144,10 +144,10 @@ export default {
|
|
|
144
144
|
targetType === 'locked_course_content' ||
|
|
145
145
|
targetType === 'locked_course_content_children')
|
|
146
146
|
) {
|
|
147
|
-
url = `/course/${this.course.id}/content/${this.selectedContent.id}`
|
|
147
|
+
url = `/course/${this.course.id}/section/{section.id}/content/${this.selectedContent.id}`
|
|
148
148
|
this.provider.course_content_id = this.selectedContent.id
|
|
149
149
|
} else if (targetType === 'course') {
|
|
150
|
-
url = `/course/${this.course.id}
|
|
150
|
+
url = `/course/${this.course.id}/section/{section.id}`
|
|
151
151
|
this.provider.course_content_id = null
|
|
152
152
|
}
|
|
153
153
|
this.provider.target = url
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<v-list-item-title>{{ $t(importVendor.i18n) }}</v-list-item-title>
|
|
12
12
|
</v-list-item>
|
|
13
13
|
|
|
14
|
-
<
|
|
14
|
+
<DialogBox
|
|
15
15
|
v-model="showDialog"
|
|
16
16
|
:trigger="false"
|
|
17
17
|
persistent
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
@uploaded="$emit('uploaded', $event)"
|
|
32
32
|
></component>
|
|
33
33
|
</template>
|
|
34
|
-
</
|
|
34
|
+
</DialogBox>
|
|
35
35
|
</div>
|
|
36
36
|
</template>
|
|
37
37
|
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
import _ from 'lodash'
|
|
40
40
|
import { mapGetters } from 'vuex'
|
|
41
41
|
import Organization from '../../models/Organization'
|
|
42
|
-
import
|
|
42
|
+
import DialogBox from '~/components/DialogBox.vue'
|
|
43
43
|
|
|
44
44
|
export default {
|
|
45
45
|
name: 'FileImportMenu',
|
|
46
|
-
components: {
|
|
46
|
+
components: { DialogBox },
|
|
47
47
|
props: {
|
|
48
48
|
metadata: {
|
|
49
49
|
type: Object,
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
</td>
|
|
128
128
|
<td>{{ $d(new Date(item.created_at), 'long') }}</td>
|
|
129
129
|
<td>
|
|
130
|
-
<
|
|
130
|
+
<DialogBox color="primary" outlined>
|
|
131
131
|
<template #trigger>
|
|
132
132
|
<v-icon>mdi-note-search</v-icon>
|
|
133
133
|
</template>
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
v-on="on"
|
|
144
144
|
></JobLog>
|
|
145
145
|
</template>
|
|
146
|
-
</
|
|
146
|
+
</DialogBox>
|
|
147
147
|
</td>
|
|
148
148
|
</tr>
|
|
149
149
|
</tbody>
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
<v-list-item-title>
|
|
8
8
|
{{ $t(config.i18n) }}
|
|
9
9
|
</v-list-item-title>
|
|
10
|
-
<
|
|
10
|
+
<DialogBox v-model="dialog" color="primary" text :trigger="false">
|
|
11
11
|
<template #title>{{ $t(config.i18n) }}</template>
|
|
12
12
|
<template #form="{ on, attrs }">
|
|
13
13
|
<JobLog :id="jobId" v-bind="attrs" v-on="on"></JobLog>
|
|
14
14
|
</template>
|
|
15
|
-
</
|
|
15
|
+
</DialogBox>
|
|
16
16
|
</v-list-item-content>
|
|
17
17
|
</v-list-item>
|
|
18
18
|
</template>
|
|
@@ -105,7 +105,7 @@ export default class IntegrationHelper {
|
|
|
105
105
|
return new Driver()
|
|
106
106
|
} else {
|
|
107
107
|
throw new TypeError(
|
|
108
|
-
`Could not determine
|
|
108
|
+
`Could not determine integration driver for product code '${settings.vendor.product_code}' of id '${_vendorId}'`
|
|
109
109
|
)
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -132,7 +132,7 @@ export default class IntegrationHelper {
|
|
|
132
132
|
return settings
|
|
133
133
|
} else {
|
|
134
134
|
throw new TypeError(
|
|
135
|
-
`Could not determine vendor driver for
|
|
135
|
+
`Could not determine vendor driver for product code '${vendorModel.product_code}' of id '${_vendorId}'`
|
|
136
136
|
)
|
|
137
137
|
}
|
|
138
138
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
key: 'Key',
|
|
3
3
|
secret: 'Secret',
|
|
4
|
+
key_auto: 'Key (Autogenerated)',
|
|
5
|
+
secret_auto: 'Secret (Autogenerated)',
|
|
4
6
|
parameter_name: 'Custom Parameter Name',
|
|
5
7
|
value: 'Value',
|
|
6
8
|
auto_key: 'Leave empty for autogenerated key',
|
|
@@ -11,4 +13,5 @@ export default {
|
|
|
11
13
|
new_secret: 'New Secret',
|
|
12
14
|
new: 'New LTI Link',
|
|
13
15
|
edit: 'Edit LTI Link',
|
|
16
|
+
edit_display: 'Edit',
|
|
14
17
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
key: 'Clave',
|
|
3
3
|
secret: 'Secreto',
|
|
4
|
+
key_auto: 'Clave (generada automáticamente)',
|
|
5
|
+
secret_auto: 'Secreto (autogenerado)',
|
|
4
6
|
parameter_name: 'Nombre de parámetro personalizado',
|
|
5
7
|
value: 'Valor',
|
|
6
8
|
auto_key: 'Dejar vacío para la clave generada automáticamente',
|
|
@@ -11,4 +13,5 @@ export default {
|
|
|
11
13
|
new_secret: 'Nuevo secreto',
|
|
12
14
|
new: 'Nuevo enlace LTI',
|
|
13
15
|
edit: 'Editar enlace LTI',
|
|
16
|
+
edit_display: 'Editar',
|
|
14
17
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
key: 'Nyckel',
|
|
3
3
|
secret: 'Secret',
|
|
4
|
+
key_auto: 'Nyckel (autogenererad)',
|
|
5
|
+
secret_auto: 'Hemlighet (autogenererad)',
|
|
4
6
|
parameter_name: 'Anpassat parameternamn',
|
|
5
7
|
value: 'Värde',
|
|
6
8
|
auto_key: 'Lämna tomt för autogenererad nyckel',
|
|
@@ -11,4 +13,5 @@ export default {
|
|
|
11
13
|
new_secret: 'Ny hemlighet',
|
|
12
14
|
new: 'Ny LTI-länk',
|
|
13
15
|
edit: 'Redigera LTI-länk',
|
|
16
|
+
edit_display: 'Redigera',
|
|
14
17
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@windward/integrations",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Windward UI Plugin Integrations for 3rd Party Systems",
|
|
5
5
|
"main": "plugin.js",
|
|
6
6
|
"scripts": {
|
|
@@ -12,7 +12,12 @@
|
|
|
12
12
|
"type": "git",
|
|
13
13
|
"url": "git+ssh://git@bitbucket.org:mindedge/windward-ui-plugin-integrations.git"
|
|
14
14
|
},
|
|
15
|
-
"author": "Jacob Rogaishio",
|
|
15
|
+
"author": "Jacob Rogaishio <jrogaishio@mindedge.com>",
|
|
16
|
+
"contributors": [
|
|
17
|
+
"Jacob Rogaishio <jrogaishio@mindedge.com>",
|
|
18
|
+
"Ted Celestin <tcelestin@mindedge.com>",
|
|
19
|
+
"Christina Passafaro <cpassafaro@mindedge.com>"
|
|
20
|
+
],
|
|
16
21
|
"license": "MIT",
|
|
17
22
|
"homepage": "https://bitbucket.org/mindedge/windward-ui-plugin-integrations#readme",
|
|
18
23
|
"dependencies": {
|
package/pages/admin/vendors.vue
CHANGED
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
</template>
|
|
126
126
|
</v-simple-table>
|
|
127
127
|
|
|
128
|
-
<
|
|
128
|
+
<DialogBox v-model="manageDialog" :trigger="false" action-save>
|
|
129
129
|
<template #title>{{
|
|
130
130
|
$t(
|
|
131
131
|
'windward.integrations.components.integration.driver.' +
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
@update:integration="onUpdateIntegration"
|
|
143
143
|
></component>
|
|
144
144
|
</template>
|
|
145
|
-
</
|
|
145
|
+
</DialogBox>
|
|
146
146
|
</v-col>
|
|
147
147
|
</v-row>
|
|
148
148
|
</div>
|
|
@@ -151,14 +151,14 @@
|
|
|
151
151
|
<script>
|
|
152
152
|
import _ from 'lodash'
|
|
153
153
|
import { mapGetters } from 'vuex'
|
|
154
|
-
import Breadcrumbs from '~/components/Breadcrumbs.vue'
|
|
155
|
-
import Dialog from '~/components/Dialog.vue'
|
|
156
154
|
import Organization from '../../models/Organization'
|
|
157
155
|
import IntegrationJobTable from '../../components/Integration/JobTable.vue'
|
|
156
|
+
import Breadcrumbs from '~/components/Breadcrumbs.vue'
|
|
157
|
+
import DialogBox from '~/components/DialogBox.vue'
|
|
158
158
|
|
|
159
159
|
export default {
|
|
160
160
|
name: 'PluginIntegrationsAdminVendorsPage',
|
|
161
|
-
components: {
|
|
161
|
+
components: { DialogBox, IntegrationJobTable, Breadcrumbs },
|
|
162
162
|
layout: 'authenticated',
|
|
163
163
|
meta: {
|
|
164
164
|
privilege: {
|