Thursday 26 March 2020

addOnLookupTagClick event in Dynamics 365 Release Wave 1 2020 - Restrict lookup record opening

Hi Everyone,

I was just going through Microsoft Docs to understand the new features that were released in Dynamics 365 Release Wave 1 2020 and found a new event introduced for lookups and I feel it is quite useful.

While working many of our customers might have clicked on a lookup value by mistake and the system might have redirected them to lookup record by loosing existing context of the working record. 

By using this addOnLookupTagClick event, we can control that. Here is the peice of the code for the same. Just put this code on the load event.


function onLoadOfCase(executionContext) {
    var formContext = executionContext.getFormContext();
    formContext.getControl('customerid').addOnLookupTagClick(function (e) {
        e.getEventArgs().preventDefault(); // disables the default behaviour of opening the record
        // Get the lookup record
        var lookupRecord = e.getEventArgs().getTagValue();
    });

}

The above code will prevent opening the lookup record when clicked. However if you want to open a record, we can use NavigateTo API and open the lookup record as a popup without disturbing/loosing the current context.

Here is the piece of the code for the same.


function onLoadOfCase(executionContext) {
    var formContext = executionContext.getFormContext();
    formContext.getControl('customerid').addOnLookupTagClick(function (e) {
        e.getEventArgs().preventDefault(); // disables the default behaviour of opening the record
        // Get the lookup record
        var lookupRecord = e.getEventArgs().getTagValue();
        // Open lookup record as a popup.
        Xrm.Navigation.navigateTo({
            pageType: "entityrecord",
            entityName: lookupRecord.entityType,
            formType: 2, // Only Edit Mode is supported now.
            entityId: lookupRecord.id
        }, {
            target: 2,
            position: 1,
            width: 900,
            height: 600
        });
    });
}


Hope this helps.

--
Happy 365'ing
Gopinath

No comments:

Post a Comment