mirror of
https://github.com/zadam/trilium.git
synced 2025-10-30 18:05:55 +01:00
chore(client/search): ensure all notes are loaded
This commit is contained in:
@@ -2,7 +2,7 @@ import { useCallback, useContext, useEffect, useMemo, useRef, useState } from "p
|
|||||||
import { ViewModeProps } from "../interface";
|
import { ViewModeProps } from "../interface";
|
||||||
import { buildColumnDefinitions } from "./columns";
|
import { buildColumnDefinitions } from "./columns";
|
||||||
import getAttributeDefinitionInformation, { buildRowDefinitions, TableData } from "./rows";
|
import getAttributeDefinitionInformation, { buildRowDefinitions, TableData } from "./rows";
|
||||||
import { useLegacyWidget, useNoteLabelBoolean, useNoteLabelInt, useSpacedUpdate, useTriliumEvent } from "../../react/hooks";
|
import { useLegacyWidget, useNoteLabelBoolean, useNoteLabelInt, useTriliumEvent } from "../../react/hooks";
|
||||||
import Tabulator from "./tabulator";
|
import Tabulator from "./tabulator";
|
||||||
import { Tabulator as VanillaTabulator, SortModule, FormatModule, InteractionModule, EditModule, ResizeColumnsModule, FrozenColumnsModule, PersistenceModule, MoveColumnsModule, MoveRowsModule, ColumnDefinition, DataTreeModule, Options, RowComponent} from 'tabulator-tables';
|
import { Tabulator as VanillaTabulator, SortModule, FormatModule, InteractionModule, EditModule, ResizeColumnsModule, FrozenColumnsModule, PersistenceModule, MoveColumnsModule, MoveRowsModule, ColumnDefinition, DataTreeModule, Options, RowComponent} from 'tabulator-tables';
|
||||||
import { useContextMenu } from "./context_menu";
|
import { useContextMenu } from "./context_menu";
|
||||||
@@ -17,6 +17,7 @@ import AttributeDetailWidget from "../../attribute_widgets/attribute_detail";
|
|||||||
import attributes from "../../../services/attributes";
|
import attributes from "../../../services/attributes";
|
||||||
import { RefObject } from "preact";
|
import { RefObject } from "preact";
|
||||||
import SpacedUpdate from "../../../services/spaced_update";
|
import SpacedUpdate from "../../../services/spaced_update";
|
||||||
|
import froca from "../../../services/froca";
|
||||||
|
|
||||||
interface TableConfig {
|
interface TableConfig {
|
||||||
tableData: {
|
tableData: {
|
||||||
@@ -132,25 +133,27 @@ function useData(note: FNote, noteIds: string[], viewConfig: TableConfig | undef
|
|||||||
const [ isSorted ] = useNoteLabelBoolean(note, "sorted");
|
const [ isSorted ] = useNoteLabelBoolean(note, "sorted");
|
||||||
const [ movableRows, setMovableRows ] = useState(false);
|
const [ movableRows, setMovableRows ] = useState(false);
|
||||||
|
|
||||||
function refresh() {
|
async function refresh() {
|
||||||
const info = getAttributeDefinitionInformation(note);
|
const info = getAttributeDefinitionInformation(note);
|
||||||
|
|
||||||
buildRowDefinitions(note, info, includeArchived, maxDepth).then(({ definitions: rowData, hasSubtree: hasChildren, rowNumber }) => {
|
// Ensure all note IDs are loaded.
|
||||||
const columnDefs = buildColumnDefinitions({
|
await froca.getNotes(noteIds);
|
||||||
info,
|
|
||||||
movableRows,
|
const { definitions: rowData, hasSubtree: hasChildren, rowNumber } = await buildRowDefinitions(note, info, includeArchived, maxDepth);
|
||||||
existingColumnData: viewConfig?.tableData?.columns,
|
const columnDefs = buildColumnDefinitions({
|
||||||
rowNumberHint: rowNumber,
|
info,
|
||||||
position: newAttributePosition.current ?? undefined
|
movableRows,
|
||||||
});
|
existingColumnData: viewConfig?.tableData?.columns,
|
||||||
setColumnDefs(columnDefs);
|
rowNumberHint: rowNumber,
|
||||||
setRowData(rowData);
|
position: newAttributePosition.current ?? undefined
|
||||||
setHasChildren(hasChildren);
|
|
||||||
resetNewAttributePosition();
|
|
||||||
});
|
});
|
||||||
|
setColumnDefs(columnDefs);
|
||||||
|
setRowData(rowData);
|
||||||
|
setHasChildren(hasChildren);
|
||||||
|
resetNewAttributePosition();
|
||||||
}
|
}
|
||||||
|
|
||||||
useEffect(refresh, [ note, noteIds, maxDepth, movableRows ]);
|
useEffect(() => { refresh() }, [ note, noteIds, maxDepth, movableRows ]);
|
||||||
|
|
||||||
useTriliumEvent("entitiesReloaded", ({ loadResults}) => {
|
useTriliumEvent("entitiesReloaded", ({ loadResults}) => {
|
||||||
// React to column changes.
|
// React to column changes.
|
||||||
|
|||||||
Reference in New Issue
Block a user