Skip to content

Commit

Permalink
change api name
Browse files Browse the repository at this point in the history
  • Loading branch information
twisger authored and chenshuai2144 committed Jun 12, 2018
1 parent 5baed89 commit 456d25a
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion src/components/Ellipsis/index.d.ts
Expand Up @@ -5,7 +5,7 @@ export interface IEllipsisProps {
lines?: number;
style?: React.CSSProperties;
className?: string;
caculateShowLength?: boolean;
fullWidthRecognition?: boolean;
}

export default class Ellipsis extends React.Component<IEllipsisProps, any> {}
2 changes: 1 addition & 1 deletion src/components/Ellipsis/index.en-US.md
Expand Up @@ -13,4 +13,4 @@ Property | Description | Type | Default
tooltip | tooltip for showing the full text content when hovering over | boolean | -
length | maximum number of characters in the text before being truncated | number | -
lines | maximum number of rows in the text before being truncated | number | `1`
caculateShowLength | whether consider full-width character length as 2 when calculate string length | boolean | -
fullWidthRecognition | whether consider full-width character length as 2 when calculate string length | boolean | -
14 changes: 7 additions & 7 deletions src/components/Ellipsis/index.js
Expand Up @@ -8,7 +8,7 @@ import styles from './index.less';

const isSupportLineClamp = document.body.style.webkitLineClamp !== undefined;

export const getStrShowLength = (str = '') => {
export const getStrFullLength = (str = '') => {
return str.split('').reduce((pre, cur) => {
const charCode = cur.charCodeAt(0);
if (charCode >= 0 && charCode <= 128) {
Expand All @@ -19,7 +19,7 @@ export const getStrShowLength = (str = '') => {
}, 0);
};

export const cutStrByShowLength = (str = '', maxLength) => {
export const cutStrByFullLength = (str = '', maxLength) => {
let showLength = 0;
return str.split('').reduce((pre, cur) => {
const charCode = cur.charCodeAt(0);
Expand All @@ -36,11 +36,11 @@ export const cutStrByShowLength = (str = '', maxLength) => {
}, '');
};

const EllipsisText = ({ text, length, tooltip, caculateShowLength, ...other }) => {
const EllipsisText = ({ text, length, tooltip, fullWidthRecognition, ...other }) => {
if (typeof text !== 'string') {
throw new Error('Ellipsis children must be string.');
}
const textLength = caculateShowLength ? getStrShowLength(text) : text.length;
const textLength = fullWidthRecognition ? getStrFullLength(text) : text.length;
if (textLength <= length || length < 0) {
return <span {...other}>{text}</span>;
}
Expand All @@ -49,7 +49,7 @@ const EllipsisText = ({ text, length, tooltip, caculateShowLength, ...other }) =
if (length - tail.length <= 0) {
displayText = '';
} else {
displayText = caculateShowLength ? cutStrByShowLength(text, length) : text.slice(0, length);
displayText = fullWidthRecognition ? cutStrByFullLength(text, length) : text.slice(0, length);
}

if (tooltip) {
Expand Down Expand Up @@ -182,7 +182,7 @@ export default class Ellipsis extends Component {
length,
className,
tooltip,
caculateShowLength,
fullWidthRecognition,
...restProps
} = this.props;

Expand All @@ -207,7 +207,7 @@ export default class Ellipsis extends Component {
length={length}
text={children || ''}
tooltip={tooltip}
caculateShowLength={caculateShowLength}
fullWidthRecognition={fullWidthRecognition}
{...restProps}
/>
);
Expand Down
12 changes: 6 additions & 6 deletions src/components/Ellipsis/index.test.js
@@ -1,13 +1,13 @@
import { getStrShowLength, cutStrByShowLength } from './index.js';
import { getStrFullLength, cutStrByFullLength } from './index.js';

describe('test calculateShowLength', () => {
it('get show length', () => {
expect(getStrShowLength('一二,a,')).toEqual(8);
it('get full length', () => {
expect(getStrFullLength('一二,a,')).toEqual(8);
});
it('cut str by show length', () => {
expect(cutStrByShowLength('一二,a,', 7)).toEqual('一二,a');
it('cut str by full length', () => {
expect(cutStrByFullLength('一二,a,', 7)).toEqual('一二,a');
});
it('cut str when length small', () => {
expect(cutStrByShowLength('一22三', 5)).toEqual('一22');
expect(cutStrByFullLength('一22三', 5)).toEqual('一22');
});
});
2 changes: 1 addition & 1 deletion src/components/Ellipsis/index.zh-CN.md
Expand Up @@ -14,4 +14,4 @@ order: 10
tooltip | 移动到文本展示完整内容的提示 | boolean | -
length | 在按照长度截取下的文本最大字符数,超过则截取省略 | number | -
lines | 在按照行数截取下最大的行数,超过则截取省略 | number | `1`
caculateShowLength | 是否将全角字符的长度视为2来计算字符串长度 | boolean | -
fullWidthRecognition | 是否将全角字符的长度视为2来计算字符串长度 | boolean | -

0 comments on commit 456d25a

Please sign in to comment.