No Description

index.js 8.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. import { a as _inherits, b as _classCallCheck, c as _possibleConstructorReturn, d as _getPrototypeOf, e as _createClass } from '../inherits-6cb67931.js';
  2. import React, { Component } from 'react';
  3. import { s as styleInject } from '../style-inject.es-1f59c1d0.js';
  4. import { _ as _defineProperty } from '../defineProperty-18999f8e.js';
  5. import { c as classnames } from '../index-b8d80d39.js';
  6. import { a as addImageProcess } from '../utils-6b513b37.js';
  7. var 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__wlJjh {\n display: flex;\n justify-content: center;\n}\n.ConsumeListView_wrapper__wlJjh .ConsumeListView_consumelist__2dMCR {\n padding: 0;\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n padding-top: 10px;\n}\n.ConsumeListView_wrapper__wlJjh .ConsumeListView_consumelist__2dMCR li {\n list-style: none;\n}\n.ConsumeListView_wrapper__wlJjh .ConsumeListView_consumelist__2dMCR .ConsumeListView_consumeItem__1QGpJ {\n margin: 0 6px 10px;\n text-align: center;\n position: relative;\n}\n.ConsumeListView_wrapper__wlJjh .ConsumeListView_consumelist__2dMCR .ConsumeListView_consumeItem__1QGpJ .ConsumeListView_kingdomIcon__1nBe5 {\n position: absolute;\n width: 24px;\n height: 22px;\n left: -6px;\n top: -12px;\n}\n.ConsumeListView_wrapper__wlJjh .ConsumeListView_consumelist__2dMCR .ConsumeListView_consumeItem__1QGpJ .ConsumeListView_avatar__1H-E5 {\n margin: 0 auto 4px;\n width: 36px;\n height: 36px;\n background-size: cover;\n border-radius: 50%;\n}\n.ConsumeListView_wrapper__wlJjh .ConsumeListView_consumelist__2dMCR .ConsumeListView_consumeItem__1QGpJ .ConsumeListView_gray__3do1I {\n color: #9b9b9b;\n font-size: 12px;\n}\n.ConsumeListView_wrapper__wlJjh .ConsumeListView_consumelist__2dMCR .ConsumeListView_toggle__3eBTC {\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__wlJjh .ConsumeListView_consumelist__2dMCR .ConsumeListView_toggle__3eBTC.ConsumeListView_expand__3l80q {\n transform: rotate(180deg);\n}\n";
  9. var styles = {
  10. "wrapper": "ConsumeListView_wrapper__wlJjh",
  11. "consumelist": "ConsumeListView_consumelist__2dMCR",
  12. "consumeItem": "ConsumeListView_consumeItem__1QGpJ",
  13. "kingdomIcon": "ConsumeListView_kingdomIcon__1nBe5",
  14. "avatar": "ConsumeListView_avatar__1H-E5",
  15. "gray": "ConsumeListView_gray__3do1I",
  16. "toggle": "ConsumeListView_toggle__3eBTC",
  17. "expand": "ConsumeListView_expand__3l80q"
  18. };
  19. styleInject(css);
  20. var DEFAULT_AVATAR = '//links-comment.oss-cn-beijing.aliyuncs.com/comment/20180820/Kgka4_oU1.jpeg';
  21. var ConsumeListView =
  22. /*#__PURE__*/
  23. function (_Component) {
  24. _inherits(ConsumeListView, _Component);
  25. function ConsumeListView() {
  26. _classCallCheck(this, ConsumeListView);
  27. return _possibleConstructorReturn(this, _getPrototypeOf(ConsumeListView).apply(this, arguments));
  28. }
  29. _createClass(ConsumeListView, [{
  30. key: "renderConsumeItem",
  31. value: function renderConsumeItem() {
  32. var _this$props = this.props,
  33. dataSource = _this$props.dataSource,
  34. isToggle = _this$props.isToggle,
  35. onConsumeItemClick = _this$props.onConsumeItemClick,
  36. showLength = _this$props.showLength,
  37. listLength = _this$props.listLength,
  38. options = _this$props.options;
  39. var kingdomWidth = options.kingdomWidth,
  40. kingdomHeight = options.kingdomHeight,
  41. kingdomPosition = options.kingdomPosition,
  42. avatarSize = options.avatarSize,
  43. avatarMarginLeftAndRight = options.avatarMarginLeftAndRight;
  44. var renderData = dataSource;
  45. if (!isToggle && listLength > showLength) {
  46. renderData = dataSource.slice(0, showLength - 1);
  47. }
  48. return renderData.map(function (v, i) {
  49. var kingdom = null;
  50. if (i === 0) {
  51. kingdom = React.createElement("img", {
  52. className: styles.kingdomIcon,
  53. src: img,
  54. alt: "reward top user",
  55. style: {
  56. width: "".concat(kingdomWidth, "px"),
  57. height: "".concat(kingdomHeight, "px"),
  58. left: "".concat(kingdomPosition[0], "px"),
  59. top: "".concat(kingdomPosition[1], "px")
  60. }
  61. });
  62. }
  63. return React.createElement("li", {
  64. key: v.id,
  65. className: styles.consumeItem,
  66. style: {
  67. margin: "0 ".concat(avatarMarginLeftAndRight, "px 10px")
  68. }
  69. }, kingdom, React.createElement("div", {
  70. className: styles.avatar,
  71. onClick: function onClick(e) {
  72. return onConsumeItemClick(e, v);
  73. },
  74. style: {
  75. backgroundImage: "url(".concat(addImageProcess(v.user_avatar || DEFAULT_AVATAR, {
  76. small: true
  77. }), ")"),
  78. width: "".concat(avatarSize, "px"),
  79. height: "".concat(avatarSize, "px")
  80. }
  81. }), React.createElement("span", {
  82. className: styles.gray
  83. }));
  84. });
  85. }
  86. }, {
  87. key: "renderToggleButton",
  88. value: function renderToggleButton() {
  89. var _this$props2 = this.props,
  90. isToggle = _this$props2.isToggle,
  91. onToggleChange = _this$props2.onToggleChange,
  92. listLength = _this$props2.listLength,
  93. showLength = _this$props2.showLength,
  94. options = _this$props2.options;
  95. var avatarSize = options.avatarSize,
  96. avatarMarginLeftAndRight = options.avatarMarginLeftAndRight;
  97. if (listLength <= showLength) {
  98. return null;
  99. }
  100. return React.createElement("li", {
  101. onClick: function onClick() {
  102. return onToggleChange();
  103. },
  104. className: classnames(styles.toggle, _defineProperty({}, styles.expand, isToggle)),
  105. style: {
  106. width: "".concat(avatarSize, "px"),
  107. height: "".concat(avatarSize, "px"),
  108. lineHeight: "".concat(avatarSize, "px"),
  109. margin: "0 ".concat(avatarMarginLeftAndRight, "px 10px")
  110. }
  111. });
  112. }
  113. }, {
  114. key: "render",
  115. value: function render() {
  116. var _this$props3 = this.props,
  117. showLength = _this$props3.showLength,
  118. options = _this$props3.options;
  119. var avatarSize = options.avatarSize,
  120. avatarMarginLeftAndRight = options.avatarMarginLeftAndRight;
  121. return React.createElement("div", {
  122. className: styles.wrapper
  123. }, React.createElement("ul", {
  124. className: styles.consumelist,
  125. style: {
  126. width: "calc(".concat(avatarMarginLeftAndRight * 2 + avatarSize, "px * ").concat(showLength, ")")
  127. }
  128. }, this.renderConsumeItem(), this.renderToggleButton()));
  129. }
  130. }]);
  131. return ConsumeListView;
  132. }(Component);
  133. ConsumeListView.defaultProps = {
  134. isToggle: false,
  135. onToggleChange: function onToggleChange() {},
  136. onConsumeItemClick: function onConsumeItemClick() {},
  137. dataSource: [],
  138. listLength: 0,
  139. showLength: 6,
  140. options: {
  141. avatarSize: 36,
  142. avatarMarginLeftAndRight: 6,
  143. kingdomWidth: 24,
  144. kingdomHeight: 22,
  145. kingdomPosition: [-6, -12]
  146. }
  147. };
  148. export default ConsumeListView;
  149. //# sourceMappingURL=index.js.map