tntd 3.0.11-beta.1 → 3.0.12-beta.1

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/es/form/form.js CHANGED
@@ -64,6 +64,7 @@ const Create = options => WrappedComponent => {
64
64
  if (validateSubmitMap[name]) {
65
65
  props.form.setFields({
66
66
  [name]: {
67
+ value: changedValues[name],
67
68
  errors: undefined
68
69
  }
69
70
  });
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/form/form.tsx"],"names":[],"mappings":"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","sourcesContent":["import type {\n FormItemProps as AntdFormItemProps,\n FormProps as AntdFormProps,\n FormComponentProps,\n FormCreateOption,\n} from 'antd/es/form'\nimport React, { forwardRef } from 'react'\n\nimport { ConfigConsumer } from 'antd/es/config-provider'\n\nimport { default as AntdForm } from 'antd/es/form'\nimport type AntdFormItem from 'antd/es/form/FormItem'\n\nimport { doUpperTitle } from '../utils'\nimport './form.less'\nimport classNames from 'classnames'\nexport * from 'antd/es/form'\n\ninterface FormItemComponent\n extends React.ForwardRefExoticComponent<AntdFormItemProps & React.RefAttributes<AntdFormItem>> {}\ninterface FormComponent\n extends React.ForwardRefExoticComponent<AntdFormProps & React.RefAttributes<AntdForm>> {\n Item: FormItemComponent\n create: typeof AntdForm.create\n createFormField: typeof AntdForm.createFormField\n}\n\nexport const Form = forwardRef<AntdForm, AntdFormProps>(({ ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm {...rest} className={classNames(rest.className, 'tnt-form')} ref={ref} />\n }}\n </ConfigConsumer>\n )\n}) as FormComponent\n\nForm.Item = forwardRef<AntdFormItem, AntdFormItemProps>(({ label, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm.Item {...rest} label={doUpperTitle(label)} ref={ref} />\n }}\n </ConfigConsumer>\n )\n})\n\n// 定义 create 函数的类型\ntype CreateFunction = <TOwnProps extends FormComponentProps<any>>(\n options?: FormCreateOption<TOwnProps>\n) => any\n\nconst Create: CreateFunction = (options: any) => (WrappedComponent: any) => {\n const validateSubmitMap: any = {}\n const CustomFormWrapper = (props: any, ref: any) => {\n const getFieldDecorator = props.form.getFieldDecorator\n props.form.getFieldDecorator = (name: any, options: any) => {\n let opt = options || {}\n if (opt.validateSubmit) {\n opt = {\n ...options,\n validateTrigger: 'noEvent',\n }\n validateSubmitMap[name] = true\n }\n return getFieldDecorator(name, opt)\n }\n return <WrappedComponent {...props} ref={ref} />\n }\n\n return AntdForm.create({\n ...options,\n onValuesChange: (props: any, changedValues: any, allValues: any) => {\n const keys = Object.keys(changedValues)\n if (keys.length === 1) {\n keys.forEach((name: any) => {\n if (validateSubmitMap[name]) {\n props.form.setFields({\n [name]: { errors: undefined },\n })\n }\n })\n }\n if (options && options.onValuesChange) {\n options.onValuesChange(props, changedValues, allValues)\n }\n },\n })(forwardRef(CustomFormWrapper))\n}\n\nForm.createFormField = AntdForm.createFormField\nForm.create = Create\n"]}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/form/form.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2024-08-20 18:18:41\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2024-08-22 15:18:51\n * @FilePath: /tntd/packages/tntd/src/form/form.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport type {\n FormItemProps as AntdFormItemProps,\n FormProps as AntdFormProps,\n FormComponentProps,\n FormCreateOption,\n} from 'antd/es/form'\nimport React, { forwardRef } from 'react'\n\nimport { ConfigConsumer } from 'antd/es/config-provider'\n\nimport { default as AntdForm } from 'antd/es/form'\nimport type AntdFormItem from 'antd/es/form/FormItem'\n\nimport { doUpperTitle } from '../utils'\nimport './form.less'\nimport classNames from 'classnames'\nexport * from 'antd/es/form'\n\ninterface FormItemComponent\n extends React.ForwardRefExoticComponent<AntdFormItemProps & React.RefAttributes<AntdFormItem>> {}\ninterface FormComponent\n extends React.ForwardRefExoticComponent<AntdFormProps & React.RefAttributes<AntdForm>> {\n Item: FormItemComponent\n create: typeof AntdForm.create\n createFormField: typeof AntdForm.createFormField\n}\n\nexport const Form = forwardRef<AntdForm, AntdFormProps>(({ ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm {...rest} className={classNames(rest.className, 'tnt-form')} ref={ref} />\n }}\n </ConfigConsumer>\n )\n}) as FormComponent\n\nForm.Item = forwardRef<AntdFormItem, AntdFormItemProps>(({ label, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm.Item {...rest} label={doUpperTitle(label)} ref={ref} />\n }}\n </ConfigConsumer>\n )\n})\n\n// 定义 create 函数的类型\ntype CreateFunction = <TOwnProps extends FormComponentProps<any>>(\n options?: FormCreateOption<TOwnProps>\n) => any\n\nconst Create: CreateFunction = (options: any) => (WrappedComponent: any) => {\n const validateSubmitMap: any = {}\n const CustomFormWrapper = (props: any, ref: any) => {\n const getFieldDecorator = props.form.getFieldDecorator\n props.form.getFieldDecorator = (name: any, options: any) => {\n let opt = options || {}\n if (opt.validateSubmit) {\n opt = {\n ...options,\n validateTrigger: 'noEvent',\n }\n validateSubmitMap[name] = true\n }\n return getFieldDecorator(name, opt)\n }\n return <WrappedComponent {...props} ref={ref} />\n }\n\n return AntdForm.create({\n ...options,\n onValuesChange: (props: any, changedValues: any, allValues: any) => {\n const keys = Object.keys(changedValues)\n if (keys.length === 1) {\n keys.forEach((name: any) => {\n if (validateSubmitMap[name]) {\n props.form.setFields({\n [name]: {\n value: changedValues[name],\n errors: undefined,\n },\n })\n }\n })\n }\n if (options && options.onValuesChange) {\n options.onValuesChange(props, changedValues, allValues)\n }\n },\n })(forwardRef(CustomFormWrapper))\n}\n\nForm.createFormField = AntdForm.createFormField\nForm.create = Create\n"]}
@@ -66,13 +66,17 @@ const MyComponent = (props, ref) => {
66
66
  });
