面板 Panels

REST and GraphQL API 面板是存在于 Insights 模块中的数据可视化的模块化单元。 每个面板都存在于仪表板中,可以根据需要定位和调整大小。

The Panel Object

id uuid
面板的主键。

dashboard many-to-one
此面板可见的仪表板。 多对一到 dashboards

name string
面板的名称。

icon string
面板的材料设计图标。

color string
面板的强调色。

show_header boolean
是否应为此面板呈现标题。

note string
面板的说明。

type string
用于此面板的面板类型。

position_x integer
工作区网格上的 X 位置。

position_y integer
工作区网格上的 Y 位置。

width integer
以工作区点数表示的面板宽度。

height integer
以工作区点数表示的面板高度。

options JSON
面板的任意选项。 因面板类型而异。

date_created Date
创建面板时

user_created many-to-one
创建面板的用户。 多对一到 users

json
{
  "id": "22640672-eef0-4ee9-ab04-591f3afb2883",
  "dashboard": "a79bd1b2-beb2-49fc-8a26-0b3eec0e2697",
  "name": "30-day sales",
  "icon": "paid",
  "color": "#6B8068",
  "show_header": true,
  "note": "Overview of the sales numbers in the last 30 days",
  "type": "time-series",
  "position_x": 1,
  "position_y": 1,
  "width": 8,
  "height": 6,
  "options": {},
  "date_created": "2023-01-05T19:05:51.884Z",
  "user_created": "fd066644-c8e5-499d-947b-fe6c6e1a1473"
}

List Panels

列出 Directus 中存在的所有面板。

Query Parameters

支持所有全局查询参数

Returns

最多 limit 面板对象 的数组。 如果没有项目可用,数据将是一个空数组。

REST API

GET /panels
SEARCH /panels

Learn more about SEARCH ->

GraphQL

POST /graphql/system
graphql
type Query {
 panels: [directus_panels]
}
Example
graphql
query {
 panels {
  id
  name
 }
}

Retrieve a Panel

按主键列出现有面板。

Query Parameters

支持所有全局查询参数

Returns

返回请求的面板对象

REST API

GET /panels/:id
Example
GET /panels/2fc325fb-299b-4d20-a9e7-a34349dee8b2

GraphQL

POST /graphql/system
graphql
type Query {
 panels_by_id(id: ID!): directus_panels
}
Example
graphql
query {
 panels_by_id(id: "2fc325fb-299b-4d20-a9e7-a34349dee8b2") {
  id
  name
 }
}

Create a Panel

创建一个新面板。

Query Parameters

支持所有全局查询参数

请求体

部分面板对象

Returns

为创建的面板返回 面板对象

REST API

POST /panels
Example
json
// POST /panels

{
  "name": "My Panel",
  "icon": "architecture"
}

GraphQL

POST /graphql/system
graphql
type Mutation {
 create_panels_item(data: create_directus_panels_input!): directus_panels
}
Example
graphql
mutation {
 create_panels_item(data: { name: "My Panel", icon: "panels" }) {
  id
  name
 }
}

Create Multiple Panels

创建多个新面板。

Query Parameters

支持所有全局查询参数

请求体

部分面板对象的数组。

Returns

为创建的面板返回 面板对象

REST API

POST /panels
Example
json
// POST /panels

[
  {
    "name": "My Panel",
    "icon": "architecture"
  },
  {
    "name": "Another Panel",
    "icon": "person"
  }
]

GraphQL

POST /graphql/system
graphql
type Mutation {
 create_panels_items(data: [create_directus_panels_input!]!): [directus_panels]
}
Example
graphql
mutation {
 create_panels_items(
  data: [
   {
    "name": "My Panel",
    "icon": "architecture"
   },
   {
    "name": "Another Panel",
    "icon": "person"
   }
  ]
 ) {
  id
  name
 }
}

Update a Panel

更新现有面板。

Query Parameters

支持所有全局查询参数

请求体

部分面板对象

Returns

返回更新面板的 面板对象

REST API

PATCH /panels/:id
Example
json
// PATCH /panels/2fc325fb-299b-4d20-a9e7-a34349dee8b2

{
  "name": "My Updated Panel"
}

GraphQL

POST /graphql/system
graphql
type Mutation {
 update_panels_item(id: ID!, data: update_directus_panels_input): directus_panels
}
Example
graphql
mutation {
 update_panels_item(id: "2fc325fb-299b-4d20-a9e7-a34349dee8b2", data: { name: "My Updated Panel" }) {
  id
  name
 }
}

Update Multiple Panels

更新多个现有面板。

Query Parameters

支持所有全局查询参数

请求体

keys Required
您要更新的面板的主键数组。

data Required
面板 的任何属性。

Returns

返回更新面板的 面板对象

REST API

PATCH /panels
Example
json
// PATCH /panels

{
  "keys": ["3f2facab-7f05-4ee8-a7a3-d8b9c634a1fc", "7259bfa8-3786-45c6-8c08-cc688e7ba229"],
  "data": {
    "color": "#6644FF"
  }
}

GraphQL

POST /graphql/system
graphql
type Mutation {
 update_panels_items(ids: [ID!]!, data: update_directus_panels_input): [directus_panels]
}
Example
graphql
mutation {
 update_panels_items(
  ids: ["3f2facab-7f05-4ee8-a7a3-d8b9c634a1fc", "7259bfa8-3786-45c6-8c08-cc688e7ba229"]
  data: { "color": "#6644FF" }
 ) {
  id
  name
 }
}

Delete a Panel

删除现有面板。

Returns

Body为空

REST API

DELETE /panels/:id
Example
DELETE /panels/12204ee2-2c82-4d9a-b044-2f4842a11dba

GraphQL

POST /graphql/system
graphql
type Mutation {
 delete_panels_item(id: ID!): delete_one
}
Example
graphql
mutation {
 delete_panels_item(id: "12204ee2-2c82-4d9a-b044-2f4842a11dba") {
  id
 }
}

Delete Multiple Panels

删除多个现有面板。

请求体

一组面板主键

Returns

Body为空

REST API

DELETE /panels
Example
json
// DELETE /panels
["25821236-8c2a-4f89-8fdc-c7d01f35877d", "02b9486e-4273-4fd5-b94b-e18fd923d1ed", "7d62f1e9-a83f-407b-84f8-1c184f014501"]

GraphQL

POST /graphql/system
graphql
type Mutation {
 delete_panels_items(ids: [ID!]!): delete_many
}
Example
graphql
mutation {
 delete_panels_items(
  ids: [
   "25821236-8c2a-4f89-8fdc-c7d01f35877d"
   "02b9486e-4273-4fd5-b94b-e18fd923d1ed"
   "7d62f1e9-a83f-407b-84f8-1c184f014501"
  ]
 ) {
  ids
 }
}