Verbesserungen an VTAP JavaScript-APIs

Wir freuen uns, wesentliche Verbesserungen an den VTAP JavaScript-APIs bekannt zu geben, die Entwickler und Partner bei der Arbeit mit Vtiger CRM unterstützen sollen.

Diese Verbesserungen konzentrieren sich auf die Verbesserung der Flexibilität und Funktionalität der Plattform, insbesondere im Event-Modul und der RelatedRecords-API. Im Folgenden beschreiben wir die wichtigsten Updates, mit denen Sie viele dynamische und reaktionsschnelle CRM-Lösungen erstellen können.

Verbesserung 1: Unterstützung für zusätzliche Felder in der RelatedRecords-API

Wir haben die VTAP RelatedRecords API erweitert, um Unterstützung für die Extrafelder Parameter, mit dem Sie zusätzlich zu den standardmäßig bereitgestellten Feldern weitere Felder abrufen können. Diese Erweiterung bietet mehr Flexibilität beim Arbeiten mit verknüpften Datensätzen und ermöglicht umfangreichere Dateninteraktionen.

VTAP.Detail.Verwandte Datensätze

Diese API ruft zugehörige Datensätze für ein bestimmtes Modul ab. Standardmäßig enthält sie Felder, die für Quick Create, Header usw. aktiviert sind. Mit der neuen Extrafelder -Parameter können Sie nun zusätzliche Felder angeben, die in die Antwort aufgenommen werden sollen, um einen besseren Einblick in zugehörige Daten zu erhalten.

Beispielanwendungsfall: Angenommen, Sie arbeiten mit dem Modul „Kontakte“ und möchten zugehörige Falldatensätze abrufen, die Felder enthalten wie Fallkanal und Abonnieren, die nicht Teil der Standardantwort sind. Sie können diese Felder jetzt ganz einfach in Ihre API-Anfrage einschließen:


  

VTAP.Detail.RelatedRecords("Cases", { 'extrafields': ['casechannel', 'slastatus'] })

    .then((case_records) => {

        // Process the retrieved case records with extra fields

    });


  

VTAP.Detail.RelatedRecords("Cases", { 'extrafields': ['casechannel', 'slastatus'] })

    .then((case_records) => {

        // Process the retrieved case records with extra fields

    });

 

Verbesserung 2: Unterstützung für Beschriftungsspalten in der RelatedRecords-API

Zusätzlich zu den oben genannten Verbesserungen haben wir auch Unterstützung für die Label-Spalte in der VTAP RelatedRecords API hinzugefügt. Diese Verbesserung ermöglicht es Ihnen, den Datensatznamen (Label) in die API-Antwort aufzunehmen, was die Identifizierung verwandter Datensätze und die Arbeit mit ihnen erleichtert.

VTAP.Detail.Datensatz

Bisher unterstützte die RelatedRecords-API nicht die Einbindung der Label-Spalte, die den Namen des Datensatzes enthält. Mithilfe des Parameters extrafields können Sie dieses Label jetzt in Ihren API-Aufrufen anfordern.

Beispielanwendungsfall: Beim Abrufen zugehöriger Falldatensätze möchten Sie möglicherweise den Namen des Datensatzes zur einfachen Identifizierung angeben. Übergeben Sie einfach das Label als zusätzliches Feld:

 

Verbesserung 2: Unterstützung für Beschriftungsspalten in der RelatedRecords-API

Zusätzlich zu den oben genannten Verbesserungen haben wir auch Unterstützung für die Label-Spalte in der VTAP RelatedRecords API hinzugefügt. Diese Verbesserung ermöglicht es Ihnen, den Datensatznamen (Label) in die API-Antwort aufzunehmen, was die Identifizierung verwandter Datensätze und die Arbeit mit ihnen erleichtert.

VTAP.Detail.Datensatz

Bisher unterstützte die RelatedRecords-API nicht die Einbindung der Label-Spalte, die den Namen des Datensatzes enthält. Mithilfe des Parameters extrafields können Sie dieses Label jetzt in Ihren API-Aufrufen anfordern.

Beispielanwendungsfall: Beim Abrufen zugehöriger Falldatensätze möchten Sie möglicherweise den Namen des Datensatzes zur einfachen Identifizierung angeben. Übergeben Sie einfach das Label als zusätzliches Feld:


  

