refactor answer selection actions

This commit is contained in:
Natan Keddem
2024-09-29 17:36:37 -04:00
parent 46cae312c8
commit 61157457b8

View File

@ -158,21 +158,20 @@ class Drawer(object):
async def _selected(self, e): async def _selected(self, e):
self._hide_content() self._hide_content()
if self._selection_mode == "edit": if len(e.selection) == 1:
if len(e.selection) > 0 and e.selection[0]["name"] != "Default": answer = e.selection[0]["name"]
await self._display_answer_dialog(name=e.selection[0]["name"]) if self._selection_mode == "content_copy":
if self._selection_mode == "content_copy": await self._display_answer_dialog(name=answer, copy=True)
if len(e.selection) > 0: self._modify_answer(None)
await self._display_answer_dialog(name=e.selection[0]["name"], copy=True) elif answer == "Default":
if self._selection_mode == "remove": self._table._props["selected"] = []
if len(e.selection) > 0: elif self._selection_mode == "edit":
for row in e.selection: await self._display_answer_dialog(name=answer)
if row["name"] != "Default": self._modify_answer(None)
if row["name"] in storage.answers: elif self._selection_mode == "remove":
del storage.answers[row["name"]] if answer in storage.answers:
self._table.remove_rows(row) del storage.answers[answer]
return self._table.remove_rows(e.selection[0])
self._modify_answer(None)
async def _clicked(self, e): async def _clicked(self, e):
if "name" in e.args[1]: if "name" in e.args[1]: