Nenhuma descrição

index.js 8.7KB

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