# @fieldia/calendar 中文文档

规范地址：https://npmcn.com/package/%40fieldia/calendar/

版本：0\.36\.1
npm 元数据更新时间：2026-10-28T10:17:10.709Z
中文译文更新时间：2026-11-14T17:55:37.559Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40fieldia/calendar
原文对照：https://npmcn.com/package/%40fieldia/calendar/?lang=original
项目主页：https://fieldia.dev/
源码仓库：https://github.com/fieldia-dev/fieldia

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：579 kB，117 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：4 个
- 首次发布：2026-10-15T16:36:32.938Z
- 最新版本发布：2026-10-28T10:17:10.377Z
- 近 30 天下载量：3824（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：24（近 12 个月 24 个）

## 中文简介

Fieldia的日历:按日,周,月或作为日程排列的列表记录,每个人或房间的一栏,被拖放或从键盘上移动. 仅在显示日历时装入 .

## 安装

```sh
npm install @fieldia/calendar
```

也可以使用：`pnpm add @fieldia/calendar`、`yarn add @fieldia/calendar`、`bun add @fieldia/calendar`

## README

# @fieldia/日历

[外地](https://fieldia.dev/)日历: a **日历上的列表记录**, (中文(简体) ), 或作为一个议程,为每个人或房间各设一栏. 人们拖出一个记录来移动它,拖出它的尾部来拉伸它,按出一个空的 从键盘中移动一个 **移动到..**一个动作是 通过数据源的 `save`,与 **撤销**它分享名单 搜索 过滤器和最爱 右到左读 说英语 阿拉伯语, 法语和德语——以及土耳其语、波斯语、乌尔都语和西班牙语,机器辅助, 尚未由讲母语的人加以审查——及其守则,以及其中的文字 语言,但英语,只有在日历首次显示时才加载.

```sh
npm install @fieldia/calendar
```

```ts
import { mountViewer } from '@fieldia/viewer';
import { calendarListViews } from '@fieldia/calendar';

mountViewer(host, {
  page,
  dataSource,
  listViews: calendarListViews(),
  // A slot pressed: the app opens a new record with its start and end filled in.
  onNewRecord: (values) => openNewAppointment(values),
});
```

还有一张地图,登记两个: `listViews: { ...mapListViews({ provider }), ...calendarListViews() }`。 。 。 .

## 页面

列表页 `calendar` 提议 **日历** 在会议桌旁:

```json
"layout": {
  "type": "list", "id": "appointments", "columns": ["patient", "start", "doctor"],
  "calendar": {
    "start": "start", "end": "stop", "title": "patient",
    "colour": "service", "resource": "doctor",
    "views": ["day", "week", "month", "agenda"], "view": "day", "opens": "calendar",
    "firstDay": 6, "hours": { "start": 8, "end": 20 }, "slot": 15
  }
}
```

| 选项 | 它会做什么 |
| --- | --- |
| `start` | 每个记录开始时: a `date` (这需要一整天)或者 `datetime`要求. |
| `end` | 当它结束的时候,一个相同的领域。 没有它,记录将持续一个小时(一天,一个日期),是无法伸展的. |
| `title` | 每录所出之言. 要求. |
| `colour` | 一个字段,其值为每个记录的颜色:同值,同色. 表示颜色本身的值( E)`#0f766e`)用如来. |
| `resource` | 每个记录与谁或什么,一个链接,一个选择,一个文本或一个整数:日视图对每个记录都有一栏,一个记录被拖到另一个一栏修改. |
| `views` | 所提出的意见如下: `day`, (中文(简体) ), `week`, (中文(简体) ), `month`, (中文(简体) ), `agenda`所有四个,除非说. |
| `view` | 它首先显示的是: `views` 除非说。 在电话里,它打开了议程. |
| `opens` | `calendar` 打开日历上的列表; `list` 在他的桌子上. |
| `firstDay` | 这周的第一天, `0` 周日到 `6` 星期六: " R " 为该区域开始,除非说:`firstWeekday`:页面属于自己,否则读者的浏览器用一个(一个)来要求页面的语言 `en` 页面读入 `en-EG`: 星期六, (笑声), `en-GB`:星期一),其他最通用语:阿拉伯语和波斯语的星期六;英语的星期日(英语:`en`乌尔都语、德语、法语、土耳其语和西班牙语. |
| `hours` | 白天和星期显示的时间, `0` 改为 `24`:8到20,除非说。 在他们外边的唱片会让他们伸展. |
| `slot` | 拖动的分数和一个分数 `15`, (中文(简体) ), `30` (除非说)或 `60`。 。 。 . |

**在一个区的时钟.** 日历在区域时钟上开始 字段名称 (`timeZone` 在日期和时间字段上),否则其页面 (单位:千美元)`"timeZone": "Europe/Berlin"`),或者读者自己的. 它的一周,今天 每一张唱片都保持了几个小时 现在的线是那个区域 不管它在哪里 从,它的短名 ("CEST") 的跨度,它不是 读取器本身; 按下一个插槽, 拖放, 伸展并移动到... 写即时 时间已经到来 记录的移动能保持持续的时间 换个钟表 时钟重现,时间是第一个 2;在他们跳过的时间,它已经过了变化(02:30是03:30).

