aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/web/client/model
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2013-02-20 23:58:19 +1300
committerAnton Tananaev <anton.tananaev@gmail.com>2013-02-20 23:58:19 +1300
commitb26e487f3c65808d349c7a53c0ea2a3981b61bac (patch)
tree57873f966be2953f3cb6b6f518cd44ea1adf720c /src/org/traccar/web/client/model
parent6801698dfc9c99b34d7ed081ebcfbec4a8853868 (diff)
downloadetbsa-traccar-web-b26e487f3c65808d349c7a53c0ea2a3981b61bac.tar.gz
etbsa-traccar-web-b26e487f3c65808d349c7a53c0ea2a3981b61bac.tar.bz2
etbsa-traccar-web-b26e487f3c65808d349c7a53c0ea2a3981b61bac.zip
Add user preferences
Diffstat (limited to 'src/org/traccar/web/client/model')
-rw-r--r--src/org/traccar/web/client/model/DataService.java2
-rw-r--r--src/org/traccar/web/client/model/DataServiceAsync.java2
-rw-r--r--src/org/traccar/web/client/model/EnumKeyProvider.java13
-rw-r--r--src/org/traccar/web/client/model/UserSettingsProperties.java20
4 files changed, 35 insertions, 2 deletions
diff --git a/src/org/traccar/web/client/model/DataService.java b/src/org/traccar/web/client/model/DataService.java
index 859c812..3e64971 100644
--- a/src/org/traccar/web/client/model/DataService.java
+++ b/src/org/traccar/web/client/model/DataService.java
@@ -29,7 +29,7 @@ import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
@RemoteServiceRelativePath("dataService")
public interface DataService extends RemoteService {
- boolean authenticated();
+ User authenticated();
User login(String login, String password);
diff --git a/src/org/traccar/web/client/model/DataServiceAsync.java b/src/org/traccar/web/client/model/DataServiceAsync.java
index 689e699..559545d 100644
--- a/src/org/traccar/web/client/model/DataServiceAsync.java
+++ b/src/org/traccar/web/client/model/DataServiceAsync.java
@@ -27,7 +27,7 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
public interface DataServiceAsync {
- void authenticated(AsyncCallback<Boolean> callback);
+ void authenticated(AsyncCallback<User> callback);
void login(String login, String password, AsyncCallback<User> callback);
diff --git a/src/org/traccar/web/client/model/EnumKeyProvider.java b/src/org/traccar/web/client/model/EnumKeyProvider.java
new file mode 100644
index 0000000..c41d420
--- /dev/null
+++ b/src/org/traccar/web/client/model/EnumKeyProvider.java
@@ -0,0 +1,13 @@
+package org.traccar.web.client.model;
+
+import com.sencha.gxt.data.shared.ModelKeyProvider;
+
+
+public class EnumKeyProvider<T extends Enum<T>> implements ModelKeyProvider<T> {
+
+ @Override
+ public String getKey(T item) {
+ return String.valueOf(item.ordinal());
+ }
+
+}
diff --git a/src/org/traccar/web/client/model/UserSettingsProperties.java b/src/org/traccar/web/client/model/UserSettingsProperties.java
index ad7e8e0..dad7111 100644
--- a/src/org/traccar/web/client/model/UserSettingsProperties.java
+++ b/src/org/traccar/web/client/model/UserSettingsProperties.java
@@ -16,8 +16,10 @@
package org.traccar.web.client.model;
import org.traccar.web.shared.model.UserSettings;
+import org.traccar.web.shared.model.UserSettings.SpeedUnit;
import com.sencha.gxt.core.client.ValueProvider;
+import com.sencha.gxt.data.shared.LabelProvider;
import com.sencha.gxt.data.shared.ModelKeyProvider;
import com.sencha.gxt.data.shared.PropertyAccess;
@@ -27,4 +29,22 @@ public interface UserSettingsProperties extends PropertyAccess<UserSettings> {
ValueProvider<UserSettings, UserSettings.SpeedUnit> speedUnit();
+ public static class SpeedUnitLabelProvider implements LabelProvider<UserSettings.SpeedUnit> {
+
+ @Override
+ public String getLabel(SpeedUnit item) {
+ switch (item) {
+ case kilometersPerHour:
+ return "km/h";
+ case knots:
+ return "knots";
+ case milesPerHour:
+ return "mph";
+ default:
+ return null;
+ }
+ }
+
+ }
+
}