Skip to content

Why are Apex Class Data Provider Types with isSalesforceObject set to false hardcoded to open in a new browser tab? #53

@jack-bennett-osf

Description

@jack-bennett-osf

We've implemented this Timeline within a project, but testers have raised that there are inconsistences around how records open (some within a SF tab and some within a completely new browser tab).

In the LinkedOutputText LWC, when isExternalServiceData is false, it defaults to this code which opens the record in a new browser tab:
window.open(${this.baseUrlForRecordDetail}/${this.recordId},'_blank');

Why has it been done implemented like this? To navigate to the record using navigation mixin, all you need is the recordId and object name which has already been set via the Apex Class data provider type. We've had to set multiple Apex Class providers to false for "isSalesforceObject", otherwise we cannot get the child configurations to display correctly, even thought they're still Salesforce objects.

Ideally we want consistency with how records are being opened, and this doesn't seem quite right. Is there something that can be added to check if it is indeed a recognised Salesforce object, and still be able to navigate with the mixin?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions