@meshmakers/octo-ui-legacy

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

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

中文使用文档
文档目录10 节
  1. 目的
  2. 构建和测试
  3. 体系结构
  4. 组件
  5. MmOctoTableComponent
  6. MmEntitySelectInputComponent
  7. 模型
  8. 依赖关系
  9. 迁移到octo-ui / shared-ui
  10. 文件和测试标准

@meshmakers / octo-ui-legacy

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

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

部分 @meshmakers 包的生态系统。

目的

此库为尚未迁移到基于剑道UI的应用程序提供了基于材料设计的UI组件 @meshmakers/octo-ui. 它包含了表格、面包屑、通知和实体选择组件的现代化Material Design版本。

构建和测试

# Build
npm run build:octo-ui-legacy

# Lint
npm run lint:octo-ui-legacy

此项目没有单元测试。

体系结构

octo-ui-legacy/
├── src/
│   ├── public-api.ts
│   └── lib/
│       ├── table/
│       │   ├── mm-octo-table.component.ts    # Data table
│       │   ├── mm-octo-table.component.html
│       │   ├── mm-octo-table.component.scss
│       │   └── mm-octo-table.model.ts        # Column/action models
│       ├── breadcrumb/
│       │   └── mm-breadcrumb.component.ts     # Breadcrumb navigation
│       ├── notification-bar/
│       │   └── mm-notification-bar.component.ts # Error snack bar
│       └── entity-select-input/
│           └── mm-entity-select-input.component.ts # Entity autocomplete

组件

组件选择器描述
MmOctoTableComponentmm-octo-table材料表与排序,分页,搜索,行动列,响应移动布局
MmBreadcrumbComponentmm-breadcrumb面包屑导航使用 BreadCrumbService
MmNotificationBarComponentmm-notification-bar错误通知通过材料小吃栏与自动解散
MmEntitySelectInputComponentmm-entity-select-input材质自动完成实体选择 ControlValueAccessor

MmOctoTableComponent

材料设计数据表与GraphQL数据源集成。

特点: 排序、分页、debounce搜索、菜单操作栏、响应式移动布局(959px下基于卡片)、工具栏操作、行选择。

输入:

输入类型描述
dataSourceAssetRepoGraphQlDataSourceGraphQL数据源
columnsColumnDefinition[]列定义(字符串或tablecoln)
actionColumnsActionColumn[]动作按钮列
optionActionsActionColumn[]下拉菜单操作
searchFilterColumnsstring[]要包含在搜索中的列
pageSizeOptionsnumber[]页面大小选项
defaultSortColumnstring默认排序字段
rowIsClickableboolean启用行单击事件

输出:

输出类型描述
rowClickedEventEmitter<any>在行单击时触发
actionColumnClickEventEmitter<{action, id, entry}>点击动作时触发
searchFilterStringUpdatedEventEmitter<string>在搜索文本更改时触发

MmEntitySelectInputComponent

材料自动完成输入实现 ControlValueAccessor, MatFormFieldControl, Validator.

特点: 去噪搜索(300ms),过滤前至少3个字符,加载旋转器,自动选择模糊与单一结果,前缀支持直接查找。

模型

模型描述
TableColumn列定义与displayName, dataKey, templateName, sortingDisabled
ColumnDefinition联合类型: string | TableColumn
ActionColumn带有displayText, actionId, iconName, svgIconName的动作按钮
ToolbarAction带有route, clickHandler, isDisabled, isHidden的工具栏动作

依赖关系

  • 角21 使用Angular Material和CDK
  • @meshmakers / octo-services (GraphQL数据源,dto)
  • @meshmakers /共享服务 (breadcrumservice, MessageService, EntitySelectDataSource)

迁移到octo-ui / shared-ui

遗产(材料)现代(剑道)
MmOctoTableComponentListViewComponent 从 @meshmakers/shared-ui
MmBreadcrumbComponentKendo Breadcrumb或自定义(在主机应用程序中)
MmNotificationBarComponentNotificationDisplayService 从 @meshmakers/shared-ui
MmEntitySelectInputComponentEntitySelectInputComponent 从 @meshmakers/shared-ui

文件和测试标准

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

版本与发布记录

@meshmakers/octo-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/octo-ui-legacy 的常见问题

@meshmakers/octo-ui-legacy 是什么?

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

如何安装 @meshmakers/octo-ui-legacy?

在项目目录运行 npm install @meshmakers/octo-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/router(^22.0.0)、@angular/material(^22.0.0)、@meshmakers/octo-services(*)、@meshmakers/shared-services(*)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@meshmakers/octo-ui-legacy 支持 TypeScript 吗?

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

@meshmakers/octo-ui-legacy 支持 ESM 还是 CommonJS?

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

@meshmakers/octo-ui-legacy 可以商用吗?

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

@meshmakers/octo-ui-legacy 还在维护吗?

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