Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Infiniflow Ragflow MetadataManageModalColumn Component

From Leeroopedia
Revision as of 11:21, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/Infiniflow_Ragflow_MetadataManageModalColumn_Component.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Sources
Domains Frontend, Metadata
Last Updated 2026-02-12 06:00 GMT

Overview

Concrete column definitions for the metadata management table provided by the RAGFlow frontend.

Description

The manage-modal-column module exports the `useMetadataColumns` hook that generates `@tanstack/react-table` column definitions for the metadata management table. Columns include an optional select checkbox (for Manage/UpdateSingle modes), field name, description, value type, expandable values with inline editing (supporting text and date input types), and an action column with settings and delete buttons. It manages inline editing state, row expansion states, and a confirm-delete dialog for both field-level and value-level deletions.

Usage

Import the `useMetadataColumns` hook inside the `ManageMetadataModal` component to generate the columns array and delete dialog state for the React Table instance.

Code Reference

Source Location

Signature

interface IUseMetadataColumns {
  isDeleteSingleValue: boolean;
  metadataType: MetadataType;
  handleDeleteSingleValue: (field: string, value: string) => void;
  handleDeleteSingleRow: (field: string) => void;
  handleEditValueRow: (data: IMetaDataTableData, index: number) => void;
  showTypeColumn: boolean;
  isShowDescription: boolean;
  setTableData: React.Dispatch<React.SetStateAction<IMetaDataTableData[]>>;
  setShouldSave: React.Dispatch<React.SetStateAction<boolean>>;
}

export const useMetadataColumns = (params: IUseMetadataColumns) => {
  columns: ColumnDef<IMetaDataTableData>[];
  deleteDialogContent: { visible: boolean; title: string; name: string; warnText: string; onOk: () => void; onCancel: () => void };
};

Import

import { useMetadataColumns } from '@/pages/dataset/components/metedata/manage-modal-column';

I/O Contract

Inputs

Name Type Required Description
isDeleteSingleValue boolean Yes Whether individual value deletion buttons are shown
metadataType MetadataType Yes Current metadata operation mode controlling column visibility
handleDeleteSingleValue (field: string, value: string) => void Yes Callback to delete a single value from a field
handleDeleteSingleRow (field: string) => void Yes Callback to delete an entire metadata field row
handleEditValueRow (data: IMetaDataTableData, index: number) => void Yes Callback to open the values editing modal for a row
setTableData Dispatch<SetStateAction<IMetaDataTableData[]>> Yes State setter for inline value edits
setShouldSave Dispatch<SetStateAction<boolean>> Yes Flag setter to trigger auto-save after edits

Outputs

Name Type Description
columns ColumnDef<IMetaDataTableData>[] Column definitions array for @tanstack/react-table
deleteDialogContent object State object controlling the confirm-delete dialog visibility and callbacks

Usage Examples

import { useMetadataColumns } from '@/pages/dataset/components/metedata/manage-modal-column';

const { columns, deleteDialogContent } = useMetadataColumns({
  isDeleteSingleValue: true,
  metadataType: MetadataType.Manage,
  handleDeleteSingleValue,
  handleDeleteSingleRow,
  handleEditValueRow,
  isShowDescription: true,
  showTypeColumn: false,
  setTableData,
  setShouldSave,
});

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment