@rklink/components 0.1.0
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/README.md +23 -0
- package/dist/index.cjs +718 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +189 -0
- package/dist/index.d.ts +189 -0
- package/dist/index.js +705 -0
- package/dist/index.js.map +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/RKConfirmAction/index.tsx","../src/RKRemoteSelect/index.tsx","../src/RKRemoteSelect/optionSourceRegistry.ts","../src/RKSchemaForm/index.tsx","../src/RKSchemaForm/fieldRegistry.tsx","../src/RKTable/index.tsx"],"sourcesContent":["export { default as RKConfirmAction, useRKConfirmRequest } from './RKConfirmAction';\nexport type {\n RKConfirmActionProps,\n UseRKConfirmRequestOptions,\n} from './RKConfirmAction';\n\nexport { default as RKRemoteSelect } from './RKRemoteSelect';\nexport type {\n RKRemoteSelectOption,\n RKRemoteSelectOptionSource,\n RKRemoteSelectOptionSourceDescriptor,\n RKRemoteSelectOptionSourceType,\n RKRemoteSelectOptionValue,\n RKRemoteSelectProps,\n RKRemoteSelectRequestApi,\n} from './RKRemoteSelect';\nexport {\n enumOptionSourceOptions,\n registerRKRemoteSelectEnumOptionSource,\n registerRKRemoteSelectRemoteOptionSource,\n remoteOptionSourceOptions,\n resolveRKRemoteSelectOptions,\n} from './RKRemoteSelect';\n\nexport { default as RKSchemaForm } from './RKSchemaForm';\nexport type {\n RKSchemaBuiltinValueType,\n RKSchemaFieldProps,\n RKSchemaFormColumn,\n RKSchemaFormProps,\n RKSchemaFormValueType,\n RKSchemaOption,\n RKSchemaOptionSource,\n RKSchemaOptionSourceDescriptor,\n RKSchemaOptionSourceType,\n RKSchemaOptionValue,\n} from './RKSchemaForm';\nexport {\n registerRKSchemaEnumOptionSource,\n registerRKSchemaField,\n registerRKSchemaRemoteOptionSource,\n resolveRKSchemaOptions,\n} from './RKSchemaForm';\n\nexport { default as RKTable } from './RKTable';\nexport type {\n RKTableProps,\n RKTableRequestAdapter,\n RKTableRequestApi,\n RKTableRequestParams,\n RKTableResponse,\n} from './RKTable';\n","import { useRequest } from 'ahooks';\nimport type { ButtonProps, ModalFuncProps } from 'antd';\nimport { Button, message, Modal } from 'antd';\nimport type { Key, ReactNode } from 'react';\nimport { useCallback, useMemo, useRef, useState } from 'react';\n\ntype MaybePromise<T> = T | Promise<T>;\n\ntype RKConfirmConfig<Params extends unknown[]> =\n | ModalFuncProps\n | ((...params: Params) => ModalFuncProps | false)\n | false;\n\ntype RKSuccessMessage<Result, Params extends unknown[]> =\n | ReactNode\n | ((result: Result, ...params: Params) => ReactNode);\n\ntype RKFailureMessage<Result, Params extends unknown[]> =\n | ReactNode\n | ((result: Result, ...params: Params) => ReactNode);\n\ntype RKErrorMessage<Params extends unknown[]> =\n | ReactNode\n | ((error: unknown, ...params: Params) => ReactNode);\n\nconst DEFAULT_FETCH_KEY = 'RK_CONFIRM_DEFAULT';\n\nexport interface UseRKConfirmRequestOptions<Result, Params extends unknown[]> {\n request: (...params: Params) => Promise<Result>;\n confirm?: RKConfirmConfig<Params>;\n successMessage?: RKSuccessMessage<Result, Params>;\n failureMessage?: RKFailureMessage<Result, Params>;\n errorMessage?: RKErrorMessage<Params>;\n successCode?: number;\n isSuccess?: (result: Result) => boolean;\n getLoadingKey?: (...params: Params) => Key | undefined;\n debounceInterval?: number;\n throttleInterval?: number;\n onSuccess?: (result: Result, ...params: Params) => MaybePromise<void>;\n onFailure?: (result: Result, ...params: Params) => MaybePromise<void>;\n onError?: (error: unknown, ...params: Params) => MaybePromise<void>;\n onCancel?: (...params: Params) => MaybePromise<void>;\n}\n\nexport interface RKConfirmActionProps<Result>\n extends Omit<ButtonProps, 'loading' | 'onClick' | 'onError'>,\n Omit<UseRKConfirmRequestOptions<Result, []>, 'getLoadingKey'> {\n stopPropagation?: boolean;\n}\n\nfunction isResponseSuccess<Result>(result: Result, successCode: number) {\n if (result && typeof result === 'object' && 'code' in result) {\n return (result as { code?: unknown }).code === successCode;\n }\n\n return true;\n}\n\nfunction resolveConfirmConfig<Params extends unknown[]>(\n confirm: RKConfirmConfig<Params> | undefined,\n params: Params,\n) {\n if (typeof confirm === 'function') {\n return confirm(...params);\n }\n\n return confirm;\n}\n\nfunction resolveMessage<Result, Params extends unknown[]>(\n nextMessage:\n | RKSuccessMessage<Result, Params>\n | RKFailureMessage<Result, Params>\n | undefined,\n result: Result,\n params: Params,\n) {\n if (typeof nextMessage === 'function') {\n return nextMessage(result, ...params);\n }\n\n return nextMessage;\n}\n\nfunction resolveErrorMessage<Params extends unknown[]>(\n errorMessage: RKErrorMessage<Params> | undefined,\n error: unknown,\n params: Params,\n) {\n if (typeof errorMessage === 'function') {\n return errorMessage(error, ...params);\n }\n\n return errorMessage;\n}\n\nexport function useRKConfirmRequest<Result = unknown, Params extends unknown[] = []>(\n options: UseRKConfirmRequestOptions<Result, Params>,\n) {\n const {\n request,\n confirm,\n successMessage,\n failureMessage,\n errorMessage,\n successCode = 200,\n isSuccess,\n getLoadingKey,\n debounceInterval,\n throttleInterval,\n onSuccess,\n onFailure,\n onError,\n onCancel,\n } = options;\n const confirmOpenRef = useRef(false);\n const [loadingKeys, setLoadingKeys] = useState<Record<string, boolean>>({});\n const { runAsync: requestRun, loading } = useRequest<Result, Params>(request, {\n manual: true,\n debounceWait: debounceInterval,\n throttleWait: throttleInterval,\n });\n\n const setKeyLoading = useCallback((params: Params, nextLoading: boolean) => {\n const key = getLoadingKey?.(...params);\n const loadingKey = key === undefined ? DEFAULT_FETCH_KEY : String(key);\n\n setLoadingKeys((prev) => ({\n ...prev,\n [loadingKey]: nextLoading,\n }));\n }, [getLoadingKey]);\n\n const executeRequest = useCallback(\n async (...params: Params) => {\n setKeyLoading(params, true);\n\n try {\n const result = await requestRun(...params);\n const success = isSuccess ? isSuccess(result) : isResponseSuccess(result, successCode);\n\n if (success) {\n const nextSuccessMessage = resolveMessage(successMessage, result, params);\n\n if (nextSuccessMessage) {\n message.success(nextSuccessMessage);\n }\n\n await onSuccess?.(result, ...params);\n } else {\n const nextFailureMessage = resolveMessage(failureMessage, result, params);\n\n if (nextFailureMessage) {\n message.error(nextFailureMessage);\n }\n\n await onFailure?.(result, ...params);\n }\n\n return result;\n } catch (error) {\n const nextErrorMessage = resolveErrorMessage(errorMessage, error, params);\n\n if (nextErrorMessage) {\n message.error(nextErrorMessage);\n }\n\n await onError?.(error, ...params);\n throw error;\n } finally {\n setKeyLoading(params, false);\n }\n },\n [\n errorMessage,\n failureMessage,\n isSuccess,\n onError,\n onFailure,\n onSuccess,\n requestRun,\n setKeyLoading,\n successCode,\n successMessage,\n ],\n );\n\n const run = useCallback(\n (...params: Params) => {\n const confirmConfig = resolveConfirmConfig(confirm, params);\n\n if (!confirmConfig) {\n void executeRequest(...params);\n return;\n }\n\n if (confirmOpenRef.current) return;\n\n confirmOpenRef.current = true;\n\n const { onOk, onCancel: onModalCancel, afterClose, ...restConfirmConfig } = confirmConfig;\n\n Modal.confirm({\n okText: '确认',\n cancelText: '取消',\n ...restConfirmConfig,\n onOk: async (...args) => {\n const shouldContinue = await onOk?.(...args);\n\n if (shouldContinue === false) return false;\n\n return executeRequest(...params);\n },\n onCancel: async (...args) => {\n const shouldCancel = await onModalCancel?.(...args);\n\n await onCancel?.(...params);\n\n return shouldCancel;\n },\n afterClose: () => {\n confirmOpenRef.current = false;\n afterClose?.();\n },\n });\n },\n [confirm, executeRequest, onCancel],\n );\n\n const isLoading = useCallback(\n (key: Key | undefined) => {\n if (key === undefined) return loading || !!loadingKeys[DEFAULT_FETCH_KEY];\n\n return !!loadingKeys[String(key)];\n },\n [loading, loadingKeys],\n );\n\n return useMemo(\n () => ({\n run,\n runRequest: executeRequest,\n loading,\n loadingKeys,\n isLoading,\n }),\n [executeRequest, isLoading, loading, loadingKeys, run],\n );\n}\n\nconst RKConfirmAction = <Result = unknown,>({\n request,\n confirm,\n successMessage,\n failureMessage,\n errorMessage,\n successCode,\n isSuccess,\n debounceInterval,\n throttleInterval,\n onSuccess,\n onFailure,\n onError,\n onCancel,\n stopPropagation = true,\n children,\n ...buttonProps\n}: RKConfirmActionProps<Result>) => {\n const { run, loading } = useRKConfirmRequest<Result, []>({\n request,\n confirm,\n successMessage,\n failureMessage,\n errorMessage,\n successCode,\n isSuccess,\n debounceInterval,\n throttleInterval,\n onSuccess,\n onFailure,\n onError,\n onCancel,\n });\n\n return (\n <Button\n type=\"link\"\n {...buttonProps}\n loading={loading}\n onClick={(event) => {\n if (stopPropagation) {\n event.stopPropagation();\n }\n\n run();\n }}\n >\n {children}\n </Button>\n );\n};\n\nexport default RKConfirmAction;\n","import { ProFormSelect } from '@ant-design/pro-components';\nimport type { ProFormSelectProps } from '@ant-design/pro-components';\nimport type { SelectProps } from 'antd';\nimport { useMemo } from 'react';\nimport { resolveRKRemoteSelectOptions } from './optionSourceRegistry';\nimport type { RKRemoteSelectOption, RKRemoteSelectOptionSource } from './type';\n\ntype RKRemoteSelectRecord = Record<string, any>;\ntype RKRemoteSelectParams = Record<string, any>;\ntype RKRemoteSelectRequestResult<OptionItem extends RKRemoteSelectRecord> =\n | OptionItem[]\n | {\n data?: OptionItem[] | { records?: OptionItem[]; list?: OptionItem[] };\n records?: OptionItem[];\n list?: OptionItem[];\n [key: string]: unknown;\n };\ntype RKRemoteSelectDisabled<OptionItem extends RKRemoteSelectRecord> =\n | boolean\n | ((item: OptionItem) => boolean);\n\nexport type RKRemoteSelectRequestApi<\n OptionItem extends RKRemoteSelectRecord = RKRemoteSelectRecord,\n Params extends RKRemoteSelectParams = RKRemoteSelectParams,\n> = (params: Params) => Promise<RKRemoteSelectRequestResult<OptionItem>>;\n\nexport interface RKRemoteSelectProps<\n ValueType = unknown,\n OptionItem extends RKRemoteSelectRecord = RKRemoteSelectRecord,\n Params extends RKRemoteSelectParams = RKRemoteSelectParams,\n> extends Omit<ProFormSelectProps<ValueType>, 'disabled' | 'options' | 'request'> {\n options?: ProFormSelectProps<ValueType>['options'] | OptionItem[];\n optionSource?: RKRemoteSelectOptionSource;\n requestApi?: RKRemoteSelectRequestApi<OptionItem, Params>;\n request?: ProFormSelectProps<ValueType>['request'];\n labelField?: string;\n valueField?: string;\n childrenField?: string;\n disabled?: RKRemoteSelectDisabled<OptionItem>;\n searchKey?: string;\n}\n\nfunction isDynamicOptionSource(optionSource?: RKRemoteSelectOptionSource) {\n return optionSource?.type === 'enum' || optionSource?.type === 'remote';\n}\n\nfunction resolveParams(\n optionSource: RKRemoteSelectOptionSource | undefined,\n params: RKRemoteSelectProps['params'],\n) {\n if (!isDynamicOptionSource(optionSource)) return params;\n if (typeof params === 'function') return params;\n\n return {\n ...params,\n ...optionSource,\n };\n}\n\nfunction isRecord(value: unknown): value is RKRemoteSelectRecord {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction isOptionValue(value: unknown): value is RKRemoteSelectOption['value'] {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';\n}\n\nfunction normalizeOptionLabel(value: unknown): RKRemoteSelectOption['label'] | undefined {\n if (typeof value === 'string' || typeof value === 'number') {\n return value;\n }\n\n if (typeof value === 'boolean') {\n return String(value);\n }\n\n return undefined;\n}\n\nfunction resolveRequestApiItems<OptionItem extends RKRemoteSelectRecord>(\n result: RKRemoteSelectRequestResult<OptionItem>,\n): OptionItem[] {\n if (Array.isArray(result)) return result;\n\n if (Array.isArray(result.data)) return result.data;\n\n if (isRecord(result.data)) {\n if (Array.isArray(result.data.records)) return result.data.records;\n if (Array.isArray(result.data.list)) return result.data.list;\n }\n\n if (Array.isArray(result.records)) return result.records;\n if (Array.isArray(result.list)) return result.list;\n\n return [];\n}\n\nfunction normalizeSearchParams<Params extends RKRemoteSelectParams>(\n params: Params,\n searchKey = 'keyWords',\n) {\n if (searchKey === 'keyWords') return params;\n\n const { keyWords, ...restParams } = params;\n\n return {\n ...restParams,\n ...(keyWords === undefined ? {} : { [searchKey]: keyWords }),\n } as Params;\n}\n\nfunction normalizeOptions<OptionItem extends RKRemoteSelectRecord>(\n items: OptionItem[],\n config: {\n labelField?: string;\n valueField?: string;\n childrenField?: string;\n disabled?: RKRemoteSelectDisabled<OptionItem>;\n },\n): RKRemoteSelectOption[] {\n const labelField = config.labelField || 'label';\n const valueField = config.valueField || 'value';\n const childrenField = config.childrenField || 'children';\n\n return items\n .map((item): RKRemoteSelectOption | undefined => {\n const label = normalizeOptionLabel(item[labelField]);\n const value = item[valueField];\n const children = item[childrenField];\n\n if (label === undefined || !isOptionValue(value)) return undefined;\n\n const optionDisabled =\n typeof config.disabled === 'function'\n ? config.disabled(item)\n : typeof item.disabled === 'boolean'\n ? item.disabled\n : undefined;\n\n return {\n ...item,\n label,\n value,\n disabled: optionDisabled,\n children: Array.isArray(children)\n ? normalizeOptions(\n children.filter(isRecord) as OptionItem[],\n config,\n )\n : undefined,\n };\n })\n .filter((item): item is RKRemoteSelectOption => item !== undefined);\n}\n\nfunction shouldNormalizeOptions<OptionItem extends RKRemoteSelectRecord>(\n options: RKRemoteSelectProps<unknown, OptionItem>['options'],\n config: {\n labelField?: string;\n valueField?: string;\n childrenField?: string;\n disabled?: RKRemoteSelectDisabled<OptionItem>;\n },\n) {\n return (\n Array.isArray(options) &&\n (options as unknown[]).every(isRecord) &&\n (!!config.labelField ||\n !!config.valueField ||\n !!config.childrenField ||\n typeof config.disabled === 'function')\n );\n}\n\nexport default function RKRemoteSelect<\n ValueType = unknown,\n OptionItem extends RKRemoteSelectRecord = RKRemoteSelectRecord,\n Params extends RKRemoteSelectParams = RKRemoteSelectParams,\n>({\n optionSource,\n options,\n requestApi,\n request,\n params,\n fieldProps,\n showSearch = true,\n labelField,\n valueField,\n childrenField,\n disabled,\n searchKey = 'keyWords',\n ...restProps\n}: RKRemoteSelectProps<ValueType, OptionItem, Params>) {\n const selectDisabled = typeof disabled === 'boolean' ? disabled : undefined;\n const optionConfig = useMemo(\n () => ({\n labelField,\n valueField,\n childrenField,\n disabled,\n }),\n [childrenField, disabled, labelField, valueField],\n );\n const selectOptions = useMemo(() => {\n if (!shouldNormalizeOptions(options, optionConfig)) {\n return options as ProFormSelectProps<ValueType>['options'];\n }\n\n return normalizeOptions(\n options as OptionItem[],\n optionConfig,\n ) as ProFormSelectProps<ValueType>['options'];\n }, [optionConfig, options]);\n\n const selectRequest = useMemo(() => {\n if (isDynamicOptionSource(optionSource)) {\n return async () => resolveRKRemoteSelectOptions(optionSource);\n }\n\n if (requestApi) {\n return async (requestParams: Params) => {\n const result = await requestApi(normalizeSearchParams(requestParams, searchKey));\n return normalizeOptions(resolveRequestApiItems(result), optionConfig);\n };\n }\n\n return request;\n }, [optionConfig, optionSource, request, requestApi, searchKey]);\n const requestParams = useMemo(() => resolveParams(optionSource, params), [optionSource, params]);\n\n return (\n <ProFormSelect\n {...restProps}\n disabled={selectDisabled}\n showSearch={showSearch}\n options={selectOptions}\n request={selectRequest}\n params={requestParams}\n fieldProps={\n {\n optionFilterProp: 'label',\n filterOption: true,\n ...fieldProps,\n } as SelectProps<ValueType>\n }\n />\n );\n}\n\nexport {\n enumOptionSourceOptions,\n registerRKRemoteSelectEnumOptionSource,\n registerRKRemoteSelectRemoteOptionSource,\n remoteOptionSourceOptions,\n resolveRKRemoteSelectOptions,\n} from './optionSourceRegistry';\nexport type { RKRemoteSelectOptionSourceDescriptor } from './optionSourceRegistry';\nexport type {\n RKRemoteSelectOption,\n RKRemoteSelectOptionSource,\n RKRemoteSelectOptionSourceType,\n RKRemoteSelectOptionValue,\n} from './type';\n","import type {\n RKRemoteSelectOption,\n RKRemoteSelectOptionSource,\n RKRemoteSelectOptionSourceType,\n RKRemoteSelectOptionValue,\n} from './type';\n\ninterface OptionFieldDefaults {\n labelField: string;\n valueField: string;\n childrenField?: string;\n}\n\nexport interface RKRemoteSelectOptionSourceDescriptor {\n label: string;\n value: string;\n description: string;\n sourceType: RKRemoteSelectOptionSourceType;\n}\n\ninterface RemoteOptionSourceResult {\n items: Array<Record<string, unknown>>;\n defaults?: OptionFieldDefaults;\n}\n\ntype RemoteOptionSourceLoader = () => Promise<RemoteOptionSourceResult>;\n\nconst enumOptionSourceRegistry: Record<string, RKRemoteSelectOption[]> = {};\nconst remoteOptionSourceRegistry: Record<string, RemoteOptionSourceLoader> = {};\n\nexport const enumOptionSourceOptions: RKRemoteSelectOptionSourceDescriptor[] = [];\nexport const remoteOptionSourceOptions: RKRemoteSelectOptionSourceDescriptor[] = [];\n\nfunction upsertOptionSourceDescriptor(\n list: RKRemoteSelectOptionSourceDescriptor[],\n descriptor: RKRemoteSelectOptionSourceDescriptor,\n) {\n const index = list.findIndex((item) => item.value === descriptor.value);\n\n if (index === -1) {\n list.push(descriptor);\n return;\n }\n\n list[index] = descriptor;\n}\n\nexport function registerRKRemoteSelectEnumOptionSource(\n key: string,\n options: RKRemoteSelectOption[],\n descriptor?: Omit<RKRemoteSelectOptionSourceDescriptor, 'value' | 'sourceType'>,\n) {\n enumOptionSourceRegistry[key] = options;\n upsertOptionSourceDescriptor(enumOptionSourceOptions, {\n label: descriptor?.label || key,\n value: key,\n description: descriptor?.description || '',\n sourceType: 'enum',\n });\n}\n\nexport function registerRKRemoteSelectRemoteOptionSource(\n key: string,\n loader: RemoteOptionSourceLoader,\n descriptor?: Omit<RKRemoteSelectOptionSourceDescriptor, 'value' | 'sourceType'>,\n) {\n remoteOptionSourceRegistry[key] = loader;\n upsertOptionSourceDescriptor(remoteOptionSourceOptions, {\n label: descriptor?.label || key,\n value: key,\n description: descriptor?.description || '',\n sourceType: 'remote',\n });\n}\n\nfunction normalizeOptionLabel(value: unknown): RKRemoteSelectOption['label'] | undefined {\n if (typeof value === 'string' || typeof value === 'number') {\n return value;\n }\n\n if (typeof value === 'boolean') {\n return String(value);\n }\n\n return undefined;\n}\n\nfunction isOptionValue(value: unknown): value is RKRemoteSelectOptionValue {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';\n}\n\nfunction normalizeOptionItems(\n items: Array<Record<string, unknown>>,\n defaults?: OptionFieldDefaults,\n source?: RKRemoteSelectOptionSource,\n): RKRemoteSelectOption[] {\n const labelField = source?.labelField || defaults?.labelField || 'label';\n const valueField = source?.valueField || defaults?.valueField || 'value';\n const childrenField = source?.childrenField || defaults?.childrenField || 'children';\n\n return items\n .map((item): RKRemoteSelectOption | undefined => {\n const label = normalizeOptionLabel(item[labelField]);\n const value = item[valueField];\n const children = item[childrenField];\n\n if (label === undefined || !isOptionValue(value)) {\n return undefined;\n }\n\n return {\n label,\n value,\n disabled: typeof item.disabled === 'boolean' ? item.disabled : undefined,\n children: Array.isArray(children)\n ? normalizeOptionItems(\n children.filter(\n (child): child is Record<string, unknown> =>\n typeof child === 'object' && child !== null,\n ),\n defaults,\n source,\n )\n : undefined,\n };\n })\n .filter((item): item is RKRemoteSelectOption => item !== undefined);\n}\n\nexport async function resolveRKRemoteSelectOptions(\n source?: RKRemoteSelectOptionSource,\n): Promise<RKRemoteSelectOption[]> {\n if (!source?.type || !source.key) {\n return [];\n }\n\n if (source.type === 'enum') {\n return enumOptionSourceRegistry[source.key] || [];\n }\n\n if (source.type === 'remote') {\n const loader = remoteOptionSourceRegistry[source.key];\n if (!loader) return [];\n\n const result = await loader();\n\n return normalizeOptionItems(result.items, result.defaults, source);\n }\n\n return [];\n}\n","import { ProForm } from '@ant-design/pro-components';\nimport type { ColProps } from 'antd';\nimport type { Rule } from 'antd/es/form';\nimport { RKSchemaFieldRegistry } from './fieldRegistry';\nimport type { RKSchemaFormProps } from './type';\n\nconst requiredRule: Rule = {\n required: true,\n message: '此项为必填项',\n};\n\nfunction getColProps(columns?: number): ColProps {\n switch (columns) {\n case 1:\n return { span: 24 };\n case 2:\n return { lg: 12, md: 12, sm: 24 };\n case 3:\n return { lg: 8, md: 12, sm: 24 };\n case 6:\n return { lg: 4, md: 6, sm: 12 };\n case 4:\n default:\n return { lg: 6, md: 8, sm: 12 };\n }\n}\n\nexport default function RKSchemaForm<T = Record<string, unknown>>(props: RKSchemaFormProps<T>) {\n const { columns, columnCount, fieldColProps, rowProps, ...formProps } = props;\n const defaultColProps = fieldColProps || getColProps(columnCount);\n\n return (\n <ProForm grid rowProps={{ gutter: 24, ...rowProps }} {...formProps}>\n {columns.map((column, index) => {\n if (column.hidden === true) return null;\n\n const {\n key,\n title,\n dataIndex,\n valueType = 'text',\n required,\n disabled,\n readonly,\n initialValue,\n rules,\n tooltip,\n extra,\n colProps,\n fieldProps,\n } = column;\n const Component = RKSchemaFieldRegistry[valueType];\n if (!Component) return null;\n\n return (\n <Component\n key={key || `${String(dataIndex)}-${index}`}\n label={title}\n name={dataIndex}\n disabled={disabled}\n readonly={readonly}\n initialValue={initialValue}\n rules={[...(required === true ? [requiredRule] : []), ...(rules || [])]}\n tooltip={tooltip}\n extra={extra}\n colProps={colProps || defaultColProps}\n fieldProps={fieldProps}\n />\n );\n })}\n </ProForm>\n );\n}\n\nexport * from './fieldRegistry';\nexport * from './optionSourceRegistry';\nexport * from './type';\n","import {\n ProFormCascader,\n ProFormCheckbox,\n ProFormColorPicker,\n ProFormDateMonthRangePicker,\n ProFormDatePicker,\n ProFormDateQuarterRangePicker,\n ProFormDateRangePicker,\n ProFormDateTimePicker,\n ProFormDateTimeRangePicker,\n ProFormDateWeekRangePicker,\n ProFormDateYearRangePicker,\n ProFormDigit,\n ProFormDigitRange,\n ProFormMoney,\n ProFormRadio,\n ProFormRate,\n ProFormSegmented,\n ProFormSelect,\n ProFormSlider,\n ProFormSwitch,\n ProFormText,\n ProFormTextArea,\n ProFormTimePicker,\n ProFormTreeSelect,\n ProFormUploadButton,\n ProFormUploadDragger,\n type ProFormItemProps,\n} from '@ant-design/pro-components';\nimport type { ComponentType } from 'react';\nimport { resolveRKSchemaOptions } from './optionSourceRegistry';\nimport type { RKSchemaFieldProps, RKSchemaOption, RKSchemaOptionSource } from './type';\n\nexport type RKSchemaFieldRenderer = ComponentType<ProFormItemProps & Record<string, unknown>>;\n\nfunction isFieldComponentProps(value: unknown): value is RKSchemaFieldProps {\n return typeof value === 'object' && value !== null;\n}\n\nfunction isDynamicOptionSource(source?: RKSchemaOptionSource) {\n return ['enum', 'remote'].includes(source?.type || '');\n}\n\nfunction getStaticOptions(fieldProps: RKSchemaFieldProps, optionFieldName: 'options' | 'treeData') {\n if (optionFieldName === 'treeData') {\n return fieldProps.treeData || fieldProps.options;\n }\n\n return fieldProps.options;\n}\n\nfunction asField(component: unknown): RKSchemaFieldRenderer {\n return component as RKSchemaFieldRenderer;\n}\n\nfunction createOptionField(\n Component: RKSchemaFieldRenderer,\n options: { optionFieldName?: 'options' | 'treeData' } = {},\n): RKSchemaFieldRenderer {\n const { optionFieldName = 'options' } = options;\n\n return function RKSchemaOptionsField(props: ProFormItemProps & Record<string, unknown>) {\n const fieldProps = isFieldComponentProps(props.fieldProps) ? props.fieldProps : {};\n const { options: staticOptions, treeData, optionSource, ...restFieldProps } = fieldProps;\n const shouldLoadDynamic = isDynamicOptionSource(optionSource);\n const resolvedStaticOptions =\n getStaticOptions({ ...fieldProps, options: staticOptions, treeData }, optionFieldName) || [];\n const request = shouldLoadDynamic\n ? async (): Promise<RKSchemaOption[]> => resolveRKSchemaOptions(optionSource)\n : undefined;\n\n return (\n <Component\n {...props}\n request={request || props.request}\n params={shouldLoadDynamic ? optionSource : props.params}\n fieldProps={{\n ...restFieldProps,\n [optionFieldName]: shouldLoadDynamic ? undefined : resolvedStaticOptions,\n }}\n />\n );\n };\n}\n\nexport const RKSchemaFieldRegistry: Record<string, RKSchemaFieldRenderer> = {\n text: asField(ProFormText),\n password: asField(ProFormText.Password),\n textarea: asField(ProFormTextArea),\n digit: asField(ProFormDigit),\n digitRange: asField(ProFormDigitRange),\n select: createOptionField(asField(ProFormSelect)),\n treeSelect: createOptionField(asField(ProFormTreeSelect), { optionFieldName: 'treeData' }),\n cascader: createOptionField(asField(ProFormCascader)),\n radio: createOptionField(asField(ProFormRadio.Group)),\n checkbox: asField(ProFormCheckbox),\n checkboxGroup: createOptionField(asField(ProFormCheckbox.Group)),\n switch: asField(ProFormSwitch),\n slider: asField(ProFormSlider),\n rate: asField(ProFormRate),\n segmented: createOptionField(asField(ProFormSegmented)),\n color: asField(ProFormColorPicker),\n date: asField(ProFormDatePicker),\n dateRange: asField(ProFormDateRangePicker),\n dateTime: asField(ProFormDateTimePicker),\n dateTimeRange: asField(ProFormDateTimeRangePicker),\n dateWeekRange: asField(ProFormDateWeekRangePicker),\n dateMonthRange: asField(ProFormDateMonthRangePicker),\n dateQuarterRange: asField(ProFormDateQuarterRangePicker),\n dateYearRange: asField(ProFormDateYearRangePicker),\n time: asField(ProFormTimePicker),\n timeRange: asField(ProFormTimePicker.RangePicker),\n money: asField(ProFormMoney),\n uploadButton: asField(ProFormUploadButton),\n uploadDragger: asField(ProFormUploadDragger),\n};\n\nexport function registerRKSchemaField(valueType: string, renderer: RKSchemaFieldRenderer) {\n RKSchemaFieldRegistry[valueType] = renderer;\n}\n","import { ProTable } from '@ant-design/pro-components';\nimport type { ProTableProps } from '@ant-design/pro-components';\nimport type { SortOrder } from 'antd/es/table/interface';\n\nexport type RKTableRequestParams = {\n current?: number;\n pageSize?: number;\n [key: string]: any;\n};\n\nexport type RKTableResponse<DataSource extends Record<string, any>> = {\n code?: number;\n success?: boolean;\n data?:\n | DataSource[]\n | {\n records?: DataSource[];\n list?: DataSource[];\n total?: number;\n [key: string]: unknown;\n };\n records?: DataSource[];\n list?: DataSource[];\n total?: number;\n [key: string]: unknown;\n};\n\nexport type RKTableRequestApi<\n DataSource extends Record<string, any>,\n RequestParams,\n> = (data: RequestParams) => Promise<RKTableResponse<DataSource>>;\n\nexport type RKTableRequestAdapter<DataSource extends Record<string, any>> = (\n response: RKTableResponse<DataSource>,\n) => {\n data: DataSource[];\n success: boolean;\n total?: number;\n};\n\nexport type RKTableProps<\n DataSource extends Record<string, any>,\n Params extends Record<string, any> = Record<string, any>,\n ValueType = 'text',\n RequestParams = RKTableRequestParams,\n> = ProTableProps<DataSource, Params, ValueType> & {\n requestApi?: RKTableRequestApi<DataSource, RequestParams>;\n requestAdapter?: RKTableRequestAdapter<DataSource>;\n requestParamsFormatter?: (\n params: Params & RKTableRequestParams,\n sort: Record<string, SortOrder>,\n filter: Record<string, (string | number)[] | null>,\n ) => RequestParams;\n};\n\nfunction resolveRecords<DataSource extends Record<string, any>>(\n response: RKTableResponse<DataSource>,\n) {\n if (Array.isArray(response.data)) return response.data;\n\n if (response.data && typeof response.data === 'object') {\n if (Array.isArray(response.data.records)) return response.data.records;\n if (Array.isArray(response.data.list)) return response.data.list;\n }\n\n if (Array.isArray(response.records)) return response.records;\n if (Array.isArray(response.list)) return response.list;\n\n return [];\n}\n\nfunction resolveTotal<DataSource extends Record<string, any>>(\n response: RKTableResponse<DataSource>,\n) {\n if (typeof response.total === 'number') return response.total;\n\n if (response.data && !Array.isArray(response.data) && typeof response.data.total === 'number') {\n return response.data.total;\n }\n\n return resolveRecords(response).length;\n}\n\nfunction defaultRequestAdapter<DataSource extends Record<string, any>>(\n response: RKTableResponse<DataSource>,\n) {\n const success =\n typeof response.success === 'boolean'\n ? response.success\n : response.code === undefined || response.code === 200;\n\n return {\n data: resolveRecords(response),\n success,\n total: resolveTotal(response),\n };\n}\n\nconst RKTable = <\n DataSource extends Record<string, any>,\n Params extends Record<string, any> = Record<string, any>,\n ValueType = 'text',\n RequestParams = RKTableRequestParams,\n>({\n request,\n requestApi,\n requestAdapter = defaultRequestAdapter,\n requestParamsFormatter,\n search,\n options,\n pagination,\n scroll,\n form,\n rowKey,\n tableAlertRender,\n ...restProps\n}: RKTableProps<DataSource, Params, ValueType, RequestParams>) => {\n const tableSearch =\n search === false\n ? false\n : {\n filterType: 'query' as const,\n defaultCollapsed: false,\n ...(typeof search === 'object' ? search : {}),\n };\n const tableOptions =\n options === false\n ? false\n : {\n reload: true,\n density: false,\n setting: false,\n ...(typeof options === 'object' ? options : {}),\n };\n const tablePagination =\n pagination === false\n ? false\n : {\n defaultPageSize: 20,\n showSizeChanger: true,\n disabled: false,\n ...(typeof pagination === 'object' ? pagination : {}),\n };\n const tableForm = {\n syncToUrl: true,\n syncToInitialValues: false,\n ...(typeof form === 'object' ? form : {}),\n };\n const tableScroll = {\n x: 'max-content',\n ...(typeof scroll === 'object' ? scroll : {}),\n };\n const tableRequest = requestApi\n ? async (\n params: Params & RKTableRequestParams,\n sort: Record<string, SortOrder>,\n filter: Record<string, (string | number)[] | null>,\n ) => {\n const nextParams = requestParamsFormatter\n ? requestParamsFormatter(params, sort, filter)\n : (params as unknown as RequestParams);\n const response = await requestApi(nextParams);\n\n return requestAdapter(response);\n }\n : request;\n\n return (\n <ProTable<DataSource, Params, ValueType>\n rowKey={rowKey || 'id'}\n tableAlertRender={tableAlertRender ?? false}\n options={tableOptions}\n pagination={tablePagination}\n scroll={tableScroll}\n form={tableForm}\n {...restProps}\n search={tableSearch}\n request={tableRequest}\n />\n );\n};\n\nexport default RKTable;\n"],"mappings":"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","names":["import_react","import_jsx_runtime","isOptionValue","normalizeOptionLabel","requestParams","import_pro_components","import_pro_components","import_jsx_runtime","isDynamicOptionSource","import_jsx_runtime","import_pro_components","import_jsx_runtime"]}
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ButtonProps, ModalFuncProps, ColProps } from 'antd';
|
|
3
|
+
import { ReactNode, Key, ComponentType } from 'react';
|
|
4
|
+
import { ProFormSelectProps, ProFormProps, ProFormItemProps, ProTableProps } from '@ant-design/pro-components';
|
|
5
|
+
import { Rule } from 'antd/es/form';
|
|
6
|
+
import { NamePath } from 'antd/es/form/interface';
|
|
7
|
+
import { SortOrder } from 'antd/es/table/interface';
|
|
8
|
+
|
|
9
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
10
|
+
type RKConfirmConfig<Params extends unknown[]> = ModalFuncProps | ((...params: Params) => ModalFuncProps | false) | false;
|
|
11
|
+
type RKSuccessMessage<Result, Params extends unknown[]> = ReactNode | ((result: Result, ...params: Params) => ReactNode);
|
|
12
|
+
type RKFailureMessage<Result, Params extends unknown[]> = ReactNode | ((result: Result, ...params: Params) => ReactNode);
|
|
13
|
+
type RKErrorMessage<Params extends unknown[]> = ReactNode | ((error: unknown, ...params: Params) => ReactNode);
|
|
14
|
+
interface UseRKConfirmRequestOptions<Result, Params extends unknown[]> {
|
|
15
|
+
request: (...params: Params) => Promise<Result>;
|
|
16
|
+
confirm?: RKConfirmConfig<Params>;
|
|
17
|
+
successMessage?: RKSuccessMessage<Result, Params>;
|
|
18
|
+
failureMessage?: RKFailureMessage<Result, Params>;
|
|
19
|
+
errorMessage?: RKErrorMessage<Params>;
|
|
20
|
+
successCode?: number;
|
|
21
|
+
isSuccess?: (result: Result) => boolean;
|
|
22
|
+
getLoadingKey?: (...params: Params) => Key | undefined;
|
|
23
|
+
debounceInterval?: number;
|
|
24
|
+
throttleInterval?: number;
|
|
25
|
+
onSuccess?: (result: Result, ...params: Params) => MaybePromise<void>;
|
|
26
|
+
onFailure?: (result: Result, ...params: Params) => MaybePromise<void>;
|
|
27
|
+
onError?: (error: unknown, ...params: Params) => MaybePromise<void>;
|
|
28
|
+
onCancel?: (...params: Params) => MaybePromise<void>;
|
|
29
|
+
}
|
|
30
|
+
interface RKConfirmActionProps<Result> extends Omit<ButtonProps, 'loading' | 'onClick' | 'onError'>, Omit<UseRKConfirmRequestOptions<Result, []>, 'getLoadingKey'> {
|
|
31
|
+
stopPropagation?: boolean;
|
|
32
|
+
}
|
|
33
|
+
declare function useRKConfirmRequest<Result = unknown, Params extends unknown[] = []>(options: UseRKConfirmRequestOptions<Result, Params>): {
|
|
34
|
+
run: (...params: Params) => void;
|
|
35
|
+
runRequest: (...params: Params) => Promise<Result>;
|
|
36
|
+
loading: boolean;
|
|
37
|
+
loadingKeys: Record<string, boolean>;
|
|
38
|
+
isLoading: (key: Key | undefined) => boolean;
|
|
39
|
+
};
|
|
40
|
+
declare const RKConfirmAction: <Result = unknown>({ request, confirm, successMessage, failureMessage, errorMessage, successCode, isSuccess, debounceInterval, throttleInterval, onSuccess, onFailure, onError, onCancel, stopPropagation, children, ...buttonProps }: RKConfirmActionProps<Result>) => react_jsx_runtime.JSX.Element;
|
|
41
|
+
|
|
42
|
+
type RKRemoteSelectOptionValue = string | number | boolean;
|
|
43
|
+
interface RKRemoteSelectOption {
|
|
44
|
+
label: ReactNode;
|
|
45
|
+
value: RKRemoteSelectOptionValue;
|
|
46
|
+
disabled?: boolean;
|
|
47
|
+
children?: RKRemoteSelectOption[];
|
|
48
|
+
}
|
|
49
|
+
type RKRemoteSelectOptionSourceType = 'static' | 'enum' | 'remote';
|
|
50
|
+
interface RKRemoteSelectOptionSource {
|
|
51
|
+
type?: RKRemoteSelectOptionSourceType;
|
|
52
|
+
key?: string;
|
|
53
|
+
labelField?: string;
|
|
54
|
+
valueField?: string;
|
|
55
|
+
childrenField?: string;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
interface OptionFieldDefaults {
|
|
59
|
+
labelField: string;
|
|
60
|
+
valueField: string;
|
|
61
|
+
childrenField?: string;
|
|
62
|
+
}
|
|
63
|
+
interface RKRemoteSelectOptionSourceDescriptor {
|
|
64
|
+
label: string;
|
|
65
|
+
value: string;
|
|
66
|
+
description: string;
|
|
67
|
+
sourceType: RKRemoteSelectOptionSourceType;
|
|
68
|
+
}
|
|
69
|
+
interface RemoteOptionSourceResult {
|
|
70
|
+
items: Array<Record<string, unknown>>;
|
|
71
|
+
defaults?: OptionFieldDefaults;
|
|
72
|
+
}
|
|
73
|
+
type RemoteOptionSourceLoader = () => Promise<RemoteOptionSourceResult>;
|
|
74
|
+
declare const enumOptionSourceOptions: RKRemoteSelectOptionSourceDescriptor[];
|
|
75
|
+
declare const remoteOptionSourceOptions: RKRemoteSelectOptionSourceDescriptor[];
|
|
76
|
+
declare function registerRKRemoteSelectEnumOptionSource(key: string, options: RKRemoteSelectOption[], descriptor?: Omit<RKRemoteSelectOptionSourceDescriptor, 'value' | 'sourceType'>): void;
|
|
77
|
+
declare function registerRKRemoteSelectRemoteOptionSource(key: string, loader: RemoteOptionSourceLoader, descriptor?: Omit<RKRemoteSelectOptionSourceDescriptor, 'value' | 'sourceType'>): void;
|
|
78
|
+
declare function resolveRKRemoteSelectOptions(source?: RKRemoteSelectOptionSource): Promise<RKRemoteSelectOption[]>;
|
|
79
|
+
|
|
80
|
+
type RKRemoteSelectRecord = Record<string, any>;
|
|
81
|
+
type RKRemoteSelectParams = Record<string, any>;
|
|
82
|
+
type RKRemoteSelectRequestResult<OptionItem extends RKRemoteSelectRecord> = OptionItem[] | {
|
|
83
|
+
data?: OptionItem[] | {
|
|
84
|
+
records?: OptionItem[];
|
|
85
|
+
list?: OptionItem[];
|
|
86
|
+
};
|
|
87
|
+
records?: OptionItem[];
|
|
88
|
+
list?: OptionItem[];
|
|
89
|
+
[key: string]: unknown;
|
|
90
|
+
};
|
|
91
|
+
type RKRemoteSelectDisabled<OptionItem extends RKRemoteSelectRecord> = boolean | ((item: OptionItem) => boolean);
|
|
92
|
+
type RKRemoteSelectRequestApi<OptionItem extends RKRemoteSelectRecord = RKRemoteSelectRecord, Params extends RKRemoteSelectParams = RKRemoteSelectParams> = (params: Params) => Promise<RKRemoteSelectRequestResult<OptionItem>>;
|
|
93
|
+
interface RKRemoteSelectProps<ValueType = unknown, OptionItem extends RKRemoteSelectRecord = RKRemoteSelectRecord, Params extends RKRemoteSelectParams = RKRemoteSelectParams> extends Omit<ProFormSelectProps<ValueType>, 'disabled' | 'options' | 'request'> {
|
|
94
|
+
options?: ProFormSelectProps<ValueType>['options'] | OptionItem[];
|
|
95
|
+
optionSource?: RKRemoteSelectOptionSource;
|
|
96
|
+
requestApi?: RKRemoteSelectRequestApi<OptionItem, Params>;
|
|
97
|
+
request?: ProFormSelectProps<ValueType>['request'];
|
|
98
|
+
labelField?: string;
|
|
99
|
+
valueField?: string;
|
|
100
|
+
childrenField?: string;
|
|
101
|
+
disabled?: RKRemoteSelectDisabled<OptionItem>;
|
|
102
|
+
searchKey?: string;
|
|
103
|
+
}
|
|
104
|
+
declare function RKRemoteSelect<ValueType = unknown, OptionItem extends RKRemoteSelectRecord = RKRemoteSelectRecord, Params extends RKRemoteSelectParams = RKRemoteSelectParams>({ optionSource, options, requestApi, request, params, fieldProps, showSearch, labelField, valueField, childrenField, disabled, searchKey, ...restProps }: RKRemoteSelectProps<ValueType, OptionItem, Params>): react_jsx_runtime.JSX.Element;
|
|
105
|
+
|
|
106
|
+
type RKSchemaOptionValue = RKRemoteSelectOptionValue;
|
|
107
|
+
type RKSchemaOption = RKRemoteSelectOption;
|
|
108
|
+
type RKSchemaOptionSourceType = RKRemoteSelectOptionSourceType;
|
|
109
|
+
type RKSchemaOptionSource = RKRemoteSelectOptionSource;
|
|
110
|
+
type RKSchemaFieldInitialValue = unknown;
|
|
111
|
+
interface RKSchemaTextAreaAutoSize {
|
|
112
|
+
minRows?: number;
|
|
113
|
+
maxRows?: number;
|
|
114
|
+
}
|
|
115
|
+
interface RKSchemaFieldProps {
|
|
116
|
+
placeholder?: string;
|
|
117
|
+
options?: RKSchemaOption[];
|
|
118
|
+
treeData?: RKSchemaOption[];
|
|
119
|
+
optionSource?: RKSchemaOptionSource;
|
|
120
|
+
maxLength?: number;
|
|
121
|
+
autoSize?: RKSchemaTextAreaAutoSize;
|
|
122
|
+
min?: number;
|
|
123
|
+
max?: number;
|
|
124
|
+
precision?: number;
|
|
125
|
+
step?: number;
|
|
126
|
+
[key: string]: unknown;
|
|
127
|
+
}
|
|
128
|
+
type RKSchemaBuiltinValueType = 'text' | 'password' | 'textarea' | 'digit' | 'digitRange' | 'select' | 'treeSelect' | 'cascader' | 'radio' | 'checkbox' | 'checkboxGroup' | 'switch' | 'slider' | 'rate' | 'segmented' | 'color' | 'date' | 'dateRange' | 'dateTime' | 'dateTimeRange' | 'dateWeekRange' | 'dateMonthRange' | 'dateQuarterRange' | 'dateYearRange' | 'time' | 'timeRange' | 'money' | 'uploadButton' | 'uploadDragger';
|
|
129
|
+
type RKSchemaFormValueType = RKSchemaBuiltinValueType | (string & Record<never, never>);
|
|
130
|
+
interface RKSchemaFormColumn {
|
|
131
|
+
key?: Key;
|
|
132
|
+
title?: ReactNode;
|
|
133
|
+
dataIndex: NamePath;
|
|
134
|
+
valueType?: RKSchemaFormValueType;
|
|
135
|
+
required?: boolean;
|
|
136
|
+
hidden?: boolean;
|
|
137
|
+
disabled?: boolean;
|
|
138
|
+
readonly?: boolean;
|
|
139
|
+
initialValue?: RKSchemaFieldInitialValue;
|
|
140
|
+
rules?: Rule[];
|
|
141
|
+
tooltip?: ReactNode;
|
|
142
|
+
extra?: ReactNode;
|
|
143
|
+
colProps?: ColProps;
|
|
144
|
+
fieldProps?: RKSchemaFieldProps;
|
|
145
|
+
}
|
|
146
|
+
interface RKSchemaFormProps<T = Record<string, unknown>> extends Omit<ProFormProps<T>, 'children'> {
|
|
147
|
+
columns: RKSchemaFormColumn[];
|
|
148
|
+
columnCount?: number;
|
|
149
|
+
fieldColProps?: ColProps;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
type RKSchemaFieldRenderer = ComponentType<ProFormItemProps & Record<string, unknown>>;
|
|
153
|
+
declare function registerRKSchemaField(valueType: string, renderer: RKSchemaFieldRenderer): void;
|
|
154
|
+
|
|
155
|
+
declare function RKSchemaForm<T = Record<string, unknown>>(props: RKSchemaFormProps<T>): react_jsx_runtime.JSX.Element;
|
|
156
|
+
|
|
157
|
+
type RKTableRequestParams = {
|
|
158
|
+
current?: number;
|
|
159
|
+
pageSize?: number;
|
|
160
|
+
[key: string]: any;
|
|
161
|
+
};
|
|
162
|
+
type RKTableResponse<DataSource extends Record<string, any>> = {
|
|
163
|
+
code?: number;
|
|
164
|
+
success?: boolean;
|
|
165
|
+
data?: DataSource[] | {
|
|
166
|
+
records?: DataSource[];
|
|
167
|
+
list?: DataSource[];
|
|
168
|
+
total?: number;
|
|
169
|
+
[key: string]: unknown;
|
|
170
|
+
};
|
|
171
|
+
records?: DataSource[];
|
|
172
|
+
list?: DataSource[];
|
|
173
|
+
total?: number;
|
|
174
|
+
[key: string]: unknown;
|
|
175
|
+
};
|
|
176
|
+
type RKTableRequestApi<DataSource extends Record<string, any>, RequestParams> = (data: RequestParams) => Promise<RKTableResponse<DataSource>>;
|
|
177
|
+
type RKTableRequestAdapter<DataSource extends Record<string, any>> = (response: RKTableResponse<DataSource>) => {
|
|
178
|
+
data: DataSource[];
|
|
179
|
+
success: boolean;
|
|
180
|
+
total?: number;
|
|
181
|
+
};
|
|
182
|
+
type RKTableProps<DataSource extends Record<string, any>, Params extends Record<string, any> = Record<string, any>, ValueType = 'text', RequestParams = RKTableRequestParams> = ProTableProps<DataSource, Params, ValueType> & {
|
|
183
|
+
requestApi?: RKTableRequestApi<DataSource, RequestParams>;
|
|
184
|
+
requestAdapter?: RKTableRequestAdapter<DataSource>;
|
|
185
|
+
requestParamsFormatter?: (params: Params & RKTableRequestParams, sort: Record<string, SortOrder>, filter: Record<string, (string | number)[] | null>) => RequestParams;
|
|
186
|
+
};
|
|
187
|
+
declare const RKTable: <DataSource extends Record<string, any>, Params extends Record<string, any> = Record<string, any>, ValueType = "text", RequestParams = RKTableRequestParams>({ request, requestApi, requestAdapter, requestParamsFormatter, search, options, pagination, scroll, form, rowKey, tableAlertRender, ...restProps }: RKTableProps<DataSource, Params, ValueType, RequestParams>) => react_jsx_runtime.JSX.Element;
|
|
188
|
+
|
|
189
|
+
export { RKConfirmAction, type RKConfirmActionProps, RKRemoteSelect, type RKRemoteSelectOption, type RKRemoteSelectOptionSource, type RKRemoteSelectOptionSourceDescriptor, type RKRemoteSelectOptionSourceType, type RKRemoteSelectOptionValue, type RKRemoteSelectProps, type RKRemoteSelectRequestApi, type RKSchemaBuiltinValueType, type RKSchemaFieldProps, RKSchemaForm, type RKSchemaFormColumn, type RKSchemaFormProps, type RKSchemaFormValueType, type RKSchemaOption, type RKSchemaOptionSource, type RKRemoteSelectOptionSourceDescriptor as RKSchemaOptionSourceDescriptor, type RKSchemaOptionSourceType, type RKSchemaOptionValue, RKTable, type RKTableProps, type RKTableRequestAdapter, type RKTableRequestApi, type RKTableRequestParams, type RKTableResponse, type UseRKConfirmRequestOptions, enumOptionSourceOptions, registerRKRemoteSelectEnumOptionSource, registerRKRemoteSelectRemoteOptionSource, registerRKRemoteSelectEnumOptionSource as registerRKSchemaEnumOptionSource, registerRKSchemaField, registerRKRemoteSelectRemoteOptionSource as registerRKSchemaRemoteOptionSource, remoteOptionSourceOptions, resolveRKRemoteSelectOptions, resolveRKRemoteSelectOptions as resolveRKSchemaOptions, useRKConfirmRequest };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ButtonProps, ModalFuncProps, ColProps } from 'antd';
|
|
3
|
+
import { ReactNode, Key, ComponentType } from 'react';
|
|
4
|
+
import { ProFormSelectProps, ProFormProps, ProFormItemProps, ProTableProps } from '@ant-design/pro-components';
|
|
5
|
+
import { Rule } from 'antd/es/form';
|
|
6
|
+
import { NamePath } from 'antd/es/form/interface';
|
|
7
|
+
import { SortOrder } from 'antd/es/table/interface';
|
|
8
|
+
|
|
9
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
10
|
+
type RKConfirmConfig<Params extends unknown[]> = ModalFuncProps | ((...params: Params) => ModalFuncProps | false) | false;
|
|
11
|
+
type RKSuccessMessage<Result, Params extends unknown[]> = ReactNode | ((result: Result, ...params: Params) => ReactNode);
|
|
12
|
+
type RKFailureMessage<Result, Params extends unknown[]> = ReactNode | ((result: Result, ...params: Params) => ReactNode);
|
|
13
|
+
type RKErrorMessage<Params extends unknown[]> = ReactNode | ((error: unknown, ...params: Params) => ReactNode);
|
|
14
|
+
interface UseRKConfirmRequestOptions<Result, Params extends unknown[]> {
|
|
15
|
+
request: (...params: Params) => Promise<Result>;
|
|
16
|
+
confirm?: RKConfirmConfig<Params>;
|
|
17
|
+
successMessage?: RKSuccessMessage<Result, Params>;
|
|
18
|
+
failureMessage?: RKFailureMessage<Result, Params>;
|
|
19
|
+
errorMessage?: RKErrorMessage<Params>;
|
|
20
|
+
successCode?: number;
|
|
21
|
+
isSuccess?: (result: Result) => boolean;
|
|
22
|
+
getLoadingKey?: (...params: Params) => Key | undefined;
|
|
23
|
+
debounceInterval?: number;
|
|
24
|
+
throttleInterval?: number;
|
|
25
|
+
onSuccess?: (result: Result, ...params: Params) => MaybePromise<void>;
|
|
26
|
+
onFailure?: (result: Result, ...params: Params) => MaybePromise<void>;
|
|
27
|
+
onError?: (error: unknown, ...params: Params) => MaybePromise<void>;
|
|
28
|
+
onCancel?: (...params: Params) => MaybePromise<void>;
|
|
29
|
+
}
|
|
30
|
+
interface RKConfirmActionProps<Result> extends Omit<ButtonProps, 'loading' | 'onClick' | 'onError'>, Omit<UseRKConfirmRequestOptions<Result, []>, 'getLoadingKey'> {
|
|
31
|
+
stopPropagation?: boolean;
|
|
32
|
+
}
|
|
33
|
+
declare function useRKConfirmRequest<Result = unknown, Params extends unknown[] = []>(options: UseRKConfirmRequestOptions<Result, Params>): {
|
|
34
|
+
run: (...params: Params) => void;
|
|
35
|
+
runRequest: (...params: Params) => Promise<Result>;
|
|
36
|
+
loading: boolean;
|
|
37
|
+
loadingKeys: Record<string, boolean>;
|
|
38
|
+
isLoading: (key: Key | undefined) => boolean;
|
|
39
|
+
};
|
|
40
|
+
declare const RKConfirmAction: <Result = unknown>({ request, confirm, successMessage, failureMessage, errorMessage, successCode, isSuccess, debounceInterval, throttleInterval, onSuccess, onFailure, onError, onCancel, stopPropagation, children, ...buttonProps }: RKConfirmActionProps<Result>) => react_jsx_runtime.JSX.Element;
|
|
41
|
+
|
|
42
|
+
type RKRemoteSelectOptionValue = string | number | boolean;
|
|
43
|
+
interface RKRemoteSelectOption {
|
|
44
|
+
label: ReactNode;
|
|
45
|
+
value: RKRemoteSelectOptionValue;
|
|
46
|
+
disabled?: boolean;
|
|
47
|
+
children?: RKRemoteSelectOption[];
|
|
48
|
+
}
|
|
49
|
+
type RKRemoteSelectOptionSourceType = 'static' | 'enum' | 'remote';
|
|
50
|
+
interface RKRemoteSelectOptionSource {
|
|
51
|
+
type?: RKRemoteSelectOptionSourceType;
|
|
52
|
+
key?: string;
|
|
53
|
+
labelField?: string;
|
|
54
|
+
valueField?: string;
|
|
55
|
+
childrenField?: string;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
interface OptionFieldDefaults {
|
|
59
|
+
labelField: string;
|
|
60
|
+
valueField: string;
|
|
61
|
+
childrenField?: string;
|
|
62
|
+
}
|
|
63
|
+
interface RKRemoteSelectOptionSourceDescriptor {
|
|
64
|
+
label: string;
|
|
65
|
+
value: string;
|
|
66
|
+
description: string;
|
|
67
|
+
sourceType: RKRemoteSelectOptionSourceType;
|
|
68
|
+
}
|
|
69
|
+
interface RemoteOptionSourceResult {
|
|
70
|
+
items: Array<Record<string, unknown>>;
|
|
71
|
+
defaults?: OptionFieldDefaults;
|
|
72
|
+
}
|
|
73
|
+
type RemoteOptionSourceLoader = () => Promise<RemoteOptionSourceResult>;
|
|
74
|
+
declare const enumOptionSourceOptions: RKRemoteSelectOptionSourceDescriptor[];
|
|
75
|
+
declare const remoteOptionSourceOptions: RKRemoteSelectOptionSourceDescriptor[];
|
|
76
|
+
declare function registerRKRemoteSelectEnumOptionSource(key: string, options: RKRemoteSelectOption[], descriptor?: Omit<RKRemoteSelectOptionSourceDescriptor, 'value' | 'sourceType'>): void;
|
|
77
|
+
declare function registerRKRemoteSelectRemoteOptionSource(key: string, loader: RemoteOptionSourceLoader, descriptor?: Omit<RKRemoteSelectOptionSourceDescriptor, 'value' | 'sourceType'>): void;
|
|
78
|
+
declare function resolveRKRemoteSelectOptions(source?: RKRemoteSelectOptionSource): Promise<RKRemoteSelectOption[]>;
|
|
79
|
+
|
|
80
|
+
type RKRemoteSelectRecord = Record<string, any>;
|
|
81
|
+
type RKRemoteSelectParams = Record<string, any>;
|
|
82
|
+
type RKRemoteSelectRequestResult<OptionItem extends RKRemoteSelectRecord> = OptionItem[] | {
|
|
83
|
+
data?: OptionItem[] | {
|
|
84
|
+
records?: OptionItem[];
|
|
85
|
+
list?: OptionItem[];
|
|
86
|
+
};
|
|
87
|
+
records?: OptionItem[];
|
|
88
|
+
list?: OptionItem[];
|
|
89
|
+
[key: string]: unknown;
|
|
90
|
+
};
|
|
91
|
+
type RKRemoteSelectDisabled<OptionItem extends RKRemoteSelectRecord> = boolean | ((item: OptionItem) => boolean);
|
|
92
|
+
type RKRemoteSelectRequestApi<OptionItem extends RKRemoteSelectRecord = RKRemoteSelectRecord, Params extends RKRemoteSelectParams = RKRemoteSelectParams> = (params: Params) => Promise<RKRemoteSelectRequestResult<OptionItem>>;
|
|
93
|
+
interface RKRemoteSelectProps<ValueType = unknown, OptionItem extends RKRemoteSelectRecord = RKRemoteSelectRecord, Params extends RKRemoteSelectParams = RKRemoteSelectParams> extends Omit<ProFormSelectProps<ValueType>, 'disabled' | 'options' | 'request'> {
|
|
94
|
+
options?: ProFormSelectProps<ValueType>['options'] | OptionItem[];
|
|
95
|
+
optionSource?: RKRemoteSelectOptionSource;
|
|
96
|
+
requestApi?: RKRemoteSelectRequestApi<OptionItem, Params>;
|
|
97
|
+
request?: ProFormSelectProps<ValueType>['request'];
|
|
98
|
+
labelField?: string;
|
|
99
|
+
valueField?: string;
|
|
100
|
+
childrenField?: string;
|
|
101
|
+
disabled?: RKRemoteSelectDisabled<OptionItem>;
|
|
102
|
+
searchKey?: string;
|
|
103
|
+
}
|
|
104
|
+
declare function RKRemoteSelect<ValueType = unknown, OptionItem extends RKRemoteSelectRecord = RKRemoteSelectRecord, Params extends RKRemoteSelectParams = RKRemoteSelectParams>({ optionSource, options, requestApi, request, params, fieldProps, showSearch, labelField, valueField, childrenField, disabled, searchKey, ...restProps }: RKRemoteSelectProps<ValueType, OptionItem, Params>): react_jsx_runtime.JSX.Element;
|
|
105
|
+
|
|
106
|
+
type RKSchemaOptionValue = RKRemoteSelectOptionValue;
|
|
107
|
+
type RKSchemaOption = RKRemoteSelectOption;
|
|
108
|
+
type RKSchemaOptionSourceType = RKRemoteSelectOptionSourceType;
|
|
109
|
+
type RKSchemaOptionSource = RKRemoteSelectOptionSource;
|
|
110
|
+
type RKSchemaFieldInitialValue = unknown;
|
|
111
|
+
interface RKSchemaTextAreaAutoSize {
|
|
112
|
+
minRows?: number;
|
|
113
|
+
maxRows?: number;
|
|
114
|
+
}
|
|
115
|
+
interface RKSchemaFieldProps {
|
|
116
|
+
placeholder?: string;
|
|
117
|
+
options?: RKSchemaOption[];
|
|
118
|
+
treeData?: RKSchemaOption[];
|
|
119
|
+
optionSource?: RKSchemaOptionSource;
|
|
120
|
+
maxLength?: number;
|
|
121
|
+
autoSize?: RKSchemaTextAreaAutoSize;
|
|
122
|
+
min?: number;
|
|
123
|
+
max?: number;
|
|
124
|
+
precision?: number;
|
|
125
|
+
step?: number;
|
|
126
|
+
[key: string]: unknown;
|
|
127
|
+
}
|
|
128
|
+
type RKSchemaBuiltinValueType = 'text' | 'password' | 'textarea' | 'digit' | 'digitRange' | 'select' | 'treeSelect' | 'cascader' | 'radio' | 'checkbox' | 'checkboxGroup' | 'switch' | 'slider' | 'rate' | 'segmented' | 'color' | 'date' | 'dateRange' | 'dateTime' | 'dateTimeRange' | 'dateWeekRange' | 'dateMonthRange' | 'dateQuarterRange' | 'dateYearRange' | 'time' | 'timeRange' | 'money' | 'uploadButton' | 'uploadDragger';
|
|
129
|
+
type RKSchemaFormValueType = RKSchemaBuiltinValueType | (string & Record<never, never>);
|
|
130
|
+
interface RKSchemaFormColumn {
|
|
131
|
+
key?: Key;
|
|
132
|
+
title?: ReactNode;
|
|
133
|
+
dataIndex: NamePath;
|
|
134
|
+
valueType?: RKSchemaFormValueType;
|
|
135
|
+
required?: boolean;
|
|
136
|
+
hidden?: boolean;
|
|
137
|
+
disabled?: boolean;
|
|
138
|
+
readonly?: boolean;
|
|
139
|
+
initialValue?: RKSchemaFieldInitialValue;
|
|
140
|
+
rules?: Rule[];
|
|
141
|
+
tooltip?: ReactNode;
|
|
142
|
+
extra?: ReactNode;
|
|
143
|
+
colProps?: ColProps;
|
|
144
|
+
fieldProps?: RKSchemaFieldProps;
|
|
145
|
+
}
|
|
146
|
+
interface RKSchemaFormProps<T = Record<string, unknown>> extends Omit<ProFormProps<T>, 'children'> {
|
|
147
|
+
columns: RKSchemaFormColumn[];
|
|
148
|
+
columnCount?: number;
|
|
149
|
+
fieldColProps?: ColProps;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
type RKSchemaFieldRenderer = ComponentType<ProFormItemProps & Record<string, unknown>>;
|
|
153
|
+
declare function registerRKSchemaField(valueType: string, renderer: RKSchemaFieldRenderer): void;
|
|
154
|
+
|
|
155
|
+
declare function RKSchemaForm<T = Record<string, unknown>>(props: RKSchemaFormProps<T>): react_jsx_runtime.JSX.Element;
|
|
156
|
+
|
|
157
|
+
type RKTableRequestParams = {
|
|
158
|
+
current?: number;
|
|
159
|
+
pageSize?: number;
|
|
160
|
+
[key: string]: any;
|
|
161
|
+
};
|
|
162
|
+
type RKTableResponse<DataSource extends Record<string, any>> = {
|
|
163
|
+
code?: number;
|
|
164
|
+
success?: boolean;
|
|
165
|
+
data?: DataSource[] | {
|
|
166
|
+
records?: DataSource[];
|
|
167
|
+
list?: DataSource[];
|
|
168
|
+
total?: number;
|
|
169
|
+
[key: string]: unknown;
|
|
170
|
+
};
|
|
171
|
+
records?: DataSource[];
|
|
172
|
+
list?: DataSource[];
|
|
173
|
+
total?: number;
|
|
174
|
+
[key: string]: unknown;
|
|
175
|
+
};
|
|
176
|
+
type RKTableRequestApi<DataSource extends Record<string, any>, RequestParams> = (data: RequestParams) => Promise<RKTableResponse<DataSource>>;
|
|
177
|
+
type RKTableRequestAdapter<DataSource extends Record<string, any>> = (response: RKTableResponse<DataSource>) => {
|
|
178
|
+
data: DataSource[];
|
|
179
|
+
success: boolean;
|
|
180
|
+
total?: number;
|
|
181
|
+
};
|
|
182
|
+
type RKTableProps<DataSource extends Record<string, any>, Params extends Record<string, any> = Record<string, any>, ValueType = 'text', RequestParams = RKTableRequestParams> = ProTableProps<DataSource, Params, ValueType> & {
|
|
183
|
+
requestApi?: RKTableRequestApi<DataSource, RequestParams>;
|
|
184
|
+
requestAdapter?: RKTableRequestAdapter<DataSource>;
|
|
185
|
+
requestParamsFormatter?: (params: Params & RKTableRequestParams, sort: Record<string, SortOrder>, filter: Record<string, (string | number)[] | null>) => RequestParams;
|
|
186
|
+
};
|
|
187
|
+
declare const RKTable: <DataSource extends Record<string, any>, Params extends Record<string, any> = Record<string, any>, ValueType = "text", RequestParams = RKTableRequestParams>({ request, requestApi, requestAdapter, requestParamsFormatter, search, options, pagination, scroll, form, rowKey, tableAlertRender, ...restProps }: RKTableProps<DataSource, Params, ValueType, RequestParams>) => react_jsx_runtime.JSX.Element;
|
|
188
|
+
|
|
189
|
+
export { RKConfirmAction, type RKConfirmActionProps, RKRemoteSelect, type RKRemoteSelectOption, type RKRemoteSelectOptionSource, type RKRemoteSelectOptionSourceDescriptor, type RKRemoteSelectOptionSourceType, type RKRemoteSelectOptionValue, type RKRemoteSelectProps, type RKRemoteSelectRequestApi, type RKSchemaBuiltinValueType, type RKSchemaFieldProps, RKSchemaForm, type RKSchemaFormColumn, type RKSchemaFormProps, type RKSchemaFormValueType, type RKSchemaOption, type RKSchemaOptionSource, type RKRemoteSelectOptionSourceDescriptor as RKSchemaOptionSourceDescriptor, type RKSchemaOptionSourceType, type RKSchemaOptionValue, RKTable, type RKTableProps, type RKTableRequestAdapter, type RKTableRequestApi, type RKTableRequestParams, type RKTableResponse, type UseRKConfirmRequestOptions, enumOptionSourceOptions, registerRKRemoteSelectEnumOptionSource, registerRKRemoteSelectRemoteOptionSource, registerRKRemoteSelectEnumOptionSource as registerRKSchemaEnumOptionSource, registerRKSchemaField, registerRKRemoteSelectRemoteOptionSource as registerRKSchemaRemoteOptionSource, remoteOptionSourceOptions, resolveRKRemoteSelectOptions, resolveRKRemoteSelectOptions as resolveRKSchemaOptions, useRKConfirmRequest };
|