View source | View content page | Page history | Printable version   

Projects:KeyboardOperation/TechnicalDocumentation

Contents

Keyboard Operation - Technical Documentation

Related files and functions

utils.js: here are located the functions which capture the key pressing events

shortcuts.js: here are located the functions which define the key combinations for the menu and the windows

menuKeyboard.js: here are located the funcions associated to movements inside the application menu

windowKeyboard.js: here are located the functions associated to movements inside an application window

Previous steps

In order to make the code as clean and fast as possible, here a new implementation way is going to be defined as a previous step of the keyboard operation implementation. In the 2.35 there are things like this:

<HEAD>
  ....
  <SCRIPT language="JavaScript" type="text/javascript">
    ....
    function onloadClient() {
      ....
    }
    ....
  </SCRIPT>
  ....
</HEAD>
<BODY .... onload="resizeArea(); focoPrimerControl(); updateMenuIcon('buttonMenu'); onloadClient(); xx(); yy(); zz(); etc();" .... onresize="resizeArea(); etc();">
 ....
</BODY>

The idea is that in the 2.40 the code of ALL application HTML have this kind of structure:

<HEAD>
  ....
  <SCRIPT language="JavaScript" type="text/javascript">
    ....
    function onLoadDo() {
      resizeArea();
      focoPrimerControl();
      updateMenuIcon('buttonMenu');
      onloadClient CONTENT (the whole content, not the function call)
      xx();
      yy();
      zz();
      etc();
    }
    function onResizeDo() {
      resizeArea();
      etc();
    }
  </SCRIPT>
</HEAD>
<BODY .... onload="onLoadDo();" .... onresize="onResizeDo();">
  ....
</BODY>

Notice that the onLoadDo() and onResizeDo() are the last loaded/written functions before the HEAD end

Implementation guidelines

Application menu

HEAD changes:

BODY changes:

Application windows and pop-ups

HEAD changes:

this.windowTables = new Array(
  new windowTableId('client')
);
setWindowTableParentElement();
this.tabsTables = new Array(
  new tabTableId('tdtopTabs')
);
setTabTableParentElement();

BODY changes:

Retrieved from "http://wiki.openbravo.com/wiki/Projects:KeyboardOperation/TechnicalDocumentation"

This page has been accessed 5,381 times. This page was last modified on 8 June 2012, at 05:28. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.