{
    "Clients": {
        "pages": {
            "dashboard": {
                "style": "tab",
                "layout": [
                    [
                        {
                            "type": "bb-editable-details-panel",
                            "width": 8,
                            "panel_params": "Clients.params.edit_details"
                        },
                        {
                            "type": "bb-profile-image-panel",
                            "width": 4
                        }
                    ]
                ]
            }
        },
        "params":{
            "edit_details": {
                "customForm": [
                    {
                        "type": "fieldset",
                        "title": "ADMIN_DASHBOARD.CLIENTS_PAGE.DETAILS_FORM.BASIC_INFO",
                        "items": [
                            "first_name",
                            "last_name",
                            {
                                "key": "email",
                                "type": "email",
                                "validationMessage": {
                                    "email": "ADMIN_DASHBOARD.CLIENTS_PAGE.DETAILS_FORM.VALIDATION.INVALID_EMAIL",
                                    "duplicateEmail": "ADMIN_DASHBOARD.CLIENTS_PAGE.DETAILS_FORM.VALIDATION.DUPLICATE_EMAIL"
                                },
                                "ngModelOptions": {
                                    "debounce": 500
                                },
                                "$asyncValidators": {
                                    "duplicateEmail": "function (modelValue, viewValue) { return new Promise(function (resolve, reject) { if (modelValue && modelValue != model.email) { return company.$get('client_by_email', {email: modelValue}).then(reject, resolve); } else { resolve() } }); }"
                                }
                            },
                            "mobile",
                            "phone",
                            "member_type",
                            "join_date",
                            "reference",
                            "time_zone",
                            "extra_info",
                            "address1",
                            "address2",
                            "address3",
                            "address4",
                            "address5",
                            "postcode",
                            "country",
                            "consent"
                        ]
                    },
                    {
                        "type": "fieldset",
                        "title": "ADMIN_DASHBOARD.CLIENTS_PAGE.DETAILS_FORM.ADDITIONAL_DETAILS",
                        "items": [
                            "q"
                        ]
                    },
                    {
                        "type": "submit",
                        "title": "Save"
                    }
                ]
            }
        }
    }
}
