Create new row action does not respect context (Banzai RC5)

  • 1
  • Problem
  • Updated 3 years ago
  • Solved
  • (Edited)
When creating a new row using action framework, the context properties are not applied to the newly created record.

Steps to Reproduce:
1) Create blank page
2) Add Account model specifying "Load model data on page load" = false and "Create default row if Model has none" = false and including Name field
3) Add Contact model specifying "Load model data on page load" = false and "Create default row if Model has none" = false and including Name, First Name and Last Name fields
4) Add table for account including name field
5) Add Drawer row action
6) Inside of drawer add page title specifying context to accountid of row in context
7) Add button to page title with run multiple actions and "create new row in contact"
8) Inside of drawer add field editor specifying context to accountid of row in context and including Name, FirstName & LastName
9) Preview page
10) Click "+" to add new account row
11) Click "+" to add another new account row
12) Click wand to expand row from #10 & #11
13) Click "Create Row" button from Row created in #10 (bottom row)

Expected Result
Contact is created in drawer for row in #10 (bottom row)

Actual Result
Contact is created in drawer for row in #11 (top row)

Sample Page XML

<skuidpage unsavedchangeswarning="yes" showsidebar="true" showheader="true" tabtooverride="Account" personalizationmode="server">   <models>
      <model id="Account" limit="1" query="false" createrowifnonefound="false" sobject="Account" type="" adapter="">
         <fields>
            <field id="Name"/>
         </fields>
         <conditions/>
         <actions/>
      </model>
      <model id="Contact" limit="20" query="false" createrowifnonefound="false" adapter="" type="" sobject="Contact">
         <fields>
            <field id="FirstName"/>
            <field id="Name"/>
            <field id="LastName"/>
         </fields>
         <conditions>
            <condition type="modelmerge" value="" field="AccountId" operator="=" model="Account" enclosevalueinquotes="true" mergefield="Id" novaluebehavior="deactivate"/>
         </conditions>
         <actions/>
      </model>
   </models>
   <components>
      <skootable showconditions="true" showsavecancel="false" showerrorsinline="true" searchmethod="server" searchbox="false" showexportbuttons="false" pagesize="10" createrecords="true" model="Account" buttonposition="" mode="read" uniqueid="sk-2Pc4hF-116" emptysearchbehavior="query">
         <fields>
            <field id="Name"/>
         </fields>
         <rowactions>
            <action type="drawer" label="View Details" icon="sk-icon-magic">
               <drawer title="Drawer Area" width="90%" closehandle="true">
                  <components>
                     <pagetitle model="Contact" uniqueid="sk-2PZ5ph-625">
                        <maintitle>{{Name}}</maintitle>
                        <subtitle>
                           <template>{{Model.labelPlural}}</template>
                        </subtitle>
                        <actions>
                           <action type="multi" label="Create Row">
                              <actions>
                                 <action type="createRow" model="Contact" appendorprepend="prepend" defaultmodefornewitems="edit"/>
                              </actions>
                           </action>
                        </actions>
                        <conditions>
                           <condition type="contextrow" field="AccountId" mergefield="Id" operator="="/>
                        </conditions>
                     </pagetitle>
                     <basicfieldeditor showsavecancel="false" showheader="true" model="Contact" mode="edit" uniqueid="sk-2PZ5ph-63" buttonposition="">
                        <columns>
                           <column width="100%">
                              <sections>
                                 <section title="Basics" collapsible="no">
                                    <fields>
                                       <field id="Name"/>
                                       <field id="FirstName"/>
                                       <field id="LastName"/>
                                    </fields>
                                 </section>
                              </sections>
                           </column>
                        </columns>
                        <conditions>
                           <condition type="contextrow" field="AccountId" mergefield="Id" operator="="/>
                        </conditions>
                     </basicfieldeditor>
                  </components>
               </drawer>
               <renderconditions logictype="and"/>
            </action>
         </rowactions>
         <massactions usefirstitemasdefault="true"/>
         <views>
            <view type="standard"/>
         </views>
         <searchfields/>
      </skootable>
   </components>
   <resources>
      <labels/>
      <css/>
      <javascript/>
   </resources>
   <styles>
      <styleitem type="background" bgtype="none"/>
   </styles>
</skuidpage>
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,076 Points 10k badge 2x thumb

Posted 3 years ago

  • 1
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,076 Points 10k badge 2x thumb
Hello All - Tested in Banzai 7.7 and still experiencing this issue.  Any updates?
Photo of Rob Hatch

Rob Hatch, Official Rep

  • 44,006 Points 20k badge 2x thumb
Thanks for the report - we will investigate.  (Though it may be after Dreamforce...) 
Photo of J.

J., Official Rep

  • 7,470 Points 5k badge 2x thumb
Barry, 

You may already be aware of this, but one thing that should work (just tested in our dev org) at least in the meantime is to add default values on your create row action. I agree that having it just read context and figure that out for you would be sweet, but if it's holding you up, it may make sense to go that route, at least for now.
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,076 Points 10k badge 2x thumb
Thanks for the insight J.  Yeah, setting default values should work. There was a similar post on 6.x where applying the context was addressed so all the pages we're moving over are written under that assumption. Unfortunately I have about 60+ pages that would require the workaround so I'm going to hold off a bit on implementing until you guys are able to assess timeline, etc.   Worst case, default values should be a temporary solution if necessary.  

Thanks again!
Photo of Zach McElrath

Zach McElrath, Employee

  • 49,056 Points 20k badge 2x thumb
This should be resolved in Banzai Update 2, now available from Skuid Releases.
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,076 Points 10k badge 2x thumb
Tested and confirmed as resolved in Skuid 7.16.  Thank you!