No Description

index.js 8.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. import { a as _inherits, b as _createClass, c as _defineProperty, d as _classCallCheck, e as _possibleConstructorReturn, f as _getPrototypeOf } from '../_rollupPluginBabelHelpers-bf46fecd.js';
  2. import React, { Component } from 'react';
  3. import '../_commonjsHelpers-97e6d7b1.js';
  4. import { c as classnames } from '../index-c9837619.js';
  5. import { s as styleInject } from '../style-inject.es-1f59c1d0.js';
  6. import { a as addImageProcess } from '../utils-74f31cae.js';
  7. const img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAABvklEQVQ4T62UTygEcRTHv29MIsqfk6OL5CYH5aKd9WfjwqxEnBzExYWTCEWJJGove5H8OTA1uwdCrOWAi83ZwUXJiSj5u+Z5s0msmd2SX81h+r33ee/7fW+G8E+H/srhqEcFCjphve1RzcaVK4j3mmoB5YxqQzdOxTji1wE2QZglb2jAEcT7/g4wr0rQugS1OYJ26nOg5nYDr4ZrR7yrl0FBAKBlqjEX3eRLwSXAmidvOJbSI47oF9LVKaCOkNc4/w7kSPOoFBqDwjpp4XA60LUkF8nzbsuERQt4ejtGdsYwiAYTYIV6STOD6UB3EpqXJC0u7zKxz0Mk3Zrj7lOLerJg5T9K+2lWhALiYx8xS9NbDZnUuPXy0wN/hYw3lnbPiNfE7HaSfTAloRqKWkya8WAnMrdmIBqfBqM/BehJAo+gKHMibdMGzUhqKUiZAHGVXJYLwPdpshPnRDRM4fl5+7uKL/0c1WXdOSie5Dh3wZcyoR7SQttO9z+M5MOWEsStFQmsTAoOwVK7qM64d5P6ayKJj9EqHBa5Q4kx2/ujqR1Exnsq493HH2muFN98oNtJ0g7s3Ul5/vwbSab+G+gDqFybE11pYkYAAAAASUVORK5CYII=';
  8. var css = ".ConsumeListView_wrapper__28k7D {\n display: flex;\n justify-content: center;\n}\n.ConsumeListView_wrapper__28k7D .ConsumeListView_consumelist__2RETd {\n padding: 0;\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n padding-top: 10px;\n}\n.ConsumeListView_wrapper__28k7D .ConsumeListView_consumelist__2RETd li {\n list-style: none;\n}\n.ConsumeListView_wrapper__28k7D .ConsumeListView_consumelist__2RETd .ConsumeListView_consumeItem__bsmS9 {\n margin: 0 6px 10px;\n text-align: center;\n position: relative;\n}\n.ConsumeListView_wrapper__28k7D .ConsumeListView_consumelist__2RETd .ConsumeListView_consumeItem__bsmS9 .ConsumeListView_kingdomIcon__3tTNA {\n position: absolute;\n width: 24px;\n height: 22px;\n left: -6px;\n top: -12px;\n}\n.ConsumeListView_wrapper__28k7D .ConsumeListView_consumelist__2RETd .ConsumeListView_consumeItem__bsmS9 .ConsumeListView_avatar__1WsJ3 {\n margin: 0 auto 4px;\n width: 36px;\n height: 36px;\n background-size: cover;\n border-radius: 50%;\n}\n.ConsumeListView_wrapper__28k7D .ConsumeListView_consumelist__2RETd .ConsumeListView_consumeItem__bsmS9 .ConsumeListView_gray__oOyJP {\n color: #9b9b9b;\n font-size: 12px;\n}\n.ConsumeListView_wrapper__28k7D .ConsumeListView_consumelist__2RETd .ConsumeListView_toggle__2bNE3 {\n margin: 0 6px 10px;\n width: 36px;\n height: 36px;\n line-height: 36px;\n background-color: #ececec;\n border-radius: 50%;\n color: #a8adb6;\n cursor: pointer;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAACv0lEQVRIS8WXTW8SURSGzzAYNSYCA7SCUEqBioLtohvjD9CN7ozG36AmXfsRafxYN9b+BqNx50r3GjddqEVRRgSRVr4GWmOsERjfOwEzVYa5lAokEwJzznnOe865d+4IxPFRVXVPrVY73Wq1TgmCMIffYbjZ2q4b+E/GfysWi+WZw+F4it+/zMIKvQwAszcajXnYXEIwl1kwdh8JVPC1bLVaF5FE3cjHEFytVs8hyH04jvMAu9gUkexlp9P5uJv/P2DABCi9hbJehUPPinAkpKL8d6H8BpJQ9fbbAjOooigP8H2BIyi3CaAPJUm6qIdvAwN6G0qvcUfswxDK7wB+vePyB9zu6aNdKK9ROioUn+/0XAOz6W02m6kBBolXe1EUxSibdg0MtQn09Sav9yB2UL0A1QmBbQ6VSmWNd50OAu2sc5fL5WVTfAYD9WTQgP34Y9DOClB7D05X+nHcBdslAf19jnKfNAr2cmWVDuzfR7HoFCFTUyaqR8lUhr7/2KITc/Gu9mjrC6a4iLtjRhHfvv9Ea1/L5JLsNBML94Qz6OukTBWlTt5Dbjp2JGgUtsTAW7i713DxqSql0jkqrJfIKdloNhbpCmfQV8k0VZUNOuwZo2gkQFBmFPanKVibRFxpOUefC0VyOmw0E4+QqCt7s8mgH0ipbdKEb5wiIUB7N0UD9yy13l/O5CmbXyfJfpBm49MkihbSoKuA1jdpcsJD4aDfdA5gUDIdrr+jZLIFyuQK5AD8+NEQvXknU63+jUKTPgoGvDxQ1gJtuPpeTkw1U8+mnPU2MuWngN/DBW0bLe14A8mj3x+zX7TS+ryGi6JrMtoGMrItk6VULpcTqPtQHhIQuuB2uxOjfSwy1SM5CHQmYCRHn/azcjSHvQ586Mdb/aIb+oFeD2eHQOxM87j6eoXBBrGMa2evMPoE/sdL22+mI4T0ou1LqAAAAABJRU5ErkJggg==);\n background-position: center;\n}\n.ConsumeListView_wrapper__28k7D .ConsumeListView_consumelist__2RETd .ConsumeListView_toggle__2bNE3.ConsumeListView_expand__26ifU {\n transform: rotate(180deg);\n}\n";
  9. var styles = {"wrapper":"ConsumeListView_wrapper__28k7D","consumelist":"ConsumeListView_consumelist__2RETd","consumeItem":"ConsumeListView_consumeItem__bsmS9","kingdomIcon":"ConsumeListView_kingdomIcon__3tTNA","avatar":"ConsumeListView_avatar__1WsJ3","gray":"ConsumeListView_gray__oOyJP","toggle":"ConsumeListView_toggle__2bNE3","expand":"ConsumeListView_expand__26ifU"};
  10. styleInject(css);
  11. var DEFAULT_AVATAR = '//links-comment.oss-cn-beijing.aliyuncs.com/comment/20180820/Kgka4_oU1.jpeg';
  12. var ConsumeListView =
  13. /*#__PURE__*/
  14. function (_Component) {
  15. _inherits(ConsumeListView, _Component);
  16. function ConsumeListView() {
  17. _classCallCheck(this, ConsumeListView);
  18. return _possibleConstructorReturn(this, _getPrototypeOf(ConsumeListView).apply(this, arguments));
  19. }
  20. _createClass(ConsumeListView, [{
  21. key: "renderConsumeItem",
  22. value: function renderConsumeItem() {
  23. var _this$props = this.props,
  24. dataSource = _this$props.dataSource,
  25. isToggle = _this$props.isToggle,
  26. onConsumeItemClick = _this$props.onConsumeItemClick,
  27. showLength = _this$props.showLength,
  28. listLength = _this$props.listLength,
  29. options = _this$props.options;
  30. var kingdomWidth = options.kingdomWidth,
  31. kingdomHeight = options.kingdomHeight,
  32. kingdomPosition = options.kingdomPosition,
  33. avatarSize = options.avatarSize,
  34. avatarMarginLeftAndRight = options.avatarMarginLeftAndRight;
  35. var renderData = dataSource;
  36. if (!isToggle && listLength > showLength) {
  37. renderData = dataSource.slice(0, showLength - 1);
  38. }
  39. return renderData.map(function (v, i) {
  40. var kingdom = null;
  41. if (i === 0) {
  42. kingdom = React.createElement("img", {
  43. className: styles.kingdomIcon,
  44. src: img,
  45. alt: "reward top user",
  46. style: {
  47. width: "".concat(kingdomWidth, "px"),
  48. height: "".concat(kingdomHeight, "px"),
  49. left: "".concat(kingdomPosition[0], "px"),
  50. top: "".concat(kingdomPosition[1], "px")
  51. }
  52. });
  53. }
  54. return React.createElement("li", {
  55. key: v.id,
  56. className: styles.consumeItem,
  57. style: {
  58. margin: "0 ".concat(avatarMarginLeftAndRight, "px 10px")
  59. }
  60. }, kingdom, React.createElement("div", {
  61. className: styles.avatar,
  62. onClick: function onClick(e) {
  63. return onConsumeItemClick(e, v);
  64. },
  65. style: {
  66. backgroundImage: "url(".concat(addImageProcess(v.user_avatar || DEFAULT_AVATAR, {
  67. small: true
  68. }), ")"),
  69. width: "".concat(avatarSize, "px"),
  70. height: "".concat(avatarSize, "px")
  71. }
  72. }), React.createElement("span", {
  73. className: styles.gray
  74. }));
  75. });
  76. }
  77. }, {
  78. key: "renderToggleButton",
  79. value: function renderToggleButton() {
  80. var _this$props2 = this.props,
  81. isToggle = _this$props2.isToggle,
  82. onToggleChange = _this$props2.onToggleChange,
  83. listLength = _this$props2.listLength,
  84. showLength = _this$props2.showLength,
  85. options = _this$props2.options;
  86. var avatarSize = options.avatarSize,
  87. avatarMarginLeftAndRight = options.avatarMarginLeftAndRight;
  88. if (listLength <= showLength) {
  89. return null;
  90. }
  91. return React.createElement("li", {
  92. onClick: function onClick() {
  93. return onToggleChange();
  94. },
  95. className: classnames(styles.toggle, _defineProperty({}, styles.expand, isToggle)),
  96. style: {
  97. width: "".concat(avatarSize, "px"),
  98. height: "".concat(avatarSize, "px"),
  99. lineHeight: "".concat(avatarSize, "px"),
  100. margin: "0 ".concat(avatarMarginLeftAndRight, "px 10px")
  101. }
  102. });
  103. }
  104. }, {
  105. key: "render",
  106. value: function render() {
  107. var _this$props3 = this.props,
  108. showLength = _this$props3.showLength,
  109. options = _this$props3.options;
  110. var avatarSize = options.avatarSize,
  111. avatarMarginLeftAndRight = options.avatarMarginLeftAndRight;
  112. return React.createElement("div", {
  113. className: styles.wrapper
  114. }, React.createElement("ul", {
  115. className: styles.consumelist,
  116. style: {
  117. width: "calc(".concat(avatarMarginLeftAndRight * 2 + avatarSize, "px * ").concat(showLength, ")")
  118. }
  119. }, this.renderConsumeItem(), this.renderToggleButton()));
  120. }
  121. }]);
  122. return ConsumeListView;
  123. }(Component);
  124. _defineProperty(ConsumeListView, "defaultProps", {
  125. isToggle: false,
  126. onToggleChange: function onToggleChange() {},
  127. onConsumeItemClick: function onConsumeItemClick() {},
  128. dataSource: [],
  129. listLength: 0,
  130. showLength: 6,
  131. options: {
  132. avatarSize: 36,
  133. avatarMarginLeftAndRight: 6,
  134. kingdomWidth: 24,
  135. kingdomHeight: 22,
  136. kingdomPosition: [-6, -12]
  137. }
  138. });
  139. export default ConsumeListView;
  140. //# sourceMappingURL=index.js.map