Commit graph

54 commits

Author SHA1 Message Date
Aviral Dasgupta
22a2593bf2 fix: unbreak old MessageComposerInput/TabComplete 2016-07-05 01:32:40 +05:30
Aviral Dasgupta
cccc58b47f feat: implement autocomplete replacement 2016-07-03 22:15:13 +05:30
Aviral Dasgupta
a74db3a815 Get basic keyboard selection working 2016-06-21 18:33:39 +05:30
Aviral Dasgupta
fb6eec0f7d Hide/show autocomplete based on selection state 2016-06-21 15:46:20 +05:30
Aviral Dasgupta
4af983ed90 Style changes and improvements in autocomplete 2016-06-20 13:52:55 +05:30
Aviral Dasgupta
b9d7743e5a Emoji provider, DDG working, style improvements 2016-06-17 04:58:09 +05:30
Aviral Dasgupta
769b3f0c2a Merge branch 'develop' into feature-autocomplete 2016-06-17 00:37:39 +05:30
Aviral Dasgupta
34be17cc7e use rte labs setting 2016-06-14 00:10:43 +05:30
Aviral Dasgupta
0df201c483 Merge branch 'develop' into feature-autocomplete 2016-06-12 14:10:23 +05:30
Aviral Dasgupta
b979a16199 initial version of autocomplete 2016-06-01 16:54:21 +05:30
Matthew Hodgson
c3fc76cdaa warn guests to register nicely to upload files 2016-05-31 23:59:36 +01:00
Matthew Hodgson
81d5e16225 fix @aviraldg thinko on needing a key on arrays :) 2016-04-14 19:11:09 +01:00
Matthew Hodgson
f3793b556e fix super-annoying key warning from react 2016-04-13 02:02:55 +01:00
Matthew Hodgson
11f3d5f993 make the UI fadable to help with decluttering 2016-04-12 17:18:32 +01:00
Aviral Dasgupta
0574a28e36 Add confirmation dialog for file upload
fixes vector-im/vector-web#92
2016-04-03 02:22:05 +05:30
Aviral Dasgupta
0eeaac88b4 Allow multiple files to be uploaded at once
fixes vector-im/vector-web#219
2016-04-03 01:26:50 +05:30
Matthew Hodgson
4380308393 my node choked on this trailing , 2016-03-30 01:31:29 +01:00
Richard van der Hoff
cbf5b0eca3 Disable the message composer if we don't have permission to post
Rehashes dave's earlier PR which did the same thing
2016-03-24 13:57:21 +00:00
Richard van der Hoff
6ff41c40b6 Split a textinput component out of MessageComposer
Split the text entry section out of MessageComposer: it has a lot of stuff
which won't be needed if we disable input
2016-03-24 11:25:41 +00:00
Matthew Hodgson
57ffc2d2e2 add autoFocus to MessageComposer's textarea, which generally makes the world a better place. We could probably kill all the focus_composer dispatches too, but haven't got time to check that right now 2016-03-17 17:29:48 +00:00
Matthew Hodgson
fd4e709705 don't need null guard 2016-03-17 16:56:16 +00:00
Matthew Hodgson
76d4e8a788 check length of textarea, not its trueiness 2016-03-17 16:54:54 +00:00
Matthew Hodgson
1b4c5224fd missed some s/this.refs.// 2016-03-17 16:52:12 +00:00
Matthew Hodgson
a64ad04a0e handle focus nicely when inserting displaynames and let them be inserted in the middle of in-progress messages 2016-03-17 16:29:37 +00:00
Matthew Hodgson
c7ffb59374 click on nicks to insert them into the MessageComposer 2016-03-17 15:35:23 +00:00
Matthew Hodgson
3326a50c4b hopefully stop weird flickering bugs when pressing delete or zero-height textareas... 2016-03-17 02:17:17 +00:00
Matthew Hodgson
87e1bc2f07 fix zero-length /me 2016-03-16 19:52:43 +00:00
David Baker
880ae0f3fa Fix typo 2016-01-18 14:25:23 +00:00
David Baker
52de322789 Change history scolling so it doesn't interfere with moving between lines, even when those lines are wrapped rather than hard line breaks. 2016-01-15 18:31:07 +00:00
Kegan Dougal
b67131f0c8 Add a Command class; add Entry.getFillText()
getFillText() serves to decouple the text displayed in the auto-complete list
via getText() and the text actually filled into the box via getFillText(). This
allows us to display command + args on the list but only fill the command part.

