@windward/integrations 0.1.0 → 0.2.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.
Files changed (93) hide show
  1. package/components/Content/Blocks/ExternalIntegration/LtiConsumer.vue +4 -4
  2. package/components/ExternalIntegration/Driver/Lti1p1/ManageConsumers.vue +6 -6
  3. package/components/ExternalIntegration/Driver/Lti1p1/ManageProviders.vue +11 -6
  4. package/components/ExternalIntegration/Driver/Lti1p3/ManageConsumers.vue +8 -8
  5. package/components/ExternalIntegration/Driver/Lti1p3/ManageProviders.vue +11 -6
  6. package/components/FileImport/FileImportMenu.vue +4 -4
  7. package/components/Integration/Driver/ManageAtutor.vue +7 -13
  8. package/components/Integration/Driver/ManageBase.vue +0 -7
  9. package/components/Integration/Driver/ManageResourcespace.vue +6 -0
  10. package/components/Integration/JobLog.vue +4 -3
  11. package/components/Integration/JobTable.vue +2 -2
  12. package/components/Navigation/Items/CourseJobLog.vue +2 -2
  13. package/i18n/en-US/components/integration/driver.ts +2 -2
  14. package/i18n/es-ES/components/content/blocks/external_integration/index.ts +5 -0
  15. package/i18n/es-ES/components/content/blocks/external_integration/lti_consumer.ts +17 -0
  16. package/i18n/es-ES/components/content/blocks/index.ts +5 -0
  17. package/i18n/es-ES/components/content/index.ts +5 -0
  18. package/i18n/es-ES/components/external_integration/driver/lti1p1.ts +14 -0
  19. package/i18n/es-ES/components/external_integration/driver/lti1p3.ts +23 -0
  20. package/i18n/es-ES/components/external_integration/index.ts +31 -0
  21. package/i18n/es-ES/components/external_integration/provider_target.ts +9 -0
  22. package/i18n/es-ES/components/file_import/index.ts +5 -0
  23. package/i18n/es-ES/components/file_import/resourcespace.ts +4 -0
  24. package/i18n/es-ES/components/index.ts +15 -0
  25. package/i18n/es-ES/components/integration/driver.ts +45 -0
  26. package/i18n/es-ES/components/integration/index.ts +9 -0
  27. package/i18n/es-ES/components/integration/job.ts +23 -0
  28. package/i18n/es-ES/components/integration/job_log.ts +24 -0
  29. package/i18n/es-ES/components/navigation/index.ts +5 -0
  30. package/i18n/es-ES/components/navigation/integrations.ts +8 -0
  31. package/i18n/es-ES/components/settings/external_integration/index.ts +5 -0
  32. package/i18n/es-ES/components/settings/external_integration/lti_consumer.ts +10 -0
  33. package/i18n/es-ES/components/settings/index.ts +5 -0
  34. package/i18n/es-ES/index.ts +16 -0
  35. package/i18n/es-ES/modules/index.ts +5 -0
  36. package/i18n/es-ES/pages/course/external_integration/index.ts +6 -0
  37. package/i18n/es-ES/pages/course/index.ts +5 -0
  38. package/i18n/es-ES/pages/importContent.ts +3 -0
  39. package/i18n/es-ES/pages/importCourse.ts +13 -0
  40. package/i18n/es-ES/pages/index.ts +13 -0
  41. package/i18n/es-ES/pages/login/index.ts +5 -0
  42. package/i18n/es-ES/pages/login/lti.ts +21 -0
  43. package/i18n/es-ES/pages/vendor.ts +11 -0
  44. package/i18n/es-ES/shared/content_blocks.ts +8 -0
  45. package/i18n/es-ES/shared/error.ts +10 -0
  46. package/i18n/es-ES/shared/file.ts +5 -0
  47. package/i18n/es-ES/shared/index.ts +15 -0
  48. package/i18n/es-ES/shared/menu.ts +3 -0
  49. package/i18n/es-ES/shared/permission.ts +31 -0
  50. package/i18n/es-ES/shared/settings.ts +5 -0
  51. package/i18n/index.ts +11 -0
  52. package/i18n/sv-SE/components/content/blocks/external_integration/index.ts +5 -0
  53. package/i18n/sv-SE/components/content/blocks/external_integration/lti_consumer.ts +17 -0
  54. package/i18n/sv-SE/components/content/blocks/index.ts +5 -0
  55. package/i18n/sv-SE/components/content/index.ts +5 -0
  56. package/i18n/sv-SE/components/external_integration/driver/lti1p1.ts +14 -0
  57. package/i18n/sv-SE/components/external_integration/driver/lti1p3.ts +22 -0
  58. package/i18n/sv-SE/components/external_integration/index.ts +31 -0
  59. package/i18n/sv-SE/components/external_integration/provider_target.ts +9 -0
  60. package/i18n/sv-SE/components/file_import/index.ts +5 -0
  61. package/i18n/sv-SE/components/file_import/resourcespace.ts +4 -0
  62. package/i18n/sv-SE/components/index.ts +15 -0
  63. package/i18n/sv-SE/components/integration/driver.ts +44 -0
  64. package/i18n/sv-SE/components/integration/index.ts +9 -0
  65. package/i18n/sv-SE/components/integration/job.ts +23 -0
  66. package/i18n/sv-SE/components/integration/job_log.ts +24 -0
  67. package/i18n/sv-SE/components/navigation/index.ts +5 -0
  68. package/i18n/sv-SE/components/navigation/integrations.ts +8 -0
  69. package/i18n/sv-SE/components/settings/external_integration/index.ts +5 -0
  70. package/i18n/sv-SE/components/settings/external_integration/lti_consumer.ts +10 -0
  71. package/i18n/sv-SE/components/settings/index.ts +5 -0
  72. package/i18n/sv-SE/index.ts +16 -0
  73. package/i18n/sv-SE/modules/index.ts +5 -0
  74. package/i18n/sv-SE/pages/course/external_integration/index.ts +6 -0
  75. package/i18n/sv-SE/pages/course/index.ts +5 -0
  76. package/i18n/sv-SE/pages/importContent.ts +3 -0
  77. package/i18n/sv-SE/pages/importCourse.ts +13 -0
  78. package/i18n/sv-SE/pages/index.ts +13 -0
  79. package/i18n/sv-SE/pages/login/index.ts +5 -0
  80. package/i18n/sv-SE/pages/login/lti.ts +21 -0
  81. package/i18n/sv-SE/pages/vendor.ts +11 -0
  82. package/i18n/sv-SE/shared/content_blocks.ts +8 -0
  83. package/i18n/sv-SE/shared/error.ts +9 -0
  84. package/i18n/sv-SE/shared/file.ts +5 -0
  85. package/i18n/sv-SE/shared/index.ts +15 -0
  86. package/i18n/sv-SE/shared/menu.ts +3 -0
  87. package/i18n/sv-SE/shared/permission.ts +31 -0
  88. package/i18n/sv-SE/shared/settings.ts +5 -0
  89. package/package.json +7 -2
  90. package/pages/admin/vendors.vue +5 -5
  91. package/plugin.js +3 -4
  92. package/test/Feature/LocaleKeys.spec.js +9 -0
  93. package/test/__mocks__/componentsMock.js +12 -0
