# @meshmakers/shared-ui-legacy 中文文档

规范地址：https://npmcn.com/package/%40meshmakers/shared-ui-legacy/

版本：3\.5\.550
npm 元数据更新时间：2026-11-01T19:22:06.215Z
中文译文更新时间：2026-11-01T21:52:08.987Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40meshmakers/shared-ui-legacy
原文对照：https://npmcn.com/package/%40meshmakers/shared-ui-legacy/?lang=original

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

- 包体积（解压后）：58.7 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- peer 依赖：@angular/cdk ^22\.0\.0，@angular/core ^22\.0\.0，@angular/forms ^22\.0\.0，@angular/common ^22\.0\.0，@angular/material ^22\.0\.0，@meshmakers/shared-services \*
- 首次发布：2026-02-22T21:01:27.725Z
- 最新版本发布：2026-11-01T19:22:06.068Z
- 已发布版本数：222（近 12 个月 222 个）

## 中文简介

遗留的Angular UI库 **角材料** 以向后兼容旧的OctoMesh应用程序。

## 安装

```sh
npm install @meshmakers/shared-ui-legacy
```

也可以使用：`pnpm add @meshmakers/shared-ui-legacy`、`yarn add @meshmakers/shared-ui-legacy`、`bun add @meshmakers/shared-ui-legacy`

## README

# @meshmakers / shared-ui-legacy

遗留的Angular UI库 **角材料** 以向后兼容旧的OctoMesh应用程序。

**注意：** 对于新项目，使用 `@meshmakers/shared-ui` （基于剑道UI）。

部分 [@meshmakers](https://www.npmjs.com/org/meshmakers) 包的生态系统。

## 目的

此库为尚未迁移到基于剑道UI的应用程序提供了基于材料设计的UI组件 `@meshmakers/shared-ui`． 它包含对话框服务、表单实用程序和基类，这些都是原始共享UI层的一部分。

## 构建和测试

```bash
# Build
npm run build:shared-ui-legacy

# Lint
npm run lint:shared-ui-legacy
```

此项目没有单元测试。

## 体系结构

```
shared-ui-legacy/
├── src/
│   ├── public-api.ts
│   └── lib/
│       ├── shared-ui-module/
│       │   └── mm-shared-ui-module.ts       # NgModule (backward compat)
│       ├── abstract-details/
│       │   └── abstract-details-component.ts # Base class for detail forms
│       ├── common-validators/
│       │   └── common-validators.ts          # Custom form validators
│       ├── confirmation/
│       │   ├── confirmation.model.ts         # Dialog types/enums
│       │   ├── confirmation.service.ts       # Dialog service (Material)
│       │   └── confirmation-dialog.component.ts
│       ├── progress-window/
│       │   ├── progress-value.ts             # Progress data model
│       │   ├── progress-window.component.ts  # Progress dialog
│       │   └── progress-window.service.ts    # Progress service
│       └── import-strategy/
│           └── import-strategy-dto.ts        # ImportStrategyDto enum
```

## 组件

| 组件 | 描述 |
| --- | --- |
| `ConfirmationDialogComponent` | 带有可配置按钮的材质对话框（是/否，确定/取消） |
| `ProgressWindowComponent` | 带有取消的确定/不确定进度对话框 |

## 服务

| 服务 | 描述 |
| --- | --- |
| `ConfirmationService` | 显示确认对话框（YesNo, YesNoCancel, OkCancel, Ok） |
| `ProgressWindowService` | 显示进度对话框（确定/不确定） |

## 基类和实用程序

| 类 | 描述 |
| --- | --- |
| `AbstractDetailsComponent<T>` | 基于表单的详细组件的通用基 |
| `CommonValidators` | 表单验证器: `phoneNumber()`， `httpUri()`， `ensureSameValue()`， `conditionalRequired()`， `dependentControls()` |
| `MmSharedUiModule` | NgModule与 `forRoot()` 对于传统的基于模块的应用程序 |

## 模型

| 模型 | 描述 |
| --- | --- |
| `DialogType` | Enum: YesNo、YesNoCancel、OkCancel、Ok |
| `ButtonTypes` | Enum: Ok, Cancel, Yes, No |
| `ConfirmationWindowData` | 对话框配置界面 |
| `ConfirmationWindowResult` | 带有按钮类型的对话框结果 |
| `ProgressValue` | 状态文本+进度百分比 |
| `ImportStrategyDto` | Enum: InsertOnly、Upsert |

## 依赖关系

-   **角21** 使用Angular Material和CDK
-   **@meshmakers /共享服务** (兄弟姐妹库)

## 迁移到shared-ui

| 遗产(材料) | 现代(剑道) |
| --- | --- |
| `ConfirmationService` | `ConfirmationService` 从 `@meshmakers/shared-ui` |
| `ProgressWindowService` | `ProgressWindowService` 从 `@meshmakers/shared-ui` |
| `AbstractDetailsComponent` | `BaseFormComponent` 从 `@meshmakers/shared-ui` |
| `CommonValidators` | Angular内置验证器或自定义验证器 |
| `MmSharedUiModule.forRoot()` | `provideMmSharedUi()` |

## 文件和测试标准

-   **所有开发人员文档必须用英语编写**
-   **每次代码更改都必须包含更新的文档** -更新自述文件。医学博士,克劳德。在添加、修改或删除功能时使用
-   **必须执行单元测试和集成测试** 每次代码更改之后
-   **必须更新现有的测试** 当被测试代码的行为发生变化时
-   **必须添加新的测试** 当实现新的特性、组件或服务时
-   永远不要提交测试失败的代码

## 常见问题

### @meshmakers/shared-ui-legacy 是什么？

遗留的Angular UI库 角材料 以向后兼容旧的OctoMesh应用程序。

### 如何安装 @meshmakers/shared-ui-legacy？

在项目目录运行 npm install @meshmakers/shared-ui-legacy，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@angular/cdk（^22\.0\.0）、@angular/core（^22\.0\.0）、@angular/forms（^22\.0\.0）、@angular/common（^22\.0\.0）、@angular/material（^22\.0\.0）、@meshmakers/shared-services（\*）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @meshmakers/shared-ui-legacy 支持 TypeScript 吗？

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

### @meshmakers/shared-ui-legacy 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @meshmakers/shared-ui-legacy 可以商用吗？

@meshmakers/shared-ui-legacy 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @meshmakers/shared-ui-legacy 还在维护吗？

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

