@ethan1979/jf-lib 0.0.32

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.
Files changed (47) hide show
  1. package/.vscode/extensions.json +3 -0
  2. package/README.md +3 -0
  3. package/babel.config.js +3 -0
  4. package/dist/App.vue.d.ts +2 -0
  5. package/dist/components/index.d.ts +1 -0
  6. package/dist/components/v-table/components/content/components/operations.vue.d.ts +47 -0
  7. package/dist/components/v-table/components/content/index.vue.d.ts +13 -0
  8. package/dist/components/v-table/components/modal-form.vue.d.ts +30 -0
  9. package/dist/components/v-table/components/search.vue.d.ts +12 -0
  10. package/dist/components/v-table/components/toolbar.vue.d.ts +11 -0
  11. package/dist/components/v-table/get-render-function.d.ts +6 -0
  12. package/dist/components/v-table/hooks.d.ts +80 -0
  13. package/dist/components/v-table/index.vue.d.ts +17 -0
  14. package/dist/components/v-table/util.d.ts +2 -0
  15. package/dist/favicon.ico +0 -0
  16. package/dist/jf-lib.es.js +6553 -0
  17. package/dist/jf-lib.umd.js +27 -0
  18. package/dist/main.d.ts +1 -0
  19. package/dist/style.css +1 -0
  20. package/dist/types/global.d.ts +43 -0
  21. package/dist/utils/utils.d.ts +11 -0
  22. package/docs/superpowers/plans/2026-09-19-collapsible-table-search.md +194 -0
  23. package/docs/superpowers/specs/2026-09-19-collapsible-table-search-design.md +80 -0
  24. package/index.html +13 -0
  25. package/package.json +31 -0
  26. package/public/favicon.ico +0 -0
  27. package/scripts/check-collapsible-search.mjs +67 -0
  28. package/src/App.vue +98 -0
  29. package/src/assets/logo.png +0 -0
  30. package/src/components/index.ts +18 -0
  31. package/src/components/v-table/components/content/components/operations.vue +119 -0
  32. package/src/components/v-table/components/content/index.vue +295 -0
  33. package/src/components/v-table/components/modal-form.vue +111 -0
  34. package/src/components/v-table/components/search.vue +181 -0
  35. package/src/components/v-table/components/toolbar.vue +121 -0
  36. package/src/components/v-table/get-render-function.ts +15 -0
  37. package/src/components/v-table/hooks.ts +128 -0
  38. package/src/components/v-table/index.vue +338 -0
  39. package/src/components/v-table/typings.d.ts +164 -0
  40. package/src/components/v-table/util.ts +14 -0
  41. package/src/env.d.ts +12 -0
  42. package/src/main.ts +13 -0
  43. package/src/types/global.ts +48 -0
  44. package/src/utils/utils.ts +77 -0
  45. package/tsconfig.json +38 -0
  46. package/tsconfig.node.json +8 -0
  47. package/vite.config.ts +47 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ "recommendations": ["johnsoncodehk.volar"]
