support transcript in pdf
authorymh <ymh.work@gmail.com>
Sat, 03 Dec 2016 01:32:43 +0100
changeset 462 ebd8269781fa
parent 461 9b7a6c099870
child 463 5c43f17f87b5
support transcript in pdf
cms/app-client/app/components/playlist-component.js
cms/app-client/app/controllers/application.js
cms/app-client/app/services/player.js
cms/app-client/app/styles/app.scss
cms/app-client/app/templates/application.hbs
cms/app-client/mirage/fixtures/documents.js
cms/app-client/package.json
--- a/cms/app-client/app/components/playlist-component.js	Sat Dec 03 00:09:28 2016 +0100
+++ b/cms/app-client/app/components/playlist-component.js	Sat Dec 03 01:32:43 2016 +0100
@@ -71,7 +71,7 @@
         },
 
         displayTranscript: function() {
-            this.get('player').set('transcriptLoading', (this.get('player.window') !== 'transcript'));
+            this.get('player').set('transcriptLoading', (this.get('player.window') !== 'transcript') && !this.get("player.transcriptIframe"));
 
             Ember.run.later(() => { this.get('player').displayAdditionalInformation('transcript'); }, 10);
         },
--- a/cms/app-client/app/controllers/application.js	Sat Dec 03 00:09:28 2016 +0100
+++ b/cms/app-client/app/controllers/application.js	Sat Dec 03 01:32:43 2016 +0100
@@ -50,11 +50,19 @@
         var self = this;
         this.store.findRecord('document', this.get('player').get('item'), { reload: true }).then(function(model){
             self.get('player').set('model', model);
-            if (self.get('player').get('model').get('transcript')) {
+            let transcript = self.get('player').get('model').get('transcript');
+            console.log("transcript", transcript);
+            if (transcript && transcript.format === "application/pdf") {
+                self.get('player').set('transcript', transcript.url);
+                self.get('player').set('transcriptIframe', true);
+            }
+            else if (transcript) {
+                self.get('player').set('transcriptIframe', false);
                 self.store.findRecord('transcript', self.get('player').get('item')).then(function(model) {
                     self.get('player').set('transcript', model);
                 });
             } else {
+                self.get('player').set('transcriptIframe', false);
                 self.get('player').set('transcript', null);
             }
         });
--- a/cms/app-client/app/services/player.js	Sat Dec 03 00:09:28 2016 +0100
+++ b/cms/app-client/app/services/player.js	Sat Dec 03 01:32:43 2016 +0100
@@ -6,6 +6,7 @@
     item: null,
     model: null,
     transcript: null,
+    transcriptIframe: false,
     transcriptLoading: false,
 
     window: false,
@@ -33,7 +34,7 @@
          if(typeof el !== 'undefined') {
             this.set('window', el);
             if(el==='transcript') {
-              this.set('transcriptLoading', true);
+              this.set('transcriptLoading', !this.get('transcriptIframe'));
             }
         } else {
             this.set('window', false);
--- a/cms/app-client/app/styles/app.scss	Sat Dec 03 00:09:28 2016 +0100
+++ b/cms/app-client/app/styles/app.scss	Sat Dec 03 01:32:43 2016 +0100
@@ -163,7 +163,8 @@
 }
 
 .corpus-app-container.window {
-    overflow: scroll;
+    overflow-x: hidden;
+    overflow-y: hidden;
     height: 500px;
 }
 
@@ -199,3 +200,9 @@
 i.fa::before {
     font-size: 12px;
 }
+
+.transcript-container,
+.transcript-iframe {
+  width: 100%;
+  height: 100%;
+}
--- a/cms/app-client/app/templates/application.hbs	Sat Dec 03 00:09:28 2016 +0100
+++ b/cms/app-client/app/templates/application.hbs	Sat Dec 03 01:32:43 2016 +0100
@@ -6,6 +6,10 @@
     {{#if player.window}}
         {{#if (eq player.window 'notice')}}
             {{ notice-component }}
+        {{else if (if-and (eq player.window 'transcript') player.transcriptIframe)}}
+            <div class="transcript-container">
+              <iframe class="transcript-iframe" src="{{player.transcript}}"></iframe>
+            </div>
         {{else if (if-and (eq player.window 'transcript') player.transcript)}}
             {{ transcript-component }}
         {{/if}}
--- a/cms/app-client/mirage/fixtures/documents.js	Sat Dec 03 00:09:28 2016 +0100
+++ b/cms/app-client/mirage/fixtures/documents.js	Sat Dec 03 01:32:43 2016 +0100
@@ -1515,6 +1515,113 @@
     }
   },
   {
+    "id": "11280.100/crdo-DAM040_SOUND",
+    "uri": "https://hdl.handle.net/11280.100/crdo-DAM040_SOUND",
+    "title": "Porto-Vecchio autrefois vu par un villageois 3",
+    "languages": [
+      "http://lexvo.org/id/iso639-3/cos"
+    ],
+    "modified": "2011-01-21T21:01:55+01:00",
+    "issued": "2011-01-21T21:01:55+01:00",
+    "created": "2008-11-28",
+    "publishers": [
+      "Lieux, Identités, eSpaces, Activités"
+    ],
+    "contributors": [
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/7388874",
+        "role": "http://www.language-archives.org/OLAC/1.1/depositor"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/311846030",
+        "role": "http://www.language-archives.org/OLAC/1.1/interviewer"
+      },
+      {
+        "name": null,
+        "url": "http://viaf.org/viaf/311846030",
+        "role": "http://www.language-archives.org/OLAC/1.1/recorder"
+      },
+      {
+        "name": "François Lorenzoni",
+        "url": null,
+        "role": "http://www.language-archives.org/OLAC/1.1/speaker"
+      }
+    ],
+    "subjects": [
+      "http://ark.bnf.fr/ark:/12148/cb11931819b",
+      "http://ark.bnf.fr/ark:/12148/cb11964747n",
+      "http://ark.bnf.fr/ark:/12148/cb11933804s",
+      "http://ark.bnf.fr/ark:/12148/cb119328694",
+      {
+        "value": "text_and_corpus_linguistics",
+        "datatype": "http://www.language-archives.org/OLAC/1.1/linguistic-field",
+        "lang": null
+      },
+      "http://ark.bnf.fr/ark:/12148/cb11978392j",
+      "http://ark.bnf.fr/ark:/12148/cb13318422n",
+      "http://ark.bnf.fr/ark:/12148/cb11944279g",
+      "http://lexvo.org/id/iso639-3/cos",
+      {
+        "value": "Corse",
+        "datatype": null,
+        "lang": "fr"
+      },
+      "http://ark.bnf.fr/ark:/12148/cb11950204t",
+      "http://ark.bnf.fr/ark:/12148/cb122375025",
+      "http://ark.bnf.fr/ark:/12148/cb119654681"
+    ],
+    "transcript": {
+      "url": "http://cocoon.huma-num.fr/data/dalbera_stefanaggi/crdo-DAM040.pdf",
+      "format": "application/pdf",
+      "conforms-to": null
+    },
+    "mediaArray": {
+      "http://cocoon.huma-num.fr/data/archi/154961_record_22km.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/154961_record_22km.wav",
+        "format": "audio/x-wav",
+        "extent": "PT59M54S",
+        "extent_ms": 3594000,
+        "master": false
+      },
+      "http://cocoon.huma-num.fr/data/archi/masters/154961.wav": {
+        "url": "http://cocoon.huma-num.fr/data/archi/masters/154961.wav",
+        "format": "audio/x-wav",
+        "extent": "PT59M54S",
+        "extent_ms": 3594000,
+        "master": true
+      },
+      "http://cocoon.huma-num.fr/data/archi/mp3/154961_record_44k.mp3": {
+        "url": "http://cocoon.huma-num.fr/data/archi/mp3/154961_record_44k.mp3",
+        "format": "audio/mpeg",
+        "extent": "PT59M54S",
+        "extent_ms": 3594000,
+        "master": false
+      }
+    },
+    "geoInfo": {
+      "ref-locs": [
+        "http://fr.dbpedia.org/resource/Porto-Vecchio",
+        "http://sws.geonames.org/6453941/"
+      ],
+      "notes": [
+        {
+          "value": "FR",
+          "datatype": "http://purl.org/dc/terms/ISO3166",
+          "lang": null
+        },
+        {
+          "value": "France, Corse du Sud, Portivechju",
+          "datatype": null,
+          "lang": "fr"
+        }
+      ],
+      "latitude": "41.59083",
+      "longitude": "9.27972"
+    }
+  },
+  {
     "id": "11280.100/crdo-09-CAYCHAX_SOUND",
     "uri": "https://hdl.handle.net/11280.100/crdo-09-CAYCHAX_SOUND",
     "title": "ALLOc : Caychax : Parabole",
@@ -5822,4 +5929,4 @@
       "longitude": "2.43528"
     }
   }