A Command class has been added to provide some structure when extracting the
command name and args. Manually tested and it works.
2016-01-14 14:39:58 +00:00
Richard van der Hoff
cd52549713 s/function/func/ in PropTypes declarations 2016-01-12 13:11:53 +00:00
Richard van der Hoff
243b2e4587 Make the scrollpanel update itself correctly on video resize.
When we first get video, the video component will resize itself. This will
cause the page to be reflowed, but that doesn't trigger an update on the gemini
scrollbar. We therefore need to force an update on the messagepanel. Implement
this by providing an onResize property on the CallView component.

We need to do the same when we change the maxHeight on the video panel.

The same applies to resizing of the MessageComposer. That was previously
handled with a fugly roomView.forceUpdate() from MessageComposer - make it use
the same mechanism.

Finally: the messageComposer is at least 70 pixels, and up to 100 pixels high -
not 36. Fix the auxPanelMaxHeight calculation - and use a static constant
rather than hardcoding the number to avoid this happening again.
2016-01-11 15:28:59 +00:00
Matthew Hodgson
8170288acb Merge pull request #77 from matrix-org/matthew/dynamic-svg
Make SVGs and CSS dynamically recolourable
2016-01-07 11:42:30 +00:00
Matthew Hodgson
0772f50fab update copyright for 2016 2016-01-07 04:06:52 +00:00
Matthew Hodgson
f499c60b12 sundry PR feedback 2016-01-06 02:29:08 +00:00
Matthew Hodgson
509ea7c4f3 factor out tintable SVGs into their own component, and use plain DOM onload rather than react synthetic events 2016-01-06 02:11:07 +00:00
Matthew Hodgson
001dc8612b support fixing up dynamically loaded SVGs 2016-01-05 03:34:52 +00:00
Matthew Hodgson
555abdae30 wire up Tinter.js 2016-01-05 00:46:52 +00:00
Matthew Hodgson
3009da0b39 move title attributes to the div 2016-01-03 22:34:56 +00:00
Matthew Hodgson
4f915d622e switch SVGs from imgs to objects 2016-01-03 22:30:52 +00:00
Kegan Dougal
460f68caef Move RoomMember[] -> MemberEntry[] conversion somewhere sensible
This is required for automatically entering tab-complete mode because
onKeyDown is NOT called in that case, so we need to make sure to have a
membership list hanging around.
2015-12-22 15:38:23 +00:00
Kegan Dougal
a20cabb06f Merge branch 'develop' into kegan/tab-complete 2015-12-22 15:16:39 +00:00
Kegan Dougal
e541ddb060 Auto-complete clicked suggestions 2015-12-22 11:14:36 +00:00
Kegan Dougal
0dbb8d5294 Use MemberAvatar to generate image JSX. Split out entries from tab-complete logic 2015-12-22 10:00:30 +00:00
Matthew Hodgson
ea2405ab3a escape double-slash commands 2015-12-22 00:57:57 +00:00
Kegan Dougal
ba63b5dfff Add image URLs to TabComplete.Entry objects 2015-12-21 17:28:04 +00:00
Kegan Dougal
41d4c1d14e Add TabComplete.Entry so we can render images AND text(!) - Add peek() option, all broken. 2015-12-21 14:34:25 +00:00
Kegan Dougal
26dc3cc553 Push up instantiation of TabComplete to RoomView
RoomView is the parent component which creates MessageComposer AND the status
bar. By making RoomView instantiate TabComplete we can scope instances
correctly rather than relying on singleton behaviour through dispatches. This
also makes communication between status bar and the MessageComposer infinitely
easier since they are now sharing the same TabComplete object.
2015-12-21 10:59:10 +00:00
Kegan Dougal
c6d02b2c26 Move tab-complete logic out from MessageComposer
Moved to a `TabComplete` class. Make it more generic (list of strings rather
than RoomMembers) and sort the member list by last_active_ago. Everything still
seems to work.
2015-12-21 10:38:37 +00:00
Matthew Hodgson
d979a028a5 position the inbound call box correctly, and fix various issues with when the video preview and callview are shown 2015-12-17 02:49:09 +00:00