[IMP] When we press on 'Altr' than all the shortcuts of accesskey are indicate in form.
bzr revid: jra@tinyerp.com-20121123104023-eawe2a3rrexo92h5
This commit is contained in:
commit
b91042ed39
|
@ -468,14 +468,10 @@
|
|||
max-width: 180px;
|
||||
max-height: 180px;
|
||||
}
|
||||
.openerp .oe_view_manager_current a.accessactive {
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
}
|
||||
.openerp .oe_view_manager_current .accessactive:first-letter {
|
||||
text-decoration: underline;
|
||||
.openerp .oe_view_manager_current span.access , a.access{
|
||||
text-decoration:underline;
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
font-weight: bold;
|
||||
font-weight:bold;
|
||||
}
|
||||
.openerp .oe_button.oe_link {
|
||||
border: none;
|
||||
|
|
|
@ -432,14 +432,10 @@ $sheet-padding: 16px
|
|||
.oe_image_medium > img
|
||||
max-width: 180px
|
||||
max-height: 180px
|
||||
.oe_view_manager_current
|
||||
a.accessactive
|
||||
display: inline-block
|
||||
text-decoration: none
|
||||
.accessactive:first-letter
|
||||
text-decoration: underline
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2)
|
||||
font-weight: bold
|
||||
.oe_view_manager_current span.access, a.access
|
||||
text-decoration: underline
|
||||
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2)
|
||||
font-weight: bold
|
||||
.oe_button.oe_link
|
||||
@include reset()
|
||||
img
|
||||
|
|
|
@ -123,10 +123,11 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
self.set({actual_mode: self.options.initial_mode});
|
||||
this.has_been_loaded.done(function() {
|
||||
self.on("change:actual_mode", self, self.check_actual_mode);
|
||||
self.widgetAccesskey();
|
||||
self.check_actual_mode();
|
||||
self.on("change:actual_mode", self, self.init_pager);
|
||||
self.init_pager();
|
||||
self.widgetAccesskey();
|
||||
self.on("change:actual_mode", self, self.widgetAccesskey);
|
||||
});
|
||||
self.on("load_record", self, self.load_record);
|
||||
this.on('view_loaded', self, self.load_form);
|
||||
|
@ -225,16 +226,63 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
|
|||
return $.when();
|
||||
},
|
||||
widgetAccesskey:function(){
|
||||
$(document).keydown(function(e){
|
||||
if(e.keyCode === $.ui.keyCode.ALT || e.keyCode === $.ui.keyCode.SHIFT && e.altKey) {
|
||||
$("[accesskey]").addClass('accessactive');
|
||||
}else {
|
||||
$("[accesskey]").removeClass('accessactive');
|
||||
}
|
||||
e.stopPropagation();
|
||||
}).keyup(function(e){
|
||||
$("[accesskey]").removeClass('accessactive');
|
||||
var self= this;
|
||||
var list,accesskey = [];
|
||||
$(window).blur(function() {unhighlightAccessKeys()});
|
||||
|
||||
var highlightAccessKeys = function(){
|
||||
var buttons = _.toArray(self.$el.find('header button:visible,.oe_button_box button:visible'));
|
||||
var form_button = _.toArray(self.$buttons.find('button:visible,a:visible'));
|
||||
var o2m = _.toArray($(document).find('.oe_list_content:visible .oe_form_field_one2many_list_row_add > a'))
|
||||
list = o2m.concat(form_button,buttons);
|
||||
accesskey = _.map(list, function(r){return $(r).attr('accesskey') });
|
||||
|
||||
_.each(list,function(el,i){
|
||||
if (! $(el).attr("accesskey")) {
|
||||
if(!accesskey[i]){
|
||||
var index = 0;
|
||||
_.each(accesskey,function(_key,j){
|
||||
if (!_key){
|
||||
accesskey[i] = $(el).text().replace(/\s/g, '').toUpperCase().charAt(0);
|
||||
return
|
||||
} else {
|
||||
if (_.contains(accesskey, $(el).text().replace(/\s/g, '').toUpperCase().charAt(index))) {
|
||||
index++;
|
||||
return false;
|
||||
} else {
|
||||
if (! accesskey[i]) {
|
||||
$(el).attr("accesskey",$(el).text().replace(/\s/g, '').charAt(index))
|
||||
index = 0
|
||||
return true
|
||||
}else {
|
||||
$(el).attr("accesskey",accesskey[i])
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
})
|
||||
}
|
||||
|
||||
}else {
|
||||
$(el).attr("accesskey",accesskey[i])
|
||||
}
|
||||
})
|
||||
}
|
||||
$(document).keydown(function(e){
|
||||
if (e.keyCode === 18 || e.keycode === 16 && e.altkey || e.keyCode == 18 && e.shiftKey) {
|
||||
highlightAccessKeys();
|
||||
_.each(list,function(rl,i){
|
||||
$(rl).html(function(i, html){
|
||||
return $(rl).text().replace($(rl).attr('accesskey'), '<span class ="access">' + $(rl).attr('accesskey') + '</span>');
|
||||
})})
|
||||
}}).keyup(function(){
|
||||
unhighlightAccessKeys();
|
||||
});
|
||||
var unhighlightAccessKeys = function() {
|
||||
_.each(list,function(rl,i){
|
||||
$(rl).find('.access').removeClass('access');
|
||||
})
|
||||
};
|
||||
},
|
||||
widgetFocused: function() {
|
||||
// Clear click flag if used to focus a widget
|
||||
|
|
|
@ -795,15 +795,15 @@
|
|||
<span class="oe_form_buttons_view">
|
||||
<!-- required for the bounce effect on button -->
|
||||
<div t-if="widget.is_action_enabled('edit')" style="display: inline-block;">
|
||||
<button type="button" class="oe_button oe_form_button_edit" accesskey="E">Edit</button>
|
||||
<button type="button" class="oe_button oe_form_button_edit">Edit</button>
|
||||
</div>
|
||||
<button t-if="widget.is_action_enabled('create')"
|
||||
type="button" class="oe_button oe_form_button_create" accesskey="C">Create</button>
|
||||
type="button" class="oe_button oe_form_button_create">Create</button>
|
||||
</span>
|
||||
<span class="oe_form_buttons_edit">
|
||||
<button type="button" class="oe_button oe_form_button_save oe_highlight" accesskey="S">Save</button>
|
||||
<button type="button" class="oe_button oe_form_button_save oe_highlight">Save</button>
|
||||
<span class="oe_fade">or</span>
|
||||
<a href="#" class="oe_bold oe_form_button_cancel" accesskey="D">Discard</a>
|
||||
<a href="#" class="oe_bold oe_form_button_cancel">Discard</a>
|
||||
</span>
|
||||
</t>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue