- Timestamp:
- 2021-11-01T21:31:59+13:00 (2 years ago)
- Location:
- main/trunk/model-interfaces-dev/atea/macron-restoration/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/model-interfaces-dev/atea/macron-restoration/src/components/DirectInput.vue
r35716 r35718 6 6 {{ output }} 7 7 </div> 8 9 <button class="btn-primary right-column" :disabled="!canDownload" @click="downloadAsText">Download</button> 8 10 </div> 9 11 </template> … … 13 15 display: grid; 14 16 grid-template-columns: 1fr 1fr; 17 grid-template-rows: auto auto; 15 18 gap: 1em; 16 19 } … … 21 24 overflow: hidden; 22 25 } 26 27 .right-column { 28 grid-column: 2; 29 } 23 30 </style> 24 31 25 32 <script> 26 33 import { mapState } from "vuex"; 34 import { saveAs } from "file-saver" 27 35 import MacronRestorationModule from "../js/MacronRestorationModule" 28 36 … … 35 43 input: "", 36 44 output: "", 37 transcribeTimeout: null 45 transcribeTimeout: null, 46 waitingOnTranscribe: false 38 47 } 39 48 }, 40 49 computed: { 50 canDownload() { 51 return this.output.length > 0 && !this.waitingOnTranscribe; 52 }, 41 53 ...mapState({ 42 54 translations: state => state.translations … … 45 57 watch: { 46 58 input() { 59 this.waitingOnTranscribe = true; 60 47 61 if (this.transcribeTimeout !== null) { 48 62 clearTimeout(this.transcribeTimeout); … … 61 75 }, 62 76 async updateMacronisedText() { 77 // TODO: Handle error 63 78 const response = await macroniser.directMacronisation(this.input); 64 79 this.output = response.fragment2; 80 this.waitingOnTranscribe = false; 81 }, 82 downloadAsText() { 83 const blob = new Blob([ this.output ], { type: "text/plain;charset=utf-8" }); 84 saveAs(blob, "output.txt"); 65 85 } 66 86 } -
main/trunk/model-interfaces-dev/atea/macron-restoration/src/styles/_material.scss
r35715 r35718 71 71 display: flex; 72 72 align-items: center; 73 text-align: left;73 justify-content: center; 74 74 75 75 background-color: var(--bg-color);
Note:
See TracChangeset
for help on using the changeset viewer.