VTAP.Detail.RelatedRecords("Cases", { 'extrafields': ['label'] })

    .then((case_records) => {

        // The response now includes the label (name) of each case

    });


  

VTAP.Detail.RelatedRecords("Cases", { 'extrafields': ['label'] })

    .then((case_records) => {

        // The response now includes the label (name) of each case

    });

 

Diese Verbesserungen sind Teil unseres fortwährenden Engagements, Ihnen leistungsstarke Tools zum Erstellen dynamischer, unternehmenstauglicher Anwendungen auf der Vtiger CRM-Plattform bereitzustellen. Wir empfehlen Ihnen, diese neuen Funktionen zu erkunden und sie in Ihre Projekte zu integrieren, um das allgemeine Benutzererlebnis zu verbessern.

Bleiben Sie dran für weitere Updates und viel Spaß beim Programmieren!

 

Diese Verbesserungen sind Teil unseres fortwährenden Engagements, Ihnen leistungsstarke Tools zum Erstellen dynamischer, unternehmenstauglicher Anwendungen auf der Vtiger CRM-Plattform bereitzustellen. Wir empfehlen Ihnen, diese neuen Funktionen zu erkunden und sie in Ihre Projekte zu integrieren, um das allgemeine Benutzererlebnis zu verbessern.

Bleiben Sie dran für weitere Updates und viel Spaß beim Programmieren!

 
 
 

VTAP-Kundenanwendungsfall

 
 

Ein Kunde hat darum gebeten, den Block „Eingeladene“ im Modul „Ereignisse“ für benutzerdefinierte Ereignisse außer Anrufen und Besprechungen nicht anzuzeigen. Er nahm Platz auf dem Bildschirm ein und war für benutzerdefinierte Ereignisse, die für interne Ereignisse verwendet wurden, nutzlos.

Verbesserte Ereignisbehandlung im Ereignismodul

Die VTAP Event API bietet jetzt die Möglichkeit, die Sichtbarkeit des Blocks „Eingeladene“ im Modul „Events“ zu steuern. Diese Erweiterung ermöglicht eine präzise Steuerung der Benutzeroberfläche, die auf die spezifischen Anforderungen Ihrer Anwendung zugeschnitten ist.

  • VTAP.Event.Register: Mit dieser Funktion können Sie clientseitige Ereignisse registrieren und Rückrufe erhalten, wenn diese Ereignisse in der Benutzeroberfläche auftreten. Eine umfassende Liste der unterstützten Ereignisse finden Sie hier.
  • VTAP.Ereignis.Trigger: Diese Funktion erzwingt die Ausführung von Ereignissen, die von der Vtiger-Benutzeroberfläche bereitgestellt werden. Wir haben zwei neue Ereignisse zum Anzeigen und Ausblenden des Blocks „Eingeladene“ im Modul „Ereignisse“ eingeführt:
  • EVENT_SHOW_INVITEES: Löst die Anzeige des Blocks „Eingeladene Personen“ aus.
  • EVENT_HIDE_INVITEES: Blendet den Block „Eingeladene“ aus.

Sie können diese Ereignisse nutzen, um die Sichtbarkeit basierend auf Benutzereingaben dynamisch zu steuern. Bei anderen Aktivitätstypen können Sie den Block „Eingeladene“ ausblenden, um das Benutzererlebnis zu optimieren.

Erstellen Sie ein VTAP-Skript für das Modul „Events“ mit dem Namen „Invitees“ und kopieren Sie die folgende Funktion, um den Block „Invitees“ für andere Aktivitätstypen als „Meeting“ und „Anruf“ auszublenden:

 

Ein Kunde hat darum gebeten, den Block „Eingeladene“ im Modul „Ereignisse“ für benutzerdefinierte Ereignisse außer Anrufen und Besprechungen nicht anzuzeigen. Er nahm Platz auf dem Bildschirm ein und war für benutzerdefinierte Ereignisse, die für interne Ereignisse verwendet wurden, nutzlos.

Verbesserte Ereignisbehandlung im Ereignismodul

