aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/traccar/web/client/view/DeviceDialog.java
blob: 119564adc9d857ab49581320832e54e6993cbdd1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package org.traccar.web.client.view;

import org.traccar.web.client.Style;
import org.traccar.web.client.Traccar;
import org.traccar.web.shared.model.Device;

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.TextItem;
import com.smartgwt.client.widgets.form.fields.ToolbarItem;
import com.smartgwt.client.widgets.layout.Layout;

public class DeviceDialog extends Window {

    public interface SaveHandler {
        public void onSave(Device device);
    }

    private SaveHandler saveHandler;

    public void setSaveHandler(SaveHandler saveHandler) {
        this.saveHandler = saveHandler;
    }

    private Device device;

    TextItem nameEdit;
    TextItem uniqueIdEdit;

    public void setDevice(Device device) {
        this.device = device;
        nameEdit.setValue(device.getName());
        uniqueIdEdit.setValue(device.getUniqueId());
    }

    public DeviceDialog() {
        setTitle(Traccar.getConstants().device());
        setAutoSize(true);
        setIsModal(true);

        // Form
        final DynamicForm form = new DynamicForm();
        form.setHeight100();
        form.setWidth100();

        nameEdit = new TextItem();
        nameEdit.setTitle(Traccar.getConstants().name());
        uniqueIdEdit = new TextItem();
        uniqueIdEdit.setTitle(Traccar.getConstants().uniqueId());

        final ToolbarItem toolbarItem = new ToolbarItem();
        toolbarItem.setButtons(
                new IButton(Traccar.getConstants().save(), new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        if (saveHandler != null) {
                            device.setName(nameEdit.getValueAsString());
                            device.setUniqueId(uniqueIdEdit.getValueAsString());
                            saveHandler.onSave(device);
                        }
                    }
                }),
                new IButton(Traccar.getConstants().cancel(), new ClickHandler() {
                    @Override
                    public void onClick(ClickEvent event) {
                        destroy();
                    }
                }));
        toolbarItem.setAlign(Alignment.RIGHT);
        toolbarItem.setColSpan(3);

        form.setFields(nameEdit, uniqueIdEdit, toolbarItem);
        form.setCellPadding(Style.getCellPadding());

        final Layout layout = new Layout();
        layout.setPadding(Style.getPadding());

        layout.addMember(form);

        addItem(layout);
    }

}