Angular 撤销重做历史存储 | ng-hub-ui-history
Angular 撤销和重做历史存储,提供对 Signals 友好的 API、事务、限制以及响应式表单支持。
API 参考
这里是 history 的完整契约:你可以绑定、监听、投影和设置主题的一切,都集中在一处。接入你需要的部分,自定义你想要的样式——它是 standalone 的,且对 signal 友好。
输入
通过 4 个输入项精细调校 history。像绑定任意 Angular @Input 一样绑定它们。
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
createHistoryStore(config) | HistoryStoreConfig<T, K> | — | 创建一个基于 Signals 的存储,可选地设置限制以及自定义 diff/patch 函数。 |
registerObject(id, initialState)必填 | (id: K, initialState: T) => void | — | 注册对象的基础状态,并为该键启动线性历史记录。 |
commit(id, newState, options?)必填 | (id: K, state: T, options?: { label?: string }) => boolean | — | 存储 diff 补丁;若指针不在末尾,则使重做分支失效。 |
watchForm(id, form, options?) | (id: K, form: FormGroup, options?: WatchFormOptions) => () => void | — | 自动提交表单值的变化,并返回取消订阅的回调。 |
输出
响应 history 的行为——有 1 个事件可供你挂接逻辑。
| 名称 | 类型 | 描述 |
|---|---|---|
states | Signal<Map<K, T>> | 响应式 signal 映射,按对象 id 保存当前的不可变快照。 |
模板
尚未记录任何模板。
CSS 变量
尚未记录任何 CSS 变量。
样式与主题
尚未记录任何样式示例。本节将包含自定义方案和主题示例。