mirror of
https://github.com/aurora-opensource/xviz.git
synced 2026-01-18 14:07:46 +00:00
32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
from xviz_avs.builder.declarative_ui.base_ui_component import XVIZBaseUiComponent
|
|
from xviz_avs.builder.declarative_ui.constants import UI_TYPES
|
|
|
|
|
|
class XVIZPlotBuilder(XVIZBaseUiComponent):
|
|
def __init__(self, independentVariable, dependentVariables, regions=None, **kwargs):
|
|
super().__init__(UI_TYPES.PLOT, **kwargs)
|
|
self._independentVariable = independentVariable
|
|
self._dependentVariables = dependentVariables
|
|
self._regions = regions
|
|
|
|
self._validate()
|
|
|
|
def _validate(self):
|
|
if self._independentVariable is not None:
|
|
if self._dependentVariables is None:
|
|
self._validateError('A Plot with an "independentVariable" must have a "dependentVariables"')
|
|
elif self._regions is None:
|
|
self._validateError('A Plot must be provided "regions" if it is using the "independentVariable"')
|
|
|
|
def get_ui(self):
|
|
obj = super().get_ui()
|
|
|
|
if self._independentVariable:
|
|
obj["independentVariable"] = self._independentVariable
|
|
obj["dependentVariables"] = self._dependentVariables
|
|
|
|
if self._regions:
|
|
obj["regions"] = self._regions
|
|
|
|
return obj
|