@@ -80,7 +80,7 @@
80
80
  :name="frameId"
81
81
  class="launch-frame"
82
82
  ></iframe>
83
- <Dialog
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
- </Dialog>
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 Dialog from '~/components/Dialog.vue'
157
+ import DialogBox from '~/components/DialogBox.vue'
158
158
 
159
159
  export default {
160
160
  name: 'ContentBlockExternalIntegrationLti1p1Consumer',
161
- components: { TextViewer, Dialog },
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
- <Dialog
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
- </Dialog>
22
+ </DialogBox>
23
23
 
24
24
  <v-data-table
25
25
  :headers="headers"
@@ -44,7 +44,7 @@
44
44
  {{ $d(new Date(item.created_at), 'long') }}
45
45
  </template>
46
46
  <template #[`item.actions`]="{ index, item }">
47
- <Dialog color="primary" action-save @click:save="onSaved">
47
+ <DialogBox color="primary" action-save @click:save="onSaved">
48
48
  <template #title>{{
49
49
  $t(
50
50
  'windward.integrations.components.external_integration.driver.lti1p1.edit'
@@ -65,7 +65,7 @@
65
65
  v-on="on"
66
66
  ></ManageConsumer
67
67
  ></template>
68
- </Dialog>
68
+ </DialogBox>
69
69
 
70
70
  <v-btn icon>
71
71
  <v-icon @click="onConfirmDelete(item)"> mdi-delete </v-icon>
@@ -83,11 +83,11 @@ import LtiConsumer from '../../../../models/ExternalIntegration/LtiConsumer'
83
83
  import ManageConsumer from './ManageConsumer.vue'
84
84
  import Course from '~/models/Course'
85
85
  import Organization from '~/models/Organization'
86
- import Dialog from '~/components/Dialog.vue'
86
+ import DialogBox from '~/components/DialogBox.vue'
87
87
 
88
88
  export default {
89
89
  name: 'ManageLti1p1ConsumersDriver',
90
- components: { Dialog, ManageConsumer },
90
+ components: { DialogBox, ManageConsumer },
91
91
  data() {
92
92
  return {
93
93
  consumers: [],
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div>
3
- <Dialog
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
- </Dialog>
18
+ </DialogBox>
19
19
 
20
20
  <v-data-table
21
21
  :headers="headers"
@@ -63,7 +63,7 @@
63
63
  {{ $d(new Date(item.created_at), 'short') }}
64
64
  </template>
65
65
  <template #[`item.actions`]="{ index, item }">
66
- <Dialog color="primary" action-save @click:save="onSaved">
66
+ <DialogBox color="primary" action-save @click:save="onSaved">
67
67
  <template #title>{{
68
68
  $t(
69
69
  'windward.integrations.components.external_integration.driver.lti1p1.edit'
@@ -84,7 +84,7 @@
84
84
  v-on="on"
85
85
  ></ManageProvider
86
86
  ></template>
87
- </Dialog>
87
+ </DialogBox>
88
88
 
89
89
  <v-btn icon>
90
90
  <v-icon @click="onConfirmDelete(item)"> mdi-delete </v-icon>
@@ -102,13 +102,18 @@ import LtiProvider from '../../../../models/ExternalIntegration/LtiProvider'
102
102
  import SecretField from '../../../SecretField.vue'
103
103
  import ProviderTargetViewer from '../../ProviderTargetViewer.vue'
104
104
  import ManageProvider from './ManageProvider.vue'
105
- import Dialog from '~/components/Dialog.vue'
105
+ import DialogBox from '~/components/DialogBox.vue'
106
106
  import Organization from '~/models/Organization'
107
107
  import Course from '~/models/Course'
108
108
 
109
109
  export default {
110
110
  name: 'ManageLti1p1ProvidersDriver',
111
- components: { SecretField, Dialog, ManageProvider, ProviderTargetViewer },
111
+ components: {
112
+ SecretField,
113
+ DialogBox,
114
+ ManageProvider,
115
+ ProviderTargetViewer,
116
+ },
112
117
  data() {
113
118
  return {
114
119
  providers: [],
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div>
3
- <Dialog
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
- </Dialog>
22
+ </DialogBox>
23
23
 
24
24
  <v-data-table
25
25
  :headers="headers"
@@ -44,7 +44,7 @@
44
44
  {{ $d(new Date(item.created_at), 'long') }}
45
45
  </template>
46
46
  <template #[`item.actions`]="{ index, item }">
47
- <Dialog color="primary">
47
+ <DialogBox color="primary">
48
48
  <template #title>{{
49
49
  $t(
50
50
  'windward.integrations.components.external_integration.driver.lti1p3.view'
@@ -65,8 +65,8 @@
65
65
  v-on="on"
66
66
  ></ViewConsumer
67
67
  ></template>
68
- </Dialog>
69
- <Dialog color="primary" action-save @click:save="onSaved">
68
+ </DialogBox>
69
+ <DialogBox color="primary" action-save @click:save="onSaved">
70
70
  <template #title>{{
71
71
  $t(
72
72
  'windward.integrations.components.external_integration.driver.lti1p3.edit'
@@ -87,7 +87,7 @@
87
87
  v-on="on"
88
88
  ></ManageConsumer
89
89
  ></template>
90
- </Dialog>
90
+ </DialogBox>
91
91
 
92
92
  <v-btn icon>
93
93
  <v-icon @click="onConfirmDelete(item)"> mdi-delete </v-icon>
@@ -106,11 +106,11 @@ import ManageConsumer from './ManageConsumer.vue'
106
106
  import ViewConsumer from './ViewConsumer.vue'
107
107
  import Course from '~/models/Course'
108
108
  import Organization from '~/models/Organization'
109
- import Dialog from '~/components/Dialog.vue'
109
+ import DialogBox from '~/components/DialogBox.vue'
110
110
 
111
111
  export default {
112
112
  name: 'ManageLti1p1ConsumersDriver',
113
- components: { Dialog, ManageConsumer, ViewConsumer },
113
+ components: { DialogBox, ManageConsumer, ViewConsumer },
114
114
  data() {
115
115
  return {
116
116
  consumers: [],
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div>
3
- <Dialog
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
- </Dialog>
18
+ </DialogBox>
19
19
 
20
20
  <v-data-table
21
21
  :headers="headers"
@@ -69,7 +69,7 @@
69
69
  {{ $d(new Date(item.created_at), 'short') }}
70
70
  </template>
71
71
  <template #[`item.actions`]="{ index, item }">
72
- <Dialog color="primary" action-save @click:save="onSaved">
72
+ <DialogBox color="primary" action-save @click:save="onSaved">
73
73
  <template #title>{{
74
74
  $t(
75
75
  'windward.integrations.components.external_integration.driver.lti1p3.edit'
@@ -90,7 +90,7 @@
90
90
  v-on="on"
91
91
  ></ManageProvider
92
92
  ></template>
93
- </Dialog>
93
+ </DialogBox>
94
94
 
95
95
  <v-btn icon>
96
96
  <v-icon @click="onConfirmDelete(item)"> mdi-delete </v-icon>
@@ -108,13 +108,18 @@ import LtiProvider from '../../../../models/ExternalIntegration/LtiProvider'
108
108
  import SecretField from '../../../SecretField.vue'
109
109
  import ProviderTargetViewer from '../../ProviderTargetViewer.vue'
110
110
  import ManageProvider from './ManageProvider.vue'
111
- import Dialog from '~/components/Dialog.vue'
111
+ import DialogBox from '~/components/DialogBox.vue'
112
112
  import Organization from '~/models/Organization'
113
113
  import Course from '~/models/Course'
114
114
 
115
115
  export default {
116
116
  name: 'ManageLti1p1ProvidersDriver',
117
- components: { SecretField, Dialog, ManageProvider, ProviderTargetViewer },
117
+ components: {
118
+ SecretField,
119
+ DialogBox,
120
+ ManageProvider,
121
+ ProviderTargetViewer,
122
+ },
118
123
  data() {
119
124
  return {
120
125
  providers: [],
@@ -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
- <Dialog
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
- </Dialog>
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 Dialog from '~/components/Dialog.vue'
42
+ import DialogBox from '~/components/DialogBox.vue'
43
43
 
44
44
  export default {
45
45
  name: 'FileImportMenu',
46
- components: { Dialog },
46
+ components: { DialogBox },
47
47
  props: {
48
48
  metadata: {
49
49
  type: Object,
@@ -16,6 +16,7 @@
16
16
  />
17
17
 
18
18
  <v-text-field
19
+ id="atutor-url"
19
20
  ref="atutor_url"
20
21
  v-model="integration.metadata.config.url"
21
22
  :label="
@@ -28,17 +29,20 @@
28
29
  'windward.integrations.components.integration.driver.atutor.url_hint'
29
30
  )
30
31
  "
31
- :rules="urlValidation"
32
+ :rules="validation.urlRules"
32
33
  ></v-text-field>
33
34
  <v-text-field
35
+ id="atutor-username"
34
36
  v-model="integration.metadata.config.username"
35
37
  :label="
36
38
  $t(
37
39
  'windward.integrations.components.integration.driver.atutor.username'
38
40
  )
39
41
  "
42
+ :rules="validation.existsRules"
40
43
  ></v-text-field>
41
44
  <v-text-field
45
+ id="atutor-password"
42
46
  v-model="integration.metadata.config.password"
43
47
  :label="
44
48
  $t(
@@ -46,6 +50,7 @@
46
50
  )
47
51
  "
48
52
  type="password"
53
+ :rules="validation.existsRules"
49
54
  ></v-text-field>
50
55
 
51
56
  <v-text-field
@@ -61,7 +66,7 @@
61
66
  'windward.integrations.components.integration.driver.atutor.aws_secure_url_hint'
62
67
  )
63
68
  "
64
- :rules="urlValidation"
69
+ :rules="validation.urlRules"
65
70
  ></v-text-field>
66
71
 
67
72
  <v-switch
@@ -104,17 +109,6 @@ export default {
104
109
  // integration: { metadata: {...} } The integration object to write to. Defined and loaded in ManageBase.vue
105
110
  errorMessage: '',
106
111
  testConnectionLoading: false,
107
- urlValidation: [
108
- (value) => {
109
- if (value && value.slice(-1) === '/') {
110
- return this.$t(
111
- 'windward.integrations.components.integration.driver.remove_slash'
112
- )
113
- } else {
114
- return true
115
- }
116
- },
117
- ],
118
112
  }
119
113
  },
120
114
  methods: {
@@ -13,13 +13,6 @@ export default {
13
13
  vendor: { type: Object, required: true, default: null },
14
14
  },
15
15
  emits: ['update:integration'],
16
- meta: {
17
- privilege: {
18
- '': {
19
- writable: true,
20
- },
21
- },
22
- },
23
16
  data() {
24
17
  return {
25
18
  render: false,
@@ -16,6 +16,7 @@
16
16
  />
17
17
 
18
18
  <v-text-field
19
+ id="resourcespace-url"
19
20
  v-model="integration.metadata.config.url"
20
21
  :label="
21
22
  $t(
@@ -27,16 +28,20 @@
27
28
  'windward.integrations.components.integration.driver.resourcespace.url_hint'
28
29
  )
29
30
  "
31
+ :rules="validation.urlRules"
30
32
  ></v-text-field>
31
33
  <v-text-field
34
+ id="resourcespace-username"
32
35
  v-model="integration.metadata.config.username"
33
36
  :label="
34
37
  $t(
35
38
  'windward.integrations.components.integration.driver.resourcespace.username'
36
39
  )
37
40
  "
41
+ :rules="validation.existsRules"
38
42
  ></v-text-field>
39
43
  <v-text-field
44
+ id="resourcespace-key"
40
45
  v-model="integration.metadata.config.key"
41
46
  :label="
42
47
  $t(
@@ -44,6 +49,7 @@
44
49
  )
45
50
  "
46
51
  type="password"
52
+ :rules="validation.existsRules"
47
53
  ></v-text-field>
48
54
 
49
55
  <v-switch
@@ -268,6 +268,9 @@ export default {
268
268
  ],
269
269
  }
270
270
  },
271
+ async fetch() {
272
+ await this.loadLog()
273
+ },
271
274
  computed: {
272
275
  ...mapGetters({
273
276
  organization: 'organization/get',
@@ -376,9 +379,7 @@ export default {
376
379
  }
377
380
  },
378
381
  },
379
- mounted() {
380
- this.loadLog()
381
- },
382
+ mounted() {},
382
383
  methods: {
383
384
  async loadLog() {
384
385
  this.job = {}
@@ -127,7 +127,7 @@
127
127
  </td>
128
128
  <td>{{ $d(new Date(item.created_at), 'long') }}</td>
129
129
  <td>
130
- <Dialog color="primary" outlined>
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
- </Dialog>
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
- <Dialog v-model="dialog" color="primary" text :trigger="false">
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
- </Dialog>
15
+ </DialogBox>
16
16
  </v-list-item-content>
17
17
  </v-list-item>
18
18
  </template>
@@ -2,11 +2,11 @@ export default {
2
2
  atutor: {
3
3
  manage_dialog_title: 'Manage ATutor Integration',
4
4
  url: 'ATutor API Url',
5
- url_hint: 'Eg: https://atutor.mindedgecollege.com',
5
+ url_hint: 'Eg: https://courses.mindedgeonline.com',
6
6
  username: 'Username',
7
7
  password: 'Password',
8
8
  aws_secure_url: 'AWS CDN Url',
9
- aws_secure_url_hint: 'Eg: https://cdn-d.mindedgecollege.com',
9
+ aws_secure_url_hint: 'Eg: https://cdn-d.mindedgeonline.com',
10
10
  },
11
11
  remove_slash: 'Remove / at end of url',
12
12
  atutor_wgu: {
@@ -0,0 +1,5 @@
1
+ import ltiConsumer from './lti_consumer'
2
+
3
+ export default {
4
+ lti_consumer: ltiConsumer,
5
+ }
@@ -0,0 +1,17 @@
1
+ export default {
2
+ title: 'LTI Consumer Block Title',
3
+ instructions:
4
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam fringilla ipsum eget ante tempus blandit. Maecenas vel massa\n' +
5
+ 'nec tellus vestibulum porttitor non a enim.',
6
+ launch: 'Launch',
7
+ goodbye: 'adjö',
8
+ launch_in_new_window: 'lansera {0} i ny flik',
9
+ launch_in_modal: 'lansera {0} i modal',
10
+ configure_warning:
11
+ 'Detta block måste konfigureras. Välj ett LTI-verktyg i inställningspanelen.',
12
+ no_access:
13
+ 'Du har inte behörighet att starta den här länken. Kontakta din systemadministratör.',
14
+ missing_tool: 'Verktygs-ID {0} saknas',
15
+ unknown_error: 'Något gick fel! Kunde inte starta den här länken!',
16
+ link_disabled: 'Länk inaktiverad',
17
+ }
@@ -0,0 +1,5 @@
1
+ import externalIntegration from './external_integration'
2
+
3
+ export default {
4
+ external_integration: externalIntegration,
5
+ }
@@ -0,0 +1,5 @@
1
+ import blocks from './blocks'
2
+
3
+ export default {
4
+ blocks,
5
+ }
@@ -0,0 +1,14 @@
1
+ export default {
2
+ key: 'Clave',
3
+ secret: 'Secreto',
4
+ parameter_name: 'Nombre de parámetro personalizado',
5
+ value: 'Valor',
6
+ auto_key: 'Dejar vacío para la clave generada automáticamente',
7
+ auto_secret: 'Dejar vacío para el secreto autogenerado',
8
+ change_key: 'Cambiar clave',
9
+ change_secret: 'Cambiar secreto',
10
+ new_key: 'Nueva clave',
11
+ new_secret: 'Nuevo secreto',
12
+ new: 'Nuevo enlace LTI',
13
+ edit: 'Editar enlace LTI',
14
+ }
@@ -0,0 +1,23 @@
1
+ export default {
2
+ key: 'Clave',
3
+ issuer: 'Emisor',
4
+ tool_public_keyset_url: 'URL del conjunto de claves de la herramienta',
5
+ tool_oidc_auth_endpoint: 'Herramienta OpenID Connect Endpoint',
6
+ login_hint: 'pista de inicio de sesión',
7
+ platform_id: 'Identificador de plataforma',
8
+ platform_name: 'Nombre de la plataforma',
9
+ platform_public_keyset_url: 'URL del conjunto de claves de la plataforma',
10
+ platform_oidc_auth_endpoint: 'Punto final de conexión OpenID de plataforma',
11
+ platform_oauth2_access_token_url:
12
+ 'URL del token de acceso a la plataforma OAuth2',
13
+ platform_oauth2_audience: 'Audiencia de plataforma Oauth2',
14
+ tool_client_id: 'ID de cliente de herramienta',
15
+ platform_deployment_id: 'ID de implementación',
16
+ enable_button_feedback:
17
+ '¡El enlace solo se puede habilitar una vez que se configuran el identificador del cliente de plataforma y las URL del conjunto de claves!',
18
+ parameter_name: 'Nombre de parámetro personalizado',
19
+ value: 'Valor',
20
+ new: 'Nuevo enlace LTI',
21
+ edit: 'Editar enlace LTI',
22
+ view: 'Ver detalles del enlace LTI',
23
+ }
@@ -0,0 +1,31 @@
1
+ import lti1p1 from './driver/lti1p1'
2
+ import lti1p3 from './driver/lti1p3'
3
+ import providerTarget from './provider_target'
4
+ export default {
5
+ driver: { lti1p1, lti1p3 },
6
+ provider_target: providerTarget,
7
+
8
+ provider_panel_title: 'Proveedor (Estudiantes que llegan a Windward)',
9
+ consumer_panel_title: 'Consumidor (Estudiantes que salen de Barlovento)',
10
+
11
+ target: 'Objetivo',
12
+ target_url: 'URL de destino',
13
+ launch_url: 'URL de inicio',
14
+
15
+ send_grades: 'Enviar calificaciones al LMS anfitrión',
16
+ grade_sync: 'Sincronización de calificaciones',
17
+ provider: 'Proveedor',
18
+ consumer: 'Consumidor',
19
+
20
+ role_map_panel: 'Mapa de roles',
21
+ role_in_host: 'Rol en el anfitrión LMS',
22
+ role_in_local: 'Papel en Barlovento',
23
+ remote_role: 'Nombre de función remota',
24
+ map_to_role: 'Mapa al rol de barlovento',
25
+ delete_role_map_item: 'Eliminar elemento del mapa de roles',
26
+ add_role_map_item: 'Agregar elemento de mapa de roles',
27
+ role_map_instructions:
28
+ 'Solo agregue roles al siguiente mapa si el LMS del host usa diferentes nombres de roles para los que desea permisos elevados. Por ejemplo, "Mentor" que desea elevar a "Instructor externo"',
29
+ role_map_warning:
30
+ 'Solo agregue roles al siguiente mapa si el LMS del host usa diferentes nombres de roles para los que desea permisos elevados. Por ejemplo, "Mentor" que desea elevar a "Instructor externo"',
31
+ }
@@ -0,0 +1,9 @@
1
+ export default {
2
+ name: 'Nombre del objetivo',
3
+ link_to: 'Enlace a',
4
+ included: 'Incluido',
5
+ whole_course: 'Curso completo',
6
+ whole_course_page: 'Elegir página de inicio del curso completo',
7
+ content_with_children: 'Contenido con páginas secundarias',
8
+ content_no_children: 'Página de contenido único',
9
+ }
@@ -0,0 +1,5 @@
1
+ import resourcespace from './resourcespace'
2
+
3
+ export default {
4
+ resourcespace,
5
+ }
@@ -0,0 +1,4 @@
1
+ export default {
2
+ resource_id: 'Id. de recurso',
3
+ load_error: 'Error al conectarse a Resourcespace',
4
+ }
@@ -0,0 +1,15 @@
1
+ import content from './content'
2
+ import settings from './settings'
3
+ import navigation from './navigation'
4
+ import integration from './integration'
5
+ import externalIntegration from './external_integration'
6
+ import fileImport from './file_import'
7
+
8
+ export default {
9
+ content,
10
+ settings,
11
+ navigation,
12
+ integration,
13
+ external_integration: externalIntegration,
14
+ file_import: fileImport,
15
+ }