forked from cory/tildefriends
Image paste.
git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3994 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
@ -25,6 +25,29 @@ class TfComposeElement extends LitElement {
|
||||
preview.innerHTML = tfutils.markdown(edit.value);
|
||||
}
|
||||
|
||||
paste(event) {
|
||||
let self = this;
|
||||
for(let item of event.clipboardData.items) {
|
||||
if (item.type?.startsWith('image/')) {
|
||||
let file = item.getAsFile();
|
||||
if (!file) {
|
||||
continue;
|
||||
}
|
||||
file.arrayBuffer().then(function(buffer) {
|
||||
let bin = Array.from(new Uint8Array(buffer));
|
||||
return tfrpc.rpc.store_blob(bin);
|
||||
}).then(function(id) {
|
||||
let edit = self.renderRoot.getElementById('edit');
|
||||
edit.value += `\n`;
|
||||
self.changed();
|
||||
}).catch(function(e) {
|
||||
alert(e.message);
|
||||
});
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
submit() {
|
||||
let self = this;
|
||||
let edit = this.renderRoot.getElementById('edit');
|
||||
@ -75,7 +98,7 @@ class TfComposeElement extends LitElement {
|
||||
render() {
|
||||
return html`
|
||||
<div style="display: flex; flex-direction: row; width: 100%">
|
||||
<textarea id="edit" @input=${this.changed} style="flex: 1 0 50%"></textarea>
|
||||
<textarea id="edit" @input=${this.changed} @paste=${this.paste} style="flex: 1 0 50%"></textarea>
|
||||
<div id="preview" style="flex: 1 0 50%"></div>
|
||||
</div>
|
||||
<input type="button" value="Submit" @click=${this.submit}></input>
|
||||
|
Reference in New Issue
Block a user