({ script, visible, onCancel, onOk })
| 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(() => { |
nothing calls this directly
no test coverage detected