feat: export spin type
parent
b53a91c337
commit
ad2b447866
|
@ -1,4 +1,12 @@
|
||||||
import { inject, cloneVNode, isVNode, defineComponent, VNode, nextTick } from 'vue';
|
import {
|
||||||
|
inject,
|
||||||
|
cloneVNode,
|
||||||
|
isVNode,
|
||||||
|
defineComponent,
|
||||||
|
VNode,
|
||||||
|
nextTick,
|
||||||
|
ExtractPropTypes,
|
||||||
|
} from 'vue';
|
||||||
import debounce from 'lodash-es/debounce';
|
import debounce from 'lodash-es/debounce';
|
||||||
import { tuple } from '../_util/type';
|
import { tuple } from '../_util/type';
|
||||||
import PropTypes from '../_util/vue-types';
|
import PropTypes from '../_util/vue-types';
|
||||||
|
@ -9,7 +17,7 @@ import { defaultConfigProvider } from '../config-provider';
|
||||||
|
|
||||||
export const SpinSize = PropTypes.oneOf(tuple('small', 'default', 'large'));
|
export const SpinSize = PropTypes.oneOf(tuple('small', 'default', 'large'));
|
||||||
|
|
||||||
export const SpinProps = () => ({
|
export const getSpinProps = () => ({
|
||||||
prefixCls: PropTypes.string,
|
prefixCls: PropTypes.string,
|
||||||
spinning: PropTypes.looseBool,
|
spinning: PropTypes.looseBool,
|
||||||
size: SpinSize,
|
size: SpinSize,
|
||||||
|
@ -19,6 +27,8 @@ export const SpinProps = () => ({
|
||||||
indicator: PropTypes.any,
|
indicator: PropTypes.any,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export type SpinProps = Partial<ExtractPropTypes<ReturnType<typeof getSpinProps>>>;
|
||||||
|
|
||||||
// Render indicator
|
// Render indicator
|
||||||
let defaultIndicator: () => VNode = null;
|
let defaultIndicator: () => VNode = null;
|
||||||
|
|
||||||
|
@ -35,7 +45,7 @@ export default defineComponent({
|
||||||
name: 'ASpin',
|
name: 'ASpin',
|
||||||
mixins: [BaseMixin],
|
mixins: [BaseMixin],
|
||||||
inheritAttrs: false,
|
inheritAttrs: false,
|
||||||
props: initDefaultProps(SpinProps(), {
|
props: initDefaultProps(getSpinProps(), {
|
||||||
size: 'default',
|
size: 'default',
|
||||||
spinning: true,
|
spinning: true,
|
||||||
wrapperClassName: '',
|
wrapperClassName: '',
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import { App, Plugin } from 'vue';
|
import { App, Plugin } from 'vue';
|
||||||
import Spin, { setDefaultIndicator } from './Spin';
|
import Spin, { setDefaultIndicator } from './Spin';
|
||||||
|
|
||||||
export { SpinProps } from './Spin';
|
export { SpinProps, getSpinProps } from './Spin';
|
||||||
|
|
||||||
Spin.setDefaultIndicator = setDefaultIndicator;
|
Spin.setDefaultIndicator = setDefaultIndicator;
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
import { ExtractPropTypes, PropType, UnwrapRef } from 'vue';
|
import { ExtractPropTypes, PropType, UnwrapRef } from 'vue';
|
||||||
import PropTypes, { withUndefined } from '../_util/vue-types';
|
import PropTypes, { withUndefined } from '../_util/vue-types';
|
||||||
import { PaginationProps as getPaginationProps, PaginationConfig } from '../pagination';
|
import { PaginationProps as getPaginationProps, PaginationConfig } from '../pagination';
|
||||||
import { SpinProps as getSpinProps } from '../spin';
|
import { getSpinProps } from '../spin';
|
||||||
import { tuple } from '../_util/type';
|
import { tuple } from '../_util/type';
|
||||||
|
|
||||||
const PaginationProps = getPaginationProps();
|
const PaginationProps = getPaginationProps();
|
||||||
const SpinProps = getSpinProps();
|
|
||||||
|
|
||||||
export type CompareFn<T> = (a: T, b: T, sortOrder?: SortOrder) => number;
|
export type CompareFn<T> = (a: T, b: T, sortOrder?: SortOrder) => number;
|
||||||
export const ColumnFilterItem = PropTypes.shape({
|
export const ColumnFilterItem = PropTypes.shape({
|
||||||
|
@ -131,7 +130,7 @@ export const tableProps = {
|
||||||
expandIconAsCell: PropTypes.looseBool,
|
expandIconAsCell: PropTypes.looseBool,
|
||||||
expandIconColumnIndex: PropTypes.number,
|
expandIconColumnIndex: PropTypes.number,
|
||||||
expandRowByClick: PropTypes.looseBool,
|
expandRowByClick: PropTypes.looseBool,
|
||||||
loading: PropTypes.oneOfType([PropTypes.shape(SpinProps).loose, PropTypes.looseBool]),
|
loading: PropTypes.oneOfType([PropTypes.shape(getSpinProps()).loose, PropTypes.looseBool]),
|
||||||
locale: TableLocale,
|
locale: TableLocale,
|
||||||
indentSize: PropTypes.number,
|
indentSize: PropTypes.number,
|
||||||
customRow: PropTypes.func,
|
customRow: PropTypes.func,
|
||||||
|
|
Loading…
Reference in New Issue