67
67
  });
68
68
  useEffect(() => {
69
- const curColumns = buildColumns(props.columns);
70
- setColumns(curColumns || []);
69
+ if (Array.isArray(props === null || props === void 0 ? void 0 : props.columns)) {
70
+ const curColumns = buildColumns(props.columns);
71
+ setColumns(curColumns || []);
72
+ }
71
73
  }, [props === null || props === void 0 ? void 0 : props.columns]);
72
74
  useEffect(() => {
73
75
  dataRef.current = columns;
74
76
  }, [columns]);
75
- return React.createElement(Table, Object.assign({}, props, {
77
+ return React.createElement(Table, Object.assign({}, props, Array.isArray(props === null || props === void 0 ? void 0 : props.columns) ? {
78
+ columns
79
+ } : {}, {
76
80
  className: cn('tnt-resizable-table', {
77
81
  [props.className]: props.className
78
82
  }),
@@ -80,8 +84,7 @@ const MyComponent = (props, ref) => {
80
84
  header: {
81
85
  cell: ResizableTitle
82
86
  }
83
- },
84
- columns: columns
87
+ }
85
88
  }));
86
89
  };
87
90
  export default forwardRef(MyComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/resizableTable/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, forwardRef, useRef, useEffect } from 'react'\nimport cn from 'classnames'\nimport { throttle } from 'lodash'\nimport { Resizable } from 'react-resizable'\nimport { Table } from '../table'\nimport './index.less'\n\nconst ResizableTitle = (\n props: React.HTMLAttributes<any> & {\n onResize: (e: React.SyntheticEvent<Element>, data: any) => void\n width: number\n }\n) => {\n const { onResize, width, ...restProps } = props\n\n if (!width) {\n return <th {...restProps} />\n }\n\n return (\n <Resizable\n width={width}\n height={0}\n handle={\n <span\n className=\"react-resizable-handle\"\n onClick={(e) => {\n e.stopPropagation()\n }}\n />\n }\n onResize={onResize}\n draggableOpts={{ enableUserSelectHack: false }}\n >\n <th {...restProps} />\n </Resizable>\n )\n}\n\ninterface ColumnType {\n width?: any\n}\n\ninterface MyComponentProps {\n columns: ColumnType[]\n className?: string\n}\n\nconst MyComponent: React.ForwardRefRenderFunction<any, MyComponentProps> = (props, ref) => {\n const [columns, setColumns] = useState<ColumnType[]>([])\n const dataRef = useRef<ColumnType[]>([])\n\n const handleResize = (index: number) =>\n throttle((e, { size }) => {\n const updatedColumns = dataRef.current || []\n setColumns(\n updatedColumns.map((column, idx) =>\n idx === index ? { ...column, width: size.width } : column\n )\n )\n }, 25)\n\n const buildColumns = (columns: ColumnType[]) =>\n columns?.map((column, index) => {\n if (typeof column?.width === 'string' && column?.width?.includes('%')) {\n return column\n }\n return {\n ...column,\n onHeaderCell: (column: ColumnType) => {\n let width = column.width\n if (typeof width === 'string' && !width.includes('%')) {\n width = Number(width.replace(/[^\\d]/g, ''))\n }\n return { width, onResize: handleResize(index) }\n },\n }\n })\n\n useEffect(() => {\n const curColumns = buildColumns(props.columns)\n setColumns(curColumns || [])\n }, [props?.columns])\n\n useEffect(() => {\n dataRef.current = columns\n }, [columns])\n\n return (\n <Table\n {...props}\n className={cn('tnt-resizable-table', { [props.className!]: props.className })}\n components={{ header: { cell: ResizableTitle } }}\n columns={columns}\n />\n )\n}\n\nexport default forwardRef(MyComponent)\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/resizableTable/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, forwardRef, useRef, useEffect } from 'react'\nimport cn from 'classnames'\nimport { throttle } from 'lodash'\nimport { Resizable } from 'react-resizable'\nimport { Table } from '../table'\nimport './index.less'\n\nconst ResizableTitle = (\n props: React.HTMLAttributes<any> & {\n onResize: (e: React.SyntheticEvent<Element>, data: any) => void\n width: number\n }\n) => {\n const { onResize, width, ...restProps } = props\n\n if (!width) {\n return <th {...restProps} />\n }\n\n return (\n <Resizable\n width={width}\n height={0}\n handle={\n <span\n className=\"react-resizable-handle\"\n onClick={(e) => {\n e.stopPropagation()\n }}\n />\n }\n onResize={onResize}\n draggableOpts={{ enableUserSelectHack: false }}\n >\n <th {...restProps} />\n </Resizable>\n )\n}\n\ninterface ColumnType {\n width?: any\n}\n\ninterface MyComponentProps {\n columns?: ColumnType[]\n className?: string\n}\n\nconst MyComponent: React.ForwardRefRenderFunction<any, MyComponentProps> = (props, ref) => {\n const [columns, setColumns] = useState<ColumnType[]>([])\n const dataRef = useRef<ColumnType[]>([])\n\n const handleResize = (index: number) =>\n throttle((e, { size }) => {\n const updatedColumns = dataRef.current || []\n setColumns(\n updatedColumns.map((column, idx) =>\n idx === index ? { ...column, width: size.width } : column\n )\n )\n }, 25)\n\n const buildColumns = (columns: ColumnType[]) =>\n columns?.map((column, index) => {\n if (typeof column?.width === 'string' && column?.width?.includes('%')) {\n return column\n }\n return {\n ...column,\n onHeaderCell: (column: ColumnType) => {\n let width = column.width\n if (typeof width === 'string' && !width.includes('%')) {\n width = Number(width.replace(/[^\\d]/g, ''))\n }\n return { width, onResize: handleResize(index) }\n },\n }\n })\n\n useEffect(() => {\n if (Array.isArray(props?.columns)) {\n const curColumns = buildColumns(props.columns)\n setColumns(curColumns || [])\n }\n }, [props?.columns])\n\n useEffect(() => {\n dataRef.current = columns\n }, [columns])\n\n return (\n <Table\n {...props}\n {...(Array.isArray(props?.columns) ? { columns } : {})}\n className={cn('tnt-resizable-table', { [props.className!]: props.className })}\n components={{ header: { cell: ResizableTitle } }}\n />\n )\n}\n\nexport default forwardRef(MyComponent)\n"]}
@@ -6,21 +6,21 @@ var __rest = this && this.__rest || function (s, e) {
6
6
  }
7
7
  return t;
8
8
  };
9
- import React, { forwardRef } from 'react';
9
+ import React from 'react';
10
10
  import { Table as AntdTable } from './table';
11
11
  import ResizableTable from './resizableTable/index';
12
- const Table = forwardRef((props, ref) => {
12
+ const Table = props => {
13
13
  const {
14
14
  resizable = false
15
15
  } = props,
16
16
  restProps = __rest(props, ["resizable"]);
17
17
  if (resizable) {
18
- return React.createElement(ResizableTable, Object.assign({
19
- columns: []
20
- }, restProps, {
21
- ref: ref
22
- }));
18
+ return React.createElement(ResizableTable, Object.assign({}, restProps));
23
19
  }
24
20
  return React.createElement(AntdTable, Object.assign({}, restProps));
25
- });
21
+ };
22
+ Table.Column = AntdTable.Column;
23
+ Table.ColumnGroup = AntdTable.ColumnGroup;
24
+ Table.displayName = 'Table';
25
+ Table.titleCaseUpper = AntdTable.titleCaseUpper;
26
26
  export { Table };
@@ -1 +1 @@
1
- {"version":3,"file":"table-hoc.js","sourceRoot":"","sources":["../../src/table/table-hoc.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,cAAc,MAAM,wBAAwB,CAAA;AAMnD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,KAA4B,EAAE,GAAQ,EAAE,EAAE;IAClE,MAAM,EAAE,SAAS,GAAG,KAAK,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAA3C,aAAmC,CAAQ,CAAA;IAEjD,IAAI,SAAS,EAAE;QACb,OAAO,oBAAC,cAAc,kBAAC,OAAO,EAAE,EAAE,IAAM,SAAS,IAAE,GAAG,EAAE,GAAG,IAAI,CAAA;KAChE;IAED,OAAO,oBAAC,SAAS,oBAAK,SAAS,EAAI,CAAA;AACrC,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,KAAK,EAAE,CAAA","sourcesContent":["import React, { forwardRef } from 'react'\nimport type { TableProps as AntdTableProps } from 'antd/es/table'\nimport { Table as AntdTable } from './table'\nimport ResizableTable from './resizableTable/index'\n\ntype CustomTableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n resizable?: boolean\n}\n\nconst Table = forwardRef((props: CustomTableProps<any>, ref: any) => {\n const { resizable = false, ...restProps } = props\n\n if (resizable) {\n return <ResizableTable columns={[]} {...restProps} ref={ref} />\n }\n\n return <AntdTable {...restProps} />\n})\n\nexport { Table }\n"]}
1
+ {"version":3,"file":"table-hoc.js","sourceRoot":"","sources":["../../src/table/table-hoc.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,cAAc,MAAM,wBAAwB,CAAA;AAMnD,MAAM,KAAK,GAAG,CAAC,KAA4B,EAAE,EAAE;IAC7C,MAAM,EAAE,SAAS,GAAG,KAAK,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAA3C,aAAmC,CAAQ,CAAA;IAEjD,IAAI,SAAS,EAAE;QACb,OAAO,oBAAC,cAAc,oBAAK,SAAS,EAAI,CAAA;KACzC;IAED,OAAO,oBAAC,SAAS,oBAAK,SAAS,EAAI,CAAA;AACrC,CAAC,CAAA;AAED,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAA;AAC/B,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;AACzC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA;AAC3B,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,cAAc,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,CAAA","sourcesContent":["import React from 'react'\nimport type { TableProps as AntdTableProps } from 'antd/es/table'\nimport { Table as AntdTable } from './table'\nimport ResizableTable from './resizableTable/index'\n\ntype CustomTableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n resizable?: boolean\n}\n\nconst Table = (props: CustomTableProps<any>) => {\n const { resizable = false, ...restProps } = props\n\n if (resizable) {\n return <ResizableTable {...restProps} />\n }\n\n return <AntdTable {...restProps} />\n}\n\nTable.Column = AntdTable.Column\nTable.ColumnGroup = AntdTable.ColumnGroup\nTable.displayName = 'Table'\nTable.titleCaseUpper = AntdTable.titleCaseUpper\nexport { Table }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/form/form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,IAAI,iBAAiB,EAClC,SAAS,IAAI,aAAa,EAG3B,MAAM,cAAc,CAAA;AACrB,OAAO,KAAqB,MAAM,OAAO,CAAA;AAIzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AAGrD,OAAO,aAAa,CAAA;AAEpB,cAAc,cAAc,CAAA;AAE5B,UAAU,iBACR,SAAQ,KAAK,CAAC,yBAAyB,CAAC,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;CAAG;AACnG,UAAU,aACR,SAAQ,KAAK,CAAC,yBAAyB,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtF,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAA;IAC9B,eAAe,EAAE,OAAO,QAAQ,CAAC,eAAe,CAAA;CACjD;AAED,eAAO,MAAM,IAAI,eAQE,CAAA"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/form/form.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,aAAa,IAAI,iBAAiB,EAClC,SAAS,IAAI,aAAa,EAG3B,MAAM,cAAc,CAAA;AACrB,OAAO,KAAqB,MAAM,OAAO,CAAA;AAIzC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AAGrD,OAAO,aAAa,CAAA;AAEpB,cAAc,cAAc,CAAA;AAE5B,UAAU,iBACR,SAAQ,KAAK,CAAC,yBAAyB,CAAC,iBAAiB,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;CAAG;AACnG,UAAU,aACR,SAAQ,KAAK,CAAC,yBAAyB,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACtF,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,OAAO,QAAQ,CAAC,MAAM,CAAA;IAC9B,eAAe,EAAE,OAAO,QAAQ,CAAC,eAAe,CAAA;CACjD;AAED,eAAO,MAAM,IAAI,eAQE,CAAA"}
package/lib/form/form.js CHANGED
@@ -86,6 +86,7 @@ var Create = function Create(options) {
86
86
  keys.forEach(function (name) {
87
87
  if (validateSubmitMap[name]) {
88
88
  props.form.setFields(_defineProperty({}, name, {
89
+ value: changedValues[name],
89
90
  errors: undefined
90
91
  }));
91
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/form/form.tsx"],"names":[],"mappings":"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","sourcesContent":["import type {\n FormItemProps as AntdFormItemProps,\n FormProps as AntdFormProps,\n FormComponentProps,\n FormCreateOption,\n} from 'antd/lib/form'\nimport React, { forwardRef } from 'react'\n\nimport { ConfigConsumer } from 'antd/lib/config-provider'\n\nimport { default as AntdForm } from 'antd/lib/form'\nimport type AntdFormItem from 'antd/lib/form/FormItem'\n\nimport { doUpperTitle } from '../utils'\nimport './form.less'\nimport classNames from 'classnames'\nexport * from 'antd/lib/form'\n\ninterface FormItemComponent\n extends React.ForwardRefExoticComponent<AntdFormItemProps & React.RefAttributes<AntdFormItem>> {}\ninterface FormComponent\n extends React.ForwardRefExoticComponent<AntdFormProps & React.RefAttributes<AntdForm>> {\n Item: FormItemComponent\n create: typeof AntdForm.create\n createFormField: typeof AntdForm.createFormField\n}\n\nexport const Form = forwardRef<AntdForm, AntdFormProps>(({ ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm {...rest} className={classNames(rest.className, 'tnt-form')} ref={ref} />\n }}\n </ConfigConsumer>\n )\n}) as FormComponent\n\nForm.Item = forwardRef<AntdFormItem, AntdFormItemProps>(({ label, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm.Item {...rest} label={doUpperTitle(label)} ref={ref} />\n }}\n </ConfigConsumer>\n )\n})\n\n// 定义 create 函数的类型\ntype CreateFunction = <TOwnProps extends FormComponentProps<any>>(\n options?: FormCreateOption<TOwnProps>\n) => any\n\nconst Create: CreateFunction = (options: any) => (WrappedComponent: any) => {\n const validateSubmitMap: any = {}\n const CustomFormWrapper = (props: any, ref: any) => {\n const getFieldDecorator = props.form.getFieldDecorator\n props.form.getFieldDecorator = (name: any, options: any) => {\n let opt = options || {}\n if (opt.validateSubmit) {\n opt = {\n ...options,\n validateTrigger: 'noEvent',\n }\n validateSubmitMap[name] = true\n }\n return getFieldDecorator(name, opt)\n }\n return <WrappedComponent {...props} ref={ref} />\n }\n\n return AntdForm.create({\n ...options,\n onValuesChange: (props: any, changedValues: any, allValues: any) => {\n const keys = Object.keys(changedValues)\n if (keys.length === 1) {\n keys.forEach((name: any) => {\n if (validateSubmitMap[name]) {\n props.form.setFields({\n [name]: { errors: undefined },\n })\n }\n })\n }\n if (options && options.onValuesChange) {\n options.onValuesChange(props, changedValues, allValues)\n }\n },\n })(forwardRef(CustomFormWrapper))\n}\n\nForm.createFormField = AntdForm.createFormField\nForm.create = Create\n"]}
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../src/form/form.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Author: 周泽飞 zefei.zhou@tongdun.net\n * @Date: 2024-08-20 18:18:41\n * @LastEditors: 周泽飞 zefei.zhou@tongdun.net\n * @LastEditTime: 2024-08-22 15:18:51\n * @FilePath: /tntd/packages/tntd/src/form/form.tsx\n * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE\n */\nimport type {\n FormItemProps as AntdFormItemProps,\n FormProps as AntdFormProps,\n FormComponentProps,\n FormCreateOption,\n} from 'antd/lib/form'\nimport React, { forwardRef } from 'react'\n\nimport { ConfigConsumer } from 'antd/lib/config-provider'\n\nimport { default as AntdForm } from 'antd/lib/form'\nimport type AntdFormItem from 'antd/lib/form/FormItem'\n\nimport { doUpperTitle } from '../utils'\nimport './form.less'\nimport classNames from 'classnames'\nexport * from 'antd/lib/form'\n\ninterface FormItemComponent\n extends React.ForwardRefExoticComponent<AntdFormItemProps & React.RefAttributes<AntdFormItem>> {}\ninterface FormComponent\n extends React.ForwardRefExoticComponent<AntdFormProps & React.RefAttributes<AntdForm>> {\n Item: FormItemComponent\n create: typeof AntdForm.create\n createFormField: typeof AntdForm.createFormField\n}\n\nexport const Form = forwardRef<AntdForm, AntdFormProps>(({ ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm {...rest} className={classNames(rest.className, 'tnt-form')} ref={ref} />\n }}\n </ConfigConsumer>\n )\n}) as FormComponent\n\nForm.Item = forwardRef<AntdFormItem, AntdFormItemProps>(({ label, ...rest }, ref) => {\n return (\n <ConfigConsumer>\n {({ getPrefixCls }) => {\n return <AntdForm.Item {...rest} label={doUpperTitle(label)} ref={ref} />\n }}\n </ConfigConsumer>\n )\n})\n\n// 定义 create 函数的类型\ntype CreateFunction = <TOwnProps extends FormComponentProps<any>>(\n options?: FormCreateOption<TOwnProps>\n) => any\n\nconst Create: CreateFunction = (options: any) => (WrappedComponent: any) => {\n const validateSubmitMap: any = {}\n const CustomFormWrapper = (props: any, ref: any) => {\n const getFieldDecorator = props.form.getFieldDecorator\n props.form.getFieldDecorator = (name: any, options: any) => {\n let opt = options || {}\n if (opt.validateSubmit) {\n opt = {\n ...options,\n validateTrigger: 'noEvent',\n }\n validateSubmitMap[name] = true\n }\n return getFieldDecorator(name, opt)\n }\n return <WrappedComponent {...props} ref={ref} />\n }\n\n return AntdForm.create({\n ...options,\n onValuesChange: (props: any, changedValues: any, allValues: any) => {\n const keys = Object.keys(changedValues)\n if (keys.length === 1) {\n keys.forEach((name: any) => {\n if (validateSubmitMap[name]) {\n props.form.setFields({\n [name]: {\n value: changedValues[name],\n errors: undefined,\n },\n })\n }\n })\n }\n if (options && options.onValuesChange) {\n options.onValuesChange(props, changedValues, allValues)\n }\n },\n })(forwardRef(CustomFormWrapper))\n}\n\nForm.createFormField = AntdForm.createFormField\nForm.create = Create\n"]}
@@ -4,7 +4,7 @@ interface ColumnType {
4
4
  width?: any;
5
5
  }
6
6
  interface MyComponentProps {
7
- columns: ColumnType[];
7
+ columns?: ColumnType[];
8
8
  className?: string;
9
9
  }
10
10
  declare const _default: React.ForwardRefExoticComponent<MyComponentProps & React.RefAttributes<any>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/table/resizableTable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAA;AAKtE,OAAO,cAAc,CAAA;AAkCrB,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,UAAU,EAAE,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;;AAoDD,wBAAsC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/table/resizableTable/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAA;AAKtE,OAAO,cAAc,CAAA;AAkCrB,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,GAAG,CAAA;CACZ;AAED,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;;AAsDD,wBAAsC"}
@@ -91,20 +91,23 @@ var MyComponent = function MyComponent(props, ref) {
91
91
  });
92
92
  };
93
93
  (0, _react.useEffect)(function () {
94
- var curColumns = buildColumns(props.columns);
95
- setColumns(curColumns || []);
94
+ if (Array.isArray(props === null || props === void 0 ? void 0 : props.columns)) {
95
+ var curColumns = buildColumns(props.columns);
96
+ setColumns(curColumns || []);
97
+ }
96
98
  }, [props === null || props === void 0 ? void 0 : props.columns]);
97
99
  (0, _react.useEffect)(function () {
98
100
  dataRef.current = columns;
99
101
  }, [columns]);
100
- return _react["default"].createElement(_table.Table, Object.assign({}, props, {
102
+ return _react["default"].createElement(_table.Table, Object.assign({}, props, Array.isArray(props === null || props === void 0 ? void 0 : props.columns) ? {
103
+ columns: columns
104
+ } : {}, {
101
105
  className: (0, _classnames["default"])('tnt-resizable-table', _defineProperty({}, props.className, props.className)),
102
106
  components: {
103
107
  header: {
104
108
  cell: ResizableTitle
105
109
  }
106
- },
107
- columns: columns
110
+ }
108
111
  }));
109
112
  };
110
113
  var _default = exports["default"] = (0, _react.forwardRef)(MyComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/resizableTable/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, forwardRef, useRef, useEffect } from 'react'\nimport cn from 'classnames'\nimport { throttle } from 'lodash'\nimport { Resizable } from 'react-resizable'\nimport { Table } from '../table'\nimport './index.less'\n\nconst ResizableTitle = (\n props: React.HTMLAttributes<any> & {\n onResize: (e: React.SyntheticEvent<Element>, data: any) => void\n width: number\n }\n) => {\n const { onResize, width, ...restProps } = props\n\n if (!width) {\n return <th {...restProps} />\n }\n\n return (\n <Resizable\n width={width}\n height={0}\n handle={\n <span\n className=\"react-resizable-handle\"\n onClick={(e) => {\n e.stopPropagation()\n }}\n />\n }\n onResize={onResize}\n draggableOpts={{ enableUserSelectHack: false }}\n >\n <th {...restProps} />\n </Resizable>\n )\n}\n\ninterface ColumnType {\n width?: any\n}\n\ninterface MyComponentProps {\n columns: ColumnType[]\n className?: string\n}\n\nconst MyComponent: React.ForwardRefRenderFunction<any, MyComponentProps> = (props, ref) => {\n const [columns, setColumns] = useState<ColumnType[]>([])\n const dataRef = useRef<ColumnType[]>([])\n\n const handleResize = (index: number) =>\n throttle((e, { size }) => {\n const updatedColumns = dataRef.current || []\n setColumns(\n updatedColumns.map((column, idx) =>\n idx === index ? { ...column, width: size.width } : column\n )\n )\n }, 25)\n\n const buildColumns = (columns: ColumnType[]) =>\n columns?.map((column, index) => {\n if (typeof column?.width === 'string' && column?.width?.includes('%')) {\n return column\n }\n return {\n ...column,\n onHeaderCell: (column: ColumnType) => {\n let width = column.width\n if (typeof width === 'string' && !width.includes('%')) {\n width = Number(width.replace(/[^\\d]/g, ''))\n }\n return { width, onResize: handleResize(index) }\n },\n }\n })\n\n useEffect(() => {\n const curColumns = buildColumns(props.columns)\n setColumns(curColumns || [])\n }, [props?.columns])\n\n useEffect(() => {\n dataRef.current = columns\n }, [columns])\n\n return (\n <Table\n {...props}\n className={cn('tnt-resizable-table', { [props.className!]: props.className })}\n components={{ header: { cell: ResizableTitle } }}\n columns={columns}\n />\n )\n}\n\nexport default forwardRef(MyComponent)\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/table/resizableTable/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState, forwardRef, useRef, useEffect } from 'react'\nimport cn from 'classnames'\nimport { throttle } from 'lodash'\nimport { Resizable } from 'react-resizable'\nimport { Table } from '../table'\nimport './index.less'\n\nconst ResizableTitle = (\n props: React.HTMLAttributes<any> & {\n onResize: (e: React.SyntheticEvent<Element>, data: any) => void\n width: number\n }\n) => {\n const { onResize, width, ...restProps } = props\n\n if (!width) {\n return <th {...restProps} />\n }\n\n return (\n <Resizable\n width={width}\n height={0}\n handle={\n <span\n className=\"react-resizable-handle\"\n onClick={(e) => {\n e.stopPropagation()\n }}\n />\n }\n onResize={onResize}\n draggableOpts={{ enableUserSelectHack: false }}\n >\n <th {...restProps} />\n </Resizable>\n )\n}\n\ninterface ColumnType {\n width?: any\n}\n\ninterface MyComponentProps {\n columns?: ColumnType[]\n className?: string\n}\n\nconst MyComponent: React.ForwardRefRenderFunction<any, MyComponentProps> = (props, ref) => {\n const [columns, setColumns] = useState<ColumnType[]>([])\n const dataRef = useRef<ColumnType[]>([])\n\n const handleResize = (index: number) =>\n throttle((e, { size }) => {\n const updatedColumns = dataRef.current || []\n setColumns(\n updatedColumns.map((column, idx) =>\n idx === index ? { ...column, width: size.width } : column\n )\n )\n }, 25)\n\n const buildColumns = (columns: ColumnType[]) =>\n columns?.map((column, index) => {\n if (typeof column?.width === 'string' && column?.width?.includes('%')) {\n return column\n }\n return {\n ...column,\n onHeaderCell: (column: ColumnType) => {\n let width = column.width\n if (typeof width === 'string' && !width.includes('%')) {\n width = Number(width.replace(/[^\\d]/g, ''))\n }\n return { width, onResize: handleResize(index) }\n },\n }\n })\n\n useEffect(() => {\n if (Array.isArray(props?.columns)) {\n const curColumns = buildColumns(props.columns)\n setColumns(curColumns || [])\n }\n }, [props?.columns])\n\n useEffect(() => {\n dataRef.current = columns\n }, [columns])\n\n return (\n <Table\n {...props}\n {...(Array.isArray(props?.columns) ? { columns } : {})}\n className={cn('tnt-resizable-table', { [props.className!]: props.className })}\n components={{ header: { cell: ResizableTitle } }}\n />\n )\n}\n\nexport default forwardRef(MyComponent)\n"]}
@@ -1,7 +1,14 @@
1
1
  import React from 'react';
2
2
  import type { TableProps as AntdTableProps } from 'antd/lib/table';
3
- declare const Table: React.ForwardRefExoticComponent<Omit<AntdTableProps<any>, "locale"> & {
4
- resizable?: boolean | undefined;
5
- } & React.RefAttributes<unknown>>;
3
+ declare type CustomTableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {
4
+ resizable?: boolean;
5
+ };
6
+ declare const Table: {
7
+ (props: CustomTableProps<any>): React.JSX.Element;
8
+ Column: typeof import("antd/lib/table/Column").default;
9
+ ColumnGroup: typeof import("antd/lib/table/ColumnGroup").default;
10
+ displayName: string;
11
+ titleCaseUpper: (str: any, upperCaseIgnore?: any[]) => any;
12
+ };
6
13
  export { Table };
7
14
  //# sourceMappingURL=table-hoc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-hoc.d.ts","sourceRoot":"","sources":["../../src/table/table-hoc.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAQjE,QAAA,MAAM,KAAK;;iCAQT,CAAA;AAEF,OAAO,EAAE,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"table-hoc.d.ts","sourceRoot":"","sources":["../../src/table/table-hoc.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAA;AAIjE,aAAK,gBAAgB,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,QAAA,MAAM,KAAK;YAAW,iBAAiB,GAAG,CAAC;;;;;CAQ1C,CAAA;AAMD,OAAO,EAAE,KAAK,EAAE,CAAA"}
@@ -1,16 +1,13 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.Table = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
9
8
  var _table = require("./table");
10
9
  var _index = _interopRequireDefault(require("./resizableTable/index"));
11
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
14
11
  var __rest = void 0 && (void 0).__rest || function (s, e) {
15
12
  var t = {};
16
13
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -19,16 +16,16 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
19
16
  }
20
17
  return t;
21
18
  };
22
- var Table = exports.Table = (0, _react.forwardRef)(function (props, ref) {
19
+ var Table = exports.Table = function Table(props) {
23
20
  var _props$resizable = props.resizable,
24
21
  resizable = _props$resizable === void 0 ? false : _props$resizable,
25
22
  restProps = __rest(props, ["resizable"]);
26
23
  if (resizable) {
27
- return _react["default"].createElement(_index["default"], Object.assign({
28
- columns: []
29
- }, restProps, {
30
- ref: ref
31
- }));
24
+ return _react["default"].createElement(_index["default"], Object.assign({}, restProps));
32
25
  }
33
26
  return _react["default"].createElement(_table.Table, Object.assign({}, restProps));
34
- });
27
+ };
28
+ Table.Column = _table.Table.Column;
29
+ Table.ColumnGroup = _table.Table.ColumnGroup;
30
+ Table.displayName = 'Table';
31
+ Table.titleCaseUpper = _table.Table.titleCaseUpper;
@@ -1 +1 @@
1
- {"version":3,"file":"table-hoc.js","sourceRoot":"","sources":["../../src/table/table-hoc.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAyC;AAEzC,mCAA4C;AAC5C,mEAAmD;AAMnD,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,CAAC,KAA4B,EAAE,GAAQ,EAAE,EAAE;IAClE,MAAM,EAAE,SAAS,GAAG,KAAK,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAA3C,aAAmC,CAAQ,CAAA;IAEjD,IAAI,SAAS,EAAE;QACb,OAAO,8BAAC,eAAc,kBAAC,OAAO,EAAE,EAAE,IAAM,SAAS,IAAE,GAAG,EAAE,GAAG,IAAI,CAAA;KAChE;IAED,OAAO,8BAAC,aAAS,oBAAK,SAAS,EAAI,CAAA;AACrC,CAAC,CAAC,CAAA;AAEO,sBAAK","sourcesContent":["import React, { forwardRef } from 'react'\nimport type { TableProps as AntdTableProps } from 'antd/lib/table'\nimport { Table as AntdTable } from './table'\nimport ResizableTable from './resizableTable/index'\n\ntype CustomTableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n resizable?: boolean\n}\n\nconst Table = forwardRef((props: CustomTableProps<any>, ref: any) => {\n const { resizable = false, ...restProps } = props\n\n if (resizable) {\n return <ResizableTable columns={[]} {...restProps} ref={ref} />\n }\n\n return <AntdTable {...restProps} />\n})\n\nexport { Table }\n"]}
1
+ {"version":3,"file":"table-hoc.js","sourceRoot":"","sources":["../../src/table/table-hoc.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAAyB;AAEzB,mCAA4C;AAC5C,mEAAmD;AAMnD,MAAM,KAAK,GAAG,CAAC,KAA4B,EAAE,EAAE;IAC7C,MAAM,EAAE,SAAS,GAAG,KAAK,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAA3C,aAAmC,CAAQ,CAAA;IAEjD,IAAI,SAAS,EAAE;QACb,OAAO,8BAAC,eAAc,oBAAK,SAAS,EAAI,CAAA;KACzC;IAED,OAAO,8BAAC,aAAS,oBAAK,SAAS,EAAI,CAAA;AACrC,CAAC,CAAA;AAMQ,sBAAK;AAJd,KAAK,CAAC,MAAM,GAAG,aAAS,CAAC,MAAM,CAAA;AAC/B,KAAK,CAAC,WAAW,GAAG,aAAS,CAAC,WAAW,CAAA;AACzC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA;AAC3B,KAAK,CAAC,cAAc,GAAG,aAAS,CAAC,cAAc,CAAA","sourcesContent":["import React from 'react'\nimport type { TableProps as AntdTableProps } from 'antd/lib/table'\nimport { Table as AntdTable } from './table'\nimport ResizableTable from './resizableTable/index'\n\ntype CustomTableProps<T> = Omit<AntdTableProps<T>, 'locale'> & {\n resizable?: boolean\n}\n\nconst Table = (props: CustomTableProps<any>) => {\n const { resizable = false, ...restProps } = props\n\n if (resizable) {\n return <ResizableTable {...restProps} />\n }\n\n return <AntdTable {...restProps} />\n}\n\nTable.Column = AntdTable.Column\nTable.ColumnGroup = AntdTable.ColumnGroup\nTable.displayName = 'Table'\nTable.titleCaseUpper = AntdTable.titleCaseUpper\nexport { Table }\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tntd",
3
- "version": "3.0.11-beta.1",
3
+ "version": "3.0.12-beta.1",
4
4
  "license": "MIT",
5
5
  "scripts": {
6
6
  "start": "heft start --storybook",