ERP-node/frontend/components/screen/config-panels/ButtonConfigPanel.tsx

65 lines
2.0 KiB
TypeScript
Raw Normal View History

2025-09-09 14:29:04 +09:00
"use client";
import React from "react";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
2025-09-10 14:09:32 +09:00
import { ComponentData } from "@/types/screen";
import { BasicTab } from "./button-config/BasicTab";
import { ActionTab } from "./button-config/ActionTab";
import { DataflowTab } from "./button-config/DataflowTab";
import { AdvancedTab } from "./button-config/AdvancedTab";
2025-09-10 14:09:32 +09:00
interface ButtonConfigPanelProps {
component: ComponentData;
onUpdateProperty: (path: string, value: any) => void;
allComponents?: ComponentData[];
currentTableName?: string;
currentScreenCompanyCode?: string;
2025-09-12 14:24:25 +09:00
}
2025-10-27 11:11:08 +09:00
export const ButtonConfigPanel: React.FC<ButtonConfigPanelProps> = ({
component,
onUpdateProperty,
allComponents = [],
currentTableName,
currentScreenCompanyCode,
}) => {
if (!component) {
return <div className="text-muted-foreground p-4 text-sm"> .</div>;
}
const tabProps = {
component,
onUpdateProperty,
allComponents,
currentTableName,
currentScreenCompanyCode,
};
return (
<Tabs defaultValue="basic" className="w-full">
<TabsList className="grid w-full grid-cols-4">
<TabsTrigger value="basic" className="text-xs"></TabsTrigger>
<TabsTrigger value="action" className="text-xs"></TabsTrigger>
<TabsTrigger value="dataflow" className="text-xs"></TabsTrigger>
<TabsTrigger value="advanced" className="text-xs"></TabsTrigger>
</TabsList>
<TabsContent value="basic" className="mt-4">
<BasicTab {...tabProps} />
</TabsContent>
<TabsContent value="action" className="mt-4">
<ActionTab {...tabProps} />
</TabsContent>
<TabsContent value="dataflow" className="mt-4">
<DataflowTab {...tabProps} />
</TabsContent>
<TabsContent value="advanced" className="mt-4">
<AdvancedTab {...tabProps} />
</TabsContent>
</Tabs>
);
};