update
This commit is contained in:
@@ -4,6 +4,7 @@ import type { LANGUAGE } from "utils/types"
|
|||||||
interface AstRule {
|
interface AstRule {
|
||||||
engine: string
|
engine: string
|
||||||
target?: string
|
target?: string
|
||||||
|
label?: string
|
||||||
min?: number
|
min?: number
|
||||||
max?: number
|
max?: number
|
||||||
message: string
|
message: string
|
||||||
@@ -111,9 +112,17 @@ function updateRules(lang: string, rules: AstRule[]) {
|
|||||||
emit("update:modelValue", Object.keys(current).length > 0 ? current : null)
|
emit("update:modelValue", Object.keys(current).length > 0 ? current : null)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getTargetLabel(engine: string, target: string): string | undefined {
|
||||||
|
if (isNodeEngine(engine))
|
||||||
|
return (NODE_TARGET_OPTIONS.find((o) => o.value === target) as any)?.label
|
||||||
|
if (isOperatorEngine(engine))
|
||||||
|
return (OPERATOR_TARGET_OPTIONS.find((o) => o.value === target) as any)?.label
|
||||||
|
return undefined
|
||||||
|
}
|
||||||
|
|
||||||
function addRule(lang: string) {
|
function addRule(lang: string) {
|
||||||
const rules = [...getRulesForLang(lang)]
|
const rules = [...getRulesForLang(lang)]
|
||||||
rules.push({ engine: "must_exist_node", target: "for_loop", message: "" })
|
rules.push({ engine: "must_exist_node", target: "for_loop", label: "for 循环", message: "" })
|
||||||
updateRules(lang, rules)
|
updateRules(lang, rules)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,13 +138,16 @@ function updateRule(lang: string, index: number, field: string, value: any) {
|
|||||||
|
|
||||||
if (field === "engine") {
|
if (field === "engine") {
|
||||||
rule.engine = value
|
rule.engine = value
|
||||||
if (isNodeEngine(value)) rule.target = "for_loop"
|
if (isNodeEngine(value)) { rule.target = "for_loop"; rule.label = "for 循环" }
|
||||||
else if (isOperatorEngine(value)) rule.target = "+"
|
else if (isOperatorEngine(value)) { rule.target = "+"; rule.label = "+" }
|
||||||
else rule.target = ""
|
else { rule.target = ""; delete rule.label }
|
||||||
delete rule.min
|
delete rule.min
|
||||||
delete rule.max
|
delete rule.max
|
||||||
} else if (field === "target") {
|
} else if (field === "target") {
|
||||||
rule.target = value
|
rule.target = value
|
||||||
|
const lbl = getTargetLabel(rule.engine, value)
|
||||||
|
if (lbl) rule.label = lbl
|
||||||
|
else delete rule.label
|
||||||
} else if (field === "min") {
|
} else if (field === "min") {
|
||||||
if (value === null || value === undefined) delete rule.min
|
if (value === null || value === undefined) delete rule.min
|
||||||
else rule.min = value
|
else rule.min = value
|
||||||
|
|||||||
Reference in New Issue
Block a user