fantasy-ngzorro 2.2.7 → 2.2.9

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.
@@ -5,7 +5,7 @@ import { NzTableComponent } from "ng-zorro-antd/table";
5
5
  import { Observable } from "rxjs";
6
6
  import { Page } from "../model/common-type";
7
7
  import { CommonSessionService } from "../service/common-session.service";
8
- import { HdTableColumn, HdTableTotalOption, OperateBtn, TableCacheOption, TreeGrid } from "./hd-table.service";
8
+ import { HdTableCellChange, HdTableColumn, HdTableTotalOption, OperateBtn, TableCacheOption, TreeGrid } from "./hd-table.service";
9
9
  export declare class HdTableComponent implements OnInit {
10
10
  private cdr;
11
11
  private commonSessionService;
@@ -33,6 +33,8 @@ export declare class HdTableComponent implements OnInit {
33
33
  sortEvent: EventEmitter<{}>;
34
34
  selectEvent: EventEmitter<{}>;
35
35
  tableSearchEvent: EventEmitter<{}>;
36
+ /** 行内编辑变更(已写回行对象;previous* 供接口失败回滚) */
37
+ cellChange: EventEmitter<HdTableCellChange>;
36
38
  tableLoading: boolean;
37
39
  /** 是否显示分页;false 时一次展示 tableData.content 全部行 */
38
40
  pagination: boolean;
@@ -204,8 +206,18 @@ export declare class HdTableComponent implements OnInit {
204
206
  getRowNoText(col: HdTableColumn, data: any, index: number): string;
205
207
  /** 表头「配送单号 | 行」拆成短竖线,避免字符 | 拉满行高 */
206
208
  getTitleParts(col: HdTableColumn): Array<string>;
207
- /** 是否显示编辑笔图标 */
209
+ /** 是否显示编辑笔图标(有 editType 时走行内控件,不再显示笔) */
208
210
  isEditable(col: HdTableColumn, data: any): boolean;
209
211
  /** 点击编辑笔,回调父组件传入的 edit */
210
212
  onEditClick(event: Event, col: HdTableColumn, data: any): void;
213
+ /** 列是否配置了可用的行内编辑(name 必须是 string) */
214
+ hasInlineEdit(col: HdTableColumn): boolean;
215
+ isEditDisabled(col: HdTableColumn, data: any): boolean;
216
+ getSelectList(col: HdTableColumn, data: any): Array<any>;
217
+ getSelectOptionLabel(col: HdTableColumn, item: any): string;
218
+ getInputNumberProp(col: HdTableColumn, key: "min" | "max" | "step" | "precision", fallback: number): number;
219
+ /** Input / InputNumber 变更:先记旧值再写回并通知父组件 */
220
+ onCellChange(col: HdTableColumn, data: any, value: any): void;
221
+ /** Select 变更:双写 value + label,并带 previous* / option */
222
+ onSelectChange(col: HdTableColumn, data: any, value: any): void;
211
223
  }
@@ -1,3 +1,4 @@
1
+ import { InputNumber, SelectOption } from "../model/common-type";
1
2
  export declare class HdTableColumn {
2
3
  title: string;
3
4
  name: string | Function;
@@ -9,11 +10,11 @@ export declare class HdTableColumn {
9
10
  * 函数:按行返回颜色(如标红返回 '#F5222D',不标色返回空)。
10
11
  */
11
12
  color?: string | ((line: any) => string);
12
- align?: 'right' | 'left' | 'center';
13
+ align?: "right" | "left" | "center";
13
14
  click?: (value: any) => void;
14
15
  /** 按行控制是否渲染为可点击超链接;未配置时只要有 click 则整列可点 */
15
16
  canClick?: (value: any) => boolean;
16
- fixed?: 'left' | 'right';
17
+ fixed?: "left" | "right";
17
18
  fixedWidth?: number;
18
19
  fixedRightWidth?: number;
19
20
  btnList?: Array<OperateBtn>;
@@ -32,10 +33,36 @@ export declare class HdTableColumn {
32
33
  /**
33
34
  * 值后显示编辑笔图标(Figma edit/edit,14px)。
34
35
  * true:整列可编辑;函数:按行控制。
36
+ * 与 editType 互斥:配置了 editType 时走单元格内控件,不再显示编辑笔。
35
37
  */
36
38
  editable?: boolean | ((line: any) => boolean);
37
39
  /** 点击编辑笔回调,供父组件处理(如弹窗改值) */
38
40
  edit?: (line: any) => void;
41
+ /**
42
+ * 行内编辑类型;配置后该列常显控件。
43
+ * name 须为 string(函数型 name 不支持行内编辑)。
44
+ */
45
+ editType?: "input" | "inputNumber" | "select";
46
+ /** 是否禁用行内编辑:true / 按行函数 */
47
+ editDisabled?: boolean | ((line: any) => boolean);
48
+ /** Select 配置(复用 SelectOption 子集) */
49
+ selectOption?: SelectOption;
50
+ /** InputNumber 配置 */
51
+ inputNumber?: InputNumber;
52
+ /** 输入框 / 下拉 placeholder */
53
+ placeholder?: string;
54
+ }
55
+ /** hd-table 行内编辑变更事件(乐观更新后抛出,previous* 供接口失败回滚) */
56
+ export declare class HdTableCellChange {
57
+ line: any;
58
+ col: HdTableColumn;
59
+ name: string;
60
+ value: any;
61
+ previousValue: any;
62
+ label?: any;
63
+ previousLabel?: any;
64
+ option?: any;
65
+ previousOption?: any;
39
66
  }
40
67
  export declare class OperateBtn {
41
68
  /** 按钮文案;支持按行动态,如 (line) => line.enabled ? '解除' : '设置' */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fantasy-ngzorro",
3
- "version": "2.2.7",
4
- "description": "fix:hd-filter 筛选组弹窗未打开时不渲染空 hd-form;hd-form 空 formList 时初始化空 FormGroup",
3
+ "version": "2.2.9",
4
+ "description": "feat:hd-table 支持轻量行内编辑 Input/Number/Select,cellChange 含 previous* 可回滚",
5
5
  "peerDependencies": {
6
6
  "moment": "^2.24.0",
7
7
  "ng-zorro-antd": "^8.5.2",