diff --git a/CHANGELOG b/CHANGELOG
index f35f6d3e71..ee2b340e30 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,4 @@
+* Use between numbers in filter box
* Fill 'to' with 'from' value on filter box
* Add tab domain in URL
* Use properties
diff --git a/src/sao.less b/src/sao.less
index 108b764faf..f1f62d1a34 100644
--- a/src/sao.less
+++ b/src/sao.less
@@ -122,6 +122,11 @@
}
}
+input[type='number'] {
+ text-align: right;
+ text-align: end;
+}
+
input[type='color'] {
.btn {
height: @line-height-base;
diff --git a/src/screen.js b/src/screen.js
index ee1fc5d40b..5814558dfa 100644
--- a/src/screen.js
+++ b/src/screen.js
@@ -515,6 +515,12 @@
format, prefix + field.name);
input = entry.el;
break;
+ case 'integer':
+ case 'float':
+ case 'numeric':
+ entry = new Sao.ScreenContainer.Numbers(prefix + field.name);
+ input = entry.el;
+ break;
default:
entry = input = jQuery('', {
'class': 'form-control input-sm',
@@ -682,6 +688,27 @@
},
});
+ Sao.ScreenContainer.Numbers = Sao.class_(Sao.ScreenContainer.BetweenDates, {
+ init: function(id) {
+ Sao.ScreenContainer.Numbers._super.init.call(this, id);
+ this.from.change(this._from_changed.bind(this));
+ },
+ build_entry: function(placeholder, el) {
+ var entry = jQuery('', {
+ 'class': 'form-control input-sm',
+ 'type': 'number',
+ 'step': 'any',
+ }).appendTo(el);
+ return entry;
+ },
+ _get_value: function(entry, value) {
+ return entry.val();
+ },
+ _set_value: function(entry, value) {
+ return entry.val(value);
+ },
+ });
+
Sao.ScreenContainer.Selection = Sao.class_(Object, {
init: function(selections, id) {
this.el = jQuery('', {