the edge are in general labeless unless for :
- after a select multiple: can setup quick rhombus for the number of choice selected, an opperator is required (<>=)
- after a yes/no quesiton: 'Yes', 'No', 'Follow' (translation can be added in the code )
- before a calculate to put weight: integer only
odk_type:
odk_type:
odk_type: calculate
odk_type:not
odk_type:select_multiple
odk_type:select_option
odk_type:select_one
Not yet supported
odk_type:select_option
odk_type:text
odk_type:note
odk_type:decimal
node that target another node to enrich it
odk_type:hint-message
Commcare only, not yet supported
odk_type:help-message
Diplay a checkbox to indicate that the data cannot be capture
odk_type:not_available
Node that are made to link page of jump witnin a page
rhombus: fetch data
goto: start the linked activity within the target activity
start: main start of the algo
activity_start: start of an activity (link in)
link_in
link_out
count: count the number of valid input
add: add counts
(DEPRECATED)container_hint_media:
activity:
#select_yesno:
select_option:
hint:
help:
exclusive:
end:
activity_end:
edge:
page:
note:
calculate:
select_multiple:
select_one:
decimal:
integer:
text:
replace the calcualte deducted by inputs
adds a calcualte to the one deducted by inputs
not supported yet
will create a calculate with the same name
Mandatory
Not a real property to add, it is simply the text display in the boxes
advanced interpretation of the edges:
Activity instances: if there is more that 1 instance of a single actity then the 1+ activity will be displayed only if the previous one were not, to do that the GoTO node are replaced by a path and a rombhus, the path got to the activitvy and rhombus and the next node (if any) are attached to the rhombus that is use to wait that the activity
the node folowing an 1+ activity will be display after the activy OR instead of the activity
Select multiple: if followed by a calculate (rhombus included) the calculate will be equal to the number of selected option BUT opt_none if not a calculate then relevance will be used unless it is "required" then condition will be at least 1 selection
the Rhombus act as an AND between its imputs and its reference BUT it is an OR beween the inputs (input1 OR input2 OR input3) AND reference
https://jgraph.github.io/drawio-tools/tools/convert.html
option can have only incoming edge from images to be placed as option$
then we calculate based on the previous nodes: [get_prev_node_expression]
- if a "fake" calculate (Rhombus, exclusion) then get the underlying expression (should not depend of Calcualte = true) [get_calculation_terms]
- if a Select, manage it as a calculate too (should not depend of Calcualte = true) [get_calculation_terms]
- else get the expression via [get_calculation_terms] [get_prev_node_expression , calculate = False] -> get_node_expression for the prev node