Version:

    Entity browser

    Schema:

    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "pattern": "^form-field$"
        },
        "id": {
          "type": "string",
          "pattern": "^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$"
        },
        "machine_name": {
          "type": "string"
        },
        "data": {
          "type": "object",
          "properties": {
            "uid": {
              "type": "string",
              "pattern": "^form-entity-browser$"
            },
            "title": {
              "type": "string"
            },
            "value": {
              "type": "object",
              "properties": {
                "entity": {
                  "type": "object",
                  "properties": {
                    "entityType": {
                      "type": "string"
                    },
                    "entityUUID": {
                      "type": "string"
                    },
                    "entityId": {
                      "type": "string"
                    }
                  }
                },
                "settings": {
                  "type": "object",
                  "properties": {
                    "entityBrowserType": {
                      "type": "string"
                    },
                    "entityType": {
                      "type": "string"
                    },
                    "bundles": {
                      "type": "object"
                    }
                  }
                },
                "jsonapi_link": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "required": [
        "id",
        "type",
        "data"
      ]
    }

    Example output:

    Given "Entity browser" form element on a component set up like so

    And used on Node layout canvas like so

    JSON:API output for this form field will be this:

    
     
    {
      "type": "form-field",
      "id": "69922b59-2b5a-4673-a5b5-ea57c0d83ff3",
      "machine_name": "entity-browser",
      "data": {
        "uid": "form-entity-browser",
        "title": "Entity browser",
        "value": {
          "entity": {
            "entityType": "media",
            "entityUUID": "79611cf8-0a54-4d6d-aebd-8f77a159acd5",
            "entityId": "79611cf8-0a54-4d6d-aebd-8f77a159acd5"
          },
          "settings": {
            "options": {
              "entityBrowserType": "media_library",
              "entityType": "media",
              "bundles": {
                "acquia_dam_image_asset": true
              }
            }
          },
          "jsonapi_link": "https://sitestudiodocs.acquia.com/jsonapi/media/acquia_dam_image_asset/79611cf8-0a54-4d6d-aebd-8f77a159acd5"
        }
      }
    }

    In this example "value" object contains "jsonapi_link" property as the "Entity browser" form field stores reference to a Media library entity. The value of "jsonapi_link" property is an absolute url pointing to a JSON:API Resource for referenced media entity with uuid "79611cf8-0a54-4d6d-aebd-8f77a159acd5".

    DX8 knowledge base icon

    Frequently asked questions

    Get instant answers to common questions. Available online 24/7.

    Find answers

    Raise a ticket icon

    Raise a support ticket

    To raise a ticket, sign into Acquia Cloud and select Help in the top menu.

    Raise support ticket

    Acquia

    Copyright © 2020 Acquia, Inc. All Rights Reserved. Drupal is a registered trademark of Dries Buytaert.