Chart Component Series Action to Context Component Bug

Hello everybody,

I’m experiencing a frustrating bug that I can’t seem to workaround.

I have a Bar Chart Component with actions on the Series tab that open a Sliding Panel with a Table inside of it. I have the table set to be contextual based on the given bar clicked on in the Bar Chart.

It works wonderfully on the first click. But, if I click out of the Sliding Panel and then select a different bar it keeps the context from the first click.

Running v14.4.15

Here’s a screen capture of the problem. And a screenshot of the actions and context.


Unlike popup, sliding panels don’t reload from scratch each time you reopen them. They stay loaded but hidden when you close them. My guess is that it is not reloading the table component to receive the new context.

To conquer this, you will need to add two steps to your action sequence that opens the sliding panel.

  1. toggle component - Hide
    Use this to hide the table

  2. toggle component -show
    Use this to then reshow the table

You need to hide, then show instead of simply toggle the component because toggling doesn’t cause the component to reload. When you choose toggle - hide and then toggle-show it forces the component to reload. (At least in my experience)

Thank you for the quick reply, but I have bad news.

I just tried your solution and I’m still having the problem. Seems like that would work to me too. Here’s my XML to see that I did it correctly.

I added the Hide and then Toggle (Also tried Show) after the Sliding Panel action. I tried it before, but it prevented the sliding panel from showing up at all.

<serieslist>
											<series valuefield="Operating_Time_Assigned_Hours__c" splittype="none" aggfunction="sum" splitfield="Equipment__r.Name" splittemplate="{{Job_Operation__r.Kanban_Card__c}}">
													<actions>
														<action type="requeryModels" behavior="standard">
															<models>
																<model>JobOperationWorkcenterAssigmentLookup</model>
															</models>
														</action>
														<action type="openSlidingPanel" openbehavior="open">
															<skuid__slidingPanel uniqueid="sk-3bm7-35070" size="70%" origin="left" closeOnPageClick="true" behavior="overlay">
																<components>
																	<skuid__table allowColumnFreezing="dragDrop" model="JobOperationWorkcenterAssigmentLookup" uniqueid="sk-2Jy7-61696" mode="read" pageSize="Infinity" showPageSizeSelect="false" allowSortingByColumn="false">
																		<fields>
																			<field id="Priority__c" horizontalAlignment="right" uniqueid="fi-3rHD-33768"/>
																			<field id="Job_Operation__r.Kanban_Card__c" uniqueid="sk-2Jy7-61697"/>
																			<field id="Due_Date__c" uniqueid="fi-3baZ-24620"/>
																			<field id="Equipment__c" uniqueid="sk-2Jy7-61698"/>
																			<field id="Workload_Percent__c" horizontalAlignment="right" uniqueid="fi-3WVQ-141252"/>
																			<field id="Operating_Time_Assigned_Minutes__c" horizontalAlignment="right" uniqueid="fi-3WVQ-141251"/>
																		</fields>
																		<filtering enableSearch="false"/>
																		<actions/>
																		<rowActions>
																			<action type="multi" label="Remove" icon="sk-webicon-ink:delete">
																				<actions>
																					<action type="markRowsForDeletion" model="JobOperationWorkcenterAssigmentLookup" affectedrows="context"/>
																				</actions>
																			</action>
																			<action type="multi" label="Split" icon="sk-webicon-ink:copy">
																				<actions>
																					<action type="createRow" model="JobOperationWorkcenterAssigmentLookup" appendorprepend="append" defaultmodefornewitems="edit" affectedrows="context">
																						<defaults>
																							<default valuesource="fieldvalue" field="Due_Date__c" enclosevalueinquotes="false" sourcemodel="JobOperationWorkcenterAssigmentLookup" sourcefield="Due_Date__c" value="{{Due_Date__c}}"/>
																							<default valuesource="fieldvalue" field="Equipment__c" fieldtargetobjects="Equipment__c" enclosevalueinquotes="true" sourcemodel="JobOperationWorkcenterAssigmentLookup" sourcefield="Equipment__c" value="{{Equipment__c}}"/>
																							<default valuesource="fieldvalue" field="Job_Operation__c" fieldtargetobjects="Job_Operations__c" enclosevalueinquotes="true" sourcemodel="JobOperationWorkcenterAssigmentLookup" sourcefield="Job_Operation__c" value="{{Job_Operation__c}}"/>
																							<default valuesource="fieldvalue" field="Shift__c" enclosevalueinquotes="true" sourcemodel="JobOperationWorkcenterAssigmentLookup" sourcefield="Shift__c" value="{{Shift__c}}"/>
																						</defaults>
																					</action>
																				</actions>
																			</action>
																		</rowActions>
																		<massActions/>
																		<exportProperties useTableColumns="true"/>
																		<sorting enable="false"/>
																		<conditions>
																			<condition type="contextrow" field="Equipment__c" mergefield="Equipment__c" operator="=" fieldtargetobjects="Equipment__c"/>
																		</conditions>
																	</skuid__table>
																</components>
															</skuid__slidingPanel>
														</action>
														<action type="toggleRenderComponent" behavior="hide" componentid="sk-2Jy7-61696"/>
														<action type="toggleRenderComponent" behavior="toggle" componentid="sk-2Jy7-61696"/>
													</actions>
												</series>
											</serieslist>

However, I just tried using a Modal instead of a Sliding Panel and it worked. That will suffice. Would be great to have the Sliding Panel work, but not necessary.

Thank you,

Sam

You have a “model query” action in your Chart Series action list, but not a “set condition” action. If you add a condition to your table model that retrieves what is associated with your chart bar - and pass that value into the model before requerying - I think you will get the desired result. This may also mean you need to establish a separate model for the table, but that’s probably desireable anyway.

If this is greek, let me know and I can walk it through in more detail.

I was able to get a modal working but preferred the sliding panel. I’ll give this a try when I have time.