name: disable
label: Disable
'on': record_only
type: amis_button
amis_schema: |-
  {
    "type": "service",
    "body": [
      {
        "type": "button",
        "label": "${'CustomAction.space_users.disable' | t}",
        "id": "u:disable",
        "confirmText": "${'CustomLabels.space_users_actions_disable_confirmText' | t}",
        "onEvent": {
          "click": {
            "weight": 0,
            "actions": [
              {
                "actionType": "ajax",
                "api": {
                  "url": "/service/api/space_users/disable",
                  "method": "post",
                  "requestAdaptor": "api.data={suId: context.recordId}\n\n\nreturn api;",
                  "adaptor": "return payload.success ? {data: {...payload}, status: 0, msg: t('CustomLabels.space_users_actions_disable_success')} : {...payload, status: 1, msg: t('CustomLabels.space_users_actions_disable_failed')};"
                }
              },
              {
                "actionType": "broadcast",
                "args": {
                  "eventName": "@data.changed.space_users"
                },
                "data": {
                  "objectName": "space_users",
                  "displayAs": "${displayAs}"
                }
              }
            ]
          }
        },
        "visibleOn": "context.user.is_space_admin == true && user_accepted == true && context.user.spaceUserId != context.recordId"
      }
    ],
    "regions": [
      "body"
    ],
    "bodyClassName": "p-0",
    "id": "u:6d7a34bd662e",
    "dsType": "api"
  }