aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/web/client/view/LoginDialog.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/traccar/web/client/view/LoginDialog.java')
-rw-r--r--src/main/java/org/traccar/web/client/view/LoginDialog.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/main/java/org/traccar/web/client/view/LoginDialog.java b/src/main/java/org/traccar/web/client/view/LoginDialog.java
new file mode 100644
index 0000000..625a29b
--- /dev/null
+++ b/src/main/java/org/traccar/web/client/view/LoginDialog.java
@@ -0,0 +1,82 @@
+package org.traccar.web.client.view;
+
+import org.traccar.web.client.Style;
+import org.traccar.web.client.Traccar;
+
+import com.smartgwt.client.types.Alignment;
+import com.smartgwt.client.widgets.IButton;
+import com.smartgwt.client.widgets.Window;
+import com.smartgwt.client.widgets.events.ClickEvent;
+import com.smartgwt.client.widgets.events.ClickHandler;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.PasswordItem;
+import com.smartgwt.client.widgets.form.fields.TextItem;
+import com.smartgwt.client.widgets.form.fields.ToolbarItem;
+import com.smartgwt.client.widgets.layout.Layout;
+
+public class LoginDialog extends Window {
+
+ public interface LoginHandler {
+ public void onLogin(String login, String password);
+ public void onRegister(String login, String password);
+ }
+
+ private LoginHandler loginHandler;
+
+ public void setLoginHandler(LoginHandler loginHandler) {
+ this.loginHandler = loginHandler;
+ }
+
+ public LoginDialog() {
+
+ // Window properties
+ setTitle(Traccar.getConstants().userAuthentication());
+ setShowCloseButton(false);
+ setShowMinimizeButton(false);
+ setAutoSize(true);
+ setIsModal(true);
+
+ // Login form
+ final DynamicForm form = new DynamicForm();
+ form.setHeight100();
+ form.setWidth100();
+ final TextItem loginEdit = new TextItem();
+ loginEdit.setTitle(Traccar.getConstants().login());
+ final PasswordItem passwordEdit = new PasswordItem();
+ passwordEdit.setTitle(Traccar.getConstants().password());
+
+ final ToolbarItem toolbarItem = new ToolbarItem();
+ toolbarItem.setButtons(
+ new IButton(Traccar.getConstants().login(), new ClickHandler() {
+ @Override
+ public void onClick(ClickEvent event) {
+ if (loginHandler != null) {
+ loginHandler.onLogin(
+ loginEdit.getValueAsString(), passwordEdit.getValueAsString());
+ }
+ }
+ }),
+ new IButton(Traccar.getConstants().register(), new ClickHandler() {
+ @Override
+ public void onClick(ClickEvent event) {
+ if (loginHandler != null) {
+ loginHandler.onRegister(
+ loginEdit.getValueAsString(), passwordEdit.getValueAsString());
+ }
+ }
+ }));
+ toolbarItem.setAlign(Alignment.RIGHT);
+ toolbarItem.setColSpan(3);
+
+ form.setFields(loginEdit, passwordEdit, toolbarItem);
+ form.setCellPadding(Style.getCellPadding());
+
+ final Layout layout = new Layout();
+ layout.setPadding(Style.getPadding());
+
+ layout.addMember(form);
+
+ addItem(layout);
+ }
+
+}