Changeset 35367
- Timestamp:
- 2021-09-13T10:35:05+12:00 (3 years ago)
- Location:
- main/trunk/model-interfaces-dev/atea
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/model-interfaces-dev/atea/korero-maori-asr/src/components/TranscriptionItemEditor.vue
r35355 r35367 1 1 <template> 2 <div class="editor-controls"> 3 <label for="displayMode">{{ translations.get("TranscriptionItemEditor_SetDisplayMode") }}:</label> 4 <select id="displayMode" v-model="displayMode"> 5 <option value="words">{{ translations.get("TranscriptionItemEditor_DisplayMode_Words") }}</option> 6 <option value="chars">{{ translations.get("TranscriptionItemEditor_DisplayMode_Chars") }}</option> 7 <option value="editor">{{ translations.get("TranscriptionItemEditor_DisplayMode_Editor") }}</option> 8 </select> 9 10 <!-- <input type="checkbox" v-model="showCharDisplay" title="Show characters" /> 11 12 <input type="checkbox" v-model="enableTextEditing" title="Enable text editing" /> --> 2 <div> 3 <div class="editor-controls"> 4 <label for="displayMode">{{ translations.get("TranscriptionItemEditor_SetDisplayMode") }}:</label> 5 <select id="displayMode" v-model="displayMode"> 6 <option value="words">{{ translations.get("TranscriptionItemEditor_DisplayMode_Words") }}</option> 7 <option value="chars">{{ translations.get("TranscriptionItemEditor_DisplayMode_Chars") }}</option> 8 <option value="editor">{{ translations.get("TranscriptionItemEditor_DisplayMode_Editor") }}</option> 9 </select> 10 11 <!-- <input type="checkbox" v-model="showCharDisplay" title="Show characters" /> 12 13 <input type="checkbox" v-model="enableTextEditing" title="Enable text editing" /> --> 14 </div> 15 16 <ul class="list-view" v-if="displayMode == 'words'"> 17 <li v-for="word in words" :key="word.id" class="word-container" @click="playAudio(word.startTime)" 18 :class="{ 'word-highlight-applied': word.shouldHighlight }"> 19 <span class="word-highlight">{{ word.word }}</span> 20 <span> </span> 21 </li> 22 </ul> 23 24 <ul class="list-view" v-if="displayMode == 'chars'"> 25 <li v-for="char in chars" :key="char.id" class="word-container" @click="playAudio(char.startTime)" 26 :class="{ 'word-highlight-applied': char.shouldHighlight }"> 27 <span class="word-highlight">{{ char.word }}</span> 28 </li> 29 </ul> 30 31 <ul class="list-view" v-if="displayMode == 'editor'"> 32 <li v-for="(word, index) in words" :key="word.id" class="word-container"> 33 <contenteditable class="editor-word" tag="span" v-model="word.word" :noNL="true" :noHTML="true" @input="onEditorInput($event, index)" /> 34 <span> </span> 35 </li> 36 </ul> 37 <!-- <ul class="list-view" v-if="displayMode == 'editor'"> 38 <li v-for="(word, index) in transcription.words" class="transcription__word-container"> 39 <span class="transcription__word" v-on:input="onEditorWordInput($event, word.word)" contenteditable="true" v-text="word.word" /> 40 <input type="text" v-bind:size="word.word.length == 1 ? 1 : word.word.length - 1" v-model="word.word" 41 class="transcription__word" v-on:input="onEditorWordInput($event, index, id)" /> 42 <span> </span> 43 </li> 44 </ul> --> 13 45 </div> 14 15 <ul class="list-view" v-if="displayMode == 'words'">16 <li v-for="word in words" :key="word.id" class="word-container" @click="playAudio(word.startTime)"17 :class="{ 'word-highlight-applied': word.shouldHighlight }">18 <span class="word-highlight">{{ word.word }}</span>19 <span> </span>20 </li>21 </ul>22 23 <ul class="list-view" v-if="displayMode == 'chars'">24 <li v-for="char in chars" :key="char.id" class="word-container" @click="playAudio(char.startTime)"25 :class="{ 'word-highlight-applied': char.shouldHighlight }">26 <span class="word-highlight">{{ char.word }}</span>27 </li>28 </ul>29 30 <ul class="list-view" v-if="displayMode == 'editor'">31 <li v-for="(word, index) in words" :key="word.id" class="word-container">32 <contenteditable class="editor-word" tag="span" v-model="word.word" :noNL="true" :noHTML="true" @input="onEditorInput($event, index)" />33 <span> </span>34 </li>35 </ul>36 <!-- <ul class="list-view" v-if="displayMode == 'editor'">37 <li v-for="(word, index) in transcription.words" class="transcription__word-container">38 <span class="transcription__word" v-on:input="onEditorWordInput($event, word.word)" contenteditable="true" v-text="word.word" />39 <input type="text" v-bind:size="word.word.length == 1 ? 1 : word.word.length - 1" v-model="word.word"40 class="transcription__word" v-on:input="onEditorWordInput($event, index, id)" />41 <span> </span>42 </li>43 </ul> -->44 46 </template> 45 47 -
main/trunk/model-interfaces-dev/atea/korero-maori-asr/src/main.js
r35356 r35367 76 76 translations.set(key, gs.text.atea[key]); 77 77 } 78 79 store.commit("setTranslations", translations) 78 80 } 79 81 /* eslint-enable no-undef */ 80 82 else { 81 translations.set("AudioUpload_SelectFileText", "Select audio file/s...");82 translations.set("AudioUpload_TranscribeFiles", "Transcribe");83 translations.set("AudioUpload_TranscriptionFailed_Message", "Failed to transcribe");84 translations.set("AudioUpload_TranscriptionFailed_Reason", "Reason");83 fetch("interface_atea.properties") 84 .then(async response => { 85 const responseText = await response.text(); 86 const responseTranslations = responseText.split("\n"); 85 87 86 translations.set("TranscriptionItem_FileName", "File"); 87 translations.set("TranscriptionItem_Remove", "Remove"); 88 translations.set("TranscriptionItem_ExpandEditor", "Playback and Edit"); 88 for (const translation of responseTranslations) { 89 const components = translation.split("="); 89 90 90 translations.set("TranscriptionItemEditor_SetDisplayMode", "Display Mode"); 91 translations.set("TranscriptionItemEditor_DisplayMode_Words", "Words"); 92 translations.set("TranscriptionItemEditor_DisplayMode_Chars", "Characters"); 93 translations.set("TranscriptionItemEditor_DisplayMode_Editor", "Editor"); 91 if (components[0] === "") { 92 continue; 93 } 94 95 const namespaceEndIndex = components[0].lastIndexOf("."); 96 translations.set(components[0].slice(namespaceEndIndex + 1), components[1]); 97 } 98 99 store.commit("setTranslations", translations) 100 }); 94 101 } 95 96 store.commit("setTranslations", translations) -
main/trunk/model-interfaces-dev/atea/korero-maori-asr/vue.config.js
r35355 r35367 8 8 filenameHashing: false, // Allows us to easily setup direct links in our asr.xsl. You may want to change this for production in order to help with caching 9 9 10 chainWebpack: config => { 11 config 12 .plugin("html") 13 .tap(args => { 14 args[0].title = "Korero Maori ASR Interface"; 15 return args; 16 }) 17 }, 18 10 19 css: { 11 20 loaderOptions: { -
main/trunk/model-interfaces-dev/atea/transform/pages/korero-maori-asr.xsl
r35355 r35367 49 49 50 50 <noscript> 51 <strong>We're sorry but <xsl:text disable-output-escaping="yes"><%= htmlWebpackPlugin.options.title %></xsl:text>doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>51 <strong>We're sorry but the Korero Maori ASR interface doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> 52 52 </noscript> 53 53
Note:
See TracChangeset
for help on using the changeset viewer.