2
openerp.web_keyboard_shortcuts = function (openerp) {
3
var QWeb = openerp.web.qweb,
5
openerp.web_shortcuts.Shortcuts.include({
7
this._super.apply(this, arguments);
13
$(document).keyup(function(event){
14
if(fullscreen_toggle.menu_dict)
16
var d = event.keyCode;
17
var pa=$(".oe_searchview_input").html();
18
for (key in Object.keys(fullscreen_toggle.menu_dict))
23
$("div.oe_searchview_clear").click();
27
{ pa=pa.replace(/\\/g, "\\\\");
28
pa=pa.replace(/\(/g, "\\(");
29
pa=pa.replace(/\)/g, "\\)");
30
var patt1=new RegExp("^"+pa);
31
if(patt1.test(Object.keys(fullscreen_toggle.menu_dict)[key]))
33
str = Object.keys(fullscreen_toggle.menu_dict)[key]
34
var sub = str.substring(pa.length);
35
$("#search_hint").remove();
36
$(".oe_searchview_input").append('<div id="search_hint" style="color:#898585">'+sub+"</div>");
46
$(".oe_searchview_input").trigger("paste");
49
menu_id=fullscreen_toggle.menu_dict[str];
53
event.preventDefault();
57
if (fullscreen_toggle.menu_dict){
58
if(d==13 && select==1 && menu_id)
63
self.session.active_id = id;
64
// TODO: Use do_action({menu_id: id, type: 'ir.actions.menu'})
67
self.rpc('/web/menu/action', {'menu_id': id}).done(function(ir_menu_data) {
68
if (ir_menu_data.action.length){
69
openerp.webclient.on_menu_action({action_id: ir_menu_data.action[0][2].id});
87
$(document).ready(function(event) {
88
$(document).keyup(function(event) {
89
$("button u span").unwrap();
91
$(document).keydown(function(event) {
92
jQuery(".oe_menu").sortable({axis: "x",
96
$("#search_hint").remove();
97
var n = String.fromCharCode(event.charCode);
98
var d = event.keyCode;
101
$("header button:visible").attr("accesskey",function(index,currentvalue){
104
var button_text = $(this).text();
105
$(this).html(button_text.replace(currentvalue,'<u class="alt_base"><span class="under_line">'+currentvalue+'</sapn></u>'));
106
alt_dict[currentvalue]=$(this);
107
$('.alt_base').addClass("alt_after");
110
// $("button").attr("accesskey",function(index,currentvalue){
113
// var button_text = $(this).text();
114
// $(this).html(button_text.replace(currentvalue,'<u><span class="under_line">'+currentvalue+'</sapn></u>'));
115
// alt_dict[currentvalue]=$(this);
116
// $(this).removeAttr("accesskey");
117
// $(this).attr("acckey",currentvalue);
123
if (event.keyCode && event.keyCode != 18 && event.altKey) {
124
event.preventDefault();
125
var pressed = String.fromCharCode(event.keyCode);
126
if (alt_dict.hasOwnProperty(pressed)!=false)
128
// if(alt_dict[pressed].is(":visible"))
131
// alt_dict[pressed].click();
136
if (event.keyCode && event.keyCode != 17 && event.ctrlKey) {
138
event.preventDefault();
139
var x = document.getElementsByTagName('button');
140
for (i = 0; i < x.length; i++) {
142
if (y.className == "oe_button oe_form_button_save oe_highlight" && $(y).is(':visible')) {
150
event.preventDefault();
151
var x = document.getElementsByTagName('a');
152
for (i = 0; i < x.length; i++) {
154
if (y.className == "oe_vm_switch_kanban") {
163
event.preventDefault();
164
var x = document.getElementsByTagName('a');
165
for (i = 0; i < x.length; i++) {
167
if (y.className == "oe_vm_switch_graph") {
176
event.preventDefault();
177
var x = document.getElementsByTagName('div');
178
for (i = 0; i < x.length; i++) {
180
if (y.className == "oe_searchview_facets") {
182
if(fullscreen_toggle.fullscreen_toggle)
184
$('div.oe_searchview').animate({
187
fullscreen_toggle.search=1;
190
$('div.oe_searchview').animate({
193
fullscreen_toggle.search=1;
195
$("div.oe_searchview").animate({
203
event.preventDefault();
205
if(fullscreen_toggle.fullscreen_toggle)
207
$('div.oe_searchview').animate({
210
fullscreen_toggle.search=0;
213
$('div.oe_searchview').animate({
216
fullscreen_toggle.search=0;
222
event.preventDefault();
223
var x = document.getElementsByTagName('a');
224
for (i = 0; i < x.length; i++) {
226
if (y.className == "oe_vm_switch_list") {
234
event.preventDefault();
235
var x = document.getElementsByTagName('a');
236
for (i = 0; i < x.length; i++) {
238
if (y.className == "oe_bold oe_form_button_cancel" && $(y).is(':visible')) {
245
if (d == 186 | d == 59) {
247
event.preventDefault();
248
var x = document.getElementsByTagName('a');
249
for (i = 0; i < x.length; i++) {
251
if (y.className == "oe_vm_switch_form") {
260
event.preventDefault();
261
var x = document.getElementsByTagName('button');
262
for (i = 0; i < x.length; i++) {
264
if ((y.className == "oe_button oe_list_add oe_highlight" | y.className == "oe_kanban_button_new oe_highlight" | y.className == "oe_button oe_form_button_create") && $(y).is(':visible')) {
274
event.preventDefault();
275
var x = document.getElementsByTagName('button');
276
for (i = 0; i < x.length; i++) {
279
if (y.className == "oe_button oe_form_button_edit") {
286
event.preventDefault();
287
var x = document.getElementsByTagName('button');
288
for (i = 0; i < x.length; i++) {
290
if (y.className == "oe_button oe_form_button_edit") {
298
event.preventDefault();
299
var x = document.getElementsByTagName('span');
300
for (i = 0; i < x.length; i++) {
302
if (y.className == "ui-icon ui-icon-triangle-1-e") {
310
event.preventDefault();
311
var x = document.getElementsByTagName('span');
312
for (i = 0; i < x.length; i++) {
314
if (y.className == "ui-icon ui-icon-triangle-1-s") {
322
// $('.oe_leftbar').remove();
323
// $('colgroup').remove();
324
// $('.oe_topbar').remove();
325
// $('.oe_loading').remove();
326
// $('tfoot').remove();
328
// $('.oe_notification.ui-notify').remove();
329
// $('.oe_view_manager_view_kanban').remove();
330
// $('tr.oe_header_row:eq(1)').remove();
331
// $('.oe_view_manager_view_search').remove();
332
// var _elementClone = $(".oe_view_manager.oe_view_manager_current").clone();
333
// $(".oe_view_manager.oe_view_manager_current").remove();
334
// $("body").prepend(_elementClone);
335
// $("table.oe_webclient").removeClass();
336
// $("td.oe_application").removeClass();
342
event.preventDefault();
343
var x = document.getElementsByTagName('div');
347
$('.oe_form_sheet').each(function() {
348
if ($(this).parents('div:hidden').length == 0) {
356
$('.oe_view_manager_view_graph').each(function() {
357
if ($(this).parents('div:hidden').length == 0) {
365
$('.oe_list_content').each(function() {
366
if ($(this).parents('div:hidden').length == 0) {
370
for (i = 0; i < x.length; i++) {
372
if ((y.className == "oe_form_sheet oe_form_sheet_width" | y.className == "oe_semantic_html_override editor-render oe_view") & form==1) {
373
if ($(y).parents('div:hidden').length == 0) {
378
var logo_url = $('a.oe_logo').children("img").attr("src");
379
var add_img = '<img src="'+logo_url+'" class="sheet_logo"/>'
380
var graph_img = '<img src="'+logo_url+'" style="padding:10px;padding-bottom:0px" class="sheet_logo"/>'
381
var hr='<hr class="sheet_logo" style="border: 2;width: 100%;margin-bottom:25px"/>'
382
$('.oe_form_sheet').prepend(hr);
383
$('.oe_form_sheet').prepend(add_img);
384
$('.oe_semantic_html_override.editor-render.oe_view').prepend(hr);
385
$('.oe_semantic_html_override.editor-render.oe_view').prepend(graph_img);
387
onrendered: function(canvas) {
388
myWindow = window.open('', '', 'width='+window.innerWidth+',height='+window.innerHeight);
389
var strDataURI = canvas.toDataURL();
390
var link = document.createElement("img");
391
link.setAttribute("src", strDataURI);
392
link.setAttribute("id", "embedImage");
393
var linkText = document.createTextNode("Click me");
394
link.appendChild(linkText);
396
var openerp_img = document.createElement("img");
397
openerp_img.setAttribute("class", "open");
398
openerp_img.setAttribute("src", logo_url);
399
var openerp_imgText = document.createTextNode("Click me");
400
openerp_img.appendChild(openerp_imgText);
402
var css = document.createElement("style");
403
var cssText = document.createTextNode(".css3button {margin-left:37%;margin-top:2%;font-family: Arial, Helvetica, sans-serif;font-weight:700;font-size: 14px;color: #c2c0c2;padding: 10px 20px;background: -moz-linear-gradient(top,#302e30 0%,#000000);background: -webkit-gradient(linear, left top, left bottom, from(#302e30),to(#000000));-moz-border-radius: 1px;-webkit-border-radius: 1px;border-radius: 1px;border: 1px solid #000000;-moz-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);-webkit-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);text-shadow:0px -1px 0px rgba(000,000,000,1),0px 1px 0px rgba(184,180,184,0.2);}body{background-color:#252525;}img{margin-left:10%;margin-top:2%;}.open{margin-left:35%;margin-top:1%;}");
404
css.appendChild(cssText);
406
var input = document.createElement("input");
407
var inputText = document.createTextNode("a");
408
input.appendChild(inputText);
409
input.setAttribute("id", "saveImage");
410
input.setAttribute("onclick", "download()");
411
input.setAttribute("type", "button");
412
input.setAttribute("class", "css3button");
413
input.setAttribute("value", "Download Png");
415
var jscript = document.createElement("script");
416
jscript.setAttribute("type", "text/javascript");
417
var jscriptText = document.createTextNode("function download(){var img = document.getElementById('embedImage');var button = document.getElementById('saveImage');window.location.href = img.src.replace('image/png', 'image/octet-stream');}");
418
jscript.appendChild(jscriptText);
420
myWindow.document.head.appendChild(css);
421
myWindow.document.head.appendChild(jscript);
422
//myWindow.document.body.appendChild(canvas);
423
myWindow.document.body.appendChild(openerp_img);
424
myWindow.document.body.appendChild(link);
425
myWindow.document.body.appendChild(input);
427
$(".sheet_logo").remove();
434
if (list == 1 & check==0) {
435
var x = document.getElementsByTagName('table');
436
for (i = 0; i < x.length; i++) {
438
if (y.className == "oe_list_content") {
439
if ($(y).parents('div:hidden').length == 0) {
443
var logo_url = $('a.oe_logo').children("img").attr("src");
445
onrendered: function(canvas) {
446
myWindow = window.open('', '', 'width=950,height=680');
447
var strDataURI = canvas.toDataURL();
449
var link = document.createElement("img");
450
link.setAttribute("src", strDataURI);
451
link.setAttribute("id", "embedImage");
452
var linkText = document.createTextNode("Click me");
453
link.appendChild(linkText);
455
var openerp_img = document.createElement("img");
456
openerp_img.setAttribute("class", "open");
457
openerp_img.setAttribute("src", logo_url);
458
var openerp_imgText = document.createTextNode("Click me");
459
openerp_img.appendChild(openerp_imgText);
461
var css = document.createElement("style");
462
var cssText = document.createTextNode(".css3button {margin-left:37%;margin-top:2%;font-family: Arial, Helvetica, sans-serif;font-weight:700;font-size: 14px;color: #c2c0c2;padding: 10px 20px;background: -moz-linear-gradient(top,#302e30 0%,#000000);background: -webkit-gradient(linear, left top, left bottom, from(#302e30),to(#000000));-moz-border-radius: 1px;-webkit-border-radius: 1px;border-radius: 1px;border: 1px solid #000000;-moz-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);-webkit-box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);box-shadow:0px 1px 3px rgba(000,000,000,0.5),inset 0px 0px 1px rgba(255,255,255,0.6);text-shadow:0px -1px 0px rgba(000,000,000,1),0px 1px 0px rgba(184,180,184,0.2);}body{background-color:#252525;}img{margin-left:10%;margin-top:2%;}.open{margin-left:35%;margin-top:1%;}");
463
css.appendChild(cssText);
465
var input = document.createElement("input");
466
var inputText = document.createTextNode("a");
467
input.appendChild(inputText);
468
input.setAttribute("id", "saveImage");
469
input.setAttribute("onclick", "download()");
470
input.setAttribute("type", "button");
471
input.setAttribute("class", "css3button");
472
input.setAttribute("value", "Download Png");
474
var jscript = document.createElement("script");
475
jscript.setAttribute("type", "text/javascript");
476
var jscriptText = document.createTextNode("function download(){var img = document.getElementById('embedImage');var button = document.getElementById('saveImage');window.location.href = img.src.replace('image/png', 'image/octet-stream');}");
477
jscript.appendChild(jscriptText);
479
myWindow.document.head.appendChild(css);
480
myWindow.document.head.appendChild(jscript);
481
//myWindow.document.body.appendChild(canvas);
482
myWindow.document.body.appendChild(openerp_img);
483
myWindow.document.body.appendChild(link);
484
myWindow.document.body.appendChild(input);
497
event.preventDefault();
498
var x = document.getElementsByTagName('a');
500
for (i = 0; i < x.length; i++) {
502
if (y.className == "oe_breadcrumb_item") {
514
event.preventDefault();
515
var x = document.getElementsByTagName('div');
517
for (i = 0; i < x.length; i++) {
519
if (y.className == "fullscreen") {
521
if(fullscreen_toggle.search==0)
523
$('div.oe_searchview').delay(500).animate({
534
if (!fullscreen_toggle.fullscreen_toggle) {
535
if (d == 49 | d == 50 | d == 51 | d == 52 | d == 53 | d == 54 | d == 55 | d == 56 | d == 57) {
537
event.preventDefault();
539
var x = document.getElementsByTagName('a');
540
for (i = 0; i < x.length; i++) {
542
if (y.className == "oe_menu_toggler") {
553
event.preventDefault();
554
$('.oe_i[data-pager-action="previous"]').each(function() {
555
if ($(this).parents('div:hidden').length == 0) {
556
$(this).trigger('click');
561
event.preventDefault();
562
$('.oe_i[data-pager-action="next"]').each(function() {
563
if ($(this).parents('div:hidden').length == 0) {
564
$(this).trigger('click');
572
if (event.ctrlKey == 1) {
573
event.preventDefault();
574
$("div ul li a.oe_menu_leaf:visible:first").focus();
580
for (i = 0; i < $("div ul li a.oe_menu_leaf:visible").length; i++) {
581
if ($("div ul li a.oe_menu_leaf:visible:eq(" + i + ")").is(":focus")) {
582
event.preventDefault();
584
$("div ul li a.oe_menu_leaf:visible:eq(" + flg + ")").focus();
592
for (i = 0; i < $("div ul li a.oe_menu_leaf:visible").length; i++) {
593
if ($("div ul li a.oe_menu_leaf:visible:eq(" + i + ")").is(":focus")) {
594
event.preventDefault();
596
$("div ul li a.oe_menu_leaf:visible:eq(" + flg + ")").focus();
603
if (event.ctrlKey != 1) {
605
event.preventDefault();
606
var x = document.getElementsByTagName('div');
608
for (i = 0; i < x.length; i++) {
610
if (y.className == "fullscreentrue") {
612
if(fullscreen_toggle.search==0)
614
$('div.oe_searchview').delay(500).animate({