Skip to main content

17.7.1 Campo PULSANTE in vtenext

Il campo pulsante, presente in IMPOSTAZIONI > GESTORE MODULI > NOME MODULO > LAYOUT EDITOR, ci permette di inserire una funzione Javascript personalizzata. Questo ci da l’occasione di creare un automatismo/azione su determinati campi nel crm.

Per comprendere meglio quanto affermato, faremo un semplice esempio.

Vogliamo che, cliccando su un pulsante CONTATTARE, il campo checkbox RICHIESTA CONTATTO, passi da NO a SI’ (il campo diventerà flaggato).

Ecco come procedere:

- Andare in IMPOSTAZIONI > GESTORE MODULI > AZIENDE > LAYOUT EDITOR e creare il campo box di controllo, denominato RICHIESTA CONTATTO. Creare inoltre il campo di tipo pulsante denominato CONTATTARE.

- A questo punto, nel campo di tipo pulsante, troveremo due variabili da inserire, oltre al nome che comparirà come etichetta:

1. On click: confirm_nomecampo('Accounts') – tra gli apici c’è il nome del modulo in cui stiamo operando

2. Codice:

var VTUtils = VTUtils || {
    saveField: function(module, crmid, fieldname, value, callback) {
        jQuery("#status").show();
        var data = "file=DetailViewAjax&module=" + module + "&action=" + module + "Ajax&record=" + crmid + "&recordid=" + crmid;
        data = data + "&fldName=" + fieldname + "&fieldValue=" + value + "&ajxaction=DETAILVIEW";
        
        jQuery.ajax({
            url: 'index.php',
            data: data,
            type: 'POST',
            success: function(response) {
                if (response.indexOf(":#:FAILURE") > -1) {
                    alert(alert_arr.ERROR_WHILE_EDITING);
                } else if (response.indexOf(":#:SUCCESS") > -1) {
                    if (typeof callback == 'function') callback();
                }
                jQuery("#status").hide();
            }
        });
    },
};

function confirm_nomecampo(module){
    var url_string = window.location.href;
    var url = new URL(url_string);
    var record = url.searchParams.get("record");
    VTUtils.saveField(module, record, 'nomecampo', '1', function() {
        location.reload();
    });
}

Nell’ultima parte del codice, dove compare ‘nomecampo’, andremo a sostituirlo direttamente col nome del campo che intendiamo modificare. Per trovare il nome di quel campo, basterà utilizzare la funzione “ispeziona” su browser Chrome (tasto destro del mouse) oppure “analizza elemento” su browser Firefox (tasto destro del mouse).
Va sostituito anche confirm_nomecampo con il nome del campo sia nel codice e nella funzione on click.

Andando infine nell modulo Aziende, troveremo in dettaglio anagrafica, il nuovo pulsante appena creato. Premendolo, vedremo dopo qualche istante, cambiare il campo flag RICHIESTA CONTATTO da no a sì.