{
    "type": "service",
    "body": [{
        "type": "steedos-object-form",
        "label": "对象字段表单",
        "objectApiName": "object_fields",
        "recordId": "${recordId}",
        "className": "",
        "enableTabs": true,
        "mode": "edit",
        "layout": "horizontal",
        "onEvent": {
            "change": {
                "actions": [{
                    "actionType": "setValue",
                    "args": {
                        "value": {
                            "defaultValue": ""
                        }
                    },
                    "expression": "${!!event.data.defaultValue_formula}"
                }]
            },
            "inited": {
                "actions": [{
                        "actionType": "ajax",
                        "api": {
                            "method": "get",
                            "url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/${object}/fields/options",
                            "cache": 30000,
                            "adaptor": "const visibleOnVariables = SteedosUI.getFormulaVariables(payload.data.options);\nconst defaultValueVariables = [visibleOnVariables[1]];\npayload = {\n  data: {\n    visibleOnVariables,\n    defaultValueVariables\n  }\n};\nreturn payload;",
                            "headers": {
                                "Authorization": "Bearer ${context.tenantId},${context.authToken}"
                            }
                        }
                    },
                    {
                        "actionType": "setValue",
                        "args": {
                            "value": {
                                "visibleOnVariables": "${event.data.visibleOnVariables}",
                                "defaultValueVariables": "${event.data.defaultValueVariables}"
                            }
                        },
                        "componentId": "steedos_object_fields_service"
                    }
                ]
            }
        },
        "initApiAdaptor": "const defaultValue_field_value = payload.data.defaultValue;\nif (defaultValue_field_value && _.isString(defaultValue_field_value) && defaultValue_field_value.indexOf('{') > -1) {\n  payload.data.defaultValue_formula = defaultValue_field_value;\n  delete payload.data.defaultValue;\n}\n\nif (recordId) {\n  var data = payload.data;\n  if (data) {\n    data.filters = window.amisConvert.filtersToConditions(data.filters || []);\n  }\n  payload.data = data;\n}\nreturn payload;",
        "apiRequestAdaptor": "if (formData.defaultValue_formula) {\n  formData.defaultValue = formData.defaultValue_formula\n}\nif ((formData.defaultValue_formula === \"\" || _.isNil(formData.defaultValue_formula)) && (formData.defaultValue === \"\" || _.isNil(formData.defaultValue))) { \n  // 清空默认值公式编辑器中内容后，如果没有再给defaultValue设置值，则要把defaultValue值清空\n  formData.defaultValue = null;\n}\ndelete formData.defaultValue_formula;\nif (formData.filters) {\n  formData.filters = window.amisConvert.conditionsToFilters(formData.filters);\n}\n__saveData = JSON.stringify(JSON.stringify(formData));\napi.data = { query: query.replace('{__saveData}', __saveData) };\napi.data.query = api.data.query.replace('object_fields__update', 'object_fields__upsert');",
        "submitSuccActions": [{
                "actionType": "custom",
                "script": "setTimeout(function(){doAction({'actionType': 'setValue','componentId': 'form_object_fields','args': {'value': {'sort_no': event.data.sort_no + 10}}})}, 300)"
            },
            {
                "actionType": "toast",
                "args": {
                    "msgType": "success",
                    "msg": "${'submitSuccRequireRefreshMsg' | t}",
                    "position": "top-right"
                }
            }
        ],
        "fieldsExtend": {
            "readonly": {
                "amis": {
                    "onEvent": {
                        "change": {
                            "actions": [{
                                "actionType": "setValue",
                                "componentId": "steedos_object_fields_form",
                                "args": {
                                    "value": {
                                        "static": false
                                    }
                                },
                                "expression": "!!readonly"
                            }]
                        }
                    },
                    "id": "u:a32a4c461450"
                }
            },
            "static": {
                "amis": {
                    "onEvent": {
                        "change": {
                            "actions": [{
                                "actionType": "setValue",
                                "componentId": "steedos_object_fields_form",
                                "args": {
                                    "value": {
                                        "readonly": false
                                    }
                                },
                                "expression": "!!static"
                            }]
                        }
                    },
                    "id": "u:7affdbb0ef6d"
                }
            },
            "required": {
                "amis": {
                    "onEvent": {
                        "change": {
                            "actions": [{
                                "actionType": "setValue",
                                "args": {
                                    "value": {
                                        "hidden": false
                                    }
                                },
                                "componentId": "steedos_object_fields_form",
                                "expression": "${event.data.value}"
                            }]
                        }
                    },
                    "id": "u:adf4200a2170"
                }
            },
            "hidden": {
                "amis": {
                    "onEvent": {
                        "change": {
                            "actions": [{
                                "actionType": "setValue",
                                "args": {
                                    "value": {
                                        "required": false
                                    }
                                },
                                "componentId": "steedos_object_fields_form",
                                "expression": "${event.data.value}"
                            }]
                        }
                    },
                    "id": "u:adf4200a2170"
                }
            },
            "type": {
                "amis": {
                    "onEvent": {
                        "change": {
                            "actions": [
                                {
                                    "actionType": "setValue",
                                    "args": {
                                        "value": {
                                            "defaultValue": null,
                                            "sortable": "${ARRAYSOME(allowSort, item => item === event.data.value)}"
                                        }
                                    },
                                    "componentId": "steedos_object_fields_form"
                                }
                            ]
                        }
                    },
                    "disabledOn": "${is_system == true}",
                    "searchable": true,
                    "id": "u:5f21d4208685"
                }
            },
            "filters": {
                "amis": {
                    "type": "condition-builder",
                    "description": "",
                    "id": "u:a9f2232e30d7",
                    "source": {
                        "method": "get",
                        "url": "${context.rootUrl}/service/api/amis-metadata-listviews/getFilterFields?objectName=${reference_to}",
                        "dataType": "json",
                        "headers": {
                            "Authorization": "Bearer ${context.tenantId},${context.authToken}"
                        }
                    },
                    "className": "col-span-2 m-0"
                }
            },
            "filtersFunction": {
                "hidden": true
            },
            "visible_on": {
                "amis": {
                    "type": "input-formula",
                    "evalMode": false,
                    "variableMode": "tabs",
                    "variables": "${visibleOnVariables}",
                    "visibleOn": "${visibleOnVariables}",
                    "id": "u:618105d5bfad"
                }
            },
            "formula": {
                "amis": {
                    "type": "input-formula",
                    "evalMode": false,
                    "variableMode": "tabs",
                    "variables": "${visibleOnVariables}",
                    "visibleOn": "${visibleOnVariables && (type == 'formula' || type == 'autonumber') }",
                    "id": "u:618105d5bfad"
                }
            }
        },
        "form": {
            "id": "steedos_object_fields_form"
        },
        "id": "u:e17c57cce896",
        "tabsMode": "line"
    }],
    "data": {
        "context": {},
        "allowSort": [
            "text",
            "select",
            "date",
            "datetime",
            "time",
            "number",
            "currency",
            "percent",
            "autoumber",
            "summary",
            "formula"
        ]
    },
    "name": "object_fields_form",
    "className": "steedos-object-fields-form-page",
    "id": "steedos_object_fields_service"
}