Description
Some clipboard functions require synchronous access to methods, like on the copy
event using clipboardData.setData
or the paste
event and clipboardData.getData
. If I handle the copy
event in Elm and use a port from Elm to JS, it won't be handled synchronously by js. If I handle the copy
event in a custom element in js, I run into the same issue trying to get the data back to JS (e.g. there's no two way synchronization technique that I know of). I think one workaround to this would be to add clipboard API support to the Browser.Events
module and/or add specialized onCopy
and onPaste
functions to Html.Events
module.
Note that one workaround for getting clipboard data on the paste
event was to use a custom element to listen to the event, then using a custom event with the types of data I wanted (e.g. clipboardData.getData('text/html')
), dispatching that, and then handling the event in Elm. You can see it here: https://github.com/mweiss/elm-rte-toolkit/blob/1.0.1/js/elmEditor.js#L303
However, I do not know of a corresponding solution to clipboardData.setData
.