Skip to content

Commit 280c76b

Browse files
Merge pull request pallets-eco#1744 from flask-admin/inline-boolean
x-editable inline boolean fixes
2 parents e4d83a9 + 7d95b60 commit 280c76b

File tree

3 files changed

+20
-8
lines changed

3 files changed

+20
-8
lines changed

doc/changelog.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
Changelog
22
=========
33

4+
Next release
5+
-----
6+
7+
* Fix display of inline x-editable boolean fields on list view
8+
49
1.5.3
510
-----
611

flask_admin/model/widgets.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ def get_kwargs(self, field, kwargs):
110110
kwargs['data-rows'] = '5'
111111
elif field.type == 'BooleanField':
112112
kwargs['data-type'] = 'select2'
113+
kwargs['data-value'] = '1' if field.data else ''
113114
# data-source = dropdown options
114115
kwargs['data-source'] = json.dumps([
115116
{'value': '', 'text': gettext('No')},

flask_admin/static/admin/js/form.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -494,15 +494,21 @@
494494
case 'x-editable-boolean':
495495
$el.editable({
496496
params: overrideXeditableParams,
497-
display: function(value, sourceData, response) {
498-
// display new boolean value as an icon
499-
if(response) {
500-
if(value == '1') {
501-
$(this).html('<span class="fa fa-check-circle glyphicon glyphicon-ok-circle icon-ok-circle"></span>');
502-
} else {
503-
$(this).html('<span class="fa fa-minus-circle glyphicon glyphicon-minus-sign icon-minus-sign"></span>');
504-
}
497+
display: function(value, response) {
498+
// display boolean value as an icon
499+
if(value == '1') {
500+
$(this).html('<span class="fa fa-check-circle glyphicon glyphicon-ok-circle icon-ok-circle"></span>');
501+
} else {
502+
$(this).html('<span class="fa fa-minus-circle glyphicon glyphicon-minus-sign icon-minus-sign"></span>');
505503
}
504+
},
505+
success: function(response, newValue) {
506+
// update display
507+
if(newValue == '1') {
508+
$(this).html('<span class="fa fa-check-circle glyphicon glyphicon-ok-circle icon-ok-circle"></span>');
509+
} else {
510+
$(this).html('<span class="fa fa-minus-circle glyphicon glyphicon-minus-sign icon-minus-sign"></span>');
511+
}
506512
}
507513
});
508514
}

0 commit comments

Comments
 (0)