oak-general-business/app/miniprogram_npm/tdesign/badge/badge.wxs

52 lines
1.5 KiB
XML

var getBadgeValue = function (props) {
if (props.dot) {
return '';
}
if (isNaN(props.count) || isNaN(props.maxCount)) {
return props.count;
}
return parseInt(props.count) > props.maxCount ? props.maxCount + '+' : props.count;
};
var getBadgeStyles = function (props) {
var styleStr = '';
styleStr += 'background:' + props.color + ';';
props.offset[0] && (styleStr += 'top:' + props.offset[0] + ';');
props.offset[1] && (styleStr += 'right:' + props.offset[1] + ';');
return styleStr;
};
var getBadgeOuterClass = function (props) {
var baseClass = 't-badge';
var classNames = [baseClass, props.shape === 'ribbon' ? baseClass + '__ribbon--outer' : ''];
return classNames.join(' ');
};
var getBadgeInnerClass = function (props) {
var baseClass = 't-badge';
var classNames = [
baseClass + '--basic',
props.dot ? baseClass + '--dot' : '',
props.size === 'small' ? baseClass + '--small' : '',
baseClass + '--' + props.shape,
!props.dot && props.count ? baseClass + '--count' : '',
];
return classNames.join(' ');
};
var isShowBadge = function (props) {
if (props.dot) {
return true;
}
if (!props.visible && !isNaN(props.count) && parseInt(props.count) === 0) {
return false;
}
return true;
};
module.exports.getBadgeValue = getBadgeValue;
module.exports.getBadgeStyles = getBadgeStyles;
module.exports.getBadgeOuterClass = getBadgeOuterClass;
module.exports.getBadgeInnerClass = getBadgeInnerClass;
module.exports.isShowBadge = isShowBadge;