UI-Grid:一个 AngularJS 数据网格
需要帮助!
访问 http://ui-grid.info 获取文档和教程。加入 https://gitter.im/angular-ui/ui-grid 讨论开发并寻求具体帮助。
我们一直在寻找新的贡献者,对于专业级贡献指南请查看 Contributor.md,如果你是开源新手(或者需要复习),请查看 First Time Open Source Contributor.md,也可以查看 Developer.md
需要一些灵感?看看我们开放的 good first issue 问题,或者如果你想要更有挑战性的问题,可以查看 help wanted 问题
安装
Bower
bower install angular-ui-grid
<link rel="stylesheet" type="text/css" href="bower_components/angular-ui-grid/ui-grid.min.css">
<script src="bower_components/angular-ui-grid/ui-grid.min.js"></script>
NPM
npm install angular-ui-grid
<link rel="stylesheet" type="text/css" href="node_modules/angular-ui-grid/ui-grid.min.css">
<script src="node_modules/angular-ui-grid/ui-grid.min.js">
CDN
你可以使用 jsdelivr.com 的 cdn 链接访问文件。只需根据需要更改版本。
- https://cdn.jsdelivr.net/gh/angular-ui/bower-ui-grid/ui-grid.min.js
- https://cdn.jsdelivr.net/gh/angular-ui/bower-ui-grid/ui-grid.min.css
Angular 兼容性
UI-Grid 目前兼容 Angular 1.4.x 到 1.8.x 版本。
功能稳定性
UI-Grid 捆绑了几个功能。并非所有功能都是当前稳定的。请参阅以下列表了解每个功能的稳定性:
功能 | 发布状态 |
---|---|
auto-resize-grid (API) | beta |
cellnav (API) | 稳定 |
edit (API) | 稳定 |
expandable (API) | alpha |
exporter (API) | 稳定 |
grouping (API) | beta |
importer (API) | 稳定 |
infinite-scroll (API) | beta |
move-columns (API) | alpha |
pagination (API) | alpha |
pinning (API) | 稳定 |
resize-columns (API) | 稳定 |
row-edit (API) | 稳定 |
saveState (API) | 稳定 |
selection (API) | 稳定 |
tree-base (API) | beta |
tree-view (API) | beta |
有关功能的更多详细信息,请查看 教程。
插件
UI-Grid 有一个出色的插件系统。大多数新功能都可以作为插件添加。请参阅 开发者指南 中的一些讨论。 教程网站上有一个 已知插件列表。如果你想将你的插件添加到该列表中,请 编辑教程页面 并发送拉取请求。
构建
第一步是安装依赖项。需要 git
并且必须可以从命令行使用。如果你没有,请安装 git 并确保可执行文件在你的路径中。如果你是 git 新手,最简单的安装方法是安装 github 客户端。
还需要 grunt
命令行工具。
# 如果你还没有安装 grunt-cli:
> npm install -g grunt-cli
安装了 git
和 grunt-cli
后,只需运行以下命令即可安装所有依赖项。
> npm install
> grunt install
默认的 grunt 任务将测试并将文件构建到 dist/
中
> grunt
开发
开发"监视"任务。这将在源文件更改时自动重建,如果你更改了 Gruntfile.js,它将重新加载,并重建文档。
- 在 localhost:9002 上提供你检出的目录的服务器,带有实时重载。导航到 http://localhost:9002/misc/demo 查看 演示文件。
- 在 localhost:9003 上提供 ./docs 目录的服务器。这些是使用 grunt-uidocs-generator 从源代码构建的文档。
grunt dev
默认情况下,grunt dev
将启动几个 karma 后台观察器,这些观察器将针对多个版本的 angular 运行测试。你可以使用 --angular
标志指定要使用的版本:
> grunt dev --angular=1.6.7
> grunt dev --angular=1.5.11,1.6.7
你还可以使用 --browsers
指定要测试的浏览器(默认为 ChromeHeadless)。
> grunt dev --browsers=Chrome
# 针对多个浏览器运行单次测试
> grunt karma:single --browsers=Chrome,Firefox,IE
默认情况下,dev
任务使用 protractor 运行 e2e 测试。如果你遇到它们运行缓慢或挂起的问题,可以使用 --no-e2e
标志禁用它们:
> grunt dev --no-e2e
随着测试主体变大,grunt 任务正在变慢。如果你只在核心功能上工作,可以使用 --core
标志禁用功能的单元测试:
> grunt dev --core
作为开发人员经常使用的选项的快捷方式,还有一个 --fast
标志,相当于 --core --no-e2e --angular=<latest>
:
> grunt dev --fast
Karmangular
karmangular
任务针对多个浏览器连续运行测试(它在内部由 dev
任务使用)。
# 在 Chrome 上针对所有可用版本的 Angular 运行测试
> grunt karmangular --browsers=Chrome
# 使用几个版本的 Angular 针对默认的 ChromeHeadless 浏览器运行测试
> grunt karmangular --angular=1.5.11,1.6.7
SauceLabs
ui-grid 设置为在 SauceLabs 上运行。你必须设置 SAUCE_ACCESS_KEY
环境变量。
# 在 IE8 上针对几个版本的 angular 执行测试
> grunt karmangular --angular=1.5.11,1.6.7 --browsers=SL_IE_8
# 在 IE10 上运行监视任务
> grunt dev --browsers=SL_IE10
运行 grunt saucebrowsers
可以看到 SauceLabs 浏览器的完整列表。通常让 Travis 自动进行这种测试就足够了,除非你试图调试特定于浏览器的问题。
2.x 发生了什么?
从 3.0 版本开始,2.x 正式废弃。不会有进一步的发布。如果由于某些原因你需要找到 2.x 源代码,请参阅 2.x 分支。
2.x 文档在这里:https://github.com/angular-ui/ng-grid-legacy/wiki。
仓库重命名
随着 3.0 版本的发布,仓库已从 "ng-grid" 重命名为 "ui-grid"。
所有到 GitHub 的网络流量应该会自动重定向,但他们说你应该更新你的 git 远程 url:
git remote set-url origin https://github.com/angular-ui/ui-grid.git
感谢
感谢 Sauce Labs 和 BrowserStack 免费为开源项目提供他们的测试平台。
支持者
通过每月捐赠支持我们,帮助我们继续我们的活动。[成为支持者]
赞助商
成为赞助商,在我们的网站和 Github 上的 README 中展示您的徽标,并链接到您的网站。[成为赞助商]