tryton-sao 6.0.61 → 6.0.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG +10 -0
- package/dist/tryton-sao.css +11 -5
- package/dist/tryton-sao.js +28 -9
- package/dist/tryton-sao.min.css +11 -5
- package/dist/tryton-sao.min.js +2 -2
- package/package.json +1 -1
- package/src/common.js +6 -1
- package/src/sao.js +10 -4
- package/src/sao.less +1 -1
- package/src/theme.less +6 -2
- package/src/view/tree.js +12 -4
package/CHANGELOG
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
|
|
2
|
+
Version 6.0.63 - 2025-07-15
|
|
3
|
+
---------------------------
|
|
4
|
+
* Bug fixes (see mercurial logs for details)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Version 6.0.62 - 2025-07-01
|
|
8
|
+
---------------------------
|
|
9
|
+
* Bug fixes (see mercurial logs for details)
|
|
10
|
+
|
|
11
|
+
|
|
2
12
|
Version 6.0.61 - 2025-06-04
|
|
3
13
|
---------------------------
|
|
4
14
|
* Bug fixes (see mercurial logs for details)
|
package/dist/tryton-sao.css
CHANGED
|
@@ -8774,6 +8774,11 @@ html[theme="default"] .radio input[type="radio"]:focus,
|
|
|
8774
8774
|
html[theme="default"] .radio-inline input[type="radio"]:focus {
|
|
8775
8775
|
outline: none;
|
|
8776
8776
|
}
|
|
8777
|
+
html[theme="default"] input[type="radio"]:focus:after,
|
|
8778
|
+
html[theme="default"] .radio input[type="radio"]:focus:after,
|
|
8779
|
+
html[theme="default"] .radio-inline input[type="radio"]:focus:after {
|
|
8780
|
+
border-color: #71bdc1 !important;
|
|
8781
|
+
}
|
|
8777
8782
|
html[theme="default"] input[type="radio"]:before,
|
|
8778
8783
|
html[theme="default"] .radio input[type="radio"]:before,
|
|
8779
8784
|
html[theme="default"] .radio-inline input[type="radio"]:before,
|
|
@@ -8863,10 +8868,10 @@ html[theme="default"] .checkbox input[type="checkbox"]:focus,
|
|
|
8863
8868
|
html[theme="default"] .checkbox-inline input[type="checkbox"]:focus {
|
|
8864
8869
|
outline: none;
|
|
8865
8870
|
}
|
|
8866
|
-
html[theme="default"] input[type="checkbox"]:focus:
|
|
8867
|
-
html[theme="default"] .checkbox input[type="checkbox"]:focus:
|
|
8868
|
-
html[theme="default"] .checkbox-inline input[type="checkbox"]:focus:
|
|
8869
|
-
border-color: #
|
|
8871
|
+
html[theme="default"] input[type="checkbox"]:focus:after,
|
|
8872
|
+
html[theme="default"] .checkbox input[type="checkbox"]:focus:after,
|
|
8873
|
+
html[theme="default"] .checkbox-inline input[type="checkbox"]:focus:after {
|
|
8874
|
+
border-color: #71bdc1 !important;
|
|
8870
8875
|
}
|
|
8871
8876
|
html[theme="default"] input[type="checkbox"]:before,
|
|
8872
8877
|
html[theme="default"] .checkbox input[type="checkbox"]:before,
|
|
@@ -9185,7 +9190,8 @@ html[theme="default"] .carousel-caption h6 {
|
|
|
9185
9190
|
float: none;
|
|
9186
9191
|
}
|
|
9187
9192
|
}
|
|
9188
|
-
.btn-primary .icon
|
|
9193
|
+
.btn-primary .icon,
|
|
9194
|
+
.bg-primary .icon {
|
|
9189
9195
|
filter: brightness(0) invert(1);
|
|
9190
9196
|
}
|
|
9191
9197
|
.panel-heading a {
|
package/dist/tryton-sao.js
CHANGED
|
@@ -1066,20 +1066,26 @@ var Sao = {};
|
|
|
1066
1066
|
shortcut: 'alt+shift+tab',
|
|
1067
1067
|
label: Sao.i18n.gettext('Previous tab'),
|
|
1068
1068
|
callback: function() {
|
|
1069
|
-
|
|
1069
|
+
if (!jQuery('body').children('.modal').length) {
|
|
1070
|
+
Sao.Tab.previous_tab();
|
|
1071
|
+
}
|
|
1070
1072
|
},
|
|
1071
1073
|
}, {
|
|
1072
1074
|
shortcut: 'alt+tab',
|
|
1073
1075
|
label: Sao.i18n.gettext('Next tab'),
|
|
1074
1076
|
callback: function() {
|
|
1075
|
-
|
|
1077
|
+
if (!jQuery('body').children('.modal').length) {
|
|
1078
|
+
Sao.Tab.next_tab();
|
|
1079
|
+
}
|
|
1076
1080
|
},
|
|
1077
1081
|
}, {
|
|
1078
1082
|
shortcut: 'ctrl+k',
|
|
1079
1083
|
label: Sao.i18n.gettext('Global search'),
|
|
1080
1084
|
callback: function() {
|
|
1081
|
-
jQuery('
|
|
1082
|
-
|
|
1085
|
+
if (!jQuery('body').children('.modal').length) {
|
|
1086
|
+
jQuery('#main_navbar:hidden').collapse('show');
|
|
1087
|
+
jQuery('#global-search-entry').focus();
|
|
1088
|
+
}
|
|
1083
1089
|
},
|
|
1084
1090
|
}, {
|
|
1085
1091
|
shortcut: 'f1',
|
|
@@ -4932,8 +4938,13 @@ var Sao = {};
|
|
|
4932
4938
|
}
|
|
4933
4939
|
let { format } = new Intl.NumberFormat(
|
|
4934
4940
|
Sao.i18n.BC47(Sao.i18n.getlang()));
|
|
4941
|
+
// use 10000 because some language (ex: es) add thousand
|
|
4942
|
+
// separator only after 9999
|
|
4943
|
+
let [, thousandSeparator] = /^10(.)?000/.exec(format(10000));
|
|
4935
4944
|
let [, decimalSign] = /^0(.)1$/.exec(format(0.1));
|
|
4936
|
-
return Number(string
|
|
4945
|
+
return Number(string
|
|
4946
|
+
.replace(new RegExp(thousandSeparator, 'g'), '')
|
|
4947
|
+
.replace(decimalSign, '.'));
|
|
4937
4948
|
}
|
|
4938
4949
|
var convert_selection = function() {
|
|
4939
4950
|
if (typeof value == 'string') {
|
|
@@ -21053,12 +21064,13 @@ function eval_pyson(value){
|
|
|
21053
21064
|
current_record = this.tree.screen.current_record;
|
|
21054
21065
|
this.tree.select_records(current_record, this.record);
|
|
21055
21066
|
} else {
|
|
21067
|
+
let selected = this.is_selected();
|
|
21056
21068
|
if (!(event_.ctrlKey || event_.metaKey) ||
|
|
21057
21069
|
this.tree.selection_mode ==
|
|
21058
21070
|
Sao.common.SELECTION_SINGLE) {
|
|
21059
21071
|
this.tree.select_records(null, null);
|
|
21060
21072
|
}
|
|
21061
|
-
this.set_selection(!
|
|
21073
|
+
this.set_selection(!selected);
|
|
21062
21074
|
}
|
|
21063
21075
|
this.selection_changed();
|
|
21064
21076
|
if (current_record) {
|
|
@@ -21089,6 +21101,9 @@ function eval_pyson(value){
|
|
|
21089
21101
|
},
|
|
21090
21102
|
selection_changed: function() {
|
|
21091
21103
|
var is_selected = this.is_selected();
|
|
21104
|
+
if (this.tree.selection_mode == Sao.common.SELECTION_SINGLE) {
|
|
21105
|
+
this.tree.select_records(null, null);
|
|
21106
|
+
}
|
|
21092
21107
|
this.set_selection(is_selected);
|
|
21093
21108
|
if (is_selected) {
|
|
21094
21109
|
this.tree.select_changed(this.record);
|
|
@@ -21238,10 +21253,13 @@ function eval_pyson(value){
|
|
|
21238
21253
|
}
|
|
21239
21254
|
listener.on('click.sao.editabletree', handler);
|
|
21240
21255
|
|
|
21241
|
-
|
|
21242
|
-
|
|
21243
|
-
if (!event_.shiftKey && !(event_.ctrlKey || event_.metaKey)
|
|
21256
|
+
// do not call super when editing row because the selection must
|
|
21257
|
+
// not be changed
|
|
21258
|
+
if (!event_.shiftKey && !(event_.ctrlKey || event_.metaKey) &&
|
|
21259
|
+
(this.record === current_record)) {
|
|
21244
21260
|
this.tree.edit_row(this);
|
|
21261
|
+
} else {
|
|
21262
|
+
Sao.View.Tree.RowEditable._super.select_row.call(this, event_);
|
|
21245
21263
|
}
|
|
21246
21264
|
},
|
|
21247
21265
|
unset_editable: function() {
|
|
@@ -22077,6 +22095,7 @@ function eval_pyson(value){
|
|
|
22077
22095
|
if (states.invisible || states.readonly) {
|
|
22078
22096
|
return;
|
|
22079
22097
|
}
|
|
22098
|
+
event.stopImmediatePropagation();
|
|
22080
22099
|
button.el.prop('disabled', true); // state will be reset at display
|
|
22081
22100
|
var row = this.view.rows.find(function(row) {
|
|
22082
22101
|
return row.record == record;
|
package/dist/tryton-sao.min.css
CHANGED
|
@@ -8774,6 +8774,11 @@ html[theme="default"] .radio input[type="radio"]:focus,
|
|
|
8774
8774
|
html[theme="default"] .radio-inline input[type="radio"]:focus {
|
|
8775
8775
|
outline: none;
|
|
8776
8776
|
}
|
|
8777
|
+
html[theme="default"] input[type="radio"]:focus:after,
|
|
8778
|
+
html[theme="default"] .radio input[type="radio"]:focus:after,
|
|
8779
|
+
html[theme="default"] .radio-inline input[type="radio"]:focus:after {
|
|
8780
|
+
border-color: #71bdc1 !important;
|
|
8781
|
+
}
|
|
8777
8782
|
html[theme="default"] input[type="radio"]:before,
|
|
8778
8783
|
html[theme="default"] .radio input[type="radio"]:before,
|
|
8779
8784
|
html[theme="default"] .radio-inline input[type="radio"]:before,
|
|
@@ -8863,10 +8868,10 @@ html[theme="default"] .checkbox input[type="checkbox"]:focus,
|
|
|
8863
8868
|
html[theme="default"] .checkbox-inline input[type="checkbox"]:focus {
|
|
8864
8869
|
outline: none;
|
|
8865
8870
|
}
|
|
8866
|
-
html[theme="default"] input[type="checkbox"]:focus:
|
|
8867
|
-
html[theme="default"] .checkbox input[type="checkbox"]:focus:
|
|
8868
|
-
html[theme="default"] .checkbox-inline input[type="checkbox"]:focus:
|
|
8869
|
-
border-color: #
|
|
8871
|
+
html[theme="default"] input[type="checkbox"]:focus:after,
|
|
8872
|
+
html[theme="default"] .checkbox input[type="checkbox"]:focus:after,
|
|
8873
|
+
html[theme="default"] .checkbox-inline input[type="checkbox"]:focus:after {
|
|
8874
|
+
border-color: #71bdc1 !important;
|
|
8870
8875
|
}
|
|
8871
8876
|
html[theme="default"] input[type="checkbox"]:before,
|
|
8872
8877
|
html[theme="default"] .checkbox input[type="checkbox"]:before,
|
|
@@ -9185,7 +9190,8 @@ html[theme="default"] .carousel-caption h6 {
|
|
|
9185
9190
|
float: none;
|
|
9186
9191
|
}
|
|
9187
9192
|
}
|
|
9188
|
-
.btn-primary .icon
|
|
9193
|
+
.btn-primary .icon,
|
|
9194
|
+
.bg-primary .icon {
|
|
9189
9195
|
filter: brightness(0) invert(1);
|
|
9190
9196
|
}
|
|
9191
9197
|
.panel-heading a {
|