fix(stats): Detect finished UI on submit.
This commit is contained in:
@@ -483,12 +483,16 @@ class WeeklyMonthlyUI(StatsUI):
|
|||||||
).with_connection(conn)
|
).with_connection(conn)
|
||||||
|
|
||||||
if modified:
|
if modified:
|
||||||
|
# Check whether the UI finished while we were interacting
|
||||||
|
if not self._stopped.done():
|
||||||
# If either goal type was modified, clear the rendered cache and refresh
|
# If either goal type was modified, clear the rendered cache and refresh
|
||||||
for page_key, (goalf, statf) in self._card_cache.items():
|
for page_key, (goalf, statf) in self._card_cache.items():
|
||||||
# If the stat period type is the same as the current period type
|
# If the stat period type is the same as the current period type
|
||||||
if page_key[2].period is self._stat_page.period:
|
if page_key[2].period is self._stat_page.period:
|
||||||
self._card_cache[page_key] = (None, statf)
|
self._card_cache[page_key] = (None, statf)
|
||||||
await self.refresh(thinking=interaction)
|
await self.refresh(thinking=interaction)
|
||||||
|
else:
|
||||||
|
await interaction.delete_original_response()
|
||||||
await press.response.send_modal(modal)
|
await press.response.send_modal(modal)
|
||||||
|
|
||||||
async def edit_button_refresh(self):
|
async def edit_button_refresh(self):
|
||||||
|
|||||||
@@ -48,6 +48,16 @@ class LeoUI(View):
|
|||||||
# TODO: Replace this with a substitutable ViewLayout class
|
# TODO: Replace this with a substitutable ViewLayout class
|
||||||
self._layout: Optional[tuple[tuple[Item, ...], ...]] = None
|
self._layout: Optional[tuple[tuple[Item, ...], ...]] = None
|
||||||
|
|
||||||
|
@property
|
||||||
|
def _stopped(self) -> asyncio.Future:
|
||||||
|
"""
|
||||||
|
Return an future indicating whether the View has finished interacting.
|
||||||
|
|
||||||
|
Currently exposes a hidden attribute of the underlying View.
|
||||||
|
May be reimplemented in future.
|
||||||
|
"""
|
||||||
|
return self._View__stopped
|
||||||
|
|
||||||
def to_components(self) -> List[Dict[str, Any]]:
|
def to_components(self) -> List[Dict[str, Any]]:
|
||||||
"""
|
"""
|
||||||
Extending component generator to apply the set _layout, if it exists.
|
Extending component generator to apply the set _layout, if it exists.
|
||||||
|
|||||||
Reference in New Issue
Block a user