Changeset 35756


Ignore:
Timestamp:
2021-11-30T12:03:54+13:00 (2 years ago)
Author:
cstephen
Message:

Allow direct input to be copied to the clipboard

Location:
main/trunk/model-interfaces-dev/atea/macron-restoration/src
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/model-interfaces-dev/atea/macron-restoration/src/App.vue

    r35742 r35756  
    2525    </div>
    2626</div>
     27
     28<snackbar ref="snackBar" />
    2729</template>
    2830
     
    7880import DirectInput from "./components/DirectInput.vue"
    7981import FileInput from "./components/FileInput.vue"
     82import Snackbar, { SnackController } from "./components/Snackbar.vue"
    8083import TabBar from "./components/TabBar.vue"
    8184
     
    8588        DirectInput,
    8689        FileInput,
     90        Snackbar,
    8791        TabBar
    8892    },
     
    103107            translations: state => state.translations
    104108        })
     109    },
     110    mounted() {
     111        SnackController.setBar(this.$refs.snackBar);
    105112    }
    106113}
  • main/trunk/model-interfaces-dev/atea/macron-restoration/src/components/DirectInput.vue

    r35742 r35756  
    2525        <label for="i-show-macronised-words">{{ translations.get('DirectInput_NormaliseLinebreaks') }}</label>
    2626    </div>
     27
     28    <button class="btn-primary right-column" :disabled="!canDownload" @click="copyToClipboard">
     29        {{ translations.get('DirectInput_CopyToClipboard') }}
     30    </button>
    2731
    2832    <button class="btn-primary right-column" :disabled="!canDownload" @click="downloadAsText">
     
    7276import { log } from "../js/Util"
    7377import MacronRestorationModule from "../js/MacronRestorationModule"
     78import { SnackController } from "./Snackbar.vue"
    7479
    7580const macroniser = new MacronRestorationModule();
     
    170175            }
    171176        },
     177
    172178        downloadAsText() {
    173             const blob = new Blob([ this.restored ], { type: "text/plain;charset=utf-8" });
     179            const blob = new Blob([ this.formattedRestored ], { type: "text/plain;charset=utf-8" });
    174180            saveAs(blob, "restored.txt");
    175181        },
     182        async copyToClipboard() {
     183            await navigator.clipboard.writeText(this.formattedRestored);
     184            SnackController.addSnack("Output copied to clipboard!");
     185        },
     186
    176187        /**
    177188         * Normalises a linebreak.
Note: See TracChangeset for help on using the changeset viewer.