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