fantasy-ngzorro 2.1.61 → 2.1.63
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/README.md +83 -9
- package/bundles/fantasy-ngzorro.umd.js +1310 -121
- package/bundles/fantasy-ngzorro.umd.js.map +1 -1
- package/bundles/fantasy-ngzorro.umd.min.js +2 -2
- package/bundles/fantasy-ngzorro.umd.min.js.map +1 -1
- package/esm2015/fantasy-ngzorro.js +8 -8
- package/esm2015/hd-detail-form/hd-detail-form.component.js +207 -9
- package/esm2015/hd-detail-lines-page/hd-detail-lines-page.component.js +11 -5
- package/esm2015/hd-form-lines/hd-form-lines.component.js +407 -10
- package/esm2015/hd-form-lines/hd-form-lines.module.js +4 -2
- package/esm2015/hd-form-lines/hd-form-lines.service.js +23 -1
- package/esm2015/hd-table/hd-table.component.js +235 -10
- package/esm2015/hd-table/hd-table.service.js +25 -3
- package/esm2015/hd-tip/hd-tip.component.js +69 -9
- package/esm2015/index.js +2 -2
- package/esm2015/model/colWidth.js +58 -19
- package/esm2015/model/common-type.js +11 -1
- package/esm2015/public-api.js +2 -2
- package/esm5/fantasy-ngzorro.js +8 -8
- package/esm5/hd-detail-form/hd-detail-form.component.js +266 -9
- package/esm5/hd-detail-lines-page/hd-detail-lines-page.component.js +11 -5
- package/esm5/hd-form-lines/hd-form-lines.component.js +465 -10
- package/esm5/hd-form-lines/hd-form-lines.module.js +4 -2
- package/esm5/hd-form-lines/hd-form-lines.service.js +31 -1
- package/esm5/hd-table/hd-table.component.js +309 -10
- package/esm5/hd-table/hd-table.service.js +25 -3
- package/esm5/hd-tip/hd-tip.component.js +86 -9
- package/esm5/index.js +2 -2
- package/esm5/model/colWidth.js +58 -19
- package/esm5/model/common-type.js +11 -1
- package/esm5/public-api.js +2 -2
- package/fantasy-ngzorro.d.ts +6 -6
- package/fantasy-ngzorro.metadata.json +1 -1
- package/fesm2015/fantasy-ngzorro.js +1072 -96
- package/fesm2015/fantasy-ngzorro.js.map +1 -1
- package/fesm5/fantasy-ngzorro.js +1299 -111
- package/fesm5/fantasy-ngzorro.js.map +1 -1
- package/hd-detail-form/hd-detail-form.component.d.ts +26 -1
- package/hd-form-lines/hd-form-lines.component.d.ts +42 -2
- package/hd-form-lines/hd-form-lines.service.d.ts +6 -0
- package/hd-table/hd-table.component.d.ts +36 -0
- package/hd-table/hd-table.service.d.ts +19 -1
- package/hd-tip/hd-tip.component.d.ts +14 -4
- package/model/colWidth.d.ts +38 -15
- package/model/common-type.d.ts +6 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -37,6 +37,15 @@
|
|
|
37
37
|
| — | 2026-5-20 | 补充 hd-table、hd-detail-lines-page 等组件;完善公共子类型(SelectOption、FormItem 等)文档 |
|
|
38
38
|
| — | 2026-9-18 | `hd-form-lines` 选中回显(nzHide)认 `showLabelAndValue`,与下拉 `[value]label` 一致(对齐 `hd-form`) |
|
|
39
39
|
| — | 2026-9-18 | `hd-detail-lines-page` 对齐 `hd-table` 支持虚拟滚动(`virtualScroll` / `virtualItemSize`);千行勾选时减少 DOM 卡顿 |
|
|
40
|
+
| — | 2026-9-21 | hd-table 列支持 `rowNo`:字段值后竖线展示行号,前面字段仍可超链接 |
|
|
41
|
+
| — | 2026-9-22 | `hd-form-lines` 支持列设置(`showColSettings` 默认开):仅非 hide 的 ViewDom 可显隐,禁止调序;可选 `uuid` 缓存 |
|
|
42
|
+
| — | 2026-9-22 | `hd-tip` 支持右侧展开/收起(`showCollapse` / `[(expanded)]`),暴露 `expand` / `collapse` / `toggle` 供父组件控制其它区块 |
|
|
43
|
+
| — | 2026-9-22 | `hd-form-lines` 勾选提示改为 `tableTotal` 插槽(同 hd-table),组件内不再默认渲染已选中块 |
|
|
44
|
+
| — | 2026-9-22 | `hd-table` / `hd-detail-form` 字段值后支持编辑笔图标(`editable` + `edit` 回调,图标对齐 Figma) |
|
|
45
|
+
| — | 2026-9-22 | `hd-table` 支持 `pagination` / `frontPagination`:全量 `content` 可「不分页展示」或「前端切片分页」,列表默认仍为服务端分页 |
|
|
46
|
+
| — | 2026-9-21 | hd-table 列 `color` 支持函数,按行给某一个字段标红 |
|
|
47
|
+
| — | 2026-9-20 | hd-detail-form 附件图片:最多展示 4 张,超出末张蒙版 `+n`;弹窗预览支持左右翻页 |
|
|
48
|
+
| — | 2026-9-20 | hd-detail-form 附件图片点击弹窗预览大图(不再 `window.open`) |
|
|
40
49
|
| — | 2026-9-20 | hd-detail-form 支持附件图片字段(`HdDetailFormFieldType.Accessory`,Figma 48×48 缩略图横排,不复用 hd-accessory-list) |
|
|
41
50
|
| — | 2026-9-17 | hd-table / hd-detail-lines / hd-detail-lines-page 支持 `selectDisabledField` / `rowInvalidField`:按行字段控制勾选禁用、失效行样式 |
|
|
42
51
|
| — | 2026-9-14 | 新增 `hd-accessory-list` 附件列表组件(分组 name + accessoryList,点击下载/查看) |
|
|
@@ -147,6 +156,13 @@
|
|
|
147
156
|
```html
|
|
148
157
|
<hd-tip title="基本信息" [fontSize]="14"></hd-tip>
|
|
149
158
|
<hd-tip title="新增" [showIcon]="false" [fontSize]="16"></hd-tip>
|
|
159
|
+
|
|
160
|
+
<!-- 右侧展开/收起:父组件控制其它区块显隐 -->
|
|
161
|
+
<hd-tip #basicTip title="基本信息" showCollapse [(expanded)]="showBasicBlock"></hd-tip>
|
|
162
|
+
<div *ngIf="showBasicBlock">…其它内容…</div>
|
|
163
|
+
|
|
164
|
+
<!-- 或 ViewChild 调用 -->
|
|
165
|
+
<!-- this.basicTip.expand() / collapse() / toggle() -->
|
|
150
166
|
```
|
|
151
167
|
|
|
152
168
|
| 参数 | 类型 | 默认值 | 说明 |
|
|
@@ -154,6 +170,19 @@
|
|
|
154
170
|
| title | string | — | 标题文案 |
|
|
155
171
|
| showIcon | boolean | true | 是否显示左侧竖线 |
|
|
156
172
|
| fontSize | number | — | 字体大小 |
|
|
173
|
+
| showCollapse | boolean | false | 是否在右侧显示展开/收起 |
|
|
174
|
+
| expanded | boolean | true | 当前是否展开;可 `[(expanded)]` 双向绑定 |
|
|
175
|
+
| expandedChange | EventEmitter\<boolean\> | — | 展开状态变化 |
|
|
176
|
+
|
|
177
|
+
#### 暴露方法(ViewChild)
|
|
178
|
+
|
|
179
|
+
| 方法 | 说明 |
|
|
180
|
+
| ---- | ---- |
|
|
181
|
+
| expand() | 展开,并触发 `expandedChange` |
|
|
182
|
+
| collapse() | 收起,并触发 `expandedChange` |
|
|
183
|
+
| toggle() | 切换,并触发 `expandedChange` |
|
|
184
|
+
|
|
185
|
+
`hd-tip` 本身不包裹内容块,由父组件根据 `expanded` / 方法结果自行控制其它区域的 `*ngIf` 等显隐。
|
|
157
186
|
|
|
158
187
|
---
|
|
159
188
|
|
|
@@ -269,8 +298,10 @@ search(reset = false) {
|
|
|
269
298
|
|
|
270
299
|
| 参数 | 类型 | 默认值 | 说明 |
|
|
271
300
|
| ---- | ---- | ------ | ---- |
|
|
272
|
-
| tableData | Page\<any\> | — |
|
|
273
|
-
|
|
|
301
|
+
| tableData | Page\<any\> | — | 分页数据;非分页时 `content` 放全量,`totalElements` 建议等于 `content.length` |
|
|
302
|
+
| pagination | boolean | true | 是否显示分页;`false` 时一次展示全部 `content` |
|
|
303
|
+
| frontPagination | boolean | false | 前端分页:对 `content` 全量切片,翻页不触发 `tableSearchEvent`。详情全量数据时与 `pagination` 搭配:`pagination=false` 全展示,`pagination=true` + `frontPagination` 前端分页。列表服务端分页保持默认即可(`frontPagination` 不传) |
|
|
304
|
+
| tablePageIndex | number | 1 | 当前页(双向绑定);`pagination=false` 时无意义 |
|
|
274
305
|
| tablePageSize | number | 10 | 每页条数(双向绑定) |
|
|
275
306
|
| tableLoading | boolean | false | 加载状态 |
|
|
276
307
|
| tableSearchEvent | EventEmitter | — | 翻页 / 改 pageSize 触发,参数 reset 表示是否重置到第一页 |
|
|
@@ -352,9 +383,11 @@ tableCols: HdTableColumn[] = [{
|
|
|
352
383
|
| 参数 | 类型 | 默认值 | 说明 |
|
|
353
384
|
| ---- | ---- | ------ | ---- |
|
|
354
385
|
| tableCols | HdTableColumn[] | [] | 列配置 |
|
|
355
|
-
| tableData | Page\<any\> | — |
|
|
356
|
-
|
|
|
357
|
-
|
|
|
386
|
+
| tableData | Page\<any\> | — | 数据;服务端分页时为当前页;全量场景 `content` 放全部行 |
|
|
387
|
+
| pagination | boolean | true | 是否显示分页;`false` 一次展示全部 `content` |
|
|
388
|
+
| frontPagination | boolean | false | 前端分页:对 `content` 切片,翻页不触发 `tableSearchEvent`。详情全量数据:`[pagination]="x" frontPagination`,切 `x` 即可在「全展示 / 前端分页」间切换。列表保持默认(不传)即为服务端分页 |
|
|
389
|
+
| tablePageIndex | number | 1 | 当前页(双向绑定);`pagination=false` 时可忽略 |
|
|
390
|
+
| tablePageSize | number | 100 | 每页条数(双向绑定);外面传入会覆盖默认值;非分页时可忽略 |
|
|
358
391
|
| tableLoading | boolean | false | 加载状态 |
|
|
359
392
|
| tableSearchEvent | EventEmitter | — | 翻页查询 |
|
|
360
393
|
| tablePageSizeChange | EventEmitter | — | pageSize 双向绑定同步 |
|
|
@@ -375,7 +408,24 @@ tableCols: HdTableColumn[] = [{
|
|
|
375
408
|
| uuid | string | — | 列缓存唯一标识(必填,用于 IndexedDB 缓存) |
|
|
376
409
|
| tableLeftButton / tableRightButton / tableTotal | TemplateRef | — | 工具栏插槽 |
|
|
377
410
|
|
|
378
|
-
分页可选条数:`10 / 50 / 100 / 200 / 500 / 1000`。若本地缓存过该表 `pageSize` 且 `> 10
|
|
411
|
+
分页可选条数:`10 / 50 / 100 / 200 / 500 / 1000`。若本地缓存过该表 `pageSize` 且 `> 10`,初始化会优先使用缓存值并回写父组件(仅 `pagination=true`)。
|
|
412
|
+
|
|
413
|
+
非分页示例:
|
|
414
|
+
|
|
415
|
+
```html
|
|
416
|
+
<!-- 不分页:一次展示全部 -->
|
|
417
|
+
<hd-table [pagination]="false" frontPagination
|
|
418
|
+
[tableCols]="cols" [tableData]="linesPage" uuid="detail-lines-uuid"></hd-table>
|
|
419
|
+
|
|
420
|
+
<!-- 前端分页:对全量 content 切片 -->
|
|
421
|
+
<hd-table [pagination]="true" frontPagination [tablePageSize]="10"
|
|
422
|
+
[tableCols]="cols" [tableData]="linesPage" uuid="detail-lines-uuid"></hd-table>
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
```typescript
|
|
426
|
+
// content 放全量;totalElements 建议与 content.length 一致
|
|
427
|
+
linesPage = { content: lines, totalElements: lines.length };
|
|
428
|
+
```
|
|
379
429
|
|
|
380
430
|
#### HdTableColumn 配置
|
|
381
431
|
|
|
@@ -480,6 +530,7 @@ formChangeEvent(validateForm: FormGroup) {
|
|
|
480
530
|
|
|
481
531
|
```html
|
|
482
532
|
<hd-form-lines #hdFormLines showSearch showCheckbox showKeyboardOperateTip
|
|
533
|
+
uuid="demo-form-lines-col-settings"
|
|
483
534
|
[formLines]="formLines" [formLinesData]="formLinesData"
|
|
484
535
|
[operateButtons]="['add', 'copy', 'delete']" [allowEmpty]="false"
|
|
485
536
|
(changeEvent)="formLinesChangeEvent($event)"
|
|
@@ -491,6 +542,17 @@ formChangeEvent(validateForm: FormGroup) {
|
|
|
491
542
|
<ng-template #formLinesRightButton>
|
|
492
543
|
<hd-button type="default">右侧操作</hd-button>
|
|
493
544
|
</ng-template>
|
|
545
|
+
<!-- 勾选提示等同 hd-table 的 tableTotal,放在表格上方 -->
|
|
546
|
+
<ng-template #tableTotal>
|
|
547
|
+
<nz-alert *ngIf="hdFormLines.getSelectedCount() > 0" nzType="info"
|
|
548
|
+
[nzMessage]="formLinesAlertTpl" nzShowIcon></nz-alert>
|
|
549
|
+
<ng-template #formLinesAlertTpl>
|
|
550
|
+
<span>已选择{{ hdFormLines.getSelectedCount() }}条数据</span>
|
|
551
|
+
<span class="common-btn-group">
|
|
552
|
+
<a (click)="hdFormLines.clearSelection()">清空</a>
|
|
553
|
+
</span>
|
|
554
|
+
</ng-template>
|
|
555
|
+
</ng-template>
|
|
494
556
|
<ng-template #ViewDomRightTemplate let-formItem="formItem" let-formLine="formLine">
|
|
495
557
|
<!-- ViewDom 列右侧自定义内容 -->
|
|
496
558
|
</ng-template>
|
|
@@ -505,6 +567,8 @@ formChangeEvent(validateForm: FormGroup) {
|
|
|
505
567
|
| showDeleteConfirm | boolean | false | 删除前确认 |
|
|
506
568
|
| showSearch | boolean | false | 行内搜索 |
|
|
507
569
|
| showCheckbox | boolean | false | 行勾选列(用于批量操作) |
|
|
570
|
+
| showColSettings | boolean | true | 是否展示列设置(齿轮,位置同 hd-table);仅 **非 hide 的 ViewDom** 可配置显示/隐藏,**不可拖拽调序** |
|
|
571
|
+
| uuid | string | — | 列设置缓存标识;有值时按用户+路由持久化到 IndexedDB |
|
|
508
572
|
| showKeyboardOperateTip | boolean | false | 键盘操作提示 |
|
|
509
573
|
| showLineNumber | boolean | true | 序号列 |
|
|
510
574
|
| tableLoading | boolean | false | 加载状态 |
|
|
@@ -523,6 +587,7 @@ formChangeEvent(validateForm: FormGroup) {
|
|
|
523
587
|
| ---- | ---- |
|
|
524
588
|
| formLinesLeftButton | 工具栏左侧自定义按钮(同 hd-table 的 tableLeftButton) |
|
|
525
589
|
| formLinesRightButton | 工具栏右侧自定义按钮 |
|
|
590
|
+
| tableTotal | 表格上方自定义区域(同 hd-table);勾选提示等由业务自行放入,组件内不再默认渲染 |
|
|
526
591
|
| ViewDomRightTemplate | ViewDom 列右侧自定义模板,上下文:`formItem`、`formLine` |
|
|
527
592
|
|
|
528
593
|
### allowEmpty 行为
|
|
@@ -611,9 +676,10 @@ formCols: HdOption[] = [
|
|
|
611
676
|
|
|
612
677
|
附件字段 `type: HdDetailFormFieldType.Accessory`(或 `'accessory'`):
|
|
613
678
|
|
|
614
|
-
- 对齐 Figma `items/description-cell`「图片」:标签 + **48×48** 缩略图横排(间距 6px,边框 `#E5E6EB`,圆角 4px
|
|
679
|
+
- 对齐 Figma `items/description-cell`「图片」:标签 + **48×48** 缩略图横排(间距 6px,边框 `#E5E6EB`,圆角 4px);标签与首图顶对齐
|
|
615
680
|
- `value` 支持:图片地址 `string` / `string[]`,或 `{ name?, path?/url? }[]`
|
|
616
|
-
-
|
|
681
|
+
- 最多直接展示 **4** 张;超出时第 4 张蒙版显示 `+n`(n 为剩余张数)
|
|
682
|
+
- 点击缩略图弹窗预览大图(支持左右翻页),并触发 `imageClick`
|
|
617
683
|
- 无图时展示 `<空>`
|
|
618
684
|
- **不使用** `hd-accessory-list`(文件列表样式请用独立附件列表组件)
|
|
619
685
|
|
|
@@ -934,6 +1000,8 @@ selectOption: {
|
|
|
934
1000
|
| hide | boolean | 是否隐藏 |
|
|
935
1001
|
| clickText | string | 可点击文案 |
|
|
936
1002
|
| click | (value) => void | 点击回调 |
|
|
1003
|
+
| editable | boolean | 值后显示编辑笔图标(Figma 14px) |
|
|
1004
|
+
| edit | (col) => void | 点击编辑笔回调,供父组件处理 |
|
|
937
1005
|
|
|
938
1006
|
### Filter(筛选项)
|
|
939
1007
|
|
|
@@ -1020,6 +1088,7 @@ selectOption: {
|
|
|
1020
1088
|
| type | FormLineType | — | 控件类型 |
|
|
1021
1089
|
| align | string | — | 列对齐 left \| right \| center |
|
|
1022
1090
|
| hideViewDomValue | boolean | false | ViewDom 隐藏 value(如只显示图片) |
|
|
1091
|
+
| isShow | boolean | true | 列设置可见性(仅非 hide 的 ViewDom 可由设置列切换) |
|
|
1023
1092
|
| isSelect | boolean | — | 聚焦后全选内容 |
|
|
1024
1093
|
| preserveNumber | number | — | ViewDom 小数位 |
|
|
1025
1094
|
| maxLength | number | — | Input 最大长度 |
|
|
@@ -1068,7 +1137,7 @@ onOpenChangeEvent: (open: boolean, line: FormGroup) => void
|
|
|
1068
1137
|
| title / name | string | — | 列标题 / 字段名 |
|
|
1069
1138
|
| width / minWidth | number | — | 列宽 / 最小列宽 |
|
|
1070
1139
|
| align | string | left | 对齐方式 |
|
|
1071
|
-
| color | string | — |
|
|
1140
|
+
| color | string \| (line) => string | — | 文字颜色。字符串为整列同色;函数按行返回颜色,标红可返回 `#F5222D`,不标色返回空 |
|
|
1072
1141
|
| fixed / fixedWidth | — | — | 固定列 |
|
|
1073
1142
|
| isShow | boolean | true | 设置列可见性 |
|
|
1074
1143
|
| canSort / canWarp | boolean | false | 排序 / 换行 |
|
|
@@ -1076,6 +1145,9 @@ onOpenChangeEvent: (open: boolean, line: FormGroup) => void
|
|
|
1076
1145
|
| stateField | string | — | 状态列取值字段(`name` 为 `state` 且未设置 `isState` 时生效,默认 `state`) |
|
|
1077
1146
|
| render / click | Function | — | 渲染 / 点击 |
|
|
1078
1147
|
| canClick | (line) => boolean | — | 按行控制是否可点 |
|
|
1148
|
+
| rowNo | boolean \| string | — | 字段值后竖线 + 行号。`true` 为分页连续序号(从 1 起);字符串为行数据字段名。前面的字段仍可用 `click` 做成超链接,行号不可点 |
|
|
1149
|
+
| editable | boolean \| (line) => boolean | — | 值后显示编辑笔图标(Figma 14px);函数按行控制 |
|
|
1150
|
+
| edit | (line) => void | — | 点击编辑笔回调,供父组件处理(如弹窗改值) |
|
|
1079
1151
|
| btnList | OperateBtn[] | — | `title` 为「操作」时整列按钮;其他列时显示在单元格文案后的操作按钮 |
|
|
1080
1152
|
|
|
1081
1153
|
#### OperateBtn(操作列按钮)
|
|
@@ -1121,6 +1193,8 @@ onOpenChangeEvent: (open: boolean, line: FormGroup) => void
|
|
|
1121
1193
|
|
|
1122
1194
|
## 附录:ColWidth 列宽常量
|
|
1123
1195
|
|
|
1196
|
+
发布后的 `.d.ts` 带字面量类型(`as const`),业务仓 IDE 悬停 `ColWidth.xxx` 可直接看到数值与说明。
|
|
1197
|
+
|
|
1124
1198
|
```typescript
|
|
1125
1199
|
import { ColWidth } from 'fantasy-ngzorro';
|
|
1126
1200
|
|