changeset b426134f663b in sao:default
details: https://hg.tryton.org/sao?cmd=changeset&node=b426134f663b
description:
Disable next/previous buttons depending on the record position
issue11302
review388061002
diffstat:
src/tab.js | 27 ++++++++++++++++-----------
1 files changed, 16 insertions(+), 11 deletions(-)
diffs (54 lines):
diff -r dfaac32524e2 -r b426134f663b src/tab.js
--- a/src/tab.js Sat Mar 26 12:59:43 2022 +0100
+++ b/src/tab.js Sat Mar 26 13:00:03 2022 +0100
@@ -1310,10 +1310,10 @@
this.attachment_screen = screen;
but_prev.click(function() {
- screen.display_previous();
+ return screen.display_previous();
});
but_next.click(function() {
- screen.display_next();
+ return screen.display_next();
});
var preview = {};
@@ -1461,6 +1461,15 @@
update('note', title, badge, color);
},
record_message: function(position, size, max_size, record_id) {
+ var set_sensitive = function(button_id, sensitive) {
+ if (this.buttons[button_id]) {
+ this.buttons[button_id].prop('disabled', !sensitive);
+ }
+ if (this.menu_buttons[button_id]) {
+ this.menu_buttons[button_id].toggleClass('disabled',
!sensitive);
+ }
+ }.bind(this);
+
var name = "_";
if (position) {
var selected = this.screen.selected_records.length;
@@ -1487,16 +1496,12 @@
} else if (button_id == 'save') {
can_be_sensitive &= !this.screen.readonly;
}
- button.prop('disabled', !(position && can_be_sensitive));
+ set_sensitive(button_id, position && can_be_sensitive);
}.bind(this));
- this.buttons.switch_.prop('disabled',
- this.attributes.view_ids > 1);
-
- this.menu_buttons.delete_.toggleClass(
- 'disabled', !this.screen.deletable);
- this.menu_buttons.save.toggleClass(
- 'disabled', this.screen.readonly);
- this.buttons.save.prop('disabled', this.screen.readonly);
+ set_sensitive('switch_', this.attributes.view_ids.length > 1);
+ set_sensitive('delete_', this.screen.deletable);
+ set_sensitive('previous', position > (this.screen.offset + 1));
+ set_sensitive('next', position < size);
var msg;
if (size < max_size) {