337 lines
8.8 KiB
JSON
337 lines
8.8 KiB
JSON
{
|
|
"comment": "친화 명칭 → 핸들러 JSON. params 친화 입력 + build 틀. 사용자 화면 대표 동작.",
|
|
"goToPage": {
|
|
"label": "$t:editor.action.go_to_page.label",
|
|
"params": [
|
|
{
|
|
"key": "url",
|
|
"label": "$t:editor.action.go_to_page.param_url",
|
|
"widget": "page-picker"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "navigate",
|
|
"params": {
|
|
"path": "{{url}}"
|
|
}
|
|
}
|
|
},
|
|
"showMessage": {
|
|
"label": "$t:editor.action.show_message.label",
|
|
"params": [
|
|
{
|
|
"key": "text",
|
|
"label": "$t:editor.action.show_message.param_text",
|
|
"widget": "i18n-text"
|
|
},
|
|
{
|
|
"key": "tone",
|
|
"label": "$t:editor.action.show_message.param_tone",
|
|
"widget": "select",
|
|
"options": [
|
|
{
|
|
"value": "success",
|
|
"label": "$t:editor.action.show_message.tone_success"
|
|
},
|
|
{
|
|
"value": "error",
|
|
"label": "$t:editor.action.show_message.tone_error"
|
|
},
|
|
{
|
|
"value": "info",
|
|
"label": "$t:editor.action.show_message.tone_info"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "toast",
|
|
"params": {
|
|
"message": "{{text}}",
|
|
"type": "{{tone}}"
|
|
}
|
|
}
|
|
},
|
|
"changeState": {
|
|
"label": "$t:editor.action.change_state.label",
|
|
"params": [
|
|
{
|
|
"key": "key",
|
|
"label": "$t:editor.action.change_state.param_key",
|
|
"widget": "state-key-picker"
|
|
},
|
|
{
|
|
"key": "value",
|
|
"label": "$t:editor.action.change_state.param_value",
|
|
"widget": "text"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "setState",
|
|
"target": "local",
|
|
"params": {
|
|
"{{key}}": "{{value}}"
|
|
}
|
|
}
|
|
},
|
|
"refreshData": {
|
|
"label": "$t:editor.action.refresh_data.label",
|
|
"params": [
|
|
{
|
|
"key": "src",
|
|
"label": "$t:editor.action.refresh_data.param_src",
|
|
"widget": "datasource-picker"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "refetchDataSource",
|
|
"params": {
|
|
"dataSourceId": "{{src}}"
|
|
}
|
|
}
|
|
},
|
|
"callServerThen": {
|
|
"label": "$t:editor.action.call_server_then.label",
|
|
"params": [
|
|
{
|
|
"key": "endpoint",
|
|
"label": "$t:editor.action.call_server_then.param_endpoint",
|
|
"widget": "text"
|
|
},
|
|
{
|
|
"key": "onSuccess",
|
|
"label": "$t:editor.action.call_server_then.param_on_success",
|
|
"widget": "action-list"
|
|
},
|
|
{
|
|
"key": "onError",
|
|
"label": "$t:editor.action.call_server_then.param_on_error",
|
|
"widget": "action-list"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "apiCall",
|
|
"target": "{{endpoint}}",
|
|
"onSuccess": "{{onSuccess}}",
|
|
"onError": "{{onError}}"
|
|
}
|
|
},
|
|
"setTheme": {
|
|
"label": "$t:editor.action.set_theme.label",
|
|
"params": [
|
|
{
|
|
"key": "target",
|
|
"label": "$t:editor.action.set_theme.param_target",
|
|
"widget": "select",
|
|
"options": [
|
|
{ "value": "auto", "label": "$t:editor.action.set_theme.target_auto" },
|
|
{ "value": "light", "label": "$t:editor.action.set_theme.target_light" },
|
|
{ "value": "dark", "label": "$t:editor.action.set_theme.target_dark" }
|
|
]
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "setTheme",
|
|
"params": { "target": "{{target}}" }
|
|
}
|
|
},
|
|
"savePreferredCurrency": {
|
|
"label": "$t:editor.action.save_preferred_currency.label",
|
|
"params": [
|
|
{
|
|
"key": "currency",
|
|
"label": "$t:editor.action.save_preferred_currency.param_currency",
|
|
"widget": "text"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "savePreferredCurrency",
|
|
"params": { "currency": "{{currency}}" }
|
|
}
|
|
},
|
|
"setCartOption": {
|
|
"label": "$t:editor.action.set_cart_option.label",
|
|
"params": [
|
|
{
|
|
"key": "itemId",
|
|
"label": "$t:editor.action.set_cart_option.param_item_id",
|
|
"widget": "text"
|
|
},
|
|
{
|
|
"key": "optionKey",
|
|
"label": "$t:editor.action.set_cart_option.param_option_key",
|
|
"widget": "text"
|
|
},
|
|
{
|
|
"key": "optionValue",
|
|
"label": "$t:editor.action.set_cart_option.param_option_value",
|
|
"widget": "text"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "setCartOption",
|
|
"params": {
|
|
"itemId": "{{itemId}}",
|
|
"optionKey": "{{optionKey}}",
|
|
"optionValue": "{{optionValue}}"
|
|
}
|
|
}
|
|
},
|
|
"openCartDeleteModal": {
|
|
"label": "$t:editor.action.open_cart_delete_modal.label",
|
|
"params": [
|
|
{
|
|
"key": "itemId",
|
|
"label": "$t:editor.action.open_cart_delete_modal.param_item_id",
|
|
"widget": "text"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "openCartDeleteModal",
|
|
"params": { "itemId": "{{itemId}}" }
|
|
}
|
|
},
|
|
"openCartOptionModal": {
|
|
"label": "$t:editor.action.open_cart_option_modal.label",
|
|
"params": [
|
|
{
|
|
"key": "itemId",
|
|
"label": "$t:editor.action.open_cart_option_modal.param_item_id",
|
|
"widget": "text"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "openCartOptionModal",
|
|
"params": { "itemId": "{{itemId}}" }
|
|
}
|
|
},
|
|
"recalculateCart": {
|
|
"label": "$t:editor.action.recalculate_cart.label",
|
|
"params": [],
|
|
"build": { "handler": "recalculateCart" }
|
|
},
|
|
"getDisplayPrice": {
|
|
"label": "$t:editor.action.get_display_price.label",
|
|
"params": [
|
|
{
|
|
"key": "currency",
|
|
"label": "$t:editor.action.get_display_price.param_currency",
|
|
"widget": "text"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "getDisplayPrice",
|
|
"params": { "currency": "{{currency}}" }
|
|
}
|
|
},
|
|
"initTheme": {
|
|
"label": "$t:editor.action.init_theme.label",
|
|
"params": [
|
|
{
|
|
"key": "target",
|
|
"label": "$t:editor.action.init_theme.param_target",
|
|
"widget": "select",
|
|
"options": [
|
|
{ "value": "auto", "label": "$t:editor.action.init_theme.target_auto" },
|
|
{ "value": "light", "label": "$t:editor.action.init_theme.target_light" },
|
|
{ "value": "dark", "label": "$t:editor.action.init_theme.target_dark" }
|
|
]
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "initTheme",
|
|
"params": { "target": "{{target}}" }
|
|
}
|
|
},
|
|
"initCartKey": {
|
|
"label": "$t:editor.action.init_cart_key.label",
|
|
"params": [],
|
|
"build": { "handler": "initCartKey" }
|
|
},
|
|
"loadPreferredCurrency": {
|
|
"label": "$t:editor.action.load_preferred_currency.label",
|
|
"params": [],
|
|
"build": { "handler": "loadPreferredCurrency" }
|
|
},
|
|
"getCartKey": {
|
|
"label": "$t:editor.action.get_cart_key.label",
|
|
"params": [],
|
|
"build": { "handler": "getCartKey" }
|
|
},
|
|
"clearCartKey": {
|
|
"label": "$t:editor.action.clear_cart_key.label",
|
|
"params": [],
|
|
"build": { "handler": "clearCartKey" }
|
|
},
|
|
"saveToStorage": {
|
|
"label": "$t:editor.action.save_to_storage.label",
|
|
"params": [
|
|
{
|
|
"key": "key",
|
|
"label": "$t:editor.action.save_to_storage.param_key",
|
|
"widget": "text"
|
|
},
|
|
{
|
|
"key": "value",
|
|
"label": "$t:editor.action.save_to_storage.param_value",
|
|
"widget": "i18n-text"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "saveToStorage",
|
|
"params": { "key": "{{key}}", "value": "{{value}}" }
|
|
}
|
|
},
|
|
"loadFromStorage": {
|
|
"label": "$t:editor.action.load_from_storage.label",
|
|
"params": [
|
|
{
|
|
"key": "key",
|
|
"label": "$t:editor.action.load_from_storage.param_key",
|
|
"widget": "text"
|
|
},
|
|
{
|
|
"key": "default",
|
|
"label": "$t:editor.action.load_from_storage.param_default",
|
|
"widget": "text"
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "loadFromStorage",
|
|
"params": { "key": "{{key}}", "default": "{{default}}" }
|
|
}
|
|
},
|
|
"saveGuestOrderToken": {
|
|
"comment": "비회원 주문 토큰 저장 — sirsoft-basic 템플릿 소유 핸들러(storageHandlers). verify 응답의 토큰/주문번호/만료시각을 sessionStorage + _global.guestOrderToken 에 저장. 세 입력 모두 응답값(데이터 칩).",
|
|
"label": "$t:editor.action.save_guest_order_token.label",
|
|
"params": [
|
|
{
|
|
"key": "token",
|
|
"label": "$t:editor.action.save_guest_order_token.param_token",
|
|
"widget": "data-chip",
|
|
"required": true
|
|
},
|
|
{
|
|
"key": "orderNumber",
|
|
"label": "$t:editor.action.save_guest_order_token.param_order_number",
|
|
"widget": "data-chip",
|
|
"required": true
|
|
},
|
|
{
|
|
"key": "expiresAt",
|
|
"label": "$t:editor.action.save_guest_order_token.param_expires_at",
|
|
"widget": "data-chip",
|
|
"required": true
|
|
}
|
|
],
|
|
"build": {
|
|
"handler": "saveGuestOrderToken",
|
|
"params": {
|
|
"token": "{{token}}",
|
|
"orderNumber": "{{orderNumber}}",
|
|
"expiresAt": "{{expiresAt}}"
|
|
}
|
|
}
|
|
}
|
|
}
|