mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 18:36:30 +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