3
+ }
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # JF lib
2
+
3
+ 一个粗糙的自用组件库
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ plugins: ['@vue/babel-plugin-jsx'],
3
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -0,0 +1 @@
1
+ export { default as VTable } from './v-table/index.vue';
@@ -0,0 +1,47 @@
1
+ import { CellRenderFN, OperationsButtonConfig, TableConfig } from '@/components/v-table/typings';
2
+ import { BaseObj } from '../../../../../types/global';
3
+ import { TableColumnData } from '@arco-design/web-vue';
4
+ export interface ColumnData {
5
+ record: BaseObj;
6
+ column: TableColumnData;
7
+ rowIndex: number;
8
+ }
9
+ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
10
+ config: TableConfig;
11
+ columnData: ColumnData;
12
+ extend?: CellRenderFN<BaseObj> | undefined;
13
+ extendPostion?: "center" | "left" | "right" | undefined;
14
+ updateButton?: OperationsButtonConfig | undefined;
15
+ deleteButton?: OperationsButtonConfig | undefined;
16
+ }>, {
17
+ extendPostion: string;
18
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("updateData" | "deleteData")[], "updateData" | "deleteData", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
19
+ config: TableConfig;
20
+ columnData: ColumnData;
21
+ extend?: CellRenderFN<BaseObj> | undefined;
22
+ extendPostion?: "center" | "left" | "right" | undefined;
23
+ updateButton?: OperationsButtonConfig | undefined;
24
+ deleteButton?: OperationsButtonConfig | undefined;
25
+ }>, {
26
+ extendPostion: string;
27
+ }>>> & {
28
+ onUpdateData?: ((...args: any[]) => any) | undefined;
29
+ onDeleteData?: ((...args: any[]) => any) | undefined;
30
+ }, {
31
+ extendPostion: "center" | "left" | "right";
32
+ }>;
33
+ export default _default;
34
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
35
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
36
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
37
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
38
+ } : {
39
+ type: import('vue').PropType<T[K]>;
40
+ required: true;
41
+ };
42
+ };
43
+ declare type __VLS_WithDefaults<P, D> = {
44
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? P[K] & {
45
+ default: D[K];
46
+ } : P[K];
47
+ };
@@ -0,0 +1,13 @@
1
+ import { PropType } from "vue";
2
+ import { TableConfig } from "../../typings";
3
+ import { BaseObj } from "../../../../types/global";
4
+ declare const _default: import("vue").DefineComponent<{
5
+ config: {
6
+ type: PropType<TableConfig<BaseObj>>;
7
+ };
8
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
9
+ config: {
10
+ type: PropType<TableConfig<BaseObj>>;
11
+ };
12
+ }>>, {}>;
13
+ export default _default;
@@ -0,0 +1,30 @@
1
+ import { BaseObj } from '../../../types/global';
2
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<{
3
+ type: 'Add' | 'Update';
4
+ visible: boolean;
5
+ title: string;
6
+ renderParams?: BaseObj | undefined;
7
+ }>, {
8
+ formData: import("vue").Ref<{
9
+ [x: string]: any;
10
+ }>;
11
+ resetFormData: () => void;
12
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:visible" | "okEvent")[], "update:visible" | "okEvent", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
13
+ type: 'Add' | 'Update';
14
+ visible: boolean;
15
+ title: string;
16
+ renderParams?: BaseObj | undefined;
17
+ }>>> & {
18
+ "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
19
+ onOkEvent?: ((...args: any[]) => any) | undefined;
20
+ }, {}>;
21
+ export default _default;
22
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
23
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
24
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
25
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
26
+ } : {
27
+ type: import('vue').PropType<T[K]>;
28
+ required: true;
29
+ };
30
+ };
@@ -0,0 +1,12 @@
1
+ import { PropType } from 'vue';
2
+ import { TableConfig } from '../typings';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ config: PropType<TableConfig<import("./modal-form.vue.__VLS_script").__VLS_types_BaseObj>>;
5
+ }, {
6
+ reset: () => void;
7
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "search"[], "search", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
8
+ config: PropType<TableConfig<import("./modal-form.vue.__VLS_script").__VLS_types_BaseObj>>;
9
+ }>> & {
10
+ onSearch?: ((...args: any[]) => any) | undefined;
11
+ }, {}>;
12
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { PropType } from "vue";
2
+ import { TableConfig } from "../typings";
3
+ declare const _default: import("vue").DefineComponent<{
4
+ config: PropType<TableConfig<import("./modal-form.vue.__VLS_script").__VLS_types_BaseObj>>;
5
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("add" | "batchDelete")[], "add" | "batchDelete", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
6
+ config: PropType<TableConfig<import("./modal-form.vue.__VLS_script").__VLS_types_BaseObj>>;
7
+ }>> & {
8
+ onAdd?: ((...args: any[]) => any) | undefined;
9
+ onBatchDelete?: ((...args: any[]) => any) | undefined;
10
+ }, {}>;
11
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { FormRender } from './typings';
2
+ import { BaseObj } from '../../types/global';
3
+ declare const _default: (render: FormRender, renderParams?: BaseObj | undefined) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
4
+ [key: string]: any;
5
+ }>;
6
+ export default _default;
@@ -0,0 +1,80 @@
1
+ import { BaseObj } from '../../types/global';
2
+ import { Columns } from './typings';
3
+ export declare function useTableForm(columns: Array<Columns> | undefined, type: 'Search' | 'Update' | 'Add'): {
4
+ resetFormData(): void;
5
+ form: import("vue").Ref<{
6
+ formItem: {
7
+ title: string;
8
+ dataIndex: string;
9
+ tooltip?: string | undefined;
10
+ };
11
+ render: ((params: BaseObj | undefined) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
12
+ [key: string]: any;
13
+ }>) | {
14
+ type: import("./typings").FormRenderType;
15
+ props: {
16
+ [x: string]: unknown;
17
+ };
18
+ };
19
+ searchColSpan?: number | {
20
+ span: number;
21
+ formItem?: {
22
+ labelColSpan?: number | undefined;
23
+ wrapperColSpan?: number | undefined;
24
+ } | undefined;
25
+ } | undefined;
26
+ }[]>;
27
+ formData: import("vue").Ref<{
28
+ [x: string]: any;
29
+ }>;
30
+ defaultValues: import("vue").Ref<{
31
+ [x: string]: any;
32
+ }>;
33
+ rules: import("vue").Ref<{
34
+ [x: string]: {
35
+ type?: "string" | "number" | "boolean" | "object" | "array" | "email" | "url" | "ip" | undefined;
36
+ required?: boolean | undefined;
37
+ message?: string | undefined;
38
+ length?: number | undefined;
39
+ maxLength?: number | undefined;
40
+ minLength?: number | undefined;
41
+ match?: {
42
+ exec: (string: string) => RegExpExecArray | null;
43
+ test: (string: string) => boolean;
44
+ readonly source: string;
45
+ readonly global: boolean;
46
+ readonly ignoreCase: boolean;
47
+ readonly multiline: boolean;
48
+ lastIndex: number;
49
+ compile: (pattern: string, flags?: string | undefined) => RegExp;
50
+ readonly flags: string;
51
+ readonly sticky: boolean;
52
+ readonly unicode: boolean;
53
+ readonly dotAll: boolean;
54
+ [Symbol.match]: (string: string) => RegExpMatchArray | null;
55
+ [Symbol.replace]: {
56
+ (string: string, replaceValue: string): string;
57
+ (string: string, replacer: (substring: string, ...args: any[]) => string): string;
58
+ };
59
+ [Symbol.search]: (string: string) => number;
60
+ [Symbol.split]: (string: string, limit?: number | undefined) => string[];
61
+ [Symbol.matchAll]: (str: string) => IterableIterator<RegExpMatchArray>;
62
+ } | undefined;
63
+ uppercase?: boolean | undefined;
64
+ lowercase?: boolean | undefined;
65
+ min?: number | undefined;
66
+ max?: number | undefined;
67
+ equal?: number | undefined;
68
+ positive?: boolean | undefined;
69
+ negative?: boolean | undefined;
70
+ true?: boolean | undefined;
71
+ false?: boolean | undefined;
72
+ includes?: any[] | undefined;
73
+ deepEqual?: any;
74
+ empty?: boolean | undefined;
75
+ hasKeys?: string[] | undefined;
76
+ validator?: ((value: any, callback: (error?: string | undefined) => void) => void) | undefined;
77
+ }[];
78
+ }>;
79
+ hasTooltip: import("vue").Ref<boolean>;
80
+ };
@@ -0,0 +1,17 @@
1
+ import { Ref, PropType } from "vue";
2
+ import { TableConfig } from "./typings";
3
+ import { BaseObj } from "../../types/global";
4
+ declare const _default: import("vue").DefineComponent<{
5
+ config: PropType<TableConfig<BaseObj>>;
6
+ }, {
7
+ contentRef: Ref<{
8
+ getTableHeight: () => number;
9
+ } | undefined>;
10
+ get: () => Promise<void>;
11
+ resetSearchParams: (() => void) | undefined;
12
+ setSelectedRowKeys: (keys: string[]) => void;
13
+ getSelectedRowKeys: () => string[];
14
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
15
+ config: PropType<TableConfig<BaseObj>>;
16
+ }>>, {}>;
17
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { TableConfig } from './typings';
2
+ export declare const setSelectedRowKeys: (config: TableConfig, value: string[] | undefined) => void;
Binary file