This is development code (a new page, never been in production, saves occurring every few minutes). The problem was noted on a Page Title with a rendering rule based on a field in the Model, but to research the cause, I created a new Popup, pulled in a Table component on the Model, and selected the 8 fields it contains. I did the same thing with a Field Editor. I also formatted a representative field in a Page Title. No rendering rules are used on the test Popup.
The odd thing about the Field Editor is that not only do no fields display when previewed, but not even the default "Section A" and "Section B" headers appear - only the grayed-out, default "Save" and "Cancel" buttons.
What could possibly cause this?
And, for what it's worth, the actions leading up to an including the broken and the test Popups are in a repeatable Action Sequence. [Edit:] However, a newer test shows the same results without using the Action Sequence. Also, other Models do not exhibit the same behavior.
Any help is appreciated!
Mike Dwyer, Champion
-
4,736 Points
Posted 1 year ago
Mike Dwyer, Champion
-
4,736 Points
<pagetitle model="EventSlot" uniqueid="sk-3HDa-1306">
<maintitle>{{Id}}, {{Visitation_Date__c}}, {{Description__c}}, {{Model.label}}</maintitle>
<subtitle>
<template>{{Id}}, {{Visitation_Date__c}}, {{Description__c}}, {{Model.label}}</template>
</subtitle>
<actions>
<action type="multi" label="Close {{Id}}, {{Visitation_Date__c}}, {{Description__c}}, {{Model.label}}" uniqueid="sk-3HFi-1478">
<actions>
<action type="closeTopmostPopup"/>
</actions>
</action>
</actions>
</pagetitle>
One would expect that the Main Title, the Subtitle above it, and the label on the button would all show the same information (Other than the "Close" on the button). Here's what the component actually looks like:

