Refactor Knowledge Actions Dropdown and SearchPage Component
- Added TODO comments for implementing rename and sync functionalities in the KnowledgeActionsDropdown. - Adjusted column definitions in the SearchPage component to improve layout with flex and minWidth properties. - Commented out the sync button in the SearchPage for future implementation, enhancing code clarity.
This commit is contained in:
parent
8890fa1946
commit
9928cba521
2 changed files with 37 additions and 11 deletions
|
|
@ -44,6 +44,19 @@ export const KnowledgeActionsDropdown = ({
|
||||||
</Button>
|
</Button>
|
||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuContent side="right" sideOffset={-10}>
|
<DropdownMenuContent side="right" sideOffset={-10}>
|
||||||
|
{/* //TODO: Implement rename and sync */}
|
||||||
|
{/* <DropdownMenuItem
|
||||||
|
className="text-primary focus:text-primary"
|
||||||
|
onClick={() => alert("Not implemented")}
|
||||||
|
>
|
||||||
|
Rename
|
||||||
|
</DropdownMenuItem>
|
||||||
|
<DropdownMenuItem
|
||||||
|
className="text-primary focus:text-primary"
|
||||||
|
onClick={() => alert("Not implemented")}
|
||||||
|
>
|
||||||
|
Sync
|
||||||
|
</DropdownMenuItem> */}
|
||||||
<DropdownMenuItem
|
<DropdownMenuItem
|
||||||
className="text-destructive focus:text-destructive"
|
className="text-destructive focus:text-destructive"
|
||||||
onClick={() => setShowDeleteDialog(true)}
|
onClick={() => setShowDeleteDialog(true)}
|
||||||
|
|
|
||||||
|
|
@ -96,9 +96,11 @@ function SearchPage() {
|
||||||
headerName: "Source",
|
headerName: "Source",
|
||||||
checkboxSelection: true,
|
checkboxSelection: true,
|
||||||
headerCheckboxSelection: true,
|
headerCheckboxSelection: true,
|
||||||
|
flex: 3,
|
||||||
|
minWidth: 200,
|
||||||
cellRenderer: ({ data, value }: CustomCellRendererProps<File>) => {
|
cellRenderer: ({ data, value }: CustomCellRendererProps<File>) => {
|
||||||
return (
|
return (
|
||||||
<div className="flex items-center gap-2 ml-2">
|
<div className="flex items-center gap-2 ml-2 w-full">
|
||||||
<div
|
<div
|
||||||
className="flex items-center gap-2 cursor-pointer hover:text-blue-600 transition-colors"
|
className="flex items-center gap-2 cursor-pointer hover:text-blue-600 transition-colors"
|
||||||
onClick={e => {
|
onClick={e => {
|
||||||
|
|
@ -122,30 +124,37 @@ function SearchPage() {
|
||||||
{
|
{
|
||||||
field: "size",
|
field: "size",
|
||||||
headerName: "Size",
|
headerName: "Size",
|
||||||
|
flex: 2,
|
||||||
|
minWidth: 80,
|
||||||
valueFormatter: params =>
|
valueFormatter: params =>
|
||||||
params.value ? `${Math.round(params.value / 1024)} KB` : "-",
|
params.value ? `${Math.round(params.value / 1024)} KB` : "-",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "mimetype",
|
field: "mimetype",
|
||||||
headerName: "Type",
|
headerName: "Type",
|
||||||
|
flex: 2,
|
||||||
|
minWidth: 80,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "owner",
|
field: "owner",
|
||||||
headerName: "Owner",
|
headerName: "Owner",
|
||||||
|
flex: 2,
|
||||||
|
minWidth: 120,
|
||||||
valueFormatter: params =>
|
valueFormatter: params =>
|
||||||
params.value ||
|
params.data?.owner_name || params.data?.owner_email || "—",
|
||||||
params.data?.owner_name ||
|
|
||||||
params.data?.owner_email ||
|
|
||||||
"—",
|
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
field: "chunkCount",
|
field: "chunkCount",
|
||||||
headerName: "Chunks",
|
headerName: "Chunks",
|
||||||
|
flex: 1,
|
||||||
|
minWidth: 70,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
field: "avgScore",
|
field: "avgScore",
|
||||||
headerName: "Avg score",
|
headerName: "Avg score",
|
||||||
|
flex: 1,
|
||||||
|
minWidth: 90,
|
||||||
cellRenderer: ({ value }: CustomCellRendererProps<File>) => {
|
cellRenderer: ({ value }: CustomCellRendererProps<File>) => {
|
||||||
return (
|
return (
|
||||||
<span className="text-xs text-green-400 bg-green-400/20 px-2 py-1 rounded">
|
<span className="text-xs text-green-400 bg-green-400/20 px-2 py-1 rounded">
|
||||||
|
|
@ -166,11 +175,12 @@ function SearchPage() {
|
||||||
},
|
},
|
||||||
colId: "actions",
|
colId: "actions",
|
||||||
filter: false,
|
filter: false,
|
||||||
maxWidth: 60,
|
width: 60,
|
||||||
minWidth: 60,
|
minWidth: 60,
|
||||||
|
maxWidth: 60,
|
||||||
resizable: false,
|
resizable: false,
|
||||||
sortable: false,
|
sortable: false,
|
||||||
initialFlex: 0,
|
flex: 0,
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
@ -179,8 +189,6 @@ function SearchPage() {
|
||||||
display: "flex",
|
display: "flex",
|
||||||
alignItems: "center",
|
alignItems: "center",
|
||||||
}),
|
}),
|
||||||
initialFlex: 1,
|
|
||||||
minWidth: 100,
|
|
||||||
resizable: false,
|
resizable: false,
|
||||||
suppressMovable: true,
|
suppressMovable: true,
|
||||||
};
|
};
|
||||||
|
|
@ -269,14 +277,15 @@ function SearchPage() {
|
||||||
<Search className="h-4 w-4" />
|
<Search className="h-4 w-4" />
|
||||||
)}
|
)}
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
{/* //TODO: Implement sync button */}
|
||||||
|
{/* <Button
|
||||||
type="button"
|
type="button"
|
||||||
variant="outline"
|
variant="outline"
|
||||||
className="rounded-lg flex-shrink-0"
|
className="rounded-lg flex-shrink-0"
|
||||||
onClick={() => alert("Not implemented")}
|
onClick={() => alert("Not implemented")}
|
||||||
>
|
>
|
||||||
Sync
|
Sync
|
||||||
</Button>
|
</Button> */}
|
||||||
<Button
|
<Button
|
||||||
type="button"
|
type="button"
|
||||||
variant="destructive"
|
variant="destructive"
|
||||||
|
|
@ -332,7 +341,9 @@ function SearchPage() {
|
||||||
))}
|
))}
|
||||||
</>
|
</>
|
||||||
) : (
|
) : (
|
||||||
|
// <div className="w-full overflow-auto" style={{ maxWidth: "100%" }}>
|
||||||
<AgGridReact
|
<AgGridReact
|
||||||
|
// className="w-full overflow-auto"
|
||||||
columnDefs={columnDefs}
|
columnDefs={columnDefs}
|
||||||
defaultColDef={defaultColDef}
|
defaultColDef={defaultColDef}
|
||||||
loading={isFetching}
|
loading={isFetching}
|
||||||
|
|
@ -343,6 +354,7 @@ function SearchPage() {
|
||||||
suppressRowClickSelection={false}
|
suppressRowClickSelection={false}
|
||||||
getRowId={params => params.data.filename}
|
getRowId={params => params.data.filename}
|
||||||
onSelectionChanged={onSelectionChanged}
|
onSelectionChanged={onSelectionChanged}
|
||||||
|
suppressHorizontalScroll={false}
|
||||||
noRowsOverlayComponent={() => (
|
noRowsOverlayComponent={() => (
|
||||||
<div className="text-center">
|
<div className="text-center">
|
||||||
<Search className="h-12 w-12 mx-auto mb-4 text-muted-foreground/50" />
|
<Search className="h-12 w-12 mx-auto mb-4 text-muted-foreground/50" />
|
||||||
|
|
@ -355,6 +367,7 @@ function SearchPage() {
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
|
// </div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue