@gopowerteam/table-render 0.0.2 → 0.0.3
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/dist/cjs/hooks/use-events.d.ts +18 -6
- package/dist/cjs/hooks/use-table.d.ts +1 -1
- package/dist/cjs/index.cjs +57 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/interfaces/index.d.ts +1 -0
- package/dist/cjs/interfaces/pageable-options.d.ts +26 -0
- package/dist/cjs/interfaces/sortable-options.d.ts +8 -0
- package/dist/cjs/interfaces/table-column-options.d.ts +1 -0
- package/dist/cjs/interfaces/table-column-render.d.ts +0 -1
- package/dist/cjs/interfaces/table-load-params.d.ts +5 -8
- package/dist/cjs/table-render/table-actions-render.d.ts +2 -0
- package/dist/cjs/{render → table-render}/table-column-render.d.ts +1 -2
- package/dist/cjs/table-render/table-edit-render.d.ts +30 -0
- package/dist/cjs/table-render/table-form-render.d.ts +2 -0
- package/dist/cjs/table-render/table-pagination-render.d.ts +2 -0
- package/dist/cjs/table-render/table-selection-render.d.ts +9 -0
- package/dist/cjs/utils/page.service.d.ts +37 -0
- package/dist/cjs/utils/sort.service.d.ts +26 -0
- package/dist/es/hooks/use-events.d.ts +18 -6
- package/dist/es/hooks/use-table.d.ts +1 -1
- package/dist/es/index.d.ts +1 -1
- package/dist/es/index.mjs +34150 -317
- package/dist/es/interfaces/index.d.ts +1 -0
- package/dist/es/interfaces/pageable-options.d.ts +26 -0
- package/dist/es/interfaces/sortable-options.d.ts +8 -0
- package/dist/es/interfaces/table-column-options.d.ts +1 -0
- package/dist/es/interfaces/table-column-render.d.ts +0 -1
- package/dist/es/interfaces/table-load-params.d.ts +5 -8
- package/dist/es/table-render/table-actions-render.d.ts +2 -0
- package/dist/es/{render → table-render}/table-column-render.d.ts +1 -2
- package/dist/es/table-render/table-edit-render.d.ts +30 -0
- package/dist/es/table-render/table-form-render.d.ts +2 -0
- package/dist/es/table-render/table-pagination-render.d.ts +2 -0
- package/dist/es/table-render/table-selection-render.d.ts +9 -0
- package/dist/es/utils/page.service.d.ts +37 -0
- package/dist/es/utils/sort.service.d.ts +26 -0
- package/dist/style.css +1 -1
- package/package.json +6 -5
- /package/dist/cjs/{render → table-render}/table-view-render.d.ts +0 -0
- /package/dist/es/{render → table-render}/table-view-render.d.ts +0 -0
package/dist/cjs/index.d.ts
CHANGED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface PageableOptions {
|
|
2
|
+
/**
|
|
3
|
+
* 当前页码
|
|
4
|
+
*/
|
|
5
|
+
pageIndex: number;
|
|
6
|
+
/**
|
|
7
|
+
* 分页容量
|
|
8
|
+
*/
|
|
9
|
+
pageSize: number;
|
|
10
|
+
/**
|
|
11
|
+
* 分页容量选项
|
|
12
|
+
*/
|
|
13
|
+
pageSizeOpts: number[];
|
|
14
|
+
/**
|
|
15
|
+
* 分页布局
|
|
16
|
+
*/
|
|
17
|
+
pageLayouts: Array<'PrevJump' | 'PrevPage' | 'JumpNumber' | 'NextPage' | 'NextJump' | 'Sizes' | 'FullJump' | 'Total'>;
|
|
18
|
+
/**
|
|
19
|
+
* 数据总数
|
|
20
|
+
*/
|
|
21
|
+
total: number;
|
|
22
|
+
/**
|
|
23
|
+
* 重置分页数据
|
|
24
|
+
*/
|
|
25
|
+
reset(): void;
|
|
26
|
+
}
|
|
@@ -26,6 +26,7 @@ export interface TableColumnOptions<T> {
|
|
|
26
26
|
ellipsis?: boolean;
|
|
27
27
|
preview?: TableColumnPreviewOptions;
|
|
28
28
|
exportable?: ExportColumnOptions | boolean;
|
|
29
|
+
sortable?: 'asc' | 'desc';
|
|
29
30
|
treeNode?: boolean;
|
|
30
31
|
visiable?: boolean | (() => boolean);
|
|
31
32
|
extraProps?: Partial<Omit<TableColumnData, 'dataIndex' | 'title' | 'fixed' | 'align' | 'width'>>;
|
|
@@ -5,7 +5,6 @@ interface TableColumnRenderResultType {
|
|
|
5
5
|
$type?: string;
|
|
6
6
|
$disableColumnMode?: boolean;
|
|
7
7
|
$disableViewMode?: boolean;
|
|
8
|
-
$showOverflow?: boolean;
|
|
9
8
|
}
|
|
10
9
|
export interface TableColumnRenderResult<T> extends TableColumnRenderResultType {
|
|
11
10
|
(record: T, columnOptions: TableColumnOptions<T>, ctx?: {
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
+
import type { RequestPlugin } from '@gopowerteam/request';
|
|
2
|
+
import type { SortableOptions } from './sortable-options';
|
|
3
|
+
import type { PageableOptions } from './pageable-options';
|
|
1
4
|
export interface DataRecord {
|
|
2
5
|
[key: string]: any;
|
|
3
6
|
}
|
|
4
7
|
export interface DataProp {
|
|
5
8
|
[key: string]: any;
|
|
6
9
|
}
|
|
7
|
-
/**
|
|
8
|
-
* 分页接口
|
|
9
|
-
*/
|
|
10
|
-
export interface PageService {
|
|
11
|
-
page: number;
|
|
12
|
-
size: number;
|
|
13
|
-
}
|
|
14
10
|
/**
|
|
15
11
|
* 数据加载参数
|
|
16
12
|
*/
|
|
17
13
|
export interface TableLoadParams {
|
|
18
14
|
form: DataRecord;
|
|
19
|
-
page?:
|
|
15
|
+
page?: (RequestPlugin & PageableOptions);
|
|
16
|
+
sort?: (RequestPlugin & SortableOptions);
|
|
20
17
|
update: (data: DataRecord[]) => void;
|
|
21
18
|
}
|
|
@@ -17,8 +17,7 @@ export declare function toRenderColumn<T>(options?: TableColumnOptions<T>, conte
|
|
|
17
17
|
[RenderColumnType]: string | undefined;
|
|
18
18
|
disableColumnMode: boolean | undefined;
|
|
19
19
|
disableViewMode: boolean | undefined;
|
|
20
|
-
|
|
21
|
-
isRenderColumn: boolean;
|
|
20
|
+
isRender: boolean;
|
|
22
21
|
type: string | undefined;
|
|
23
22
|
} | undefined;
|
|
24
23
|
export declare function renderTableColumns(columns: TableColumnsOptions, columnsOptions: TableColumnSharedOptions | undefined, events: EventEmits): TableColumnData[];
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
2
|
+
import { type FormItemsOptions } from '@gopowerteam/form-render';
|
|
3
|
+
declare const _default: import("vue").DefineComponent<{
|
|
4
|
+
record: {
|
|
5
|
+
type: ObjectConstructor;
|
|
6
|
+
required: true;
|
|
7
|
+
};
|
|
8
|
+
form: {
|
|
9
|
+
type: PropType<FormItemsOptions<any>>;
|
|
10
|
+
required: true;
|
|
11
|
+
};
|
|
12
|
+
onSubmit: {
|
|
13
|
+
type: FunctionConstructor;
|
|
14
|
+
required: false;
|
|
15
|
+
};
|
|
16
|
+
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
17
|
+
record: {
|
|
18
|
+
type: ObjectConstructor;
|
|
19
|
+
required: true;
|
|
20
|
+
};
|
|
21
|
+
form: {
|
|
22
|
+
type: PropType<FormItemsOptions<any>>;
|
|
23
|
+
required: true;
|
|
24
|
+
};
|
|
25
|
+
onSubmit: {
|
|
26
|
+
type: FunctionConstructor;
|
|
27
|
+
required: false;
|
|
28
|
+
};
|
|
29
|
+
}>>, {}, {}>;
|
|
30
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { TableRenderContext, TableRenderOptions, TableRenderProps } from '.';
|
|
2
|
+
export declare function tableFormRender(props: TableRenderProps, ctx: TableRenderContext, { tableForm, tableEvents, formInstance, }: TableRenderOptions): (() => import("vue/jsx-runtime").JSX.Element) | (() => undefined);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { TableRenderContext, TableRenderOptions, TableRenderProps } from '.';
|
|
2
|
+
export declare function tablePaginationRender(props: TableRenderProps, ctx: TableRenderContext, { pageService, tableEvents, }: TableRenderOptions): (() => import("vue/jsx-runtime").JSX.Element) | (() => undefined);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import type { TableData, TableRowSelection } from '@arco-design/web-vue';
|
|
3
|
+
import type { TableRenderContext, TableRenderOptions, TableRenderProps } from '.';
|
|
4
|
+
export declare function tableSecletionRender(props: TableRenderProps, ctx: TableRenderContext, { tableSource, }: TableRenderOptions): {
|
|
5
|
+
selectedRowKeys: Ref<(string | number)[]>;
|
|
6
|
+
rowSelection?: TableRowSelection;
|
|
7
|
+
onSelect: (rowKeys: (string | number)[], rowKey: string | number, record: TableData) => void;
|
|
8
|
+
onSelectAll: (value: boolean) => void;
|
|
9
|
+
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { AdapterResponse, RequestPlugin, RequestSendOptions } from '@gopowerteam/request';
|
|
2
|
+
import type { PageableOptions } from '../interfaces/pageable-options';
|
|
3
|
+
export declare class PageService implements RequestPlugin, PageableOptions {
|
|
4
|
+
data: {
|
|
5
|
+
index: number;
|
|
6
|
+
size: number;
|
|
7
|
+
total: number;
|
|
8
|
+
};
|
|
9
|
+
get pageIndex(): number;
|
|
10
|
+
set pageIndex(value: number);
|
|
11
|
+
get pageSize(): number;
|
|
12
|
+
set pageSize(value: number);
|
|
13
|
+
get total(): number;
|
|
14
|
+
set total(value: number);
|
|
15
|
+
pageSizeOpts: number[];
|
|
16
|
+
pageLayouts: ('PrevJump' | 'PrevPage' | 'JumpNumber' | 'NextPage' | 'NextJump' | 'Sizes' | 'FullJump' | 'Total')[];
|
|
17
|
+
/**
|
|
18
|
+
* 构造函数
|
|
19
|
+
* @param index
|
|
20
|
+
* @param size
|
|
21
|
+
*/
|
|
22
|
+
constructor(index?: number, size?: number);
|
|
23
|
+
/**
|
|
24
|
+
* 重置操作
|
|
25
|
+
*/
|
|
26
|
+
reset(): void;
|
|
27
|
+
/**
|
|
28
|
+
* 前置操作
|
|
29
|
+
* @param options
|
|
30
|
+
*/
|
|
31
|
+
before(options: RequestSendOptions): void;
|
|
32
|
+
/**
|
|
33
|
+
* 后置操作
|
|
34
|
+
* @param response
|
|
35
|
+
*/
|
|
36
|
+
after(response: AdapterResponse): void;
|
|
37
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { RequestPlugin, RequestSendOptions } from '@gopowerteam/request';
|
|
2
|
+
import type { SortableOptions } from '../interfaces';
|
|
3
|
+
export declare class SortService implements RequestPlugin, SortableOptions {
|
|
4
|
+
private sort;
|
|
5
|
+
constructor(data?: any);
|
|
6
|
+
/**
|
|
7
|
+
* 更新排序
|
|
8
|
+
* @param key 排序关键字
|
|
9
|
+
* @param value 排序方式
|
|
10
|
+
*/
|
|
11
|
+
update(key: string, value: 'desc' | 'asc'): void;
|
|
12
|
+
/**
|
|
13
|
+
* 移除排序项
|
|
14
|
+
* @param key 排序关键字
|
|
15
|
+
*/
|
|
16
|
+
remove(key: string): void;
|
|
17
|
+
before: (params: RequestSendOptions) => void;
|
|
18
|
+
/**
|
|
19
|
+
* 重置分页数据
|
|
20
|
+
*/
|
|
21
|
+
reset(): void;
|
|
22
|
+
/**
|
|
23
|
+
* 转换排序对象为字符串
|
|
24
|
+
*/
|
|
25
|
+
private stringify;
|
|
26
|
+
}
|
|
@@ -1,26 +1,38 @@
|
|
|
1
|
+
import type { FormItemsOptions } from '@gopowerteam/form-render';
|
|
2
|
+
import type { DataRecord, TableColumnsOptions } from '..';
|
|
1
3
|
export type TableEvent = 'export' | 'reload' | 'preview' | 'edit';
|
|
2
4
|
export interface TableReloadEventOptions {
|
|
3
5
|
reset?: boolean;
|
|
4
6
|
}
|
|
5
7
|
export interface TablePreviewEventOptions {
|
|
6
|
-
key
|
|
7
|
-
|
|
8
|
+
key?: string | number;
|
|
9
|
+
record?: DataRecord;
|
|
10
|
+
mode?: 'dialog' | 'drawer';
|
|
8
11
|
title?: string;
|
|
9
12
|
}
|
|
10
|
-
export interface
|
|
13
|
+
export interface TableEditEventOptions<T = DataRecord> {
|
|
14
|
+
key?: string | number;
|
|
15
|
+
record?: T;
|
|
16
|
+
mode?: 'dialog' | 'drawer';
|
|
17
|
+
title?: string;
|
|
18
|
+
form: FormItemsOptions;
|
|
19
|
+
onSubmit?: (record: DataRecord) => void;
|
|
11
20
|
}
|
|
12
|
-
export interface
|
|
21
|
+
export interface TableExportEventOptions {
|
|
22
|
+
columns?: TableColumnsOptions;
|
|
23
|
+
source?: DataRecord[];
|
|
24
|
+
filename?: string;
|
|
13
25
|
}
|
|
14
26
|
export interface EventEmits {
|
|
15
27
|
(event: 'reload', options?: TableReloadEventOptions): void;
|
|
16
28
|
(event: 'preview', options?: TablePreviewEventOptions): void;
|
|
17
29
|
(event: 'export', options?: TableExportEventOptions): void;
|
|
18
|
-
(event: 'edit', options
|
|
30
|
+
(event: 'edit', options: TableEditEventOptions): void;
|
|
19
31
|
(event: TableEvent, options?: TableExportEventOptions | TableReloadEventOptions | TablePreviewEventOptions | TableEditEventOptions): void;
|
|
20
32
|
}
|
|
21
33
|
export declare function useEvents(events: {
|
|
22
34
|
reload: (options?: TableReloadEventOptions) => void;
|
|
23
35
|
export: (options?: TableExportEventOptions) => void;
|
|
24
36
|
preview: (options?: TablePreviewEventOptions) => void;
|
|
25
|
-
edit: (options
|
|
37
|
+
edit: (options: TableEditEventOptions) => void;
|
|
26
38
|
}): EventEmits;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ComponentPublicInstance, type Ref } from 'vue';
|
|
2
|
-
import type { TableRender } from '../
|
|
2
|
+
import type { TableRender } from '../table-render';
|
|
3
3
|
type TableRenderInstance = InstanceType<typeof TableRender>;
|
|
4
4
|
type TableRenderExpose = {
|
|
5
5
|
-readonly [K in keyof Omit<TableRenderInstance, keyof ComponentPublicInstance>]: TableRenderInstance[K];
|
package/dist/es/index.d.ts
CHANGED