aboutsummaryrefslogtreecommitdiff
path: root/src/org/traccar/web/client/controller/ArchiveController.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/traccar/web/client/controller/ArchiveController.java')
-rw-r--r--src/org/traccar/web/client/controller/ArchiveController.java43
1 files changed, 37 insertions, 6 deletions
diff --git a/src/org/traccar/web/client/controller/ArchiveController.java b/src/org/traccar/web/client/controller/ArchiveController.java
index 598a744d..9f865b65 100644
--- a/src/org/traccar/web/client/controller/ArchiveController.java
+++ b/src/org/traccar/web/client/controller/ArchiveController.java
@@ -1,12 +1,19 @@
package org.traccar.web.client.controller;
-import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import org.traccar.web.client.Application;
+import org.traccar.web.client.model.BaseAsyncCallback;
+import org.traccar.web.client.model.PositionProperties;
import org.traccar.web.client.view.ArchiveView;
import org.traccar.web.shared.model.Device;
import org.traccar.web.shared.model.Position;
+import com.google.gwt.core.client.GWT;
+import com.sencha.gxt.data.shared.ListStore;
import com.sencha.gxt.widget.core.client.ContentPanel;
+import com.sencha.gxt.widget.core.client.box.AlertMessageBox;
public class ArchiveController implements ContentController, ArchiveView.ArchiveHandler {
@@ -16,11 +23,19 @@ public class ArchiveController implements ContentController, ArchiveView.Archive
private ArchiveHandler archiveHandler;
+ private ListStore<Position> positionStore;
+
private ArchiveView archiveView;
- public ArchiveController(ArchiveHandler archiveHandler) {
+ public ArchiveController(ArchiveHandler archiveHandler, ListStore<Device> deviceStore) {
this.archiveHandler = archiveHandler;
- archiveView = new ArchiveView(this);
+ PositionProperties positionProperties = GWT.create(PositionProperties.class);
+ positionStore = new ListStore<Position>(positionProperties.id());
+ archiveView = new ArchiveView(this, positionStore, deviceStore);
+ }
+
+ public ListStore<Position> getPositionStore() {
+ return positionStore;
}
@Override
@@ -32,13 +47,29 @@ public class ArchiveController implements ContentController, ArchiveView.Archive
public void run() {
}
- public void updateDevices(Collection<Device> devices) {
+ @Override
+ public void onSelected(Position position) {
+ archiveHandler.onSelected(position);
+ }
+ @Override
+ public void onLoad(Device device, Date from, Date to) {
+ if (device != null && from != null && to != null) {
+ Application.getDataService().getPositions(device, from, to, new BaseAsyncCallback<List<Position>>() {
+ @Override
+ public void onSuccess(List<Position> result) {
+ positionStore.clear();
+ positionStore.addAll(result);
+ }
+ });
+ } else {
+ new AlertMessageBox("Error", "All form fields must be filled first").show();
+ }
}
@Override
- public void onSelected(Position position) {
- archiveHandler.onSelected(position);
+ public void onClear() {
+ positionStore.clear();
}
}