Die VTAP Event API bietet jetzt die Möglichkeit, die Sichtbarkeit des Blocks „Eingeladene“ im Modul „Events“ zu steuern. Diese Erweiterung ermöglicht eine präzise Steuerung der Benutzeroberfläche, die auf die spezifischen Anforderungen Ihrer Anwendung zugeschnitten ist.

  • VTAP.Event.Register: Mit dieser Funktion können Sie clientseitige Ereignisse registrieren und Rückrufe erhalten, wenn diese Ereignisse in der Benutzeroberfläche auftreten. Eine umfassende Liste der unterstützten Ereignisse finden Sie hier.
  • VTAP.Ereignis.Trigger: Diese Funktion erzwingt die Ausführung von Ereignissen, die von der Vtiger-Benutzeroberfläche bereitgestellt werden. Wir haben zwei neue Ereignisse zum Anzeigen und Ausblenden des Blocks „Eingeladene“ im Modul „Ereignisse“ eingeführt:
  • EVENT_SHOW_INVITEES: Löst die Anzeige des Blocks „Eingeladene Personen“ aus.
  • EVENT_HIDE_INVITEES: Blendet den Block „Eingeladene“ aus.

Sie können diese Ereignisse nutzen, um die Sichtbarkeit basierend auf Benutzereingaben dynamisch zu steuern. Bei anderen Aktivitätstypen können Sie den Block „Eingeladene“ ausblenden, um das Benutzererlebnis zu optimieren.

Erstellen Sie ein VTAP-Skript für das Modul „Events“ mit dem Namen „Invitees“ und kopieren Sie die folgende Funktion, um den Block „Invitees“ für andere Aktivitätstypen als „Meeting“ und „Anruf“ auszublenden:


  

var Events_Component_Invitess = VTAP.Component.Core.extend({

    mounted() {

        VTAP.Event.Register("CREATE_MODAL_SHOWN", (data) => { this.observeEventsFormActivityType(data); });

        VTAP.Event.Register("EDIT_MODAL_SHOWN", (data) => { this.observeEventsFormActivityType(data); });

    },

    methods : {

        observeEventsFormActivityType(data) {

            if (data.module == "Events") {

                setTimeout(() => {

                    var element = jQuery('select[name="activitytype"]');

                    if (element.length) {

                        this.handleEventsFormActivityType(element.get(0).value);

                        element.on('change', () => { this.handleEventsFormActivityType(element.get(0).value); }); /* changes */

                    } else {

                        if(data && data.record) {

                            VTAP.Api.Get('records', {

                                'module': 'Events',

                                'id': data.record

                            }, (error, response) => {

                                this.handleEventsFormActivityType(response.activitytype);

                            });

                        }

                    }

                }, 500);

            }

        },

        handleEventsFormActivityType(activityType) {

            if (activityType == "Call" || activityType == "Meeting") {

                VTAP.Event.Trigger("EVENT_SHOW_INVITEES");

            } else {

                VTAP.Event.Trigger("EVENT_HIDE_INVITEES");

            }

        }

    }

});


  

var Events_Component_Invitess = VTAP.Component.Core.extend({

    mounted() {

        VTAP.Event.Register("CREATE_MODAL_SHOWN", (data) => { this.observeEventsFormActivityType(data); });

        VTAP.Event.Register("EDIT_MODAL_SHOWN", (data) => { this.observeEventsFormActivityType(data); });

    },

    methods : {

        observeEventsFormActivityType(data) {

            if (data.module == "Events") {

                setTimeout(() => {

                    var element = jQuery('select[name="activitytype"]');

                    if (element.length) {

                        this.handleEventsFormActivityType(element.get(0).value);

                        element.on('change', () => { this.handleEventsFormActivityType(element.get(0).value); }); /* changes */

                    } else {

                        if(data && data.record) {

                            VTAP.Api.Get('records', {

                                'module': 'Events',

                                'id': data.record

                            }, (error, response) => {

                                this.handleEventsFormActivityType(response.activitytype);

                            });

                        }

                    }

                }, 500);

            }

        },

        handleEventsFormActivityType(activityType) {

            if (activityType == "Call" || activityType == "Meeting") {

                VTAP.Event.Trigger("EVENT_SHOW_INVITEES");

            } else {

                VTAP.Event.Trigger("EVENT_HIDE_INVITEES");

            }

        }

    }

});

 
 

Melden Sie sich an, um die neuesten Updates zu erhalten!