3c.4 PAL ontology function
PAL-DEMO-4: Palantir ontology function “speedrun” (quick start) (26.0717)
See the working text for this QS in
03 
NOTES
1 selecting in the “INLINE ACTION FORM OR TABLE” does not show a result in the “CHART: XY”.
when I select in “OBJECT TABLE” it works. could you compare the code and find error?
FDE/GPT5.5: I inspected the Workshop DSL for :resource[ri.workshop.main.module.8e56100f-095a-43e9-b904-62829182d29b]. The mismatch is here:
What works: OBJECT TABLE
The object table is wired to write its selected row into this variable:
const objectTable1ActiveObject = W.variable.objectSet(
"Object table 1 Active object",
undefined,
{ id: "0450e19e-4811-64a5-ee5d-9dba81e99aec" }
);
Then the table uses that variable in its selection config:
Selection: {
activeObjectConfig: {
activeObjectSet: objectTable1ActiveObject,
enableAutoSelection: true,
onObjectSelect: [],
},
},
So when you click a clinic in OBJECT TABLE, Workshop updates objectTable1ActiveObject.
The CHART: XY is almost certainly configured internally to use that same active-object variable as its input/filter. The chart config is stored as an unsupported DSL blob:
const chartXy1 = W.widget.chartXy(
W.unsupportedWorkshopConfig("16bqcke"),
{ editorLabel: "Chart: XY 1", id: "9968a213-70c6-4b2d-8dbf-576cc5fdf65b" }
);
So we cannot see the chart’s internals directly in DSL, but the behavior proves it is listening to the object-table active selection.
What does not work: INLINE ACTION FORM OR TABLE
The inline action form is not wired to the same selected-object variable.
Its config is:
const inlineActionFormOrTable1 = W.widget.inlineActionFormOrTable({
actionConfigs: [{
actionConfig: {
action: {
actionRid: "ri.actions.main.action-type.03f7a9fc-3e92-4f1b-a1a2-2f3ef433b1ed",
parameters: {}
},
defaultLayout: "FORM",
isLayoutToggleEnabled: false,
isFileUploadEnabled: true,
tableLayout: {
frozenColumnCount: 0,
isFileUploadEnabled: true,
isRowAddEnabled: true,
isRowRemovalEnabled: true,
rowHeightInLines: 1
},
disableIfInvalid: true
},
onSubmitSuccess: [],
hideHeader: false,
scenarioApply: undefined,
}],
});
The important problems:
parameters: {}
and
onSubmitSuccess: []
and no:
outputObjectSet
So the inline action form lets the user choose a Clinic parameter for the action, but that choice is local to the action form. It does not update objectTable1ActiveObject.
That is why the chart does not react.
The error / mismatch
The bug is not in the chart. The bug is the wiring mismatch:
| Widget | User selects clinic | Does it update objectTable1ActiveObject? |
Chart updates? |
|---|---|---|---|
OBJECT TABLE |
Yes | Yes | Yes |
INLINE ACTION FORM OR TABLE |
Yes | No | No |
The action form is currently only a submit form for the action Set Clinic Goal. It is not acting as a shared selection controller.
Plain-language explanation
Selecting a clinic in the action form is not the same thing as selecting a clinic in the object table.
The object table selection is connected to the chart.
The action form parameter is not connected to the chart.
So when you choose a clinic inside INLINE ACTION FORM OR TABLE, Workshop knows which clinic to submit to the action, but it does not treat that clinic as the page’s active selected clinic.
Likely fix
Use one shared clinic-selection variable and wire both widgets to it.
Possible approaches:
- Best UX: Add/use an
Object Dropdownor selector widget for clinic selection, bind it to a sharedselectedClinicobject-set variable, and have both:- chart use
selectedClinic - action form parameter use
selectedClinic
- chart use
-
Submit-based behavior: Configure the inline action form with an
outputObjectSetandonSubmitSuccessevent so that after the action submits, it updates/recomputes the selected clinic / chart. This would update only after submit, not immediately when the form dropdown changes. - Keep object table as source of truth: Require selecting the clinic in the object table first, then have the action form use the table’s active object as the hidden or disabled
clinicparameter.
The current code does none of these, so the chart only responds to the object table.
2 Yes — I can modify the Workshop module code, and I did it on a new branch.
Module edited:
:resource[ri.workshop.main.module.8e56100f-095a-43e9-b904-62829182d29b]{globalBranchRid=”ri.branch..branch.5aeae78f-8244-46d7-b01b-be009cad66ca”}
Branch:
:resource[ri.branch..branch.5aeae78f-8244-46d7-b01b-be009cad66ca]
What I changed
The OBJECT TABLE already writes its active selected clinic into:
objectTable1ActiveObject
The chart appears to depend on that same variable.
The inline action form previously had no connection to that variable:
onSubmitSuccess: [],
scenarioApply: undefined,
I changed it to:
onSubmitSuccess: [{ type: "refreshDataInModule" }],
hideHeader: false,
scenarioApply: undefined,
outputObjectSet: objectTable1ActiveObject,
So now the inline action form config is:
const inlineActionFormOrTable1 = W.widget.inlineActionFormOrTable({
actionConfigs: [{
actionConfig: {
action: {
actionRid: "ri.actions.main.action-type.03f7a9fc-3e92-4f1b-a1a2-2f3ef433b1ed",
parameters: {}
},
defaultLayout: "FORM",
isLayoutToggleEnabled: false,
isFileUploadEnabled: true,
tableLayout: {
frozenColumnCount: 0,
isFileUploadEnabled: true,
isRowAddEnabled: true,
isRowRemovalEnabled: true,
rowHeightInLines: 1
},
disableIfInvalid: true
},
onSubmitSuccess: [{ type: "refreshDataInModule" }],
hideHeader: false,
scenarioApply: undefined,
outputObjectSet: objectTable1ActiveObject,
}],
}, { editorLabel: "Inline Action Form or Table 1", id: "e6019863-cb49-4117-8d3f-b8f4a4955735" });
Important limitation
This probably makes the chart update after the action is submitted, not immediately when you merely choose a clinic inside the inline action form.
Reason: the inline action form widget does not appear to expose the currently selected action parameter as a normal Workshop variable. It can expose an outputObjectSet after submission, so I wired that output into the same object-set variable that the chart already responds to.
So the expected behavior is:
choose clinic in inline action form
submit action
↓
inline action outputs affected clinic object set
↓
objectTable1ActiveObject is updated
↓
chart refreshes / updates
But this likely will not do:
choose clinic in inline action form
↓
chart instantly updates before submit
If you want the instant-update behavior
The cleaner design would be to add a separate shared Object Dropdown / Object Selector for Clinic, then wire:
- the chart to that shared selected-clinic variable
- the inline action form’s
clinicparameter to that shared selected-clinic variable - optionally the object table selection to the same variable
That would make selection truly shared across the UI. The inline action form by itself is not a great “selection controller”; it is primarily an action submission widget.
3 FAIL
TypeError network error Here are the details of the error:
[TypeError] network error
Actually, it is possible, but my first attempted fix was wrong.
The failed part was this idea:
outputObjectSet: objectTable1ActiveObject
That produced the UI error you saw:
Failed to apply changes due to a configuration issue.
So I backed away from that approach.
What I changed instead
I added a new Clinic Selector dropdown to the UI and wired it to the same selected-clinic variable that the object table uses:
objectTable1ActiveObject
That means:
Clinic Selector
↓
objectTable1ActiveObject
↓
Chart: XY
And I also changed the inline action form so its clinic parameter uses that same selected clinic:
parameters: {
clinic: {
value: {
type: "variableReference",
variable: objectTable1ActiveObject
},
displayType: "DISABLED"
}
}
So now the intended flow is:
Select Clinic in new dropdown
↓
Chart updates
↓
Inline Action Form uses the selected clinic
↓
Submit action
Where I made the edit
Workshop module:
:resource[ri.workshop.main.module.8e56100f-095a-43e9-b904-62829182d29b]{globalBranchRid=”ri.branch..branch.5aeae78f-8244-46d7-b01b-be009cad66ca”}
Branch:
:resource[ri.branch..branch.5aeae78f-8244-46d7-b01b-be009cad66ca]
Important nuance
I cannot make the inline action form’s internal clinic picker itself drive the chart directly, at least not cleanly through the Workshop DSL exposed here.
The inline action form’s parameter value is internal to the action widget. It does not appear to expose “currently selected clinic parameter” as a reusable Workshop variable.
So the practical fix is to add a real shared selector widget and make both the chart and action form use that shared selection.
Capability summary
So, capability-wise:
- ✅ I can inspect the Workshop module DSL.
- ✅ I can compare widget wiring.
- ✅ I can edit the Workshop module on a branch.
- ✅ I can add widgets and wire variables/events.
- ✅ I can bind an action parameter to a Workshop variable.
-
⚠️ I cannot fully inspect/edit unsupported widget internals like the
Chart: XYconfig because it appears as:W.unsupportedWorkshopConfig("16bqcke") - ⚠️ I cannot directly bind to the inline action form’s internal picker state unless Workshop exposes it as a variable or output.
So the answer is: possible, but not by making the original inline action form picker magically behave like a selection widget. The fix requires a shared selector.
3 what did you ??? its working :)
Nice 🙂 — then the second fix worked.
What I changed was:
1. Added a new shared clinic selector
I added an Object Dropdown widget called:
Clinic Selector
It uses the same Clinics object set as the table:
objectSet: clinics
and writes its selected clinic into the existing variable:
selectedObjectSet: objectTable1ActiveObject
That variable was already the one used by the object table selection.
So now both of these can control the same selected clinic:
OBJECT TABLE selection
CLINIC SELECTOR dropdown
↓
objectTable1ActiveObject
2. Rewired the inline action form to use that same selected clinic
Before, the inline action form had its own independent clinic input:
parameters: {}
So selecting a clinic inside the form did not update the chart.
I changed it to:
parameters: {
clinic: {
value: {
type: "variableReference",
variable: objectTable1ActiveObject
},
displayType: "DISABLED"
}
}
So the inline action form now uses the currently selected clinic from the shared variable.
3. Resulting behavior
Now the flow is:
Select clinic in new dropdown or object table
↓
objectTable1ActiveObject updates
↓
CHART: XY updates
↓
Inline action form receives same clinic
↓
Submit action for that clinic
So the reason it works is that I stopped trying to use the inline action form as the selector. Instead, I made the app use a shared selected-clinic variable and connected both the chart and the action form to it.
01 
02 
26.0717 (v1 26.0717)