Ctrl + left mouse button on hyperlink on Millau (11.2.2) issue

  • 1
  • Problem
  • Updated 1 month ago
  • In Progress
  • (Edited)
In Windows OS and Chrome browser, when I press Ctrl + left mouse button on any hyperlinks. I expect it will open a new page in a new tab. However, it always opens the new page on the current tab.

Please refer to this link https://superuser.com/questions/854797/why-does-ctrl-click-not-open-some-links-in-a-new-tab and help to check.

Thanks.
Photo of Kevin

Kevin

  • 572 Points 500 badge 2x thumb

Posted 5 months ago

  • 1
Photo of Kevin

Kevin

  • 572 Points 500 badge 2x thumb
Hi Skuid Support,

Any feedback from you?
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
Using 11.2.7, I do not run into this problem.

However, if you are operating in Lightning, sometimes Lightning won't allow a new tab to be created. This is a limitation set by Salesforce. We have seen that before. Is that the usecase here?

If not, what is your setup? There are some methods to operate this declaratively.
Photo of Kevin

Kevin

  • 572 Points 500 badge 2x thumb
Hi Stephen,

In previous of Skuid, I didn't face this issue. It means it occurs in recent version (include Milau 11.2.8). And in Lightning standard pages, I also do not run into this problem.

Please help to resolve.


Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
Can you post an XML example using Standard Objects that reproduces this issue?
Photo of Kevin

Kevin

  • 572 Points 500 badge 2x thumb
Hi Stephen,

All hyperlinks in data table or Field Editor you also reproduce this issue.
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
Like I said, I am not able to reproduce this error. I need to see some XML that will reproduce the error in order to further identify what is going wrong. The following page is working for me on all links in a lightning environment.

