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