{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schemas.apps.smartmate.io/fields/types/tableField/tableField.props.schema.json",
  "$$target": "https://schemas.apps.smartmate.io/fields/types/tableField/tableField.props.schema.json",
  "title": "table field props",
  "allOf": [{"$ref": "https://schemas.apps.smartmate.io/fields/types/_base/_base.props.schema.json"}],
  "properties": {
    "type": {
      "$id": "#/properties/type",
      "type": "string",
      "enum": ["table"]
    },
    "label": {},
    "description": {},
    "required": {},
    "readOnly": {},
    "hidden": {},
    "table": {
      "$id": "#/properties/table",
      "description": "The table that this field should be connected to.",
      "$ref": "https://schemas.apps.smartmate.io/patterns/nestedIdentification.schema.json"
    },
    "columns": {
      "$id": "#/properties/columns",
      "description": "Which columns of the target table should be displayed. If not set, all columns are displayed.",
      "type": "array",
      "items": {
        "oneOf": [
          {
            "$ref": "https://schemas.apps.smartmate.io/patterns/identification.schema.json"
          },
          {
            "type": "object",
            "propertyNames": {
              "$ref": "https://schemas.apps.smartmate.io/patterns/identification.schema.json"
            },
            "patternProperties": {
              "": {
                "$ref": "https://schemas.apps.smartmate.io/fields/field.props.schema.json"
              }
            }
          }
        ]
      }
    },
    "filter": {
      "$ref": "https://schemas.apps.smartmate.io/tables/filter/filter.schema.json"
    },
    "options": {
      "type": "object",
      "properties": {
        "addRow": {
          "description": "Whether to display an **add row** button",
          "type": "boolean",
          "default": true
        },
        "removeRow": {
          "description": "Whether to display a **remove row** button",
          "type": "boolean",
          "default": true
        }
      },
      "additionalProperties": false
    },
    "validations": {}
  },
  "additionalProperties": false
}
