MCPcopy Index your code
hub / github.com/scriptscat/scriptcat / ScriptSetting

Function ScriptSetting

src/pages/components/ScriptSetting/index.tsx:31–225  ·  view source on GitHub ↗
({ script, visible, onCancel, onOk })

Source from the content-addressed store, hash-verified

29 onOk: () => void;
30 onCancel: () => void;
31}> = ({ script, visible, onCancel, onOk }) => {
32 const [scriptTags, setScriptTags] = useState<string[]>([]);
33 const [checkUpdateUrl, setCheckUpdateUrl] = useState<string>("");
34 const [checkUpdate, setCheckUpdate] = useState<boolean>(false);
35 const [scriptRunEnv, setScriptRunEnv] = useState<string>("all");
36 const [scriptRunAt, setScriptRunAt] = useState<string>("default");
37
38 const { t } = useTranslation();
39
40 const scriptSettingData = useMemo(() => {
41 const ret = [
42 {
43 label: t("script_run_env.title"),
44 value: (
45 <Select
46 value={scriptRunEnv}
47 options={[
48 { label: t("script_setting.default"), value: "default" },
49 { label: t("script_run_env.all"), value: "all" },
50 { label: t("script_run_env.normal-tabs"), value: "normal-tabs" },
51 { label: t("script_run_env.incognito-tabs"), value: "incognito-tabs" },
52 ]}
53 onChange={(value) => {
54 setScriptRunEnv(value);
55 scriptClient.updateMetadata(script.uuid, "run-in", value === "default" ? [] : [value]).then(() => {
56 Message.success(t("update_success"));
57 });
58 }}
59 />
60 ),
61 },
62 {
63 label: t("script_run_at.title"),
64 value: (
65 <Select
66 value={scriptRunAt}
67 options={[
68 { label: t("script_setting.default"), value: "default" },
69 { label: "document-start", value: "document-start" },
70 { label: "document-body", value: "document-body" },
71 { label: "document-end", value: "document-end" },
72 { label: "document-idle", value: "document-idle" },
73 { label: "early-start", value: "early-start" },
74 ]}
75 onChange={(value) => {
76 setScriptRunAt(value);
77 const earlyStart: string[] = [];
78 const runAt: string[] = [];
79 if (value === "early-start") {
80 earlyStart.push("");
81 runAt.push("document-start");
82 } else if (value !== "default") {
83 runAt.push(value);
84 }
85 Promise.all([
86 scriptClient.updateMetadata(script.uuid, "early-start", earlyStart),
87 scriptClient.updateMetadata(script.uuid, "run-at", runAt),
88 ]).then(() => {

Callers

nothing calls this directly

Calls 7

getCombinedMetaFunction · 0.90
parseTagsFunction · 0.90
formatUnixTimeFunction · 0.90
pushMethod · 0.80
getMethod · 0.65
updateMetadataMethod · 0.45
setCheckUpdateUrlMethod · 0.45

Tested by

no test coverage detected