表格
简单表格
| 名称 | 日期 | 最后查看 |
|---|---|---|
| 项目阿尔法 | 2026-01-10 | |
| 项目贝塔 | 2026-02-18 | |
| 项目伽马 | 2026-03-25 |
比房间更宽
| 列 1 | 列 2 | 列 3 | 列 4 | 列 5 | 列 6 | 列 7 | 列 8 | 列 9 | 列 10 | 列 11 | 列 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 |
| 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 |
| 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 | 足够长的值 |
带操作的表格
条纹行,指针下高亮
可选行
每行头部的一个框,所有行的头部一个框,以及上方的操作:它们将选中的行发送到其自己的地址,并在没有选中时保持不可触及。
文件、总数、每行的操作
按名称读取的路径,前面的文件夹从开头剪切。条形图显示行数,标记为`all`的操作在没有选中时有效——它取每一行,并在预期时引导条形图。
| 文件 | |
|---|---|
| 03-DOCUMENTS/QAL - Syst Document/Obsolète/QAL-D-12-identification-and-validation-of-quality-system-software-v1.md | |
| 05-INSTRUCTIONS/RES/RES-I-02-it-access-change-v2.md | |
| README.md |
过滤器
在表格顶部的过滤器条,每个都是一个隐蔽的菜单,说明一旦过滤所缩小的内容。在服务器上,它们存在于页面的查询中——每个选项都是一个链接——控制器从中缩小行;在vue中,它们是传递给页面的值供其api使用,或由表格应用于它已经拥有的行。每个选项是一个框——选择一个时为圆形——当它有色调、状态或类别时为其色彩。
| 名称 | 所有者 | 状态 |
|---|---|---|
| Alpha | design | open |
| Beta | platform | closed |
| Gamma | design | closed |
| Delta | support | open |
排序
一个排序的头部是服务器上的链接和 vue 中的按钮:升序、降序,然后回到页面声明的顺序,列表从一开始就显示其箭头。空日期在两种方式中都排在最后,名称则按照语言的排序方式进行比较。这里表格对其自身给出的行进行排序;一个控制器翻页其列表时读取相同的查询。
浏览器中的排序,来自 twig
`vue: true` 将相同的列和行传递给 vue 兄弟:它在浏览器中对整个列表进行排序和搜索,无需页面加载。对于页面完整持有的列表 — 短列表,或没有 api 提供的列表。
选择中的操作
当有足够的操作挤满它时的同一条:选择一个,然后应用。
链接和图标单元格
| 来源 | 状态 |
|---|---|
| 来源阿尔法 | |
| 来源贝塔 |
加载状态
| 来源 | 更新时间 | 操作 |
|---|---|---|
|
|
||
空状态
| 来源 | 更新时间 | 操作 |
|---|---|---|
| 没有可用数据。 | ||
列对齐
| 名称(左) | 状态(中) | 数量(右) |
|---|---|---|
| Alpha | Centered | 42.00 € |
| Beta | Centered | 128.50 € |
| Gamma | Centered | 7.99 € |
代码、数字和总计
`cell: 'code'` 在单一字体中设置标识符;`cell: 'number'`,或 `unit`,在页面的区域写出数字。`negative: true` 将小于零的数字以错误语气绘制,其负号也表明这一点。`totals` 是页面交出的行,绘制在其他行之下 — 表格不进行任何加总,保持一个页面或过滤后的列表。由服务器绘制,然后由 vue 处理。
| 代码 | 项目 | 净供应 | 面积 |
|---|---|---|---|
VS-2041 |
Atlas | 12 | 18.5 m² |
LO-0007 |
Boréal | -4 | 9 m² |
VS-1180 |
Cyprès | 0 | 6.5 m² |
LO-0315 |
Dune | -11 | 22.5 m² |
| 总计 | -3 | 56.5 m² |
来自markdown
通过`markdown_ds`传递的markdown编写的表格:列、对齐方式和每个单元格的标记从文档中读取,表格在这里像其他任何表格一样绘制。`markdown`保留了普通的`<table>`,用于不是页面的内容——邮件、动态消息。
| Name | Status | Amount |
|---|---|---|
| Alpha | ready |
42.00 € |
| Beta | 128.50 € | |
| Gamma | pending | 7.99 € |
分组行
仅携带一个组的行不是一行:它是两个组之间的线,给定一个词。它跨越整个表格,并命名后续内容——与菜单分隔符的阅读相同。
| 名称 | 日期 |
|---|---|
| 第一组 | |
| 项目阿尔法 | 2026-01-10 |
| 项目贝塔 | 2026-02-18 |
| 第二组 | |
| 项目伽马 | 2026-03-25 |
状态单元格
状态是一个圆圈,从来不是某人选择的颜色:单元格采用类型名称,或带有计数和标题的类型,并绘制系统其余部分绘制的状态图标。页面中没有样式可设置。
| 管道 | 构建 | 测试 | 部署 |
|---|---|---|---|
| 项目阿尔法 | 42 | ||
| 项目贝塔 | 3 | ||
| 项目伽马 |
粘性头部
长表格按列和行读取。使用`sticky`,头部在视野中保持,而行在其下滚动;带有其自身固定在顶部的页面说明在`--table-sticky-top`中向下滚动了多少。
| # | 名称 | 状态 |
|---|---|---|
| 1 | Row 1 | |
| 2 | Row 2 | |
| 3 | Row 3 | |
| 4 | Row 4 | |
| 5 | Row 5 | |
| 6 | Row 6 | |
| 7 | Row 7 | |
| 8 | Row 8 | |
| 9 | Row 9 | |
| 10 | Row 10 | |
| 11 | Row 11 | |
| 12 | Row 12 |
一个独立区域中的表格
一个 `zone--table` 区域完全赋予给表格:它上方的驱动内容、底部的页面、滚动内容之间的表格底部,甚至对于三行的情况。任何表格都可以放入其中,由服务器或 vue 编写。使用 `natural`,如左侧的表格,表格保持其列的宽度,既不被拉伸也不被压缩。
| # | 名称 | 状态 |
|---|---|---|
| 1 | Row 1 | |
| 2 | Row 2 | |
| 3 | Row 3 |
Vue实体表
带选择的Vue表
客户端上的相同合同:选中的键通过v-model:selected返回,每个操作作为bulk-action发出,带地址的作为服务器表发布。这些没有,因此下面的行说明了将会做的事情。每页三行,条形图末尾是总数,归档所有不需要选中。
无总数的分页
当API未返回总数时,分页器回退到上/下。
分页,由服务器生成
`pagination(page, pages_count)` 将列表的页面绘制为链接:每个链接保留其所在页面的路径和查询 — 搜索、排序 — 仅更改 `page`,从 1 开始计数。显示的数字是 vue 分页器的:第一个、最后一个、当前页及其邻近页。`compact` 保留前后页围绕页码;`route` 和 `params` 通过另一个地址分页。