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