Helper Components#
- class ngapp.components.helper_components.Centered(*children: Component | str, **kwargs)#
Bases:
ComponentCreate a div with centered content
- Parameters:
children (Component | str)
- class ngapp.components.helper_components.Col(
- *children: Component | str,
- weights: list[int] | list[str] | None = None,
- **kwargs,
Bases:
ComponentA container component that creates a vertical layout.
For more details on Quasar’s column grid system, see: https://quasar.dev/layout/grid/column
- Parameters:
children (Component | str) – Variable number of child components or strings to be arranged in the column
weights (list[int] | list[str] | None) – Optional list of integers or strings specifying row weights/classes
kwargs – Additional keyword arguments passed to the parent Component
- Raises:
ValueError: If the length of weights doesn’t match the number of children.
- Examples:
Equal height rows (each takes available space)
>>> Col(Div("Row 1"), Div("Row 2"))
Specific row heights with weights
>>> Col(Div("Small"), Div("Large"), weights=[3, 9])
- class ngapp.components.helper_components.CopySimulationButton(
- app,
- ui_tooltip='Copy',
- ui_icon='mdi-content-copy',
- ui_flat=True,
- *args,
- **kwargs,
Bases:
QBtnHelper class to copy a simulation
- class ngapp.components.helper_components.FileName(
- app=None,
- ui_label='Filename',
- ui_borderless=True,
- compute_filename: Callable | None = None,
- **kwargs,
Bases:
QInputHelper to set simulation file name based on input. No input will set name to ‘Untitled’.
- Args:
app: The app instance ui_label: The label for the input ui_borderless: Use ‘borderless’ design for the input
- Parameters:
compute_filename (Callable | None)
- class ngapp.components.helper_components.JobComponent(id: str, compute_function: Callable, *args, **kwargs)#
Bases:
QBtnA button to start and stop a job and monitor its status.
- Parameters:
id (str) – Compoent id
compute_function (Callable) – Function that is called with compute_node
- on_start(handler: Callable)#
Set the function to be called when the job is started.
- Parameters:
handler (Callable)
- on_stop(handler: Callable)#
Set the function to be called when the job is stopped.
- Parameters:
handler (Callable)
- class ngapp.components.helper_components.LoadDialog(app, *args, **kwargs)#
Bases:
QDialogA dialog to load simulations from the server
- class ngapp.components.helper_components.LoadSimulationButton(
- app,
- ui_tooltip='Load',
- ui_icon='mdi-folder-open',
- ui_flat=True,
- *args,
- **kwargs,
Bases:
QBtnHelper class to run a simulation
- class ngapp.components.helper_components.NewSimulationButton(
- ui_tooltip='New',
- ui_icon='mdi-file-plus',
- ui_flat=True,
- *args,
- **kwargs,
Bases:
QBtnHelper class to create a new simulation
- class ngapp.components.helper_components.NumberInput(*children, ui_class=['q-mx-xs'], ui_step='any', **kwargs)#
Bases:
QInputThin wrapper for QInput with type=’number’ and model_value returning float
- class ngapp.components.helper_components.Report(
- app,
- id,
- ui_tooltip='Report',
- ui_icon='mdi-file-document',
- ui_flat=True,
- ui_disable=True,
- *args,
- **kwargs,
Bases:
QBtnA button that generates a pdf report from a specified format (docx, md)
- create_report(
- filename,
- file_type: Literal['md', 'docx'],
- template_path: str,
Create a report in the specified format.
- Args:
filename (str): The name of the report file. file_type (Literal[“md”, “docx”]): The format of the report file. template_path (str): The path to the template file. Needs to be in assets folder.
- Raises:
ValueError: If the file type is not supported.
- Parameters:
file_type (Literal['md', 'docx'])
template_path (str)
- class ngapp.components.helper_components.Row(
- *children: Component | str,
- weights: list[int] | list[str] | None = None,
- **kwargs,
Bases:
ComponentA container component that arranges its children in a horizontal row layout.
For more details on Quasar’s row grid system, see: https://quasar.dev/layout/grid/row
- Parameters:
children (Component | str) – Variable number of child components or strings to be arranged in the row
weights (list[int] | list[str] | None) – Optional list of integers or strings specifying column weights/classes
kwargs – Additional keyword arguments passed to the parent Component
- Raises:
ValueError: If the length of weights doesn’t match the number of children.
- Example:
>>> Row(Div("Column 1"), Div("Column 2"), weights=[6, 6]) # Equal columns
>>> Row("Auto width", "Flexible", weights=["col-md-8", "col-md-4"])
- class ngapp.components.helper_components.RunSimulationButton(
- run_function: Callable,
- ui_tooltip='Run',
- ui_icon='mdi-play',
- ui_flat=True,
- *args,
- **kwargs,
Bases:
QBtnHelper class to run a simulation
- Parameters:
run_function (Callable)
- class ngapp.components.helper_components.SaveSimulationButton(
- app,
- ui_tooltip='Save',
- ui_icon='mdi-content-save',
- ui_flat=True,
- *args,
- **kwargs,
Bases:
QBtnHelper class to save a simulation
- class ngapp.components.helper_components.SimulationTable(dialog=None)#
Bases:
QTableA table to display simulations from the server, if no dialog is given, the rows must be set manually
- class ngapp.components.helper_components.Table(
- ui_title='',
- ui_rows=[],
- ui_header=None,
- ui_align=None,
- ui_hide_bottom=True,
- ui_pagination={'rowsPerPage': 0},
- ui_hide_pagination=True,
- ui_style='min-width:400px;margin-bottom:50px;',
- **kwargs,
Bases:
QTableWrapper class around QTable that allows to pass a list of lists as rows and disables pagination by default
- get_markdown()#
Get the table as markdown
- property ui_rows#
Rows of data to display
- class ngapp.components.helper_components.ToolBar(
- app,
- ui_class='bg-grey-5 text-white',
- logo: str | None = None,
- app_name: str | None = None,
- filename: FileName | None = None,
- buttons: list[Component] = [],
- *args,
- **kwargs,
Bases:
QToolbarA toolbar with a logo, app name, filename input, new, load, save and run buttons