Skip to content

Commit b6670ab

Browse files
authored
Merge pull request #5645 from kianamcc/SWC-7189
SWC-7189: SWC <b:Modal> updates on mobile (inside PromptForValuesModalViewImpl for example)
2 parents 7697d20 + 85e28c2 commit b6670ab

File tree

13 files changed

+51
-7
lines changed

13 files changed

+51
-7
lines changed

src/main/java/org/sagebionetworks/web/client/widget/entity/MarkdownEditorWidget.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ public class MarkdownEditorWidget
7575
// units are px
7676
public static final int MIN_TEXTAREA_HEIGHT = 100;
7777
public static final int OTHER_EDITOR_COMPONENTS_HEIGHT = 270;
78+
public static final int XS_BREAKPOINT = 796;
7879

7980
private SynapseClientAsync synapseClient;
8081
private CookieProvider cookies;
@@ -203,9 +204,15 @@ private void setMarkdownTextAreaHandlers() {
203204
}
204205

205206
public void resizeMarkdownTextArea() {
207+
int viewportWidth = view.getClientWidth();
208+
int clientHeight = view.getClientHeight();
206209
int newHeight = view.getClientHeight() - OTHER_EDITOR_COMPONENTS_HEIGHT;
207-
newHeight =
208-
newHeight > MIN_TEXTAREA_HEIGHT ? newHeight : MIN_TEXTAREA_HEIGHT;
210+
if (viewportWidth < XS_BREAKPOINT) {
211+
newHeight = (int) (clientHeight * 0.4);
212+
} else {
213+
newHeight =
214+
newHeight > MIN_TEXTAREA_HEIGHT ? newHeight : MIN_TEXTAREA_HEIGHT;
215+
}
209216
view.setMarkdownTextAreaHeight(newHeight);
210217
}
211218