This proves that the model actually has data (one row, by design), and the two title properties were built in the xml using copy/paste from the button property.
Mike Dwyer, Champion
-
4,736 Points
Mike Dwyer, Champion
-
4,736 Points
User object displayed in a Calendar by LastLoginDate.
Populate a one-user Model with Javascript on "event" selected.
In the custom event Popup, use a Button to run an Action Sequence.
The Action Sequence opens a second Popup with a Table and a Page Title on the one-user Model.
This will work, at this point.
The failure occurs when you add a UI-Only Model and, in the Action Sequence use a Create Row on the UI-Only Model (before the Show Popup).
Try it. Select your name from the Calendar. Click the "Show the User" Button. In the Popup, your name will appear on the Button in the Page Title but not in the Subtitle or Main Title. Remove the Create Row action from the Action Sequence, or just move it to follow the Show Popup action, and the user name will appear in all three parts of the Page Title.
<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" useviewportmeta="true" showheader="true">
<models>
<model id="Users" limit="20" query="true" createrowifnonefound="false" datasource="salesforce" sobject="User">
<fields>
<field id="Name"/>
<field id="LastLoginDate"/>
</fields>
<conditions>
<condition type="userinfo" value="" field="FirstName" operator="=" enclosevalueinquotes="true" userinfotype="firstname"/>
</conditions>
<actions/>
</model>
<model id="SelectedUser" query="false" createrowifnonefound="false" datasource="salesforce" sobject="User">
<fields>
<field id="Id"/>
<field id="Name"/>
</fields>
<conditions>
<condition type="fieldvalue" value="" enclosevalueinquotes="true" field="Id" state="filterableon" inactive="false" name="SelectedUserId"/>
</conditions>
<actions/>
</model>
<model id="UI_Only" limit="20" query="true" createrowifnonefound="false" datasource="Ui-Only" processonclient="true">
<fields/>
<conditions/>
<actions/>
</model>
</models>
<components>
<skoocal rememberdate="true" rememberview="true" uniqueid="sk-3N1r-561">
<sources>
<eventsource name="New Event Source" createable="false" deleteable="false" updateable="false" eventclickhandler="snippetthencustompopup" showdefaultbuttons="true" model="Users" startfield="LastLoginDate" endfield="LastLoginDate" onclicksnippet="onSelectUser">
<eventtemplate>{{Name}}</eventtemplate>
<onclickpopup title="This is the last login for {{Name}}" width="90%" showdefaultbuttons="true">
<components>
<buttonset model="SelectedUser" uniqueid="sk-3N4a-1093" position="center">
<buttons>
<button type="multi" label="Show The User" uniqueid="sk-3N4j-1100">
<actions>
<action type="action-sequence" action-sequence-id="c5ebd6f8-9dd1-4edf-93a2-6024935b6529"/>
</actions>
</button>
</buttons>
</buttonset>
</components>
</onclickpopup>
</eventsource>
</sources>
<views>
<eventview type="month"/>
<eventview type="week"/>
</views>
</skoocal>
</components>
<resources>
<labels/>
<javascript>
<jsitem location="inlinesnippet" name="onSelectUser" cachelocation="false">var eventId = arguments[0].event.Id;
var eventModel = skuid.model.getModel("SelectedUser");
var idCondition = eventModel.getConditionByName("SelectedUserId");
eventModel.emptyData();
eventModel.setCondition(idCondition, eventId);
eventModel.updateData();</jsitem>
</javascript>
<css/>
<actionsequences uniqueid="sk-3N03-382">
<actionsequence id="c5ebd6f8-9dd1-4edf-93a2-6024935b6529" label="The Sequence" type="reusable">
<description/>
<actions>
<action type="createRow" model="UI_Only" appendorprepend="prepend" defaultmodefornewitems="edit" affectedrows="context"/>
<action type="showPopup">
<popup title="New Popup" width="90%">
<components>
<pagetitle model="SelectedUser" uniqueid="sk-3N5b-1277">
<maintitle>Main Title: {{Name}}</maintitle>
<subtitle>Subtitle: {{Name}}</subtitle>
<actions>
<action type="multi" label="Button Label: {{Name}}" uniqueid="sk-3N5e-1297">
<actions>
<action type="closeAllPopups"/>
</actions>
</action>
</actions>
</pagetitle>
<skootable showconditions="true" showsavecancel="true" showerrorsinline="true" searchmethod="server" searchbox="true" showexportbuttons="false" hideheader="false" hidefooter="false" pagesize="10" alwaysresetpagination="false" createrecords="true" model="SelectedUser" buttonposition="" mode="read" allowcolumnreordering="true" responsive="true" uniqueid="sk-3N5D-1194">
<fields>
<field id="Name" hideable="true" uniqueid="fi-3N5G-1213"/>
</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>
</components>
</popup>
</action>
</actions>
</actionsequence>
</actionsequences>
</resources>
<styles>
<styleitem type="background" bgtype="none"/>
</styles>
</skuidpage>
Mike Dwyer, Champion
-
4,736 Points
Mike Dwyer, Champion
-
4,736 Points
Mike Dwyer, Champion
-
4,736 Points
Fortunately, my use case supports this. Now to see if it is the workaround I need.
Mike Dwyer, Champion
-
4,736 Points
Mike Dwyer, Champion
-
4,736 Points
Matt Davis, Employee
-
1,640 Points
<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" useviewportmeta="true" showheader="true">
<models>
<model id="Users" limit="20" query="true" createrowifnonefound="false" datasource="salesforce" sobject="User">
<fields>
<field id="Name"/>
<field id="LastLoginDate"/>
</fields>
<conditions>
<condition type="userinfo" value="" field="FirstName" operator="=" enclosevalueinquotes="true" userinfotype="firstname"/>
</conditions>
<actions/>
</model>
<model id="SelectedUser" query="false" createrowifnonefound="false" datasource="salesforce" sobject="User">
<fields>
<field id="Id"/>
<field id="Name"/>
<field id="hi" uionly="true" displaytype="TEXT" label="hi"/>
</fields>
<conditions>
<condition type="fieldvalue" value="" enclosevalueinquotes="true" field="Id" state="filterableon" inactive="false" name="SelectedUserId"/>
</conditions>
<actions>
<action>
<actions>
<action type="action-sequence" action-sequence-id="e85374dd-85a1-4320-9010-540ab0169269"/>
</actions>
<events>
<event>row.updated</event>
</events>
<fields>
<field>hi</field>
</fields>
</action>
</actions>
</model>
<model id="UI_Only" limit="20" query="true" createrowifnonefound="false" datasource="Ui-Only" processonclient="true">
<fields>
<field id="hello" displaytype="TEXT" label="helo"/>
</fields>
<conditions/>
<actions/>
</model>
</models>
<components>
<skoocal rememberdate="true" rememberview="true" uniqueid="sk-3N1r-561">
<sources>
<eventsource name="New Event Source" createable="false" deleteable="false" updateable="false" eventclickhandler="snippetthencustompopup" showdefaultbuttons="true" model="Users" startfield="LastLoginDate" endfield="LastLoginDate" onclicksnippet="onSelectUser">
<eventtemplate>{{Name}}</eventtemplate>
<onclickpopup title="This is the last login for {{Name}}" width="90%" showdefaultbuttons="true">
<components>
<buttonset model="SelectedUser" uniqueid="sk-3N4a-1093" position="center">
<buttons>
<button type="multi" label="Show The User" uniqueid="sk-3N4j-1100">
<actions>
<action type="action-sequence" action-sequence-id="c5ebd6f8-9dd1-4edf-93a2-6024935b6529"/>
</actions>
</button>
</buttons>
</buttonset>
</components>
</onclickpopup>
</eventsource>
</sources>
<views>
<eventview type="month"/>
<eventview type="week"/>
</views>
</skoocal>
</components>
<resources>
<labels/>
<javascript>
<jsitem location="inlinesnippet" name="onSelectUser" cachelocation="false">var eventId = arguments[0].event.Id;
var eventModel = skuid.model.getModel("SelectedUser");
var idCondition = eventModel.getConditionByName("SelectedUserId");
eventModel.emptyData();
eventModel.setCondition(idCondition, eventId);
eventModel.updateData();</jsitem>
<jsitem location="inlinesnippet" name="newSnippet" cachelocation="false">var params = arguments[0],
$ = skuid.$;
console.log(params);</jsitem>
</javascript>
<css/>
<actionsequences uniqueid="sk-3N03-382">
<actionsequence id="c5ebd6f8-9dd1-4edf-93a2-6024935b6529" label="The Sequence" type="reusable" uniqueid="sk-FG8-316">
<description/>
<actions>
<action type="createRow" model="UI_Only" appendorprepend="prepend" defaultmodefornewitems="edit" affectedrows="context"/>
<action type="updateRow" fieldmodel="SelectedUser" affectedrows="context" field="hi" enclosevalueinquotes="true" value="{{$Model.SelectedUser.data.0.hi}}1"/>
<action type="custom" snippet="newSnippet"/>
</actions>
</actionsequence>
<actionsequence id="e85374dd-85a1-4320-9010-540ab0169269" label="The Sequence Popup" type="reusable" uniqueid="sk-FG8-316">
<description/>
<actions>
<action type="showPopup">
<popup title="New Popup" width="90%">
<components>
<pagetitle model="SelectedUser" uniqueid="sk-FHp-506">
<maintitle>Main Title: {{Name}}</maintitle>
<subtitle>Subtitle: {{Name}}</subtitle>
<actions>
<action type="multi" label="Button Label: {{Name}}" uniqueid="sk-FHp-507">
<actions>
<action type="closeAllPopups"/>
</actions>
</action>
</actions>
<renderconditions logictype="and"/>
<conditions/>
</pagetitle>
<skootable showconditions="true" showsavecancel="true" showerrorsinline="true" searchmethod="server" searchbox="true" showexportbuttons="false" hideheader="false" hidefooter="false" pagesize="10" alwaysresetpagination="false" createrecords="true" model="SelectedUser" buttonposition="" mode="read" allowcolumnreordering="true" responsive="true" uniqueid="sk-FHp-508">
<fields>
<field id="Name" hideable="true" uniqueid="sk-FHp-509"/>
</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>
</components>
</popup>
</action>
</actions>
</actionsequence>
</actionsequences>
</resources>
<styles>
<styleitem type="background" bgtype="none"/>
</styles>
</skuidpage>
Mike Dwyer, Champion
-
4,736 Points
Actually, I got burned again this weekend on a "context" problem caused by a Create Row action:

In the above, I want to display information from the calling table on the popup. I can get fields from the CJS_Class model with the sequence shown, but if I reverse "Show Popup" and "Create New Row," the context in the popup has changed to the New_Schedule model.
Having been burned three times in as many weeks by the same unexpected behavior, I am wondering if I have just coincidentally been encountering more Create Row scenarios, or if the behavior of Create Row has actually changed.
Mike Dwyer, Champion
-
4,736 Points
That probably puts this issue to rest, although I have another discussion open where rendering rules are affected. My understanding of this situation may help resolve the other as well. I'll also keep the triggered-sequence method in mind.
Matt Davis, Employee
-
1,640 Points
Related Categories
-
Skuid on Salesforce
- 2742 Conversations
- 224 Followers