Подобрения на VTAP JavaScript APIs

Ние сме развълнувани да обявим значителни подобрения на VTAP JavaScript APIs, предназначени да дадат възможност на разработчиците и партньорите, работещи с Vtiger CRM.

Тези подобрения се фокусират върху подобряване на гъвкавостта и функционалността на платформата, особено в рамките на модула за събития и API на RelatedRecords. По-долу очертаваме основните актуализации, които ви позволяват да създавате много динамични и отзивчиви CRM решения.

Подобрение 1: Поддръжка за допълнителни полета в API на RelatedRecords

Разширихме VTAP RelatedRecords API, за да включим поддръжка за допълнителни полета параметър, който ви позволява да извличате допълнителни полета извън предоставените по подразбиране. Това подобрение предлага повече гъвкавост при работа със свързани записи, което позволява по-богати взаимодействия с данни.

VTAP.Detail.RelatedRecords

Този API извлича свързани записи за даден модул. По подразбиране той включва полета, които са активирани за бързо създаване, заглавка и т.н. С новото допълнителни полета параметър, вече можете да посочите допълнителни полета, които да бъдат включени в отговора, осигурявайки по-добра представа за свързаните данни.

Примерен случай на употреба: Да приемем, че работите с модула Контакти и искате да извлечете свързани записи на случаи, които включват полета като casechannel намлява slastatus, които не са част от отговора по подразбиране. Вече можете лесно да включите тези полета във вашата заявка за API:


  

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

    });

 

Подобрение 2: Поддръжка на колони с етикети в API на RelatedRecords

В допълнение към горните подобрения, ние също добавихме поддръжка за колоната с етикети в API на VTAP RelatedRecords. Това подобрение ви позволява да включите името на записа (етикет) в отговора на API, което улеснява идентифицирането и работата със свързани записи.

VTAP.Detail.Record

Преди това API на RelatedRecords не поддържаше включването на колона с етикети, която съдържа името на записа. Сега, като използвате параметъра extrafields, можете да поискате този етикет във вашите API извиквания.

Примерен случай на употреба: Когато извличате свързани записи на случаи, може да искате да включите името на записа за лесно идентифициране. Просто подайте етикет като допълнително поле:

 

Подобрение 2: Поддръжка на колони с етикети в API на RelatedRecords

В допълнение към горните подобрения, ние също добавихме поддръжка за колоната с етикети в API на VTAP RelatedRecords. Това подобрение ви позволява да включите името на записа (етикет) в отговора на API, което улеснява идентифицирането и работата със свързани записи.

VTAP.Detail.Record

Преди това API на RelatedRecords не поддържаше включването на колона с етикети, която съдържа името на записа. Сега, като използвате параметъра extrafields, можете да поискате този етикет във вашите API извиквания.

Примерен случай на употреба: Когато извличате свързани записи на случаи, може да искате да включите името на записа за лесно идентифициране. Просто подайте етикет като допълнително поле:


  

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

    });

 

Тези подобрения са част от нашия постоянен ангажимент да ви предоставим мощни инструменти за изграждане на динамични приложения от корпоративен клас на платформата Vtiger CRM. Препоръчваме ви да проучите тези нови функции и да ги интегрирате във вашите проекти, за да подобрите цялостното потребителско изживяване.

Очаквайте още актуализации и приятно кодиране!

 

Тези подобрения са част от нашия постоянен ангажимент да ви предоставим мощни инструменти за изграждане на динамични приложения от корпоративен клас на платформата Vtiger CRM. Препоръчваме ви да проучите тези нови функции и да ги интегрирате във вашите проекти, за да подобрите цялостното потребителско изживяване.

Очаквайте още актуализации и приятно кодиране!

 
 
 

Случай на използване на VTAP от клиента

 
 

Един клиент поиска да не се показва блокът за поканени в модула за събития за събития от персонализиран тип, различни от разговор и среща. Заемаше място на екрана, без да се използва за събития от персонализиран тип, използвани за вътрешни събития.

Подобрена обработка на събития в модула за събития

VTAP Event API вече включва възможност за контролиране на видимостта на блока Invitees в рамките на модула Events. Това подобрение позволява прецизен контрол върху потребителския интерфейс, съобразен със специфичните нужди на вашето приложение.

  • VTAP.Event.Register: Тази функция ви позволява да регистрирате събития от страна на клиента и да получавате обратни извиквания, когато тези събития възникнат в потребителския интерфейс. Изчерпателен списък с поддържани събития е достъпен тук.
  • VTAP.Event.Trigger: Тази функция принуждава изпълнението на събития, предоставени от потребителския интерфейс на Vtiger. Въведохме две нови събития за показване и скриване на блока Поканени в модула Събития:
  • EVENT_SHOW_INVITEES: Задейства показването на блока за поканени.
  • EVENT_HIDE_INVITEES: Скрива блока на поканените.

Можете да използвате тези събития, за да контролирате динамично видимостта въз основа на въвеждане от потребителя. За други видове дейности можете да скриете блока за поканени, за да рационализирате потребителското изживяване.

Създайте VTAP скрипт за модула Събития с името Поканени и копирайте функцията по-долу, за да скриете блока Поканени за Тип дейност, различен от Среща и Обаждане:

 

Един клиент поиска да не се показва блокът за поканени в модула за събития за събития от персонализиран тип, различни от разговор и среща. Заемаше място на екрана, без да се използва за събития от персонализиран тип, използвани за вътрешни събития.

Подобрена обработка на събития в модула за събития

VTAP Event API вече включва възможност за контролиране на видимостта на блока Invitees в рамките на модула Events. Това подобрение позволява прецизен контрол върху потребителския интерфейс, съобразен със специфичните нужди на вашето приложение.

  • VTAP.Event.Register: Тази функция ви позволява да регистрирате събития от страна на клиента и да получавате обратни извиквания, когато тези събития възникнат в потребителския интерфейс. Изчерпателен списък с поддържани събития е достъпен тук.
  • VTAP.Event.Trigger: Тази функция принуждава изпълнението на събития, предоставени от потребителския интерфейс на Vtiger. Въведохме две нови събития за показване и скриване на блока Поканени в модула Събития:
  • EVENT_SHOW_INVITEES: Задейства показването на блока за поканени.
  • EVENT_HIDE_INVITEES: Скрива блока на поканените.

Можете да използвате тези събития, за да контролирате динамично видимостта въз основа на въвеждане от потребителя. За други видове дейности можете да скриете блока за поканени, за да рационализирате потребителското изживяване.

Създайте VTAP скрипт за модула Събития с името Поканени и копирайте функцията по-долу, за да скриете блока Поканени за Тип дейност, различен от Среща и Обаждане:


  

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

            }

        }

    }

});

 
 

Регистрирайте се, за да получавате най-новите актуализации!