@kengic/vue 0.6.4 → 0.6.5

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.
@@ -1,6 +1,6 @@
1
1
  import { ComputedRef, Ref } from 'vue';
2
2
  import { IRemoveEventListenerHandler } from '../../consts';
3
- import { IKgTableRetrieveCb, IKgTableRowDoubleClickCb, IKgTableStore } from './index.store';
3
+ import { IKgTableBeforeRetrieveCb, IKgTableRetrieveCb, IKgTableRowDoubleClickCb, IKgTableStore } from './index.store';
4
4
  export declare type IUseKgTable = {
5
5
  formID: string;
6
6
  /** 状态数据. */
@@ -31,6 +31,8 @@ export declare type IUseKgTable = {
31
31
  profileFormID: Ref<string>;
32
32
  /** 监听事件: 双击某行. */
33
33
  onRowDoubleClick(cb: IKgTableRowDoubleClickCb): IRemoveEventListenerHandler;
34
+ /** 监听事件: 即将发起查询请求. */
35
+ onBeforeRetrieve(cb: IKgTableBeforeRetrieveCb): IRemoveEventListenerHandler;
34
36
  /** 监听事件: 查询数据成功. */
35
37
  onRetrieve(cb: IKgTableRetrieveCb): IRemoveEventListenerHandler;
36
38
  };
@@ -5,20 +5,29 @@ import { IKgTableRow } from './index.vm';
5
5
  /**
6
6
  * 事件类型.
7
7
  * 'rowDoubleClick': 双击某行
8
+ * 'beforeRetrieve': 即将发起查询请求
8
9
  * 'retrieve': 查询数据成功
9
10
  */
10
- export declare type IKgTableEvent = 'rowDoubleClick' | 'retrieve';
11
+ export declare type IKgTableEvent = 'rowDoubleClick' | 'beforeRetrieve' | 'retrieve';
11
12
  /** 事件监听函数: rowDoubleClick. */
12
- export declare type IKgTableRowDoubleClickCb = (record: IKgTableRow) => void;
13
- /**
14
- * 事件监听函数: retrieve.
15
- * @param page 分页数据.
16
- */
17
- export declare type IKgTableRetrieveCb = (args: {
13
+ export declare type IKgTableRowDoubleClickCb = (record: IKgTableRow) => Promise<boolean>;
14
+ /** 事件监听函数: retrieve. */
15
+ export declare type IKgTableRetrieveCbParam = {
16
+ /** 接口返回的分页数据. */
18
17
  page: IPage<IKgTableRow> | undefined | null;
18
+ /** 经过处理之后的列表数据. */
19
19
  datas: Ref<Array<IKgTableRow>>;
20
- }) => void;
21
- export declare type IKgTableCb = IKgTableRowDoubleClickCb | IKgTableRetrieveCb;
20
+ };
21
+ export declare type IKgTableRetrieveCb = (param: IKgTableRetrieveCbParam) => Promise<boolean>;
22
+ /** 事件监听函数: beforeRetrieve. */
23
+ export declare type IKgTableBeforeRetrieveCbParam = {
24
+ /** 查询接口请求参数. */
25
+ params: IPage<IKgTableRow> | undefined | null;
26
+ /** 查询接口返回的数据, 调用者可以直接修改该数据, 从而实现手动提供表格数据. */
27
+ response: Ref;
28
+ };
29
+ export declare type IKgTableBeforeRetrieveCb = (param: IKgTableBeforeRetrieveCbParam) => Promise<boolean>;
30
+ export declare type IKgTableCb = IKgTableRowDoubleClickCb | IKgTableBeforeRetrieveCb | IKgTableRetrieveCb;
22
31
  export interface IKgTableState {
23
32
  /** 勾选的行. */
24
33
  selectedRowsMap: Map<string, Array<IKgTableRow>>;
@@ -34,6 +43,7 @@ export interface IKgTableState {
34
43
  tableWidthMap: Map<string, number>;
35
44
  /** '双击某行'事件监听函数列表. */
36
45
  rowDoubleClickListenersMap: Map<string, Array<IKgTableRowDoubleClickCb>>;
46
+ beforeRetrieveListenersMap: Map<string, Array<IKgTableBeforeRetrieveCb>>;
37
47
  retrieveListenersMap: Map<string, Array<IKgTableRetrieveCb>>;
38
48
  }
39
49
  export declare type IKgTableStoreDefinition = StoreDefinition<'KgTable', IKgTableState, {
@@ -50,7 +60,7 @@ export declare type IKgTableStoreDefinition = StoreDefinition<'KgTable', IKgTabl
50
60
  dispose(formID?: string | null): void;
51
61
  addEventListener(formID: string, event: IKgTableEvent, cb: IKgTableCb): void;
52
62
  removeEventListener(formID: string, event: IKgTableEvent, cb?: IKgTableCb): void;
53
- emit(formID: string, event: IKgTableEvent, args?: any | null): void;
63
+ emit(formID: string, event: IKgTableEvent, param?: any | null): Promise<boolean>;
54
64
  setSelectedRows(formID: string, selectedRows: Array<IKgTableRow>): void;
55
65
  /**
56
66
  * 设置某行的勾选状态.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kengic/vue",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "scripts": {
5
5
  "build": "rimraf dist && vue-tsc && vite build",
6
6
  "build:dev": "rimraf dist && vue-tsc && vite build --mode development",