From 94fc6862c6635c680afc600a19f61fb9aaefe0ef Mon Sep 17 00:00:00 2001 From: Abyss777 Date: Tue, 4 Apr 2017 19:39:34 +0500 Subject: Use simple color picker instead of ux --- web/app/view/ColorPicker.js | 43 ++++++++++++++++++++++++++++++ web/app/view/dialog/Attribute.js | 3 ++- web/app/view/dialog/AttributeController.js | 9 +------ 3 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 web/app/view/ColorPicker.js (limited to 'web/app/view') diff --git a/web/app/view/ColorPicker.js b/web/app/view/ColorPicker.js new file mode 100644 index 00000000..5de03aa3 --- /dev/null +++ b/web/app/view/ColorPicker.js @@ -0,0 +1,43 @@ +/* + * Copyright 2017 Anton Tananaev (anton@traccar.org) + * Copyright 2017 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 . + */ +Ext.define('Traccar.view.ColorPicker', { + extend: 'Ext.form.field.Picker', + xtype: 'customcolorpicker', + + config: { + value: '#008000' + }, + + editable: false, + + createPicker: function () { + return Ext.create('Ext.picker.Color', { + floating: true, + picker: this, + select: function (selColor) { + this.picker.setValue('#' + selColor); + this.picker.collapse(); + } + }); + }, + + setValue: function (color) { + this.callParent([color]); + this.setFieldStyle('background-color:' + color); + } +}); diff --git a/web/app/view/dialog/Attribute.js b/web/app/view/dialog/Attribute.js index 7f0de788..6614c87f 100644 --- a/web/app/view/dialog/Attribute.js +++ b/web/app/view/dialog/Attribute.js @@ -19,7 +19,8 @@ Ext.define('Traccar.view.dialog.Attribute', { extend: 'Traccar.view.dialog.Base', requires: [ - 'Traccar.view.dialog.AttributeController' + 'Traccar.view.dialog.AttributeController', + 'Traccar.view.ColorPicker' ], controller: 'attribute', diff --git a/web/app/view/dialog/AttributeController.js b/web/app/view/dialog/AttributeController.js index daa33be2..7ddab11c 100644 --- a/web/app/view/dialog/AttributeController.js +++ b/web/app/view/dialog/AttributeController.js @@ -72,14 +72,7 @@ Ext.define('Traccar.view.dialog.AttributeController', { config.inputValue = true; config.uncheckedValue = false; } else if (type === 'color') { - config.xtype = 'colorfield'; - config.format = '#hex6'; - config.beforeBodyEl = [ - '
' + - '
' + - '
' - ]; + config.xtype = 'customcolorpicker'; } else { config.xtype = 'textfield'; } -- cgit v1.2.3