rj-grid 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +92 -0
- package/dist/rj-grid.js +14074 -0
- package/dist/style.css +2050 -0
- package/dist/types/index.d.ts +13 -0
- package/dist/types/src/RjAdvGroup.vue.d.ts +32 -0
- package/dist/types/src/RjAdvancedFilterDialog.vue.d.ts +38 -0
- package/dist/types/src/RjCell.vue.d.ts +82 -0
- package/dist/types/src/RjChartDialog.vue.d.ts +22 -0
- package/dist/types/src/RjColumnMenu.vue.d.ts +109 -0
- package/dist/types/src/RjConfirmDialog.vue.d.ts +23 -0
- package/dist/types/src/RjContextMenu.vue.d.ts +26 -0
- package/dist/types/src/RjEditor.vue.d.ts +28 -0
- package/dist/types/src/RjFilterMenu.vue.d.ts +58 -0
- package/dist/types/src/RjGrid.vue.d.ts +1046 -0
- package/dist/types/src/RjHeader.vue.d.ts +80 -0
- package/dist/types/src/RjImgList.vue.d.ts +29 -0
- package/dist/types/src/RjPager.vue.d.ts +41 -0
- package/dist/types/src/RjQueryBar.vue.d.ts +47 -0
- package/dist/types/src/RjRowFormDialog.vue.d.ts +50 -0
- package/dist/types/src/RjSlotRender.d.ts +56 -0
- package/dist/types/src/RjSparkline.vue.d.ts +43 -0
- package/dist/types/src/RjToolPanel.vue.d.ts +103 -0
- package/dist/types/src/RjViewManager.vue.d.ts +28 -0
- package/dist/types/src/editHistory.d.ts +27 -0
- package/dist/types/src/export.d.ts +24 -0
- package/dist/types/src/expression.d.ts +19 -0
- package/dist/types/src/filtering.d.ts +29 -0
- package/dist/types/src/formula.d.ts +88 -0
- package/dist/types/src/icons.d.ts +35 -0
- package/dist/types/src/locale.d.ts +21 -0
- package/dist/types/src/nlq.d.ts +51 -0
- package/dist/types/src/print.d.ts +37 -0
- package/dist/types/src/query.d.ts +28 -0
- package/dist/types/src/rowForm.d.ts +41 -0
- package/dist/types/src/serverGroups.d.ts +52 -0
- package/dist/types/src/ssrm.d.ts +102 -0
- package/dist/types/src/theme.d.ts +33 -0
- package/dist/types/src/types.d.ts +624 -0
- package/dist/types/src/useColumnState.d.ts +70 -0
- package/dist/types/src/useInteraction.d.ts +150 -0
- package/dist/types/src/useQueryViews.d.ts +16 -0
- package/dist/types/src/useRowModel.d.ts +225 -0
- package/dist/types/src/utils.d.ts +130 -0
- package/package.json +90 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
+
Object form, made available under the License, as indicated by a
|
|
37
|
+
copyright notice that is included in or attached to the work
|
|
38
|
+
(an example is provided in the Appendix below).
|
|
39
|
+
|
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
46
|
+
the Work and Derivative Works thereof.
|
|
47
|
+
|
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
|
49
|
+
the original version of the Work and any modifications or additions
|
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
|
+
|
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
64
|
+
subsequently incorporated within the Work.
|
|
65
|
+
|
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
|
72
|
+
|
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
78
|
+
where such license applies only to those patent claims licensable
|
|
79
|
+
by such Contributor that are necessarily infringed by their
|
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
82
|
+
institute patent litigation against any entity (including a
|
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
85
|
+
or contributory patent infringement, then any patent licenses
|
|
86
|
+
granted to You under this License for that Work shall terminate
|
|
87
|
+
as of the date such litigation is filed.
|
|
88
|
+
|
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
91
|
+
modifications, and in Source or Object form, provided that You
|
|
92
|
+
meet the following conditions:
|
|
93
|
+
|
|
94
|
+
(a) You must give any other recipients of the Work or
|
|
95
|
+
Derivative Works a copy of this License; and
|
|
96
|
+
|
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
|
98
|
+
stating that You changed the files; and
|
|
99
|
+
|
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
|
102
|
+
attribution notices from the Source form of the Work,
|
|
103
|
+
excluding those notices that do not pertain to any part of
|
|
104
|
+
the Derivative Works; and
|
|
105
|
+
|
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
|
108
|
+
include a readable copy of the attribution notices contained
|
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
|
111
|
+
of the following places: within a NOTICE text file distributed
|
|
112
|
+
as part of the Derivative Works; within the Source form or
|
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
|
114
|
+
within a display generated by the Derivative Works, if and
|
|
115
|
+
wherever such third-party notices normally appear. The contents
|
|
116
|
+
of the NOTICE file are for informational purposes only and
|
|
117
|
+
do not modify the License. You may add Your own attribution
|
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
120
|
+
that such additional attribution notices cannot be construed
|
|
121
|
+
as modifying the License.
|
|
122
|
+
|
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
|
124
|
+
may provide additional or different license terms and conditions
|
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
128
|
+
the conditions stated in this License.
|
|
129
|
+
|
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
133
|
+
this License, without any additional terms or conditions.
|
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
135
|
+
the terms of any separate license agreement you may have executed
|
|
136
|
+
with Licensor regarding such Contributions.
|
|
137
|
+
|
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
140
|
+
except as required for reasonable and customary use in describing the
|
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
142
|
+
|
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
|
152
|
+
|
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
|
158
|
+
incidental, or consequential damages of any character arising as a
|
|
159
|
+
result of this License or out of the use or inability to use the
|
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
162
|
+
other commercial damages or losses), even if such Contributor
|
|
163
|
+
has been advised of the possibility of such damages.
|
|
164
|
+
|
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
168
|
+
or other liability obligations and/or rights consistent with this
|
|
169
|
+
License. However, in accepting such obligations, You may act only
|
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
174
|
+
of your accepting any such warranty or additional liability.
|
|
175
|
+
|
|
176
|
+
END OF TERMS AND CONDITIONS
|
|
177
|
+
|
|
178
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
179
|
+
|
|
180
|
+
To apply the Apache License to your work, attach the following
|
|
181
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
182
|
+
replaced with your own identifying information. (Don't include
|
|
183
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
184
|
+
comment syntax for the file format. We also recommend that a
|
|
185
|
+
file or class name and description of purpose be included on the
|
|
186
|
+
same "printed page" as the copyright notice for easier
|
|
187
|
+
identification within third-party archives.
|
|
188
|
+
|
|
189
|
+
Copyright [yyyy] [name of copyright owner]
|
|
190
|
+
|
|
191
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
|
+
you may not use this file except in compliance with the License.
|
|
193
|
+
You may obtain a copy of the License at
|
|
194
|
+
|
|
195
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
196
|
+
|
|
197
|
+
Unless required by applicable law or agreed to in writing, software
|
|
198
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
199
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
|
+
See the License for the specific language governing permissions and
|
|
201
|
+
limitations under the License.
|
package/README.md
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# rj-grid
|
|
2
|
+
|
|
3
|
+
自研**零第三方依赖**的企业级数据网格(Vue 3 + TypeScript),功能规格对标 AG Grid:虚拟滚动、冻结列、行/列拖拽、分组透视、树形、编辑与撤销、公式引擎、SSRM 服务端行模型、主题与 i18n、打印/CSV/Excel 导出、离线自然语言查询(NLQ)。gzip 约 93 KB(不含 vue / echarts)。
|
|
4
|
+
|
|
5
|
+
本仓库是该组件的**独立维护仓**:源码、单测、构建链、演示 playground、使用手册都在这里;宿主项目(如 join-cloud-vue3)经 npm 的 git URL 安装产物,不参与组件开发。
|
|
6
|
+
|
|
7
|
+
## 仓库布局
|
|
8
|
+
|
|
9
|
+
| 路径 | 作用 |
|
|
10
|
+
|---|---|
|
|
11
|
+
| `index.ts` | 包入口(值导出 `RjGrid` + NLQ / 查询条件内核 + 全部公共类型) |
|
|
12
|
+
| `src/` | 组件与引擎源码(`src/types.ts` 是类型权威) |
|
|
13
|
+
| `__tests__/` | 346 个单测用例,入口 `__tests__/run.ts` |
|
|
14
|
+
| `build/rjDistCheck.mjs` | 产物体检五守卫(构建末尾自动跑) |
|
|
15
|
+
| `build/rjSizeReport.mjs` | 体积报告 |
|
|
16
|
+
| `vite.lib.config.ts` | 库构建:ESM 单文件 + 单 `style.css`,external `vue`/`echarts`,不出 sourcemap |
|
|
17
|
+
| `vite.playground.config.ts` | 演示页 dev/build,`rj-grid` 别名指本地 `index.ts` |
|
|
18
|
+
| `playground/` | 8 标签演示页(独立起服,不依赖宿主) |
|
|
19
|
+
| `docs/RjGrid使用手册.md` | 完整使用手册(能力、API、坑与边界) |
|
|
20
|
+
| `dist/` | 发布产物,**随库入库**(见「发布纪律」) |
|
|
21
|
+
|
|
22
|
+
## 快速上手(维护者)
|
|
23
|
+
|
|
24
|
+
```powershell
|
|
25
|
+
pnpm install
|
|
26
|
+
|
|
27
|
+
pnpm test # 单测 346 passed
|
|
28
|
+
pnpm ts # vue-tsc --noEmit(自有 tsconfig,无宿主基线噪声)
|
|
29
|
+
pnpm lint # eslint + stylelint
|
|
30
|
+
pnpm build # vite lib → vue-tsc 产 d.ts → 产物体检五守卫
|
|
31
|
+
pnpm size # 体积报告(可选)
|
|
32
|
+
|
|
33
|
+
pnpm dev # playground 演示页(默认 :5173,alias 走本地源码)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
改完源码的发布纪律:`pnpm build` → 让源码与 `dist/` 处在**同一个 commit** → 打 tag → push。
|
|
37
|
+
|
|
38
|
+
## 宿主接入(git URL)
|
|
39
|
+
|
|
40
|
+
```jsonc
|
|
41
|
+
// 宿主 package.json
|
|
42
|
+
"dependencies": {
|
|
43
|
+
"rj-grid": "git+https://gitee.com/rjding/rj-grid.git#v0.1.0"
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
样式**不要**在 JS 里裸引 `rj-grid/style.css`:pnpm 会把 git 依赖装进带 `#<commit>` 的目录名,vite 输出的资源 URL 含裸 `#`,浏览器把 `#` 之后当片段丢掉 → dev 下 404。改走一层 CSS 垫片:
|
|
48
|
+
|
|
49
|
+
```css
|
|
50
|
+
/* 宿主 src/styles/rjgrid/index.css */
|
|
51
|
+
@import 'rj-grid/style.css';
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
```ts
|
|
55
|
+
// 宿主 src/main.ts
|
|
56
|
+
import '@/styles/rjgrid/index.css'
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
组件侧必须是**值导入**(`RjGrid` 不走宿主的自动组件注册,只写 type 导入会在运行期报 `Failed to resolve component: rj-grid`):
|
|
60
|
+
|
|
61
|
+
```ts
|
|
62
|
+
import { RjGrid } from 'rj-grid'
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
peer 依赖:`vue ^3.4.0` 必装;`echarts >=5.0.0` 可选(仅「集成图表」用到,包内 `await import('echarts')` 动态加载)。注意宿主没装 echarts 时 `vite build` 会因 rollup 解析不到该动态 import 而失败——要么装上,要么宿主加 `build.rollupOptions.external: ['echarts']`;组件自身有降级,图表对话框会显示一行提示而非崩页。
|
|
66
|
+
|
|
67
|
+
## 升级与回滚
|
|
68
|
+
|
|
69
|
+
```powershell
|
|
70
|
+
pnpm update rj-grid # 跟到 URL 允许的最新 commit
|
|
71
|
+
pnpm install --force # 或改 #<tag> 后强制重装
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
lockfile 里记录的是具体 commit(`specifier` 存 tag,`resolution` 存 commit),因此 CI / 他人 `pnpm install --frozen-lockfile` 可精确复现。本地联调可把 URL 临时换成 `"link:../rjGrid"`,调完记得换回 git URL 并重装。
|
|
75
|
+
|
|
76
|
+
## 为什么 dist 入库
|
|
77
|
+
|
|
78
|
+
npm/pnpm 安装 git 依赖时按 `files` 字段(`["dist","README.md"]`)对仓库内容做 pack 式裁剪,**不会**在宿主机跑 `prepare` 重建。所以产物必须提交进仓库:只推源码不推 `dist/`,安装方会拿到空包。代价是 commit 里要带上产物,收益是安装期零工具链、跨机器结果一致。
|
|
79
|
+
|
|
80
|
+
`build/rjDistCheck.mjs` 的五道守卫同时在把关:外部 import 只允许 `vue`/`echarts`;CSS 不引宿主资源;d.ts 不断链;dist 不得混入 `.vue/.ts/.scss` 源码;**不得带 sourcemap**——vite 的 `.map` 内嵌 `sourcesContent`(原始源码),一发包等于源码同步外流,因此 `vite.lib.config.ts` 里 `sourcemap: false` 是源码保护而非可选项。
|
|
81
|
+
|
|
82
|
+
## 私有仓注意
|
|
83
|
+
|
|
84
|
+
本仓库为 gitee 私有仓时,安装方机器必须具备克隆凭据(HTTPS 走 credential manager 里的 gitee 账号,或改用有权限的部署密钥);CI 环境需预先注入凭据,否则 `pnpm install` 会卡在 git 认证。
|
|
85
|
+
|
|
86
|
+
## 文档
|
|
87
|
+
|
|
88
|
+
完整能力、API 与已知边界见 [docs/RjGrid使用手册.md](docs/RjGrid使用手册.md);`playground` 的 8 个标签既是能力地图也是回归入口。
|
|
89
|
+
|
|
90
|
+
## 赞助
|
|
91
|
+
码农不易,^V^
|
|
92
|
+

|