feat: support seq editor

This commit is contained in:
MystiPanda
2024-06-30 00:22:05 +08:00
parent cf61a96ef6
commit b854b5e1ac
11 changed files with 422 additions and 29 deletions

View File

@@ -105,6 +105,9 @@ export const ProfileItem = (props: Props) => {
}, [hasUrl, updated]);
const [fileOpen, setFileOpen] = useState(false);
const [rulesOpen, setRulesOpen] = useState(false);
const [proxiesOpen, setProxiesOpen] = useState(false);
const [groupsOpen, setGroupsOpen] = useState(false);
const [mergeOpen, setMergeOpen] = useState(false);
const [scriptOpen, setScriptOpen] = useState(false);
const [confirmOpen, setConfirmOpen] = useState(false);
@@ -124,6 +127,21 @@ export const ProfileItem = (props: Props) => {
setFileOpen(true);
};
const onEditRules = () => {
setAnchorEl(null);
setRulesOpen(true);
};
const onEditProxies = () => {
setAnchorEl(null);
setProxiesOpen(true);
};
const onEditGroups = () => {
setAnchorEl(null);
setGroupsOpen(true);
};
const onEditMerge = () => {
setAnchorEl(null);
setMergeOpen(true);
@@ -191,6 +209,21 @@ export const ProfileItem = (props: Props) => {
{ label: "Select", handler: onForceSelect, disabled: false },
{ label: "Edit Info", handler: onEditInfo, disabled: false },
{ label: "Edit File", handler: onEditFile, disabled: false },
{
label: "Edit Rules",
handler: onEditRules,
disabled: option?.rules === null,
},
{
label: "Edit Proxies",
handler: onEditProxies,
disabled: option?.proxies === null,
},
{
label: "Edit Groups",
handler: onEditGroups,
disabled: option?.groups === null,
},
{
label: "Edit Merge",
handler: onEditMerge,
@@ -217,6 +250,21 @@ export const ProfileItem = (props: Props) => {
{ label: "Select", handler: onForceSelect, disabled: false },
{ label: "Edit Info", handler: onEditInfo, disabled: false },
{ label: "Edit File", handler: onEditFile, disabled: false },
{
label: "Edit Rules",
handler: onEditRules,
disabled: option?.rules === null,
},
{
label: "Edit Proxies",
handler: onEditProxies,
disabled: option?.proxies === null,
},
{
label: "Edit Groups",
handler: onEditGroups,
disabled: option?.groups === null,
},
{
label: "Edit Merge",
handler: onEditMerge,
@@ -435,7 +483,34 @@ export const ProfileItem = (props: Props) => {
/>
<EditorViewer
mode="profile"
property={option?.merge ?? "123"}
property={option?.rules ?? ""}
open={rulesOpen}
language="yaml"
schema={undefined}
onChange={onChange}
onClose={() => setRulesOpen(false)}
/>
<EditorViewer
mode="profile"
property={option?.proxies ?? ""}
open={proxiesOpen}
language="yaml"
schema={undefined}
onChange={onChange}
onClose={() => setProxiesOpen(false)}
/>
<EditorViewer
mode="profile"
property={option?.groups ?? ""}
open={groupsOpen}
language="yaml"
schema={undefined}
onChange={onChange}
onClose={() => setGroupsOpen(false)}
/>
<EditorViewer
mode="profile"
property={option?.merge ?? ""}
open={mergeOpen}
language="yaml"
schema="merge"