Loading src/nova/trame/_internal/utils.py 0 → 100644 +26 −0 Original line number Diff line number Diff line """Internal utilities for nova-trame.""" from typing import Any, Tuple, Union from trame_server.core import State from nova.mvvm._internal.utils import rgetdictvalue, rsetdictvalue def get_state_param(state: State, value: Union[Any, Tuple]) -> Any: if isinstance(value, tuple): return rgetdictvalue(state, value[0]) return value def set_state_param(state: State, value: Union[Any, Tuple], new_value: Any = None) -> Any: with state: if isinstance(value, tuple): if new_value is not None: rsetdictvalue(state, value[0], new_value) elif len(value) > 1: rsetdictvalue(state, value[0], value[1]) state.dirty(value[0].split(".")[0]) return get_state_param(state, value) src/nova/trame/view/components/data_selector.py +2 −21 Original line number Diff line number Diff line Loading @@ -9,8 +9,9 @@ from trame.widgets import client, datagrid, html from trame.widgets import vuetify3 as vuetify from trame_server.core import State from nova.mvvm._internal.utils import rgetdictvalue, rsetdictvalue from nova.mvvm._internal.utils import rgetdictvalue from nova.mvvm.trame_binding import TrameBinding from nova.trame._internal.utils import get_state_param, set_state_param from nova.trame.model.data_selector import DataSelectorModel, DataSelectorState from nova.trame.view.layouts import GridLayout, HBoxLayout, VBoxLayout from nova.trame.view_model.data_selector import DataSelectorViewModel Loading @@ -20,26 +21,6 @@ from .input_field import InputField vuetify.enable_lab() # TODO: refactor def get_state_param(state: State, value: Union[Any, Tuple]) -> Any: if isinstance(value, tuple): return rgetdictvalue(state, value[0]) return value def set_state_param(state: State, value: Union[Any, Tuple], new_value: Any = None) -> Any: with state: if isinstance(value, tuple): if new_value is not None: rsetdictvalue(state, value[0], new_value) elif len(value) > 1: rsetdictvalue(state, value[0], value[1]) state.dirty(value[0].split(".")[0]) return get_state_param(state, value) class DataSelector(datagrid.VGrid): """Allows the user to select datafiles from the server.""" Loading Loading
src/nova/trame/_internal/utils.py 0 → 100644 +26 −0 Original line number Diff line number Diff line """Internal utilities for nova-trame.""" from typing import Any, Tuple, Union from trame_server.core import State from nova.mvvm._internal.utils import rgetdictvalue, rsetdictvalue def get_state_param(state: State, value: Union[Any, Tuple]) -> Any: if isinstance(value, tuple): return rgetdictvalue(state, value[0]) return value def set_state_param(state: State, value: Union[Any, Tuple], new_value: Any = None) -> Any: with state: if isinstance(value, tuple): if new_value is not None: rsetdictvalue(state, value[0], new_value) elif len(value) > 1: rsetdictvalue(state, value[0], value[1]) state.dirty(value[0].split(".")[0]) return get_state_param(state, value)
src/nova/trame/view/components/data_selector.py +2 −21 Original line number Diff line number Diff line Loading @@ -9,8 +9,9 @@ from trame.widgets import client, datagrid, html from trame.widgets import vuetify3 as vuetify from trame_server.core import State from nova.mvvm._internal.utils import rgetdictvalue, rsetdictvalue from nova.mvvm._internal.utils import rgetdictvalue from nova.mvvm.trame_binding import TrameBinding from nova.trame._internal.utils import get_state_param, set_state_param from nova.trame.model.data_selector import DataSelectorModel, DataSelectorState from nova.trame.view.layouts import GridLayout, HBoxLayout, VBoxLayout from nova.trame.view_model.data_selector import DataSelectorViewModel Loading @@ -20,26 +21,6 @@ from .input_field import InputField vuetify.enable_lab() # TODO: refactor def get_state_param(state: State, value: Union[Any, Tuple]) -> Any: if isinstance(value, tuple): return rgetdictvalue(state, value[0]) return value def set_state_param(state: State, value: Union[Any, Tuple], new_value: Any = None) -> Any: with state: if isinstance(value, tuple): if new_value is not None: rsetdictvalue(state, value[0], new_value) elif len(value) > 1: rsetdictvalue(state, value[0], value[1]) state.dirty(value[0].split(".")[0]) return get_state_param(state, value) class DataSelector(datagrid.VGrid): """Allows the user to select datafiles from the server.""" Loading