Parent page hotkey fires when popup is being displayed

In a situation where an element on a page (e.g. table global action) contains a hotkey sequence, when a popup is displayed, the hotkey for the parent page is firing when the keystroke is pressed.

This can lead to unintended results that might not even be visible to the user since the popup would hide the parent page components from view.

There have been threads about hotkeys in the past (see here and here) that might be related.

Steps to Reproduce:

  1. Create page from xml below
  2. Preview page
  3. Press Ctrl+Shift+I to add an new contact
  4. With the popup now visible, press Ctrl+Shift+I

Expected Behavior
Hotkey for global action does not fire and row is not added to contact table

Actual Behavior
Hotkey fires, row is added to table and another popup appears

Sample Page XML

<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" showheader="true" tabtooverride="Account">   <models>
      <model id="Account" limit="1" query="true" createrowifnonefound="false" sobject="Account">
         <fields>
            <field id="Name"/>
            <field id="CreatedDate"/>
         </fields>
         <conditions>
            <condition type="param" enclosevalueinquotes="true" operator="=" field="Id" value="id"/>
         </conditions>
         <actions/>
      </model>
      <model id="Contact" limit="20" query="true" createrowifnonefound="false" adapter="" type="" sobject="Contact">
         <fields>
            <field id="Name"/>
            <field id="FirstName"/>
            <field id="LastName"/>
         </fields>
         <conditions>
            <condition type="modelmerge" value="" field="AccountId" operator="=" model="Account" enclosevalueinquotes="true" mergefield="Id" novaluebehavior="noquery"/>
         </conditions>
         <actions/>
      </model>
   </models>
   <components>
      <pagetitle model="Account" uniqueid="sk-2l7JRg-68">
         <maintitle>
            <template>{{Name}}</template>
         </maintitle>
         <subtitle>
            <template>{{Model.label}}</template>
         </subtitle>
         <actions>
            <action type="savecancel" window="self" rollbackonanyerror="true">
               <models>
                  <model>Contact</model>
               </models>
            </action>
         </actions>
      </pagetitle>
      <basicfieldeditor showsavecancel="false" showheader="true" model="Account" mode="readonly" uniqueid="sk-2l7JRg-69" buttonposition="">
         <columns>
            <column width="50%">
               <sections>
                  <section title="Basics">
                     <fields>
                        <field id="Name"/>
                     </fields>
                  </section>
               </sections>
            </column>
            <column width="50%">
               <sections>
                  <section title="System Info">
                     <fields>
                        <field id="CreatedDate"/>
                     </fields>
                  </section>
               </sections>
            </column>
         </columns>
      </basicfieldeditor>
      <skootable showconditions="true" showsavecancel="false" showerrorsinline="true" searchmethod="server" searchbox="true" showexportbuttons="false" pagesize="10" createrecords="true" model="Contact" buttonposition="" mode="read" uniqueid="sk-2l7SSw-109">
         <fields>
            <field id="FirstName" valuehalign="" type=""/>
            <field id="LastName"/>
         </fields>
         <rowactions>
            <action type="edit"/>
            <action type="delete"/>
         </rowactions>
         <massactions usefirstitemasdefault="true">
            <action type="massupdate"/>
            <action type="massdelete"/>
         </massactions>
         <views>
            <view type="standard"/>
         </views>
         <actions defaultlabel="Global Actions" defaulticon="sk-icon-magic" usefirstitemasdefault="true">
            <action type="multi" label="Add New" icon="sk-icon-magic">
               <actions>
                  <action type="createRow" model="Contact" appendorprepend="prepend" defaultmodefornewitems="edit"/>
                  <action type="showPopup"/>
               </actions>
               <hotkeys>
                  <hotkey modifiers="ctrl,shift" key="i" ignoretextinputs="false"/>
               </hotkeys>
            </action>
         </actions>
      </skootable>
   </components>
   <resources>
      <labels/>
      <css/>
      <javascript/>
   </resources>
   <styles>
      <styleitem type="background" bgtype="none"/>
   </styles>
</skuidpage>

Sorry it took a week to get back to you.  We have repro’ed the issue and it is in our backlog.  I’ll let you know how it progresses. 

Thanks Rob!