页面检查拒绝页面缺少的字段或错误的字段, 结束 另一种,不是开始,a `view` 不属于 `views`时数 在他们开始之前就结束.

在标明记录的一页上(`"records": { "one": "appointment", "other": "appointments" }`),新说"新约",一档"一" 并输入"在那里重新预约".

## 一个人能做什么

-   **见** 周(日数相接,时数相接),日数相接(每行一列) 个人或房间,当页面名称 a `resource`,用于记录 ),整个星期的月份(加上"再加2"一天拥挤) 和议程, 开会的记录 如果列的宽度可以显示一个列的起步 名称; 过此句后, “+N more” 将打开全部列表。 整整一天 记录坐在一行 数小时。 现在有一个红线标记.
-   **移动** 通过拖到另一个时间、日或人的记录 **缩放** 它通过拖取它的下边缘。 拖曳时逃跑或 伸展后,在拖过空位时逃跑 没什么 移动立即被保存; **撤销** 把枪放回去.
-   **制作** 记录,按下一个空位——一个也走了: 选择了它,或者拖入它应该花的时间,或者与 **新设**: 在插槽上键位, 否则从现在开始下一次空闲时间 日历的时钟,圆为 `slot`,在其范围内 `hours`无 它的记录是(在所显示的期间内)的。 应用程序 `onNewRecord` 获得值(开始、结束、人物)。 没有它,观众打开记录的一页 从 `pages` 在对话中; 与两者都一样, 没有什么可以做出一个.
-   **打开** 按下记录,或 Enter: app's `onOpenRecord`作为 桌子的行打开它.
-   **密钥**:箭头键在天数和插槽之间移动(右倾到 ),“上下页”更改周;在空位上输入 记录在那里; 在记录中, Enter 打开它和 M( 或 Shift+F10) 打开 **移动到..**,一个小形式 对于它的一天, 它的时间和人。 它拒绝 从记录本身算起超过10年的一天(一年打入26个或 2062),并用动名后所取之词来表示变化之年. 当 记录留下了显示的日子, 钥匙站在 走向它的一天. 每个插槽和每个记录都向屏幕阅读器说明它是什么.

不能做的事情是隐藏的,永远不灰:没有 `save` 关于数据来源, 开始、结束或人物字段为 `readonly`,不移动;a 记录其列表行表示 `can: { edit: false }`,或将其开始、结束或 人员 `can.readonlyFields` 或者说 `can.hiddenFields`时,保持原地 说为什么(`can.reason`) (中文(简体) ).

## 数据来源

日历问 `list` 记录它显示的跨度,与列表的 自己的搜索 :

```ts
filter: [...search, { field: 'start', op: '<', value: spanEnd }, { any: [{ field: 'stop', op: '>', value: spanStart }, { field: 'start', op: '>=', value: spanStart }] }]
```

A 类 `date` 比较 `"2026-10-14"`页:1 `datetime` 作为ISO 瞬间 (单位:千美元)`toISOString()`),如日期部件写出。 时代是读者自己的; 他们自己的时区晚点来 移动电话 `save` 改为 字段单词,在 `changes.values` 内 `values`, (中文(简体) ), `fields` 单独命名 财务报告和审定财务报表 `partial: true` (还有这行) `version`,当列表给出了一个),所以 保存完整记录的源 。 撤销保存这些内容 原地也一样 被拒绝的保存会记录 回去说为什么 在日景中,链接的柱子是相关的 记录 `search` 发现(最多40个),除此之外还有记录.

## 设置

`calendarListViews({ labels, now, limit })`数字 :

-   `labels`: 日历上的单词,按语文分列(`CalendarLabels` 统统点名).
-   `now`: 此时此刻, 用于演示或测试.
-   `limit`: 最多需要多少个记录, 除非说。 过去 日历上说它漏掉了多少.

麻省理工学院有执照.

## 常见问题

### @fieldia/calendar 是什么？

Fieldia的日历:按日,周,月或作为日程排列的列表记录,每个人或房间的一栏,被拖放或从键盘上移动\. 仅在显示日历时装入 \.

### 如何安装 @fieldia/calendar？

在项目目录运行 npm install @fieldia/calendar，或使用 pnpm add / yarn add / bun add。

### @fieldia/calendar 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @fieldia/calendar 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @fieldia/calendar 可以商用吗？

@fieldia/calendar 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @fieldia/calendar 的下载量有多少？

根据 npm 官方下载统计，@fieldia/calendar 在 2026/10/15 – 2026/11/13 这 30 天内被下载 3,824 次，日均约 127 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @fieldia/calendar 还在维护吗？

最新版本 0\.36\.1 发布于 2026/10/28（17 天前）；至今共发布 24 个版本，其中过去 12 个月发布了 24 个；首次发布于 2026/10/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

