{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "title": "WebOCComponentSettingsResponse",
  "description": "WebOCComponentSettings PI_JSON",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "webOCComponentSettings": {
      "type": "object",
      "$ref": "#/definitions/WebOCComponentSettings"
    }
  },
  "definitions": {
    "WebOCComponentSettings": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string"
        },
        "map": {
          "$ref": "#/definitions/MapSettings"
        },
        "charts": {
          "$ref": "#/definitions/ChartsSettings"
        },
        "ssd": {
          "$ref": "#/definitions/SSDSettings"
        },
        "report": {
          "$ref": "#/definitions/ReportSettings"
        }
      },
      "required": [],
      "title": "WebOCComponentSettingsClass"
    },
    "ChartsSettings": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "general": {
          "$ref": "#/definitions/General"
        },
        "actions": {
          "$ref": "#/definitions/Actions"
        },
        "timeSeriesChart": {
          "$ref": "#/definitions/Chart"
        },
        "timeSeriesTable": {
          "$ref": "#/definitions/TimeSeriesTable"
        },
        "verticalProfileChart": {
          "$ref": "#/definitions/Chart"
        },
        "verticalProfileTable": {
          "$ref": "#/definitions/VerticalProfileTable"
        },
        "metaDataPanel": {
          "$ref": "#/definitions/MetaDataPanel"
        }
      },
      "required": [],
      "title": "ChartsSettings"
    },
    "Actions": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "panelPlacement": {
          "$ref": "#/definitions/PanelPlacement"
        },
        "downloadData": {
          "type": "boolean"
        },
        "downloadMetaData": {
          "type": "boolean"
        },
        "downloadFigure": {
          "type": "boolean"
        }
      },
      "required": [],
      "title": "Actions"
    },
    "PanelPlacement": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "defaultPlacement": {
          "type": "string"
        },
        "allowedPlacement": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [],
      "title": "PanelPlacement"
    },
    "General": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "startPanel": {
          "type": "string",
          "enum": [
            "timeSeriesChart",
            "verticalProfileChart",
            "timeSeriesTable",
            "verticalProfileTable",
            "metaDataPanel"
          ]
        },
        "toolBar": {
          "type": "string",
          "enum": ["false", "true", "auto"]
        },
        "locationNames": {
          "type": "boolean"
        }
      },
      "required": [],
      "title": "General"
    },
    "MetaDataPanel": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "locationEnabledAttribute": {
          "type": "string"
        }
      },
      "required": [],
      "title": "MetaDataPanel"
    },
    "Chart": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "locationEnabledAttribute": {
          "type": "string"
        },
        "legend": {
          "$ref": "#/definitions/Legend"
        },
        "xAxis": {
          "$ref": "#/definitions/XAxis"
        },
        "yAxis": {
          "$ref": "#/definitions/YAxis"
        }
      },
      "required": [],
      "title": "Chart"
    },
    "Legend": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "minNumberOfLines": {
          "type": "string",
          "format": "integer"
        },
        "maxNumberOfLines": {
          "type": "string",
          "format": "integer"
        },
        "placement": {
          "type": "string"
        }
      },
      "required": [],
      "title": "Legend"
    },
    "XAxis": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "xTicks": {
          "type": "boolean"
        },
        "xLabel": {
          "type": "boolean"
        }
      },
      "required": [],
      "title": "XAxis"
    },
    "YAxis": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "yTicks": {
          "type": "boolean"
        },
        "yLabel": {
          "type": "boolean"
        }
      },
      "required": [],
      "title": "YAxis"
    },
    "TimeSeriesTable": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "locationEnabledAttribute": {
          "type": "string"
        },
        "allowDateTimeSorting": {
          "type": "boolean"
        },
        "sortDateTimeColumn": {
          "type": "string"
        }
      },
      "required": [],
      "title": "TimeSeriesTable"
    },
    "VerticalProfileTable": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "locationEnabledAttribute": {
          "type": "string"
        },
        "allowDepthSorting": {
          "type": "boolean"
        },
        "sortDepthColumn": {
          "type": "string"
        }
      },
      "required": [],
      "title": "VerticalProfileTable"
    },
    "MapSettings": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "wmsLayer": {
          "$ref": "#/definitions/WmsLayer"
        },
        "locationsLayer": {
          "$ref": "#/definitions/LocationsLayer"
        },
        "overlays": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Overlay"
          }
        }
      },
      "required": [],
      "title": "MapSettings"
    },
    "LocationsLayer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "show": {
          "type": "boolean"
        },
        "locationNames": {
          "type": "boolean"
        },
        "singleClickAction": {
          "type": "boolean"
        },
        "locationSearchEnabled": {
          "type": "boolean"
        },
        "minZoom": {
          "$ref": "#/definitions/LocationsLayerZoomSettings"
        },
        "maxZoom": {
          "$ref": "#/definitions/LocationsLayerZoomSettings"
        }
      },
      "required": [],
      "title": "LocationsLayer"
    },
    "LocationsLayerZoomSettings": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "level": {
          "type": "number"
        },
        "levelLocationAttribute": {
          "type": "string"
        }
      },
      "required": ["level"],
      "title": "LocationsLayerZoomSettings"
    },
    "Overlay": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "type": {
          "enum" : [
            "overLay",
            "gridLayer",
            "externalOverLay"
          ],
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "styleJsonFile": {
          "type": "string"
        },
        "visible": {
          "type": "boolean"
        }
      },
      "required": ["type"],
      "title": "Overlay"
    },
    "WmsLayer": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "show": {
          "type": "boolean"
        },
        "autoPlay": {
          "type": "boolean"
        },
        "animateVectors": {
          "type": "boolean"
        },
        "doubleClickAction": {
          "type": "boolean"
        }
      },
      "required": [],
      "title": "WmsLayer"
    },
    "ReportSettings": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "downloadReport": {
          "type": "boolean"
        },
        "nonCurrentReports": {
          "type": "boolean"
        },
        "reportName": {
          "type": "boolean"
        },
        "analysisTimes": {
          "type": "boolean"
        }
      },
      "required": [],
      "title": "ReportSettings"
    },
    "SSDSettings": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "zoomEnabled": {
          "type": "boolean"
        },
        "singleClickAction": {
          "type": "boolean"
        },
        "doubleClickAction": {
          "type": "boolean"
        },
        "useBrowserStyle": {
          "type": "boolean"
        }
      },
      "required": [],
      "title": "SSDSettings"
    }
  }
}
