Verbeteringen aan VTAP JavaScript-API's

We zijn verheugd om aanzienlijke verbeteringen aan VTAP JavaScript API's aan te kondigen, ontworpen om ontwikkelaars en partners die met Vtiger CRM werken in staat te stellen.

Deze verbeteringen zijn gericht op het verbeteren van de flexibiliteit en functionaliteit van het platform, met name binnen de Gebeurtenissenmodule en de GerelateerdeRecords API. Hieronder schetsen we de belangrijkste updates waarmee u veel dynamische en responsieve CRM-oplossingen kunt creëren.

Verbetering 1: Ondersteuning voor extra velden in de RelatedRecords API

We hebben de VTAP RelatedRecords API uitgebreid met ondersteuning voor de extravelden parameter, waardoor u extra velden kunt ophalen naast de standaard opgegeven velden. Deze verbetering biedt meer flexibiliteit bij het werken met gerelateerde records, waardoor rijkere gegevensinteracties mogelijk zijn.

VTAP.Detail.RelatedRecords

Deze API haalt gerelateerde records op voor een bepaalde module. Standaard bevat het velden die zijn ingeschakeld voor Snel maken, Koptekst, enz. Met de nieuwe extravelden parameter, kunt u nu extra velden opgeven die in het antwoord moeten worden opgenomen, waardoor u meer inzicht krijgt in gerelateerde gegevens.

Voorbeeldgebruikscasus: Stel dat u met de module Contactpersonen werkt en gerelateerde dossierrecords wilt ophalen die velden bevatten zoals casekanaal en slastatus, die geen deel uitmaken van het standaardantwoord. Deze velden kunt u nu eenvoudig opnemen in uw API-verzoek:


  

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

    });

 

Verbetering 2: Ondersteuning voor labelkolommen in de RelatedRecords API

Naast de bovenstaande verbeteringen hebben we ook ondersteuning toegevoegd voor de labelkolom in de VTAP RelatedRecords API. Dankzij deze verbetering kunt u de recordnaam (label) opnemen in het API-antwoord, waardoor het gemakkelijker wordt om gerelateerde records te identificeren en ermee te werken.

VTAP.Detail.Record

Voorheen ondersteunde de GerelateerdeRecords API de opname van de labelkolom, die de naam van de record bevat, niet. Door nu de parameter extrafields te gebruiken, kunt u dit label aanvragen in uw API-aanroepen.

Voorbeeld use-case: Wanneer u gerelateerde zaakrecords ophaalt, wilt u wellicht de naam van de record opnemen voor gemakkelijke identificatie. Geef eenvoudigweg het label door als extra veld:

 

Verbetering 2: Ondersteuning voor labelkolommen in de RelatedRecords API

Naast de bovenstaande verbeteringen hebben we ook ondersteuning toegevoegd voor de labelkolom in de VTAP RelatedRecords API. Dankzij deze verbetering kunt u de recordnaam (label) opnemen in het API-antwoord, waardoor het gemakkelijker wordt om gerelateerde records te identificeren en ermee te werken.

VTAP.Detail.Record

Voorheen ondersteunde de GerelateerdeRecords API de opname van de labelkolom, die de naam van de record bevat, niet. Door nu de parameter extrafields te gebruiken, kunt u dit label aanvragen in uw API-aanroepen.

Voorbeeld use-case: Wanneer u gerelateerde zaakrecords ophaalt, wilt u wellicht de naam van de record opnemen voor gemakkelijke identificatie. Geef eenvoudigweg het label door als extra veld:


  

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

    });

 

Deze verbeteringen maken deel uit van onze voortdurende toewijding om u krachtige tools te bieden voor het bouwen van dynamische, zakelijke applicaties op het Vtiger CRM-platform. We moedigen u aan om deze nieuwe functies te verkennen en ze in uw projecten te integreren om de algehele gebruikerservaring te verbeteren.

Blijf op de hoogte voor meer updates en veel codeerplezier!

 

Deze verbeteringen maken deel uit van onze voortdurende toewijding om u krachtige tools te bieden voor het bouwen van dynamische, zakelijke applicaties op het Vtiger CRM-platform. We moedigen u aan om deze nieuwe functies te verkennen en ze in uw projecten te integreren om de algehele gebruikerservaring te verbeteren.

