@meshmakers/octo-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. MmOctoTableComponent
  6. MmEntitySelectInputComponent
  7. Models
  8. Dependencies
  9. Migration to octo-ui / shared-ui
  10. Documentation and Testing Standards

@meshmakers/octo-ui-legacy

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

Note: For new projects, use @meshmakers/octo-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/octo-ui. It contains modernized Material Design versions of table, breadcrumb, notification, and entity selection components.

Build & Test

# Build
npm run build:octo-ui-legacy

# Lint
npm run lint:octo-ui-legacy

This project has no unit tests.

Architecture

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

Components

ComponentSelectorDescription
MmOctoTableComponentmm-octo-tableMaterial table with sorting, pagination, search, action columns, responsive mobile layout
MmBreadcrumbComponentmm-breadcrumbBreadcrumb navigation using BreadCrumbService
MmNotificationBarComponentmm-notification-barError notification via Material SnackBar with auto-dismiss
MmEntitySelectInputComponentmm-entity-select-inputMaterial Autocomplete for entity selection with ControlValueAccessor

MmOctoTableComponent

Material Design data table with GraphQL data source integration.

Features: Sorting, pagination, search with debounce, action columns with menus, responsive mobile layout (card-based under 959px), toolbar actions, row selection.

Inputs:

InputTypeDescription
dataSourceAssetRepoGraphQlDataSourceGraphQL data source
columnsColumnDefinition[]Column definitions (string or TableColumn)
actionColumnsActionColumn[]Action button columns
optionActionsActionColumn[]Dropdown menu actions
searchFilterColumnsstring[]Columns to include in search
pageSizeOptionsnumber[]Page size options
defaultSortColumnstringDefault sort field
rowIsClickablebooleanEnable row click events

Outputs:

OutputTypeDescription
rowClickedEventEmitter<any>Emitted on row click
actionColumnClickEventEmitter<{action, id, entry}>Emitted on action click
searchFilterStringUpdatedEventEmitter<string>Emitted on search text change

MmEntitySelectInputComponent

Material Autocomplete input implementing ControlValueAccessor, MatFormFieldControl, and Validator.

Features: Debounced search (300ms), min 3 chars before filtering, loading spinner, auto-select on blur with single result, prefix support for direct lookup.

Models

ModelDescription
TableColumnColumn definition with displayName, dataKey, templateName, sortingDisabled
ColumnDefinitionUnion type: string | TableColumn
ActionColumnAction button with displayText, actionId, iconName, svgIconName
ToolbarActionToolbar action with route, clickHandler, isDisabled, isHidden

Dependencies

  • Angular 21 with Angular Material and CDK
  • @meshmakers/octo-services (GraphQL data sources, DTOs)
  • @meshmakers/shared-services (BreadCrumbService, MessageService, EntitySelectDataSource)

Migration to octo-ui / shared-ui

Legacy (Material)Modern (Kendo)
MmOctoTableComponentListViewComponent from @meshmakers/shared-ui
MmBreadcrumbComponentKendo Breadcrumb or custom (in host app)
MmNotificationBarComponentNotificationDisplayService from @meshmakers/shared-ui
MmEntitySelectInputComponentEntitySelectInputComponent from @meshmakers/shared-ui

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