<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" useviewportmeta="true" showheader="true">
    <models>
        <model id="Account" limit="50" query="true" createrowifnonefound="false" datasource="salesforce" sobject="Account">
            <fields>
                <field id="RecordTypeId"/>
                <field id="Name"/>
                <field id="Type"/>
                <field id="Account_Manager__c"/>
                <field id="Account_Manager__r.Name"/>
                <field id="LastModifiedById"/>
                <field id="LastModifiedBy.Name"/>
                <field id="Account_Manager__r.Id"/>
                <field id="Account_Manager__r.Account_Owner_Name__c"/>
                <field id="Account_Manager__r.BDR_Contact_Status__c"/>
                <field id="Contact__r.User__c"/>
                <field id="Contact__r.User__r.Name"/>
            </fields>
            <conditions>
                <condition type="multiple" field="Account_Manager__r.BDR_Contact_Status__c" operator="in" inactive="true" enclosevalueinquotes="true" name="__autofilter__Account_Manager__r.BDR_Contact_Status__c" state="filterableoff" value=""/>
                <condition type="fieldvalue" field="Type" operator="=" inactive="true" enclosevalueinquotes="true" name="__autofilter__Type" state="filterableoff" value=""/>
            </conditions>
            <actions/>
        </model>
        <model id="Contact" limit="20" query="true" createrowifnonefound="false" datasource="salesforce" sobject="Contact">
            <fields>
                <field id="BDR_Contact_Status__c"/>
                <field id="BDR_Contact_Cadence_Number__c"/>
                <field id="BDR_Cadence_Next_Contact__c"/>
                <field id="Name"/>
                <field id="LastName"/>
                <field id="FirstName"/>
            </fields>
            <conditions/>
            <actions/>
        </model>
        <model id="Oppty" limit="20" query="true" createrowifnonefound="false" datasource="salesforce" sobject="Opportunity">
            <fields>
                <field id="RecordTypeId"/>
                <field id="Name"/>
            </fields>
            <conditions/>
            <actions/>
        </model>
    </models>
    <components>
        <buttonset uniqueid="sk-wCu-285">
            <buttons>
                <button type="multi" label="Snippet" uniqueid="sk-wCu-294" icon="sk-icon-listview">
                    <actions>
                        <action type="custom" snippet="newSnippet"/>
                    </actions>
                </button>
            </buttons>
        </buttonset>
        <skootable showconditions="true" showsavecancel="true" showerrorsinline="true" searchmethod="server" searchbox="true" showexportbuttons="false" hideheader="false" hidefooter="false" pagesize="10" alwaysresetpagination="false" createrecords="false" model="Account" mode="read" allowcolumnreordering="true" responsive="true" uniqueid="sk-2KjJ-260" emptysearchbehavior="query">
            <fields>
                <field id="Name" hideable="true" uniqueid="fi-2KjK-282"/>
                <field id="Type" hideable="true" uniqueid="fi-2KjK-283"/>
                <field id="Account_Manager__c" hideable="true" uniqueid="fi-2Kq6-973"/>
                <field id="Account_Manager__r.BDR_Contact_Status__c" hideable="true" uniqueid="fi-2Kq6-974"/>
            </fields>
            <rowactions>
                <action type="edit"/>
                <action type="delete"/>
            </rowactions>
            <massactions usefirstitemasdefault="true">
                <action type="massupdate"/>
                <action type="massdelete"/>
            </massactions>
            <views>
                <view type="standard"/>
            </views>
            <filters>
                <filter type="multiselect" createfilteroffoption="true" affectcookies="true" autocompthreshold="25" conditionsource="auto" labelmode="manual" filtermethod="server" conditionfield="Account_Manager__r.BDR_Contact_Status__c" conditionoperator="in" label="Custom:  Account_Manager__r.BDR_Contact_Status__c (FAILS)" filteroffoptionlabel="Account_Manager__r.BDR_Contact_Status__c This one will always return to none selected "/>
                <filter type="select" createfilteroffoption="true" affectcookies="true" autocompthreshold="25" conditionsource="auto" labelmode="manual" filtermethod="server" filteroffoptionlabel="Type - This one works" label="Type" conditionfield="Type"/>
            </filters>
            <searchfields/>
            <renderconditions logictype="and"/>
        </skootable>
        <skootable showconditions="true" showsavecancel="true" showerrorsinline="true" searchmethod="server" searchbox="true" showexportbuttons="false" hideheader="false" hidefooter="false" pagesize="10" alwaysresetpagination="false" createrecords="true" model="Oppty" buttonposition="" mode="read" allowcolumnreordering="true" responsive="true" uniqueid="sk-13-L-289">
            <fields>
                <field id="Name" hideable="true" uniqueid="fi-13-N-309"/>
            </fields>
            <rowactions>
                <action type="edit"/>
                <action type="delete"/>
            </rowactions>
            <massactions usefirstitemasdefault="true">
                <action type="massupdate"/>
                <action type="massdelete"/>
            </massactions>
            <views>
                <view type="standard"/>
            </views>
        </skootable>
        <basicfieldeditor showheader="true" showsavecancel="true" showerrorsinline="true" model="Account" uniqueid="sk-2GDb-262" mode="read">
            <columns>
                <column width="50%" uniqueid="sk-2GDb-258">
                    <sections>
                        <section title="Section A" uniqueid="sk-2GDb-259" collapsible="no">
                            <fields>
                                <field uniqueid="sk-2GDk-282" id="Name"/>
                                <field uniqueid="sk-2GDk-283" id="Type"/>
                                <field uniqueid="sk-2GDk-284" id="Account_Manager__c" showhelp="true"/>
                            </fields>
                        </section>
                    </sections>
                </column>
                <column width="50%" uniqueid="sk-2GDb-260">
                    <sections>
                        <section title="Section B" uniqueid="sk-2GDb-261">
                            <fields/>
                        </section>
                    </sections>
                </column>
            </columns>
        </basicfieldeditor>
    </components>
    <resources>
        <labels/>
        <javascript>
            <jsitem location="inlinesnippet" name="newSnippet" cachelocation="false">var $ = skuid.$;
var queryText = 'skuid';
// Perform our SOSL Search
$.when(skuid.sfdc.search({
    query: queryText,
    searching: "ALL FIELDS",
    returning: [
       { "objectName": "Account", "fields": ["Name","CreatedDate"] },
       { "objectName": "Contact", "fields": ["FirstName","LastName","CreatedDate"] }
    ]
})).done(function(searchResult){
    $.each(searchResult.results,function(i,sobjectResult){
        var objectName = sobjectResult.objectName;
        var records = sobjectResult.records;
        console.log('* Found ' + records.length + ' ' + objectName + ' records');
        $.each(records,function(j,record){
            if (objectName==='Contact') {
                console.log('Found Contact: ' + record.FirstName + ' ' + record.LastName);
            }
            else console.log('Found Account: ' + record.Name);
        });
    });
}).fail(function(searchResult){
    console.error('Search failed: ' + searchResult.error);
}).always(function(searchResult){
   console.log('Raw SOSL generated: ' + searchResult.sosl);
    console.log('Original search request');
    console.log(searchResult.request);
});</jsitem>
        </javascript>
        <css/>
        <actionsequences uniqueid="sk-2Kj4-212"/>
    </resources>
    <styles>
        <styleitem type="background" bgtype="none"/>
    </styles>
</skuidpage>
Photo of Kevin

Kevin

  • 572 Points 500 badge 2x thumb
Hi Stephen,

I tried your XML but the issue still occurs in Millau (11.2.10).
Note: This issue is only in Lightning Experience.

Please help to resolve.

Thanks.
(Edited)