Skip to content
This repository was archived by the owner on Jul 28, 2025. It is now read-only.

Commit 252362b

Browse files
committed
updater improvements
1 parent bc13f56 commit 252362b

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

src/components/reducers/ToggleFiltersButton.tsx

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,16 +59,15 @@ export default function ToggleFiltersButton(props: DataviewFiltersProps) {
5959
*/
6060
useEffect(() => {
6161
const refreshHandler = (updaterData: UpdaterData) => {
62-
if (
63-
updaterData.file.path === view.file.path ||
64-
(updaterData.isActive &&
65-
updaterData.op === DATAVIEW_UPDATER_OPERATIONS.UPDATE)
66-
) {
67-
LOGGER.info(`Refresh "${view.file.path}" skipped - redundant`);
62+
if (updaterData.file.path === view.file.path) {
63+
LOGGER.info(
64+
`Refresh of database file ${updaterData.file.path} skipped`
65+
);
6866
return;
6967
}
68+
const timeoutIdentifier = updaterData.file.path.concat(updaterData.op);
69+
const potentialTimeout = refreshTimeoutMap.get(timeoutIdentifier);
7070

71-
const potentialTimeout = refreshTimeoutMap.get(updaterData.file.path);
7271
if (potentialTimeout) {
7372
clearTimeout(potentialTimeout);
7473
}
@@ -83,10 +82,7 @@ export default function ToggleFiltersButton(props: DataviewFiltersProps) {
8382
}, 150);
8483

8584
setRefreshTimeoutMap(
86-
refreshTimeoutMap.set(
87-
updaterData.file.path.concat(updaterData.op),
88-
timeoutIndex
89-
)
85+
refreshTimeoutMap.set(timeoutIdentifier, timeoutIndex)
9086
);
9187
};
9288
view.emitter.on(EMITTERS_GROUPS.UPDATER, refreshHandler);

src/stateManagement/data/handlers/DataviewUpdaterHandlerAction.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,15 @@ export default class DataviewUpdaterHandlerAction extends AbstractTableAction<Da
4545
}
4646
break;
4747
case DATAVIEW_UPDATER_OPERATIONS.UPDATE:
48+
if (updaterData.isActive) {
49+
LOGGER.info(`Refreshing File "${updaterData.file}" due to active file update. Ignore`);
50+
return updater;
51+
}
52+
4853
const updatedPage = DataviewService.getDataviewAPI().page(pathToOperate);
4954
const isValid = !filterConfig.enabled ? true : tableFilter(filterConfig.conditions, updatedPage, ddbbConfig);
5055
if (!isValid) {
56+
LOGGER.info(`Refreshing File "${updaterData.file}" does not match filter. Ignore`);
5157
return updater;
5258
}
5359
const noteInfo = new NoteInfo(updatedPage as NoteInfoPage);

0 commit comments

Comments
 (0)