| 
									
										
										
										
											2018-02-26 21:50:03 -08:00
										 |  |  | <div class="compose-box-toolbar"> | 
					
						
							| 
									
										
										
										
											2018-02-27 23:18:07 -08:00
										 |  |  |   <IconButton | 
					
						
							|  |  |  |     label="Insert emoji" | 
					
						
							|  |  |  |     href="#fa-smile" | 
					
						
							|  |  |  |     on:click="onEmojiClick()" | 
					
						
							|  |  |  |   /> | 
					
						
							| 
									
										
										
										
											2018-03-03 13:23:26 -08:00
										 |  |  |   <IconButton | 
					
						
							|  |  |  |     className="{{$uploadingMedia ? 'spin' : ''}}" | 
					
						
							|  |  |  |     label="Add media" | 
					
						
							|  |  |  |     href="{{$uploadingMedia ? '#fa-spinner' : '#fa-camera'}}" | 
					
						
							|  |  |  |     on:click="onMediaClick()" | 
					
						
							| 
									
										
										
										
											2018-03-03 14:51:48 -08:00
										 |  |  |     disabled="{{$uploadingMedia || (media.length === 4)}}" | 
					
						
							| 
									
										
										
										
											2018-03-03 13:23:26 -08:00
										 |  |  |   /> | 
					
						
							|  |  |  |   <IconButton | 
					
						
							|  |  |  |     label="Adjust privacy (currently {{postPrivacy.label}})" | 
					
						
							|  |  |  |     href="{{postPrivacy.icon}}" | 
					
						
							|  |  |  |     on:click="onPostPrivacyClick()" | 
					
						
							|  |  |  |   /> | 
					
						
							|  |  |  |   <IconButton | 
					
						
							| 
									
										
										
										
											2018-03-03 15:44:43 -08:00
										 |  |  |     label="{{contentWarningShown ? 'Remove content warning' : 'Add content warning'}}" | 
					
						
							| 
									
										
										
										
											2018-03-03 13:23:26 -08:00
										 |  |  |     href="#fa-exclamation-triangle" | 
					
						
							| 
									
										
										
										
											2018-03-03 15:44:43 -08:00
										 |  |  |     on:click="onContentWarningClick()" | 
					
						
							|  |  |  |     pressable="true" | 
					
						
							|  |  |  |     pressed="{{contentWarningShown}}" | 
					
						
							| 
									
										
										
										
											2018-03-01 09:02:42 -08:00
										 |  |  |   /> | 
					
						
							|  |  |  |   <input ref:input | 
					
						
							| 
									
										
										
										
											2018-03-01 09:29:11 -08:00
										 |  |  |          on:change="onFileChange(event)" | 
					
						
							| 
									
										
										
										
											2018-03-01 09:02:42 -08:00
										 |  |  |          style="display: none;" | 
					
						
							|  |  |  |          type="file" | 
					
						
							|  |  |  |          accept=".jpg,.jpeg,.png,.gif,.webm,.mp4,.m4v,image/jpeg,image/png,image/gif,video/webm,video/mp4"> | 
					
						
							| 
									
										
										
										
											2018-02-26 21:50:03 -08:00
										 |  |  | </div> | 
					
						
							|  |  |  | <style> | 
					
						
							|  |  |  |   .compose-box-toolbar { | 
					
						
							|  |  |  |     grid-area: toolbar; | 
					
						
							|  |  |  |     align-self: center; | 
					
						
							|  |  |  |     display: flex; | 
					
						
							|  |  |  |     align-items: center; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | </style> | 
					
						
							|  |  |  | <script> | 
					
						
							|  |  |  |   import IconButton from '../IconButton.html' | 
					
						
							| 
									
										
										
										
											2018-02-27 23:18:07 -08:00
										 |  |  |   import { store } from '../../_store/store' | 
					
						
							|  |  |  |   import { updateCustomEmojiForInstance } from '../../_actions/emoji' | 
					
						
							|  |  |  |   import { importDialogs } from '../../_utils/asyncModules' | 
					
						
							| 
									
										
										
										
											2018-03-01 21:21:49 -08:00
										 |  |  |   import { doMediaUpload } from '../../_actions/media' | 
					
						
							| 
									
										
										
										
											2018-03-03 15:44:43 -08:00
										 |  |  |   import { toggleContentWarningShown } from '../../_actions/contentWarnings' | 
					
						
							| 
									
										
										
										
											2018-02-27 23:18:07 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-26 21:50:03 -08:00
										 |  |  |   export default { | 
					
						
							| 
									
										
										
										
											2018-03-02 17:54:38 -08:00
										 |  |  |     oncreate() { | 
					
						
							|  |  |  |       if (process.env.NODE_ENV !== 'production') { | 
					
						
							|  |  |  |         window.__fakeFileInput = (file) => { | 
					
						
							|  |  |  |           this.onFileChange({ | 
					
						
							|  |  |  |             target: { | 
					
						
							|  |  |  |               files: [file] | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |           }) | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2018-02-26 21:50:03 -08:00
										 |  |  |     components: { | 
					
						
							|  |  |  |       IconButton | 
					
						
							| 
									
										
										
										
											2018-02-27 23:18:07 -08:00
										 |  |  |     }, | 
					
						
							|  |  |  |     store: () => store, | 
					
						
							|  |  |  |     methods: { | 
					
						
							|  |  |  |       async onEmojiClick() { | 
					
						
							|  |  |  |         /* no await */ updateCustomEmojiForInstance(this.store.get('currentInstance')) | 
					
						
							|  |  |  |         let dialogs = await importDialogs() | 
					
						
							| 
									
										
										
										
											2018-03-03 14:51:48 -08:00
										 |  |  |         dialogs.showEmojiDialog(this.get('realm')) | 
					
						
							| 
									
										
										
										
											2018-03-01 09:02:42 -08:00
										 |  |  |       }, | 
					
						
							|  |  |  |       onMediaClick() { | 
					
						
							|  |  |  |         this.refs.input.click() | 
					
						
							| 
									
										
										
										
											2018-03-01 09:29:11 -08:00
										 |  |  |       }, | 
					
						
							|  |  |  |       onFileChange(e) { | 
					
						
							|  |  |  |         let file = e.target.files[0] | 
					
						
							| 
									
										
										
										
											2018-03-03 10:11:32 -08:00
										 |  |  |         let realm = this.get('realm') | 
					
						
							|  |  |  |         doMediaUpload(realm, file) | 
					
						
							| 
									
										
										
										
											2018-03-03 13:23:26 -08:00
										 |  |  |       }, | 
					
						
							|  |  |  |       async onPostPrivacyClick() { | 
					
						
							|  |  |  |         let dialogs = await importDialogs() | 
					
						
							|  |  |  |         dialogs.showPostPrivacyDialog(this.get('realm')) | 
					
						
							| 
									
										
										
										
											2018-03-03 15:44:43 -08:00
										 |  |  |       }, | 
					
						
							|  |  |  |       onContentWarningClick() { | 
					
						
							|  |  |  |         toggleContentWarningShown(this.get('realm')) | 
					
						
							| 
									
										
										
										
											2018-02-27 23:18:07 -08:00
										 |  |  |       } | 
					
						
							| 
									
										
										
										
											2018-02-26 21:50:03 -08:00
										 |  |  |     } | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | </script> |