VTAP JavaScript API 的增強

我們很高興地宣布 VTAP JavaScript API 的重大增強,旨在增強使用 Vtiger CRM 的開發人員和合作夥伴的能力。

這些改進著重於增強平台的靈活性和功能,特別是在事件模組和相關記錄 API 中。下面,我們概述了使您能夠建立許多動態且響應迅速的 CRM 解決方案的關鍵更新。

增強功能1:支援RelatedRecords API中的額外字段

我們擴充了 VTAPlatedRecords API 以包含對 外場 參數,使您能夠檢索除提供的預設欄位之外的其他欄位。此增強功能在處理相關記錄時提供了更大的靈活性,從而允許更豐富的資料互動。

VTAP.詳細資料.相關記錄

此 API 取得給定模組的相關記錄。預設情況下,它包括為快速建立、標題等啟用的欄位。 外場 參數,您現在可以指定要包含在回應中的其他字段,從而更深入地了解相關資料。

範例用例: 假設您正在使用「聯絡人」模組並想要檢索相關的案例記錄,其中包括以下欄位: 案例頻道 斯拉斯塔圖斯,這不是預設回應的一部分。現在您可以輕鬆地將這些欄位包含在 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:RelatedRecords API 中的標籤列支持

除了上述增強功能之外,我們還在 VTAPlatedRecords API 中新增了對標籤列的支援。此改進可讓您在 API 回應中包含記錄名稱(標籤),從而更輕鬆地識別和使用相關記錄。

VTAP.詳細資料.記錄

以前,RelatedRecords API 不支援包含記錄名稱的標籤列。現在,透過使用 extrafields 參數,您可以在 API 呼叫中請求此標籤。

示例用例:在取得相關案例記錄時,您可能需要包含記錄的名稱以便於識別。只需將標籤作為附加欄位傳遞即可:

 

增強功能 2:RelatedRecords API 中的標籤列支持

除了上述增強功能之外,我們還在 VTAPlatedRecords API 中新增了對標籤列的支援。此改進可讓您在 API 回應中包含記錄名稱(標籤),從而更輕鬆地識別和使用相關記錄。

VTAP.詳細資料.記錄

以前,RelatedRecords API 不支援包含記錄名稱的標籤列。現在,透過使用 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 事件 API 現在能夠控制事件模組中受邀者區塊的可見性。此增強功能允許對使用者介面進行精確控制,根據您的應用程式的特定需求進行客製化。

  • VTAP.事件.註冊:此函數可讓您註冊用戶端事件並在使用者介面中發生這些事件時接收回呼。此處提供了受支援事件的完整清單。
  • VTAP.事件.觸發器:此函數強制執行Vtiger UI提供的事件。我們引入了兩個新事件,用於在事件模組中顯示和隱藏受邀者區塊:
  • EVENT_SHOW_INVITEES:觸發受邀者區塊的顯示。
  • EVENT_HIDE_INVITEES:隱藏受邀者區塊。

您可以利用這些事件根據使用者輸入動態控制可見性。對於其他活動類型,您可以隱藏受邀者區塊以簡化使用者體驗。

為事件模組建立一個名為 Invitees 的 VTAP 腳本,並複製以下函數以隱藏會議和呼叫以外的活動類型的 Invitees 區塊:

 

一位客戶要求不要在事件模組中顯示除呼叫和會議之外的自訂類型事件的受邀者區塊。它佔用了螢幕上的空間,對於用於內部事件的自訂類型事件沒有用處。

事件模組中增強的事件處理

VTAP 事件 API 現在能夠控制事件模組中受邀者區塊的可見性。此增強功能允許對使用者介面進行精確控制,根據您的應用程式的特定需求進行客製化。

  • VTAP.事件.註冊:此函數可讓您註冊用戶端事件並在使用者介面中發生這些事件時接收回呼。此處提供了受支援事件的完整清單。
  • VTAP.事件.觸發器:此函數強制執行Vtiger UI提供的事件。我們引入了兩個新事件,用於在事件模組中顯示和隱藏受邀者區塊:
  • EVENT_SHOW_INVITEES:觸發受邀者區塊的顯示。
  • EVENT_HIDE_INVITEES:隱藏受邀者區塊。

您可以利用這些事件根據使用者輸入動態控制可見性。對於其他活動類型,您可以隱藏受邀者區塊以簡化使用者體驗。

為事件模組建立一個名為 Invitees 的 VTAP 腳本,並複製以下函數以隱藏會議和呼叫以外的活動類型的 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");

            }

        }

    }

});


  

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

            }

        }

    }

});

 
 

註冊以接收最新更新!