Skip to content

Drona Form Elements

Number element

The number element is a very generic element, that shows a single input field where the user can only enters numerical values. The element includes field to set the minimum, maximumm, and step size. Below, see the specific fields for number elements.

"<ElmentName>": {
   "type": "number",
   "min": 0,
   "max": 100,
   "step": 2,
   "placeholder": "0-100, step of 2"

}

Text element

The text element is a very generic element, that shows a single input field where the user can specify any text input. The element includes one single text specific field to set the default value.

"<ElementName>": {
   "type": "text",
   "value": "<Default text>"

}

Time element

The time element shows a combined input with three number, representing days, hours, and minutes. Keep in mind, the element will return the values in HH:MM format.

"<ElementName>": {
   "type": "time"
}

Unit element

The unit elelment shows a combined input with a number field and a dropdown with options for the unit. This element is typically used to specify memory, where the dropdown has options for MB and GB.

"<ElementName>": {
   "type": "unit",
   "units": [
      { "label": "MB", "value": "M" },
      { "label": "GB", "value": "G" }
   ]

}

Module element

The module element shows a combined search bar and toolchain dropdown. When the researcher starts typing in the search bar, the element will show all available modules for the selected toolchain matching the search string. Selected modules will be automatically assigned to a predefined variable named module_list. Note this element uses an external SQL database to retrieve modules from.

"<ElementName>": {
   "type": "module",
   "toolchains": [
     {
        "label": "intel/2023a",
        "value": "modules-intel2023a"
     },
     {
        "label": "Foss/2023a",
        "value": "modules-foss2023a"
     }
  ]

}

Checkbox element

The checkbox element shows a single checkbox. When the checkbox is not checked the assigned variable will (through the name field) will be set to the empty string. If the the checkbox is checked, the assigned variable will be set to the value of the value field

"<ElementName>": {
   "type": "checkbox",
   "value": "Yes"
},

Radiogroup element

The radiogoup element shows a group of radio buttons where only one can be selected. The element provides an option list with labels and values for every choice. the variable name assoicated with this this element (designated by the name field), will be set to the selected value field in the options list.

"<ElementName>": {
   "type": "radioGroup",
   "options": [
      {
         "label": "Radio 1",
         "value": "value1"
      },
      {
         "label": "Radio 2",
         "value": "value2"
      }
   ]
}

select element

The select element shows a dropdown of options where only one can be selected. The element provides an option list with labels and values for every choice. the variable name assoicated with this this element (designated by the name field), will be set to the selected value field in the options list.

"<ElementName>": {
   "type": "select",
   "options": [
      {
         "label": "Option 1",
         "value": "option1"
      },
      {
         "label": "Option 2",
         "value": "option2"
      }
    ]
}

dynamic_select element

The dynamic_select element shows a dropdown of options where only one can be selected. This is similar to the select element mentioned above. The only different is that the options list is generated by an external script. The retriever field designates the script to be called. The variable name assoicated with this element (designated by the name field), will be set to the selected value field in the options list.

"<ElementName>": {
   "type": "dynamic_select",
   "retriever" : "<retrieval_script>"
}

Picker element

The picker element shows a combined element where users can select a file or directory (either from researcher's local machine or from the a location on the machine where Drona composer os running). If the researcher selects a file from their local machine, Drona composer will upload the file as well. The variable name assoicated with this element (designated by the name field), will be set to the selected file or directory.

"<ElementName>": {
   "type": "picker",
   "remoteLabel": "Upload",
   "localLabel": "Cluster",
   "showFiles": true
}

Upload element

The upload element shows an upload button, where the researcher will be able to upload fikes and directories. Drona composer will automatically copy all the uploaded files to the job directory.

"<ElementName>": {
   "type": "uploader"
}