Commit 1f2b720b authored by Duggan, John's avatar Duggan, John
Browse files

Delay updateCheckboxes to allow the DOM changes to be propagated

parent ec362f2a
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -226,6 +226,7 @@ class DataSelector(datagrid.VGrid):
        self._vm.directories_bind.connect(self._directories_name)
        self._vm.datafiles_bind.connect(self._datafiles_name)
        self._vm.reset_bind.connect(self.reset)
        self._vm.reset_grid_bind.connect(self._reset_rv_grid)

    def refresh_contents(self) -> None:
        self._vm.update_view(refresh_directories=True)
@@ -237,7 +238,6 @@ class DataSelector(datagrid.VGrid):
    def set_subdirectory(self, subdirectory_path: str = "") -> None:
        set_state_param(self.state, self._subdirectory, subdirectory_path)
        self._vm.set_subdirectory(subdirectory_path)
        self._reset_rv_grid()

    def set_state(self, *args: Any, **kwargs: Any) -> None:
        raise TypeError(
+1 −0
Original line number Diff line number Diff line
@@ -154,6 +154,7 @@ class NeutronDataSelector(DataSelector):
        self._vm.directories_bind.connect(self._directories_name)
        self._vm.datafiles_bind.connect(self._datafiles_name)
        self._vm.reset_bind.connect(self.reset)
        self._vm.reset_grid_bind.connect(self._reset_rv_grid)

        self._vm.update_view()

+5 −0
Original line number Diff line number Diff line
@@ -12,6 +12,11 @@ class RevoGrid {
    }

    updateCheckboxes() {
        // Wait for the DOM to update after the Trame state is updated.
        setTimeout(this._updateCheckboxes.bind(this), 10)
    }

    _updateCheckboxes() {
        const trameState = window.trame.state.state
        const modelValue = _.get(trameState, this.modelKey)
        const availableData = _.get(trameState, this.dataKey)
+2 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ class DataSelectorViewModel:
        self.directories_bind = binding.new_bind()
        self.datafiles_bind = binding.new_bind()
        self.reset_bind = binding.new_bind()
        self.reset_grid_bind = binding.new_bind()

    def expand_directory(self, paths: List[str]) -> None:
        if paths[-1] in self.expanded:
@@ -76,3 +77,4 @@ class DataSelectorViewModel:
            {"path": datafile, "title": os.path.basename(datafile)} for datafile in self.model.get_datafiles()
        ]
        self.datafiles_bind.update_in_view(self.datafiles)
        self.reset_grid_bind.update_in_view(None)