UNPKG

test-nut-ui

Version:

<p align="center"> <img alt="logo" src="https://img11.360buyimg.com/imagetools/jfs/t1/211965/25/7152/22022/61b16785E433119bb/aa41d7a9f7e823f3.png" width="150" style="margin-bottom: 10px;"> </p>

152 lines (151 loc) 5.96 kB
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; import React__default, { useState, useEffect } from "react"; import { I as Image } from "./image2.js"; import { R as Radio } from "./radio2.js"; var VotePageListCard = function VotePageListCard2(props) { var title = props.title, _props$options = props.options, options = _props$options === void 0 ? { questionContext: { optionList: [], questionType: 1, guid: "" } } : _props$options, titleStyle = props.titleStyle, style = props.style, _props$customerState = props.customerState, customerState = _props$customerState === void 0 ? 1 : _props$customerState, selectData = props.selectData; var optionList = options && options.questionContext && options.questionContext.optionList || []; var _useState = useState(optionList), _useState2 = _slicedToArray(_useState, 2), dataSource = _useState2[0], setDataSource = _useState2[1]; var listType = options && options.questionContext && options.questionContext.questionType || 1; var _useState3 = useState(true), _useState4 = _slicedToArray(_useState3, 2), isDisabled = _useState4[0], setIsDisabled = _useState4[1]; var questionGuid = options && options.questionContext && options.questionContext.guid || ""; useEffect(function() { if (optionList) { setDataSource(optionList || []); } }, [optionList]); useEffect(function() { if (customerState) { setIsDisabled(customerState !== 1); } }, [customerState]); var updataMultiValue = function updataMultiValue2(value) { if (isDisabled) return; var arr = _toConsumableArray(dataSource); var item = dataSource[value]; item.isCheck = !item.isCheck; arr[value] = item; setDataSource(_toConsumableArray(arr)); var selectList = arr.filter(function(item2) { return item2.isCheck; }); var guids = selectList.map(function(item2) { return item2.guid; }); selectData({ questionGuid, optionList: guids }); }; var updataRadioValue = function updataRadioValue2(value) { if (isDisabled) return; var arr = _toConsumableArray(dataSource); var guids = []; arr.forEach(function(item, index) { if (value === index) { item.isCheck = true; guids.push(item.guid); } else { item.isCheck = false; } }); setDataSource(_toConsumableArray(arr)); selectData({ questionGuid, optionList: guids }); }; var TextMultiView = function TextMultiView2() { return React__default.createElement(React__default.Fragment, null, dataSource.map(function(item, index) { return React__default.createElement("div", { key: index, className: "textRadioView", onClick: function onClick() { updataMultiValue(index); } }, React__default.createElement(Radio, { value: index, checked: item.isCheck, disabled: isDisabled }, item.options)); })); }; var TextRadioView = function TextRadioView2() { return React__default.createElement(React__default.Fragment, null, dataSource.map(function(item, index) { return React__default.createElement("div", { className: "textRadioView", onClick: function onClick() { updataRadioValue(index); } }, React__default.createElement(Radio, { value: index, checked: item.isCheck, disabled: isDisabled }, item.options)); })); }; var ImageRadioView = function ImageRadioView2() { return React__default.createElement(React__default.Fragment, null, dataSource.map(function(item, index) { return React__default.createElement("div", { className: "imageRadioView", onClick: function onClick() { updataRadioValue(index); } }, React__default.createElement("div", { className: "imageRadioLabel" }, React__default.createElement(Image, { className: "radioImage", src: item.options || "", loading: false }), React__default.createElement("div", { className: "radioLabel" }, item.remark)), React__default.createElement(Radio, { value: index, checked: item.isCheck, disabled: isDisabled })); })); }; var ImageMultiView = function ImageMultiView2() { return React__default.createElement(React__default.Fragment, null, dataSource.map(function(item, index) { return React__default.createElement("div", { className: "imageRadioView", onClick: function onClick() { updataMultiValue(index); } }, React__default.createElement("div", { className: "imageRadioLabel" }, React__default.createElement(Image, { className: "radioImage", src: item.options || "", loading: false }), React__default.createElement("div", { className: "radioLabel" }, item.remark)), React__default.createElement(Radio, { value: index, checked: item.isCheck, disabled: isDisabled })); })); }; return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", { className: "votepagelistcard", style }, title && React__default.createElement("div", { className: "title", style: titleStyle }, title), dataSource && dataSource.length > 0 && listType === 1 && React__default.createElement(TextRadioView, null), dataSource && dataSource.length > 0 && listType === 2 && React__default.createElement(TextMultiView, null), dataSource && dataSource.length > 0 && listType === 3 && React__default.createElement(ImageRadioView, null), dataSource && dataSource.length > 0 && listType === 4 && React__default.createElement(ImageMultiView, null))); }; VotePageListCard.displayName = "NutVotePageListCard"; export { VotePageListCard as V };