# ng-componets-ui
**Repository Path**: blind181/ng-componets-ui
## Basic Information
- **Project Name**: ng-componets-ui
- **Description**: ng1.x 自建ui 库
- **Primary Language**: Unknown
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-10-19
- **Last Updated**: 2026-06-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ng-components-ui
基于 AngularJS 1.x 的通用组件库
## 组件列表
### 1. 确认对话框 (Confirm Dialog)
一个功能丰富的确认对话框组件。
**功能特性:**
- 支持多种对话框类型(信息、成功、警告、危险)
- 自定义标题和内容
- 可配置按钮文本和回调
- 支持HTML内容
- 优雅的动画效果
**使用示例:**
```javascript
angular.module('app', ['ngConfirm'])
.controller('MyController', function($scope, $confirm) {
$scope.showConfirm = function() {
$confirm.show({
title: '确认操作',
content: '您确定要执行此操作吗?',
type: 'warning',
okText: '确定',
cancelText: '取消'
}).then(function() {
// 用户点击确定
console.log('确认');
}, function() {
// 用户点击取消
console.log('取消');
});
};
});
```
### 2. 多级树选择 (Multi-Level Tree)
支持无限层级的树形选择组件。
**功能特性:**
- 支持无限层级的树形结构
- 单选/多选模式
- 级联选择(选中父节点自动选中所有子节点)
- 父节点简化模式(选中所有子节点时只返回父节点ID)
- 半选状态显示
- 自定义ID和标签字段
- 流畅的展开/折叠动画
**使用示例:**
```html
```
```javascript
angular.module('app', ['ngConfirm'])
.controller('MyController', function($scope) {
$scope.disablePreview = false;
});
```
```html
```
**参数说明:**
| 参数 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| preview-src | String | `img` 的 `src` | 预览时使用的高清大图地址 |
| preview-title | String | `img` 的 `title` | 预览对话框底部文案 |
| preview-alt | String | `img` 的 `alt` | 预览图片的 `alt` 属性 |
| preview-disabled | Boolean | false | 是否禁用预览功能 |
### 6. 富文本编辑器 (TinyMCE)
使用 TinyMCE 封装的富文本编辑器组件,支持快速按需加载与自定义配置。
**功能特性:**
- 默认按需从 CDN 加载 TinyMCE,亦可自定义脚本与资源地址
- 暴露完整 TinyMCE 配置对象,可配置插件、工具栏、语言等
- 与 `ngModel` 双向绑定,支持禁用态和初始化回调
- 自动同步外部值变化,并在配置变更后重新构建实例
- 通过 `readonly-config` 为只读模式提供预览、全屏等个性化工具栏
- 可选的 `image-preview-enabled` 让编辑器内图片支持 Ant Design 风格的“双击查看大图”:包含放大/缩小、旋转、镜像、重置等操作,且不修改原始内容;同时支持 `data-preview-src` 指定高清图
- 通过 `language` 属性可快速在中英文之间切换;当设置为 `zh_CN` 且未自定义 `language_url` 时,会自动使用官方中文语言包 CDN
**使用示例:**
```html
```
```javascript
angular.module('app', ['ngComponents'])
.controller('ArticleEditorCtrl', function($scope) {
$scope.article = {
content: '
欢迎使用 TinyMCE 富文本组件。
' }; $scope.tinymceOptions = { plugins: 'lists link image table code fullscreen', toolbar: 'undo redo | bold italic underline | bullist numlist | link image | code fullscreen', height: 360 }; $scope.tinymceReadonlyConfig = { toolbar: 'preview fullscreen', plugins: 'fullscreen preview', menubar: false }; $scope.enableTinymceImagePreview = true; $scope.handleEditorInit = function(editor) { console.log('TinyMCE ready', editor.id); }; }); ``` **参数说明:** | 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | ng-model | String | - | 双向绑定的 HTML 内容 | | config | Object | `{ menubar: false, plugins: 'lists link image table code fullscreen', ... }` | TinyMCE 初始化配置,支持覆盖所有官方参数 | | placeholder | String | - | 未输入时显示的占位文本 | | disabled | Boolean | false | 是否只读 | | readonly-config | Object / Boolean | - | 只读模式下的额外配置;对象可包含 TinyMCE 配置项以及 `preserveToolbar`(默认 `true`);传 `true` 使用内置预览+全屏工具栏 | | image-preview-enabled | Boolean | false | 是否启用编辑器内图片双击预览大图功能(不改变富文本内容,使用独立浮层展示) | | language | String | - | 编辑器语言标识,例如 `'en'` / `'zh_CN'`;实际语言包加载建议通过 npm 引入对应的 TinyMCE 语言文件(如 `tinymce-i18n` 包)或在项目构建中自行处理,不在组件内部依赖在线 CDN | | on-init | Function | - | 初始化完成回调,接收 `$editor` 实例 | > 预览大图支持在富文本图片节点上添加 `data-preview-src`(或 `preview-src`)及 `data-preview-title`(或 `preview-title`),双击时会优先使用这些属性。 ## 安装 ```bash npm install ``` ## 开发 ```bash npm run dev ``` 浏览器访问 `http://localhost:8080/demo/index.html` 查看组件演示;也可直接打开 `http://localhost:8080/demo/angular-strap.html` 体验 Angular-Strap 全组件示例。 ## 构建 ```bash npm run build ``` 构建后的文件位于 `dist/` 目录。 ## 在项目中使用 1. 引入构建后的文件: ```html ``` 2. 在AngularJS模块中注入依赖: ```javascript angular.module('yourApp', ['ngConfirm']); ``` 3. 使用组件: ```javascript // 确认对话框 $confirm.show({ title: '提示', content: '确认删除吗?', type: 'danger' }).then(function() { // 确认操作 }); // 树选择