Override ed estensioni Javascript
È possibile sostituire o estendere alcune funzioni Javascript di utilizzo comune per modificarne il comportamento. Per far ciò è sufficiente creare una funzione che ha lo stesso nome della funzione da modificare con l’aggiunta di “_override” o “_extension” e gli stessi parametri ed includerla in un file Javascript aggiuntivo, caricato nel modo spiegato nel precedente paragrafo. Il comportamento delle due estensioni è il seguente:
FUNZIONE_override() | Se presente, viene chiamata questa funzione invece di quella originale. Il valore di ritorno di questa funzione è quello restituito. |
FUNZIONE_extension() | Se presente, viene chiamata questa funzione e se restituisce false o un valore equivalente a false, la funzione originale termina restituendo false, mentre se restituisce true o un valore equivalente, l’esecuzione prosegue nella funzione originale. |
La differenza è quindi che nel primo caso, la funzione originale viene interamente ignorata, mentre nel secondo, si può decidere se continuare l’esecuzione standard o no. Questo è molto comodo nel caso delle funzioni di validazione, solitamente molto lunghe, in cui si voglia semplicemente aggiungere un controllo, senza ricopiare l’intera funzione per piccoli cambiamenti.
Le funzioni che supportano queste estensioni sono indicate di seguito:
File | Funzioni |
include/js/general.js | doformValidation startCall getFormValidate |
include/js/Inventory.js |
settotalnoofrows deleteRow calcTotal calcProductTotal calcGrandTotal validateInventory FindDuplicate validateNewTaxType validateTaxes setDiscount callTaxCalc calcCurrentTax calcGroupTax calcSHTax validateProductDiscounts updatePrices updatePriceValues resetSHandAdjValues moveUpDown InventorySelectAll fnAddProductOrServiceRowNew |