12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <import src="../common/template/image.wxml" />
- <import src="../common/template/icon.wxml" />
- <wxs module="util">
- module.exports.getImageSize = function(column) { if (column >= 5) return 'small'; if (column == 4) return 'middle';
- return 'large'; }
- </wxs>
- <wxs module="_" src="../common/utils.wxs" />
- <view
- class="{{_.cls(classPrefix, [['auto-size', column == 0]])}} class {{prefix}}-class"
- style="{{_._style([gridItemStyle, style, customStyle])}}"
- hover-class="{{hover ? classPrefix + '--hover':''}}"
- hover-stay-time="{{200}}"
- bindtap="onClick"
- aria-role="{{ariaRole || 'button'}}"
- aria-label="{{ariaLabel}}"
- aria-describedby="{{describedbyID}}"
- >
- <view class="{{_.cls(classPrefix + '__wrapper', [layout])}}" style="{{gridItemWrapperStyle}}">
- <view
- class="{{_.cls(classPrefix + '__content', [align, layout])}} {{prefix}}-class-content"
- style="{{gridItemContentStyle}}"
- >
- <slot />
- <t-badge
- wx:if="{{image || icon}}"
- color="{{badgeProps.color || ''}}"
- content="{{badgeProps.content || ''}}"
- count="{{badgeProps.count || 0}}"
- dot="{{badgeProps.dot || false}}"
- max-count="{{badgeProps.maxCount || 99}}"
- offset="{{badgeProps.offset || []}}"
- shape="{{badgeProps.shape || 'circle'}}"
- show-zero="{{badgeProps.showZero || false}}"
- size="{{badgeProps.size || 'medium'}}"
- t-class="{{badgeProps.tClass}}"
- t-class-content="{{badgeProps.tClassContent}}"
- t-class-count="{{badgeProps.tClassCount}}"
- >
- <view
- class="{{_.cls(classPrefix + '__image', [util.getImageSize(column), ['icon', icon]])}} {{prefix}}-class-image"
- >
- <block wx:if="{{image && image != 'slot'}}">
- <template
- is="image"
- data="{{ src: image, shape: 'round', mode: 'widthFix', tClass: _.cls(classPrefix + '__image', [util.getImageSize(column)]) + ' ' + prefix + '-class-image', ...imageProps }}"
- />
- </block>
- <slot name="image" />
- <template
- wx:if="{{iconName || _.isNoEmptyObj(iconData)}}"
- is="icon"
- data="{{class: classPrefix + '__icon', name: iconName, ...iconData}}"
- />
- </view>
- </t-badge>
- <view
- class="{{_.cls(classPrefix + '__words', [layout])}}"
- id="{{describedbyID}}"
- aria-label="{{ ariaLabel || (badgeProps.dot || badgeProps.count ? text + ',' + description + ',' + _.getBadgeAriaLabel({ ...badgeProps }) : '') }}"
- >
- <view
- wx:if="{{text}}"
- class="{{_.cls(classPrefix + '__text', [util.getImageSize(column), layout])}} {{prefix}}-class-text"
- >
- {{text}}
- </view>
- <slot name="text" />
- <view
- wx:if="{{description}}"
- class="{{_.cls(classPrefix + '__description', [util.getImageSize(column), layout])}} {{prefix}}-class-description"
- >
- {{description}}
- </view>
- <slot name="description" />
- </view>
- </view>
- </view>
- </view>
|