114 lines
3.0 KiB
JSON
114 lines
3.0 KiB
JSON
{
|
|
"comment": "-3 — 오류 상황 친화 동작. 키 = 핸들러명(ErrorHandlingForm 이 r.id === handler 로 매칭). build/params 는 코어 시드(coreActionRecipes errorRecipes)와 정합 — setState 는 동적 키 단일이 아닌 state-key-value 스프레드(여러 상태 키·빈 값 입력 보존), openModal 은 top-level target(엔진 dispatch 가 읽는 위치), showErrorPage 는 표시 위치(content/full).",
|
|
"showErrorPage": {
|
|
"label": "$t:editor.error.show_error_page.label",
|
|
"params": [
|
|
{
|
|
"key": "target",
|
|
"label": "$t:editor.error.show_error_page.param_target",
|
|
"widget": "select",
|
|
"options": [{ "value": "content" }, { "value": "full" }]
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "showErrorPage",
|
|
"params": { "target": "{{target}}" }
|
|
}
|
|
},
|
|
"navigate": {
|
|
"label": "$t:editor.error.navigate.label",
|
|
"params": [
|
|
{
|
|
"key": "path",
|
|
"label": "$t:editor.error.navigate.param_path",
|
|
"widget": "page-picker"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "navigate",
|
|
"params": { "path": "{{path}}" }
|
|
}
|
|
},
|
|
"toast": {
|
|
"label": "$t:editor.error.toast.label",
|
|
"params": [
|
|
{
|
|
"key": "message",
|
|
"label": "$t:editor.error.toast.param_text",
|
|
"widget": "i18n-text"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "toast",
|
|
"params": { "message": "{{message}}" }
|
|
}
|
|
},
|
|
"openModal": {
|
|
"label": "$t:editor.error.open_modal.label",
|
|
"params": [
|
|
{
|
|
"key": "target",
|
|
"label": "$t:editor.error.open_modal.param_modal_id",
|
|
"widget": "modal-picker"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "openModal",
|
|
"target": "{{target}}"
|
|
}
|
|
},
|
|
"setState": {
|
|
"label": "$t:editor.error.set_state.label",
|
|
"params": [
|
|
{
|
|
"key": "target",
|
|
"label": "$t:editor.error.set_state.param_target",
|
|
"widget": "select",
|
|
"options": [{ "value": "local" }, { "value": "global" }]
|
|
},
|
|
{
|
|
"key": "state",
|
|
"label": "$t:editor.error.set_state.param_state",
|
|
"widget": "state-key-value"
|
|
},
|
|
{
|
|
"key": "merge",
|
|
"label": "$t:editor.error.set_state.param_merge",
|
|
"widget": "toggle"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "setState",
|
|
"params": { "target": "{{target}}", "merge": "{{merge}}", "...": "{{state}}" }
|
|
}
|
|
},
|
|
"sequence": {
|
|
"label": "$t:editor.error.sequence.label",
|
|
"params": [
|
|
{
|
|
"key": "actions",
|
|
"label": "$t:editor.error.sequence.param_actions",
|
|
"widget": "action-list"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "sequence",
|
|
"params": { "actions": "{{actions}}" }
|
|
}
|
|
},
|
|
"parallel": {
|
|
"label": "$t:editor.error.parallel.label",
|
|
"params": [
|
|
{
|
|
"key": "actions",
|
|
"label": "$t:editor.error.parallel.param_actions",
|
|
"widget": "action-list"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "parallel",
|
|
"params": { "actions": "{{actions}}" }
|
|
}
|
|
}
|
|
}
|