@meshmakers/shared-ui-legacy

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

Legacy Angular UI library based on Angular Material for backward compatibility with older OctoMesh applications.

原始使用文档
文档目录10 节
  1. Purpose
  2. Build & Test
  3. Architecture
  4. Components
  5. Services
  6. Base Classes & Utilities
  7. Models
  8. Dependencies
  9. Migration to shared-ui
  10. Documentation and Testing Standards

@meshmakers/shared-ui-legacy

Legacy Angular UI library based on Angular Material for backward compatibility with older OctoMesh applications.

Note: For new projects, use @meshmakers/shared-ui (Kendo UI based) instead.

Part of the @meshmakers package ecosystem.

Purpose

This library provides Material Design-based UI components for applications that have not yet migrated to the Kendo UI based @meshmakers/shared-ui. It contains dialog services, form utilities, and base classes that were part of the original shared UI layer.

Build & Test

# Build
npm run build:shared-ui-legacy

# Lint
npm run lint:shared-ui-legacy

This project has no unit tests.

Architecture

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

Components

ComponentDescription
ConfirmationDialogComponentMaterial Dialog with configurable buttons (Yes/No, Ok/Cancel)
ProgressWindowComponentDeterminate/indeterminate progress dialog with cancel

Services

ServiceDescription
ConfirmationServiceShow confirmation dialogs (YesNo, YesNoCancel, OkCancel, Ok)
ProgressWindowServiceShow progress dialogs (determinate/indeterminate)

Base Classes & Utilities

ClassDescription
AbstractDetailsComponent<T>Generic base for form-based detail components
CommonValidatorsForm validators: phoneNumber(), httpUri(), ensureSameValue(), conditionalRequired(), dependentControls()
MmSharedUiModuleNgModule with forRoot() for legacy module-based apps

Models

ModelDescription
DialogTypeEnum: YesNo, YesNoCancel, OkCancel, Ok
ButtonTypesEnum: Ok, Cancel, Yes, No
ConfirmationWindowDataDialog configuration interface
ConfirmationWindowResultDialog result with button type
ProgressValueStatus text + progress percentage
ImportStrategyDtoEnum: InsertOnly, Upsert

Dependencies

  • Angular 21 with Angular Material and CDK
  • @meshmakers/shared-services (sibling library)

Migration to shared-ui

Legacy (Material)Modern (Kendo)
ConfirmationServiceConfirmationService from @meshmakers/shared-ui
ProgressWindowServiceProgressWindowService from @meshmakers/shared-ui
AbstractDetailsComponentBaseFormComponent from @meshmakers/shared-ui
CommonValidatorsAngular built-in validators or custom
MmSharedUiModule.forRoot()provideMmSharedUi()

Documentation and Testing Standards

  • All developer documentation must be written in English
  • Every code change must include updated documentation — update README.md, CLAUDE.md, or inline docs when adding, modifying, or removing features
  • Unit tests and integration tests must be executed after every code change
  • Existing tests must be updated when the behavior of tested code changes
  • New tests must be added when new features, components, or services are implemented
  • Never commit code with failing tests

版本与发布记录

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