Skip to content

Commit 342bd84

Browse files
committed
UY-1409, UY-1408 fixes
1 parent 650ff05 commit 342bd84

File tree

4 files changed

+58
-8
lines changed

4 files changed

+58
-8
lines changed

vaadin23-elements/src/main/java/io/imunity/vaadin23/elements/NotificationPresenter.java

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.vaadin.flow.component.button.Button;
1010
import com.vaadin.flow.component.button.ButtonVariant;
1111
import com.vaadin.flow.component.html.Label;
12+
import com.vaadin.flow.component.html.Span;
1213
import com.vaadin.flow.component.icon.Icon;
1314
import com.vaadin.flow.component.icon.VaadinIcon;
1415
import com.vaadin.flow.component.notification.Notification;
@@ -43,9 +44,8 @@ public void showError(String caption, String description)
4344

4445
public void showWarning(String caption, String description)
4546
{
46-
ErrorNotification errorNotification = new ErrorNotification(caption, description);
47-
errorNotification.addThemeVariants(NotificationVariant.LUMO_CONTRAST);
48-
errorNotification.open();
47+
NoticeNotification warnNotification = new NoticeNotification(caption, description);
48+
warnNotification.open();
4949
}
5050

5151
private static class ErrorNotification extends Notification
@@ -74,4 +74,26 @@ private ErrorNotification(String header, String description)
7474
setPosition(MIDDLE);
7575
}
7676
}
77+
78+
private static class NoticeNotification extends Notification
79+
{
80+
private NoticeNotification(String header, String description)
81+
{
82+
Button closeButton = new Button(new Icon("lumo", "cross"));
83+
closeButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY_INLINE);
84+
closeButton.getElement().setAttribute("aria-label", "Close");
85+
closeButton.addClickListener(event -> close());
86+
87+
Span label = new Span(header);
88+
label.getStyle().set("font-weight", "bold");
89+
HorizontalLayout layout = new HorizontalLayout(
90+
new VerticalLayout(label, new Text(description)),
91+
closeButton
92+
);
93+
layout.setAlignItems(FlexComponent.Alignment.CENTER);
94+
95+
add(layout);
96+
setPosition(MIDDLE);
97+
}
98+
}
7799
}

vaadin23-elements/src/main/java/io/imunity/vaadin23/elements/SubmitButton.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,33 @@
77

88

99
import com.vaadin.flow.component.Key;
10+
import com.vaadin.flow.component.ShortcutRegistration;
1011
import com.vaadin.flow.component.button.Button;
1112
import com.vaadin.flow.component.button.ButtonVariant;
1213

1314
import java.util.function.Function;
1415

1516
public class SubmitButton extends Button
1617
{
18+
private ShortcutRegistration enterShortcut;
19+
1720
public SubmitButton(Function<String, String> messageGetter)
1821
{
1922
super(messageGetter.apply("OK"));
2023
addClassName(Vaadin23ClassNames.SUBMIT_BUTTON.getName());
2124
addThemeVariants(ButtonVariant.LUMO_PRIMARY);
22-
addClickShortcut(Key.ENTER);
25+
addEnterShortcut(); }
26+
27+
public void addEnterShortcut()
28+
{
29+
enterShortcut = addClickShortcut(Key.ENTER);
30+
}
31+
32+
public void removeEnterShortcut()
33+
{
34+
if (enterShortcut != null)
35+
{
36+
enterShortcut.remove();
37+
}
2338
}
2439
}

web-upman/src/main/java/io/imunity/upman/front/views/invitations/InvitationForm.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@
1313
import java.util.List;
1414
import java.util.Locale;
1515

16+
import com.vaadin.flow.component.BlurNotifier.BlurEvent;
17+
import com.vaadin.flow.component.ComponentEventListener;
18+
import com.vaadin.flow.component.FocusNotifier.FocusEvent;
1619
import com.vaadin.flow.component.HtmlContainer;
17-
import com.vaadin.flow.component.Key;
1820
import com.vaadin.flow.component.checkbox.Checkbox;
1921
import com.vaadin.flow.component.datetimepicker.DateTimePicker;
2022
import com.vaadin.flow.component.formlayout.FormLayout;
@@ -52,7 +54,6 @@ public InvitationForm(MessageSource msg, ProjectGroup projectGroup, List<GroupTr
5254
emailsTextArea.setPlaceholder(msg.getMessage("NewInvitationDialog.emailsPrompt"));
5355
emailsTextArea.setWidth("24em");
5456
emailsTextArea.focus();
55-
emailsTextArea.addKeyPressListener(Key.ENTER, e -> emailsTextArea.setValue(emailsTextArea.getValue() + "\n"));
5657
TooltipAttacher.attachTooltip(msg.getMessage("NewInvitationDialog.emailsDesc"), emailsTextArea, container);
5758

5859
allowModifyGroupsCheckbox = new Checkbox(msg.getMessage("NewInvitationDialog.allowModifyGroups"));
@@ -142,4 +143,14 @@ private void setLabels()
142143
addFormItem(allowModifyGroupsCheckbox, "");
143144
addFormItem(expirationDateTimePicker, new FormLayoutLabel(msg.getMessage("NewInvitationDialog.invitationLivetime")));
144145
}
146+
147+
void addEmailFieldFocusListener(ComponentEventListener<FocusEvent<TextArea>> listener)
148+
{
149+
emailsTextArea.addFocusListener(listener);
150+
}
151+
152+
void addEmailFieldBlurListener(ComponentEventListener<BlurEvent<TextArea>> listener)
153+
{
154+
emailsTextArea.addBlurListener(listener);
155+
}
145156
}

web-upman/src/main/java/io/imunity/upman/front/views/invitations/InvitationsView.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ private Dialog createInvitationDialog()
9090
InvitationForm invitationForm = new InvitationForm(msg, projectGroup, projectService.getProjectGroups(projectGroup).getAllOffspring(), getContent());
9191
dialog.add(invitationForm);
9292

93-
Button saveButton = new SubmitButton(msg::getMessage);
93+
SubmitButton saveButton = new SubmitButton(msg::getMessage);
9494
saveButton.addClickListener(event ->
9595
{
9696
if(invitationForm.isValid())
@@ -100,7 +100,9 @@ private Dialog createInvitationDialog()
100100
loadData();
101101
}
102102
});
103-
103+
invitationForm.addEmailFieldBlurListener(e -> saveButton.addEnterShortcut());
104+
invitationForm.addEmailFieldFocusListener(e -> saveButton.removeEnterShortcut());
105+
104106
dialog.getFooter().add(saveButton);
105107
return dialog;
106108
}

0 commit comments

Comments
 (0)