Blijf op de hoogte voor meer updates en veel codeerplezier!

 
 
 

VTAP klant use case

 
 

Eén klant heeft verzocht om het blok Genodigden niet weer te geven in de module Gebeurtenissen voor andere aangepaste gebeurtenissen dan Gesprek en Vergadering. Het nam ruimte in beslag op het scherm zonder gebruik te maken van aangepaste gebeurtenissen die voor interne gebeurtenissen werden gebruikt.

Verbeterde gebeurtenisafhandeling in de gebeurtenissenmodule

De VTAP Event API bevat nu de mogelijkheid om de zichtbaarheid van het genodigdenblok binnen de Events-module te beheren. Deze verbetering zorgt voor nauwkeurige controle over de gebruikersinterface, afgestemd op de specifieke behoeften van uw toepassing.

  • VTAP.Gebeurtenis.Registreren: Met deze functie kunt u gebeurtenissen aan de clientzijde registreren en terugbellen ontvangen wanneer deze gebeurtenissen plaatsvinden in de gebruikersinterface. Een uitgebreide lijst met ondersteunde evenementen is hier beschikbaar.
  • VTAP.Gebeurtenis.Trigger: deze functie dwingt de uitvoering af van gebeurtenissen die worden aangeboden door de Vtiger-gebruikersinterface. We hebben twee nieuwe evenementen geïntroduceerd voor het tonen en verbergen van het blok Genodigden in de evenementenmodule:
  • EVENT_SHOW_INVITEES: Activeert de weergave van het blok Genodigden.
  • EVENT_HIDE_INVITEES: verbergt het blok Genodigden.

U kunt deze gebeurtenissen gebruiken om de zichtbaarheid dynamisch te beheren op basis van gebruikersinvoer. Voor andere activiteitstypen kunt u het blok Genodigden verbergen om de gebruikerservaring te stroomlijnen.

Maak een VTAP-script voor de module Gebeurtenissen met de naam Genodigden en kopieer de onderstaande functie om het blok Genodigden te verbergen voor een ander activiteitstype dan Vergadering en gesprek:

 

Eén klant heeft verzocht om het blok Genodigden niet weer te geven in de module Gebeurtenissen voor andere aangepaste gebeurtenissen dan Gesprek en Vergadering. Het nam ruimte in beslag op het scherm zonder gebruik te maken van aangepaste gebeurtenissen die voor interne gebeurtenissen werden gebruikt.

Verbeterde gebeurtenisafhandeling in de gebeurtenissenmodule

De VTAP Event API bevat nu de mogelijkheid om de zichtbaarheid van het genodigdenblok binnen de Events-module te beheren. Deze verbetering zorgt voor nauwkeurige controle over de gebruikersinterface, afgestemd op de specifieke behoeften van uw toepassing.

  • VTAP.Gebeurtenis.Registreren: Met deze functie kunt u gebeurtenissen aan de clientzijde registreren en terugbellen ontvangen wanneer deze gebeurtenissen plaatsvinden in de gebruikersinterface. Een uitgebreide lijst met ondersteunde evenementen is hier beschikbaar.
  • VTAP.Gebeurtenis.Trigger: deze functie dwingt de uitvoering af van gebeurtenissen die worden aangeboden door de Vtiger-gebruikersinterface. We hebben twee nieuwe evenementen geïntroduceerd voor het tonen en verbergen van het blok Genodigden in de evenementenmodule:
  • EVENT_SHOW_INVITEES: Activeert de weergave van het blok Genodigden.
  • EVENT_HIDE_INVITEES: verbergt het blok Genodigden.

U kunt deze gebeurtenissen gebruiken om de zichtbaarheid dynamisch te beheren op basis van gebruikersinvoer. Voor andere activiteitstypen kunt u het blok Genodigden verbergen om de gebruikerservaring te stroomlijnen.

Maak een VTAP-script voor de module Gebeurtenissen met de naam Genodigden en kopieer de onderstaande functie om het blok Genodigden te verbergen voor een ander activiteitstype dan Vergadering en gesprek:


  

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");

            }

        }

    }

});

 
 

Schrijf je in om de laatste updates te ontvangen!