steedos-object-list-views
Installation
SKILL.md
Steedos Object List Views | Steedos 对象列表视图
Overview | 概述
List views define how records are displayed in table format. Each view is a separate .listview.yml file in the object's listviews/ subfolder.
列表视图定义记录的表格显示方式。每个视图是独立的 .listview.yml 文件,位于对象的 listviews/ 子文件夹中。
File Location | 文件位置
steedos-packages/
└── my-package/
└── main/default/
└── objects/
└── orders/
└── listviews/
├── all.listview.yml
├── my_orders.listview.yml
├── pending_approval.listview.yml
└── high_value.listview.yml
List View Structure | 列表视图结构
# objects/orders/listviews/all.listview.yml
name: all
label: 所有订单
is_enable: true
shared: true
shared_to: space
filter_scope: space
crud_mode: table
columns:
- field: order_number
- field: customer
- field: total_amount
- field: status
- field: created
sort:
- field_name: created
order: desc
searchable_fields:
- field: order_number
- field: customer
mobile_columns:
- field: order_number
- field: status
Properties | 属性
| Property | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | ⚠️ Unique view name. MUST NOT be omitted. |
label |
string | Yes | Display label (use the language of the user's prompt) |
is_enable |
boolean | Yes | Enable/disable view |
crud_mode |
string | No | ⚠️ MUST be table (default) or cards. No other values are valid. |
columns |
array | Yes | Displayed columns |
shared |
boolean | No | Share with all users |
shared_to |
string | No | ⚠️ MUST be one of: mine (default), space, organizations. No other values are valid. |
filter_scope |
string | Yes | ⚠️ MUST be space (all records, default) or mine (my records only). No other values are valid. |
filters |
array | No | Default filter conditions |
sort |
array | No | Default sort order (each item: field_name + order: ⚠️ order MUST be asc or desc) |
searchable_fields |
array | No | Full-text search fields |
mobile_columns |
array | No | Mobile-optimized columns |
extra_columns |
array | No | Hidden columns (available for formulas) |
scrolling_mode |
string | No | ⚠️ MUST be one of: standard (default), virtual, infinite. No other values are valid. |
show_count |
boolean | No | Show record count |
Columns | 列配置
# Simple column
columns:
- field: name
# With width and wrapping
columns:
- field: name
width: '200'
wrap: true
- field: description
width: '300'
wrap: true
Filters | 筛选器
# Single filter
filters:
- ["status", "=", "active"]
# Multiple filters (AND)
filters:
- ["status", "=", "active"]
- ["total_amount", ">", 10000]
# Current user
filters:
- ["owner", "=", "{userId}"]
# Date-based
filters:
- ["created", ">=", "{last_n_days(7)}"]
Filter Operators | 筛选运算符
| Operator | Description |
|---|---|
= |
Equal |
!= |
Not equal |
> |
Greater than |
>= |
Greater than or equal |
< |
Less than |
<= |
Less than or equal |
contains |
Contains text |
startswith |
Starts with |
in |
In list |
notin |
Not in list |
between |
Between range |
Sorting | 排序
sort:
- field_name: status
order: asc
- field_name: created
order: desc
Complete Examples | 完整示例
All Records View | 全部记录视图
# objects/orders/listviews/all.listview.yml
name: all
label: 所有订单
is_enable: true
shared: true
shared_to: space
filter_scope: space
crud_mode: table
columns:
- field: order_number
- field: customer
- field: order_date
- field: total_amount
- field: status
- field: owner
- field: created
sort:
- field_name: created
order: desc
searchable_fields:
- field: order_number
- field: customer
mobile_columns:
- field: order_number
- field: total_amount
- field: status
My Records View | 我的记录视图
# objects/orders/listviews/my_orders.listview.yml
name: my_orders
label: 我的订单
is_enable: true
shared: true
filter_scope: mine
crud_mode: table
columns:
- field: order_number
- field: customer
- field: total_amount
- field: status
sort:
- field_name: created
order: desc
Filtered View | 筛选视图
# objects/orders/listviews/pending_approval.listview.yml
name: pending_approval
label: 待审批
is_enable: true
shared: true
filter_scope: space
crud_mode: table
filters:
- ["status", "=", "submitted"]
columns:
- field: order_number
- field: customer
- field: total_amount
- field: submitted_at
- field: owner
sort:
- field_name: submitted_at
order: asc
High Value View | 高价值视图
# objects/orders/listviews/high_value.listview.yml
name: high_value
label: 高价值订单
is_enable: true
shared: true
filter_scope: space
crud_mode: table
filters:
- ["total_amount", ">", 50000]
columns:
- field: order_number
- field: customer
- field: total_amount
width: '150'
- field: status
- field: owner
sort:
- field_name: total_amount
order: desc
Best Practices | 最佳实践
- Limit columns: 5-8 columns for readability
- Add searchable_fields: Enable search on key fields
- Mobile columns: Only essential fields for mobile
- Meaningful filters: Create views that match common workflows
- Label follows user's language: Write
labelin the language of the user's prompt. For i18n, use the translations skill - Default sort: Always specify a meaningful sort order
Related skills