-];
+];
\ No newline at end of file
--- a/cms/app-client/package.json	Sat Dec 03 00:09:28 2016 +0100
+++ b/cms/app-client/package.json	Sat Dec 03 01:32:43 2016 +0100
@@ -13,7 +13,7 @@
     "build": "ember build",
     "start": "ember server",
     "test": "ember test",
-    "dl-documents": "ember dl-fixtures -u http://127.0.0.1:8000/api/v1/documents/ -d mirage/fixtures/documents.js -t documents -e \"11280.100/crdo-UVE_MOCIKA_SOUND,11280.100/crdo-CFPP2000_11_SOUND,11280.100/crdo-FRA_PK_IV_10_SOUND,11280.100/crdo-FSL-CUC023_SOUND,11280.100/crdo-NEE_KHIAAK_KO_AK_SOUND,11280.100/crdo-ESLO1_ENT_047,11280.100/crdo-SWB_HOMME_SOUND,11280.100/crdo-ESLO1_ENT_101,11280.100/crdo-NEM_ANGUI_SOUND,11280.100/crdo-BOD033_SOUND\" -p 3 -f es6",
+    "dl-documents": "ember dl-fixtures -u http://127.0.0.1:8000/api/v1/documents/ -d mirage/fixtures/documents.js -t documents -e \"11280.100/crdo-UVE_MOCIKA_SOUND,11280.100/crdo-CFPP2000_11_SOUND,11280.100/crdo-FRA_PK_IV_10_SOUND,11280.100/crdo-FSL-CUC023_SOUND,11280.100/crdo-NEE_KHIAAK_KO_AK_SOUND,11280.100/crdo-ESLO1_ENT_047,11280.100/crdo-SWB_HOMME_SOUND,11280.100/crdo-ESLO1_ENT_101,11280.100/crdo-NEM_ANGUI_SOUND,11280.100/crdo-BOD033_SOUND,11280.100/crdo-DAM040_SOUND\" -p 3 -f es6",
     "dl-transcripts": "ember dl-fixtures -u http://127.0.0.1:8000/api/v1/documents/ -d mirage/fixtures/transcripts.js -t transcripts -e \"11280.100/crdo-UVE_MOCIKA_SOUND,11280.100/crdo-CFPP2000_11_SOUND,11280.100/crdo-FRA_PK_IV_10_SOUND,11280.100/crdo-FSL-CUC023_SOUND,11280.100/crdo-NEE_KHIAAK_KO_AK_SOUND,11280.100/crdo-ESLO1_ENT_047,11280.100/crdo-SWB_HOMME_SOUND,11280.100/crdo-ESLO1_ENT_101,11280.100/crdo-NEM_ANGUI_SOUND,11280.100/crdo-BOD033_SOUND\" -p 3 -f es6",
     "dl-themes": "ember dl-fixtures -u http://127.0.0.1:8000/api/v1/stats/themes/ -d mirage/fixtures/themes.js -t themes -f es6",
     "dl-discourses": "ember dl-fixtures -u http://127.0.0.1:8000/api/v1/stats/discourses/ -d mirage/fixtures/discourses.js -t discourses -f es6",