aboutsummaryrefslogtreecommitdiff
path: root/resources/vue/mixins/courseware/export.js
diff options
context:
space:
mode:
Diffstat (limited to 'resources/vue/mixins/courseware/export.js')
-rw-r--r--resources/vue/mixins/courseware/export.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/resources/vue/mixins/courseware/export.js b/resources/vue/mixins/courseware/export.js
index f15c314..d4f6bd0 100644
--- a/resources/vue/mixins/courseware/export.js
+++ b/resources/vue/mixins/courseware/export.js
@@ -286,6 +286,7 @@ export default {
// export file data (if any)
if (block_ref.relationships['file-refs']?.links?.related) {
await this.exportFileRefs(block_ref.id);
+ await this.exportCustomFiles(block_ref.id);
}
delete block.relationships;
@@ -293,6 +294,34 @@ export default {
return block;
},
+ async exportCustomFiles(block_id) {
+ // load export data
+ let refs = []
+ try {
+ refs = await this.loadCustomFiles(block_id);
+ } catch(e) {
+ //TODO: Companion explains error
+ }
+
+ for (let ref_id in refs) {
+ console.log('custom-file-ref', refs[ref_id]);
+
+ let attributes = refs[ref_id].attributes;
+ delete attributes.content;
+
+ this.exportFiles.json.push({
+ 'id' : refs[ref_id].id,
+ 'attributes' : refs[ref_id].attributes,
+ 'related_block_id' : block_id,
+ 'type' : 'custom-file'
+ });
+
+ this.exportFiles.download[refs[ref_id].id] = {
+ url: refs[ref_id].meta['download-url']
+ };
+ }
+ },
+
async exportFileRefs(block_id) {
// load file-ref data
let refs = []
@@ -345,6 +374,7 @@ export default {
...mapActions([
'loadStructuralElement',
'loadFileRefs',
+ 'loadCustomFiles',
'loadFolder',
'companionInfo',
'setExportState',