Conditions builderBuilt revision v17.10.0 Phoenix TopicsHuman supportBring a missing role, layout, or state, or a rendering against the standard, to the session working on kit. Name the package and the entry. Conditions builderSource<Kit.Phoenix.Roles.ConditionsBuilder.conditions_builder add_state={Kit.Phoenix.ActionState.inert("rule-add", "Adding waits until these conditions are checked.")} id="phoenix-rule" reading={[Kit.Phoenix.Words.text("Unpaid bookings over "), Kit.Phoenix.Words.amount(Kit.Phoenix.Amount.money(reader(), Money.new(:GBP, "500.00"))), Kit.Phoenix.Words.text(", in the Garden room or with a hirer whose name contains “school”.")]}>
<:legend>Bookings to follow up</:legend>
<:match>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-match">
<:label>Match</:label>
<:control_set :let={binding}>
<Kit.Phoenix.Roles.SegmentedControl.segmented_control binding={binding} name="match" value="all">
<:option value="all">All</:option>
<:option value="any">Any</:option>
</Kit.Phoenix.Roles.SegmentedControl.segmented_control>
</:control_set>
<:printed_value>All</:printed_value>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:match>
<Kit.Phoenix.Roles.ConditionsBuilder.condition name="Status" remove_state={Kit.Phoenix.ActionState.inert("rule-remove-status", "Removing the status condition waits until it is checked.")}>
<:field>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-1-field" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_value="status" control_rest={%{name: "conditions[0][field]"}}>
<:label>Condition 1 field</:label>
<:printed_value>Status</:printed_value>
<:option value="status">Status</:option>
<:option value="amount">Amount due</:option>
<:option value="room">Room</:option>
<:option value="hirer">Hirer</:option>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:field>
<:operator>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-1-operator" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_value="is" control_rest={%{name: "conditions[0][operator]"}}>
<:label>Condition 1 operator</:label>
<:printed_value>is</:printed_value>
<:option value="is">is</:option>
<:option value="is-not">is not</:option>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:operator>
<:value>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-1-value" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_value="unpaid" control_rest={%{name: "conditions[0][value]"}}>
<:label>Condition 1 value</:label>
<:printed_value>Unpaid</:printed_value>
<:option value="unpaid">Unpaid</:option>
<:option value="paid">Paid</:option>
<:option value="cancelled">Cancelled</:option>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:value>
</Kit.Phoenix.Roles.ConditionsBuilder.condition>
<Kit.Phoenix.Roles.ConditionsBuilder.condition name="Amount due">
<:field>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-2-field" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_value="amount" control_rest={%{name: "conditions[1][field]"}}>
<:label>Condition 2 field</:label>
<:printed_value>Amount due</:printed_value>
<:option value="status">Status</:option>
<:option value="amount">Amount due</:option>
<:option value="room">Room</:option>
<:option value="hirer">Hirer</:option>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:field>
<:operator>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-2-operator" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_value="more" control_rest={%{name: "conditions[1][operator]"}}>
<:label>Condition 2 operator</:label>
<:printed_value>is more than</:printed_value>
<:option value="is">is</:option>
<:option value="more">is more than</:option>
<:option value="less">is less than</:option>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:operator>
<:value>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-2-value" kind={Kit.Phoenix.Roles.FormGroup.Kind.text(:medium)} control_rest={%{name: "conditions[1][value]", value: "500.00", inputmode: "decimal"}}>
<:label>Condition 2 value</:label>
<:printed_value>500.00</:printed_value>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:value>
</Kit.Phoenix.Roles.ConditionsBuilder.condition>
<Kit.Phoenix.Roles.ConditionsBuilder.group add_state={Kit.Phoenix.ActionState.inert("rule-nested-add", "Adding to this group waits until its conditions are checked.")} remove_state={Kit.Phoenix.ActionState.inert("rule-remove-group", "Removing this group waits until its conditions are checked.")}>
<:match>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-group-match">
<:label>Match</:label>
<:control_set :let={binding}>
<Kit.Phoenix.Roles.SegmentedControl.segmented_control binding={binding} name="group[match]" value="any">
<:option value="all">All</:option>
<:option value="any">Any</:option>
</Kit.Phoenix.Roles.SegmentedControl.segmented_control>
</:control_set>
<:printed_value>Any</:printed_value>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:match>
<Kit.Phoenix.Roles.ConditionsBuilder.condition name="Room">
<:field>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-group-1-field" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_value="room" control_rest={%{name: "group[conditions][0][field]"}}>
<:label>Group condition 1 field</:label>
<:printed_value>Room</:printed_value>
<:option value="status">Status</:option>
<:option value="amount">Amount due</:option>
<:option value="room">Room</:option>
<:option value="hirer">Hirer</:option>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:field>
<:operator>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-group-1-operator" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_value="is" control_rest={%{name: "group[conditions][0][operator]"}}>
<:label>Group condition 1 operator</:label>
<:printed_value>is</:printed_value>
<:option value="is">is</:option>
<:option value="is-not">is not</:option>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:operator>
<:value>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-group-1-value" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_value="garden" control_rest={%{name: "group[conditions][0][value]"}}>
<:label>Group condition 1 value</:label>
<:printed_value>Garden room</:printed_value>
<:option value="garden">Garden room</:option>
<:option value="hall">Main hall</:option>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:value>
</Kit.Phoenix.Roles.ConditionsBuilder.condition>
<Kit.Phoenix.Roles.ConditionsBuilder.condition name="Hirer">
<:field>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-group-2-field" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_value="hirer" control_rest={%{name: "group[conditions][1][field]"}}>
<:label>Group condition 2 field</:label>
<:printed_value>Hirer</:printed_value>
<:option value="status">Status</:option>
<:option value="amount">Amount due</:option>
<:option value="room">Room</:option>
<:option value="hirer">Hirer</:option>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:field>
<:operator>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-group-2-operator" kind={Kit.Phoenix.Roles.FormGroup.Kind.select()} control_value="contains" control_rest={%{name: "group[conditions][1][operator]"}}>
<:label>Group condition 2 operator</:label>
<:printed_value>contains</:printed_value>
<:option value="is">is</:option>
<:option value="contains">contains</:option>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:operator>
<:value>
<Kit.Phoenix.Roles.FormGroup.form_group id="phoenix-rule-group-2-value" kind={Kit.Phoenix.Roles.FormGroup.Kind.text(:medium)} control_rest={%{name: "group[conditions][1][value]", value: "school"}}>
<:label>Group condition 2 value</:label>
<:printed_value>school</:printed_value>
</Kit.Phoenix.Roles.FormGroup.form_group>
</:value>
</Kit.Phoenix.Roles.ConditionsBuilder.condition>
</Kit.Phoenix.Roles.ConditionsBuilder.group>
</Kit.Phoenix.Roles.ConditionsBuilder.conditions_builder>
|