src/main/java/org/sagebionetworks/web/client/widget/entity/MarkdownEditorWidgetView.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ public interface MarkdownEditorWidgetView extends IsWidget, SynapseView {
4141

4242
int getClientHeight();
4343

44+
int getClientWidth();
45+
4446
void setMarkdownTextAreaHeight(int heightPx);
4547

4648
void setFocus(boolean focused);

src/main/java/org/sagebionetworks/web/client/widget/entity/MarkdownEditorWidgetViewImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,11 @@ public int getClientHeight() {
564564
return Window.getClientHeight();
565565
}
566566

567+
@Override
568+
public int getClientWidth() {
569+
return Window.getClientWidth();
570+
}
571+
567572
@Override
568573
public void setMarkdownTextAreaHeight(int heightPx) {
569574
lazyConstruct();

src/main/java/org/sagebionetworks/web/client/widget/table/modal/upload/UploadTableModalWidgetImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public UploadTableModalWidgetImpl(
2727
this.modalWizarWidget.setModalSize(ModalSize.LARGE);
2828
this.uploadCSVFileWidget = uploadCSVFileWidget;
2929
this.modalWizarWidget.configure(this.uploadCSVFileWidget);
30+
this.modalWizarWidget.asWidget().addStyleName("full-size-modal-xs-only");
3031
}
3132

3233
@Override

src/main/resources/org/sagebionetworks/web/client/widget/discussion/SubscribersWidgetViewImpl.ui.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
</g:FocusPanel>
1212
<b:Modal
1313
ui:field="modal"
14+
addStyleNames="full-size-modal-xs-only"
1415
closable="true"
1516
dataBackdrop="STATIC"
1617
dataKeyboard="true"

src/main/resources/org/sagebionetworks/web/client/widget/discussion/modal/DiscussionThreadModalViewImpl.ui.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
closable="true"
1010
dataBackdrop="STATIC"
1111
dataKeyboard="false"
12-
addStyleNames="modal-fullscreen"
12+
addStyleNames="modal-fullscreen full-size-modal-xs-only"
1313
>
1414
<b:ModalBody>
1515
<b:TextBox

src/main/resources/org/sagebionetworks/web/client/widget/docker/modal/AddExternalRepoModalViewImpl.ui.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
closable="true"
1010
dataBackdrop="STATIC"
1111
dataKeyboard="true"
12-
addStyleNames="modal"
12+
addStyleNames="modal-fullscreen full-size-modal-xs-only"
1313
>
1414
<b:ModalBody>
1515
<bh:Span addStyleNames="font-size-18">Repository Name</bh:Span>

src/main/resources/org/sagebionetworks/web/client/widget/entity/PromptForValuesModalViewImpl.ui.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
closable="true"
1111
dataBackdrop="STATIC"
1212
dataKeyboard="true"
13+
addStyleNames="full-size-modal-xs-only"
1314
>
1415
<b:ModalHeader closable="true">
1516
<b:Heading

src/main/resources/org/sagebionetworks/web/client/widget/entity/WikiMarkdownEditorViewImpl.ui.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<bh:Div>
88
<b:Modal
99
ui:field="editorDialog"
10-
addStyleNames="modal-fullscreen"
10+
addStyleNames="modal-fullscreen full-size-modal-xs-only"
1111
closable="true"
1212
dataBackdrop="STATIC"
1313
dataKeyboard="false"

src/main/resources/org/sagebionetworks/web/client/widget/entity/controller/EntityActionControllerViewImpl.ui.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
closable="true"
1111
dataBackdrop="STATIC"
1212
dataKeyboard="true"
13-
addStyleNames="modal-fullscreen"
13+
addStyleNames="modal-fullscreen full-size-modal-xs-only"
1414
>
1515
<b:ModalBody>
1616
<b:Pre ui:field="infoDialogText" />

src/main/resources/org/sagebionetworks/web/client/widget/entity/download/AddFolderDialogWidgetViewImpl.ui.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
dataBackdrop="STATIC"
1212
dataKeyboard="false"
1313
size="LARGE"
14-
addStyleNames="newFolderDialog"
14+
addStyleNames="newFolderDialog full-size-modal-xs-only"
1515
>
1616
<b:ModalBody>
1717
<b:FormGroup>

src/main/webapp/sass/_core.scss

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2090,6 +2090,22 @@ input[type='text'].padding-0 {
20902090
flex-flow: inherit;
20912091
}
20922092

2093+
@media (max-width: 768px) {
2094+
.full-size-modal-xs-only .modal-dialog {
2095+
width: 95%;
2096+
position: fixed;
2097+
top: 50%;
2098+
left: 50%;
2099+
transform: translate(-50%, -50%);
2100+
margin: auto;
2101+
max-height: 90vh;
2102+
}
2103+
2104+
.full-size-modal-xs-only .modal-content {
2105+
max-height: 90vh;
2106+
}
2107+
}
2108+
20932109
.glyphicon {
20942110
display: inline-block;
20952111
font: normal normal normal 14px/1 FontAwesome;

src/test/java/org/sagebionetworks/web/unitclient/widget/entity/MarkdownEditorWidgetTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,24 +271,35 @@ public void testResizeMarkdown() {
271271
String markdown = "";
272272

273273
when(mockView.getClientHeight()).thenReturn(0);
274+
when(mockView.getClientWidth()).thenReturn(1000);
274275
presenter.resizeMarkdownTextArea();
275276
verify(mockView)
276277
.setMarkdownTextAreaHeight(MarkdownEditorWidget.MIN_TEXTAREA_HEIGHT);
277278

278279
reset(mockView);
280+
when(mockView.getClientWidth()).thenReturn(1000);
279281
when(mockView.getClientHeight())
280282
.thenReturn(MarkdownEditorWidget.MIN_TEXTAREA_HEIGHT);
281283
presenter.resizeMarkdownTextArea();
282284
verify(mockView)
283285
.setMarkdownTextAreaHeight(MarkdownEditorWidget.MIN_TEXTAREA_HEIGHT);
284286

285287
reset(mockView);
288+
when(mockView.getClientWidth()).thenReturn(1000);
286289
when(mockView.getClientHeight()).thenReturn(1000);
287290
presenter.resizeMarkdownTextArea();
288291
verify(mockView)
289292
.setMarkdownTextAreaHeight(
290293
1000 - MarkdownEditorWidget.OTHER_EDITOR_COMPONENTS_HEIGHT
291294
);
295+
296+
// For mobile screen sizes (below XS_BREAKPOINT), set height to 40% of client height
297+
reset(mockView);
298+
when(mockView.getClientWidth())
299+
.thenReturn(MarkdownEditorWidget.XS_BREAKPOINT - 100);
300+
when(mockView.getClientHeight()).thenReturn(1000);
301+
presenter.resizeMarkdownTextArea();
302+
verify(mockView).setMarkdownTextAreaHeight(400);
292303
}
293304

294305
@Test

0 commit comments

Comments
 (0)