@meshmakers/shared-ui-legacy

中文文档
3.5.550发布于 2026/11/02TypeScriptES Module

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

中文使用文档
文档目录10 节
  1. 目的
  2. 构建和测试
  3. 体系结构
  4. 组件
  5. 服务
  6. 基类和实用程序
  7. 模型
  8. 依赖关系
  9. 迁移到shared-ui
  10. 文件和测试标准

@meshmakers / shared-ui-legacy

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

注意: 对于新项目,使用 @meshmakers/shared-ui (基于剑道UI)。

部分 @meshmakers 包的生态系统。

目的

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

构建和测试

# 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()
MmSharedUiModuleNgModule与 forRoot() 对于传统的基于模块的应用程序

模型

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

依赖关系

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

迁移到shared-ui

遗产(材料)现代(剑道)
ConfirmationServiceConfirmationService 从 @meshmakers/shared-ui
ProgressWindowServiceProgressWindowService 从 @meshmakers/shared-ui
AbstractDetailsComponentBaseFormComponent 从 @meshmakers/shared-ui
CommonValidatorsAngular内置验证器或自定义验证器
MmSharedUiModule.forRoot()provideMmSharedUi()

文件和测试标准

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

版本与发布记录

@meshmakers/shared-ui-legacy 共发布 222 个版本,首次发布于 2026/02/23;过去 12 个月发布了 222 个版本。

版本发布日期距今
3.5.550latest2026/11/021 天前
3.5.5302026/11/012 天前
3.5.5202026/10/313 天前
3.5.5102026/10/303 天前
3.5.5002026/10/304 天前
3.5.4902026/10/304 天前

关于 @meshmakers/shared-ui-legacy 的常见问题

@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 和提交记录判断。