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
JavaScript
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
};