Instant Developer Foundation e Studio producono videate con pannelli che contengono una toolbar con già tutta una serie di bottoni per gestire le operazioni principali come salvare, cancellare, inserire nuovi record ecc.
Questi bottoni hanno un tasto funzionale della tastiera associato in modo da non dover per forza utilizzare il mouse per attivarli, per esempio il salvataggio si effettua con F9.
Se vogliamo cambiare queste associazioni come possiamo fare?
Non ci sono dei parametri di compilazione e nemmeno una funzione che ti permette di farlo a run time da codice.
Allora come si può fare?
Personalizzando il javascript che realizza questa associazione quindi aggiungendo nella directory custom della propria applicazione web il file che contiene le modifiche.
Avendo Foundation e Studio due motori grafici possibili occorre utilizzare un file custom diverso in base al motore grafico:
- RD3 - custom3.js
- Fluid - cusomf.js
Per RD3 dovremo aggiungere il seguente codice e personalizzarlo:
function RD3_CustomInit()
{
// Standard functional keys
RD3_ClientParams.FKActField = 2; // Single field activator (F2)
RD3_ClientParams.FKEnterQBE = 3; // Key enters QBE (F3)
RD3_ClientParams.FKFindData = 3; // Find data key (F3)
RD3_ClientParams.FKFormList = 4; // Form/list key (F4)
RD3_ClientParams.FKRefresh = 6; // Refresh key (F6)
RD3_ClientParams.FKCancel = 6; // Cancel key (F6)
RD3_ClientParams.FKInsert = 7; // Inert key (F7)
RD3_ClientParams.FKDelete = 8; // Delete key (F8)
RD3_ClientParams.FKUpdate = 9; // Update key (F9)
RD3_ClientParams.FKLocked = 11; // Lock/unlock key (F11)
RD3_ClientParams.FKActRow = 12; // Row activator key (F12)
RD3_ClientParams.FKSelAll = 14; // Select all key (SHIFT+F2)
RD3_ClientParams.FKSelNone = 15; // Cancel selection key (SHIFT+F3)
RD3_ClientParams.FKSelTog = 16; // Shows selection key (SHIFT+F4)
RD3_ClientParams.FKDuplicate = 19; // Duplicate key (SHIFT+F7)
RD3_ClientParams.FKCloseView = 26; // Close view key (CTRL+F2) (because CTRL+F4 closes the browser!)
RD3_ClientParams.FKPrint = 36; // Print key (CTRL+F12)
}
Per Fluid dovremo aggiungere il seguente codice e personalizzarlo:
Client.IdfWebEntryPoint.prototype.customizeHeader = function ()
{
// Standard functional keys
Client.IdfPanel.FKActField = 2; // Single field activator (F2)
Client.IdfPanel.FKEnterQBE = 3; // Key enters QBE (F3)
Client.IdfPanel.FKFindData = 3; // Find data key (F3)
Client.IdfPanel.FKFormList = 4; // Form/list key (F4)
Client.IdfPanel.FKRefresh = 6; // Refresh key (F6)
Client.IdfPanel.FKCancel = 6; // Cancel key (F6)
Client.IdfPanel.FKInsert = 7; // Inert key (F7)
Client.IdfPanel.FKDelete = 8; // Delete key (F8)
Client.IdfPanel.FKUpdate = 9; // Update key (F9)
Client.IdfPanel.FKLocked = 11; // Lock/unlock key (F11)
Client.IdfPanel.FKActRow = 12; // Row activator key (F12)
Client.IdfPanel.FKSelAll = 14; // Select all key (SHIFT+F2)
Client.IdfPanel.FKSelNone = 15; // Cancel selection key (SHIFT+F3)
Client.IdfPanel.FKSelTog = 16; // Shows selection key (SHIFT+F4)
Client.IdfPanel.FKDuplicate = 19; // Duplicate key (SHIFT+F7)
Client.IdfPanel.FKCloseView = 26; // Close view key (CTRL+F2) (because CTRL+F4 closes the browser!)
Client.IdfPanel.FKPrint = 36; // Print key (CTRL+F12)
};
Quindi se voglio utilizzare il tasto funzionale F4 per salvare dovrò utilizzare:
- RD3_ClientParams.FKUpdate = 4; (RD3)
- Client.IdfPanel.FKUpdate = 4; (Fluid)