Skip to content

Commit 57e44d5

Browse files
committed
chat
1 parent 4fbc7ef commit 57e44d5

File tree

2 files changed

+32
-18
lines changed

2 files changed

+32
-18
lines changed

forsrc-gwt-ui/src/main/java/com/forsrc/gwt/client/application/websocket/chat/ChatView.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.google.gwt.uibinder.client.UiBinder;
1313
import com.google.gwt.uibinder.client.UiField;
1414
import com.google.gwt.uibinder.client.UiHandler;
15+
import com.google.gwt.user.client.Window;
1516
import com.google.gwt.user.client.ui.Widget;
1617
import com.gwtplatform.mvp.client.ViewWithUiHandlers;
1718

@@ -44,6 +45,9 @@ interface Binder extends UiBinder<Widget, ChatView> {
4445
@UiField
4546
MaterialSubHeaderContainer subHeaderContainer;
4647

48+
@UiField
49+
MaterialSubHeaderContainer parentSubHeaderContainer;
50+
4751
@Inject
4852
ChatView(Binder uiBinder) {
4953
initWidget(uiBinder.createAndBindUi(this));
@@ -75,9 +79,10 @@ protected void onDetach() {
7579
@Override
7680
public void onMessage(ChatMessage chatMessage) {
7781
this.chatPanel.add(new ChatMessageComposite(chatMessage));
78-
//Window.scrollTo(0, Window.getScrollTop() + Window.getClientHeight());
82+
///Window.scrollTo(0, Window.getScrollTop() + Window.getClientHeight());
7983
Element element = subHeaderContainer.getElement();
8084
element.setScrollTop(element.getScrollTop() + element.getClientHeight());
85+
element.scrollIntoView();
8186
}
8287

8388
@UiHandler("send")
@@ -93,5 +98,8 @@ public void send(ClickEvent clickEvent) {
9398
chatPanel.add(new ChatMessageComposite(chatMessage));
9499
MaterialLoader.progress(false);
95100
this.msg.setText("");
101+
Element element = subHeaderContainer.getElement();
102+
element.setScrollTop(element.getScrollTop() + element.getClientHeight());
103+
element.scrollIntoView();
96104
}
97105
}

forsrc-gwt-ui/src/main/java/com/forsrc/gwt/client/application/websocket/chat/ChatView.ui.xml

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,32 @@
77
<g:HTMLPanel>
88

99
<m:MaterialRow>
10-
<m:MaterialRow margin="5" grid="l10 m12 s12">
11-
<ma:subheader.MaterialSubHeaderContainer ui:field="subHeaderContainer" shadow="1" height="600px" grid="l10 m12 s12" type="PINNED" float="RIGHT">
12-
<m:MaterialCard shadow="1" margin="5">
13-
<m:MaterialPanel backgroundColor="BLUE" overflow="HIDDEN" padding="12">
14-
<m:MaterialIcon iconType="MORE_VERT" float="RIGHT" textColor="WHITE"/>
15-
<m:MaterialIcon iconType="CLOSE" float="RIGHT" textColor="WHITE"/>
16-
</m:MaterialPanel>
17-
18-
<m:MaterialCardContent ui:field="cardContent">
19-
<m:MaterialPanel ui:field="chatPanel"/>
20-
</m:MaterialCardContent>
21-
22-
<m:MaterialProgress type="DETERMINATE" percent="100"/>
23-
<m:MaterialTextArea ui:field="msg" label="Send message ..." resizeRule="AUTO"/>
24-
<m:MaterialButton ui:field="send" waves="LIGHT" text="Send" width="100%"/>
25-
<m:MaterialProgress type="DETERMINATE" percent="0"/>
26-
</m:MaterialCard>
10+
<m:MaterialRow margin="5">
11+
<ma:subheader.MaterialSubHeaderContainer ui:field="parentSubHeaderContainer" shadow="1" height="600px" grid="l10 m12 s12" float="RIGHT">
12+
<ma:subheader.MaterialSubHeaderContainer ui:field="subHeaderContainer" shadow="0" height="400px" type="PINNED">
13+
<m:MaterialCard shadow="0">
14+
<m:MaterialPanel shadow="1" backgroundColor="BLUE" overflow="HIDDEN" padding="12">
15+
<m:MaterialLabel text="Chat" float="LEFT" textColor="WHITE"></m:MaterialLabel>
16+
<m:MaterialIcon iconType="MORE_VERT" float="RIGHT" textColor="WHITE"/>
17+
<m:MaterialIcon iconType="CLOSE" float="RIGHT" textColor="WHITE"/>
18+
</m:MaterialPanel>
19+
20+
<m:MaterialCardContent ui:field="cardContent" minHeight="100%">
21+
<m:MaterialPanel ui:field="chatPanel"/>
22+
</m:MaterialCardContent>
23+
</m:MaterialCard>
24+
</ma:subheader.MaterialSubHeaderContainer>
25+
<ma:subheader.MaterialSubHeaderContainer ui:field="sendSubHeaderContainer" shadow="0" height="200px">
26+
<m:MaterialRow>
27+
<m:MaterialProgress type="DETERMINATE" percent="100"/>
28+
<m:MaterialTextArea ui:field="msg" label="Send message ..." resizeRule="AUTO"/>
29+
<m:MaterialButton ui:field="send" waves="LIGHT" text="Send" width="100%"/>
30+
</m:MaterialRow>
31+
</ma:subheader.MaterialSubHeaderContainer>
2732
</ma:subheader.MaterialSubHeaderContainer>
2833
</m:MaterialRow>
2934
</m:MaterialRow>
35+
3036
<m:MaterialLabel ui:field="searchLabel"/>
3137

3238
</g:HTMLPanel>

0 commit comments

Comments
 (0)