aboutsummaryrefslogtreecommitdiff
path: root/web/app/store/DeviceImages.js
blob: 968f90c4a6014116bba37735f9fa5811f1a22600 (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
/*
 * Copyright 2016 Anton Tananaev (anton@traccar.org)
 * Copyright 2016 Andrey Kunitsyn (andrey@traccar.org)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
Ext.define('Traccar.store.DeviceImages', {
    extend: 'Ext.data.Store',
    fields: ['key', 'name', 'url', 'svg', 'fillId', 'rotateId', 'scale'],

    data: [{
        key: 'default',
        name: Strings.categoryDefault,
        svg: (new DOMParser())
                .parseFromString('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="26" height="26">'
                + '<polygon id="arrow" points="13,4 19,22 13,19 7,22" '
                + 'style="fill:#008000;stroke:#000000;stroke-width:2px;" transform="" /></svg>', "image/svg+xml"),
        rotateId: 'arrow',
        fillId: 'arrow',
        scale: 1
    }, {
        key: 'car',
        name: Strings.categoryCar,
        url: 'images/car.svg',
        fillId: 'path4149',
        rotateId: 'g4207',
        scale: 0.06,
    }, {
        key: 'bus',
        name: Strings.categoryBus,
        url: 'images/bus.svg',
        fillId: 'path4713',
        rotateId: 'layer2',
        scale: 0.12,
    }, {
        key: 'truck',
        name: Strings.categoryTruck,
        url: 'images/truck.svg',
        fillId: 'path4718',
        rotateId: 'layer2',
        scale: 0.1,
    }],
    
    constructor: function() {
        this.callParent(arguments);
        this.config.data.forEach(function (device) {
            if (device.url) {
                Ext.Ajax.request({
                    url: device.url,
                    scope: device,
                    success: function (response) {
                        this.svg = (new DOMParser()).parseFromString(response.responseText, "image/svg+xml");
                    }
                });
            }
        });
    }
});