UNPKG

@alifd/meet-react

Version:

Fusion Mobile React UI System Component

76 lines (75 loc) 3.89 kB
"use strict"; exports.__esModule = true; exports.default = SelectedListDrawer; var _react = _interopRequireWildcard(require("react")); var _meetReactComponentOne = require("@alifd/meet-react-component-one"); var _button = _interopRequireDefault(require("../../button/button")); var _drawer = _interopRequireDefault(require("../../drawer/drawer")); var _list = _interopRequireDefault(require("../../list")); var _utils = require("../../utils"); var _view = _interopRequireDefault(require("../../view")); var _option = _interopRequireDefault(require("../option")); var _safeArea = _interopRequireDefault(require("../../safe-area")); var _util = require("../util"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function SelectedListDrawer(props) { var prefix = props.prefix, innerValue = props.innerValue, locale = props.locale; var visible = props.visible, onOk = props.onOk, onCancel = props.onCancel; var clsPrefix = prefix + "select"; var _useState = (0, _react.useState)([]), selectedList = _useState[0], setSelectedList = _useState[1]; var handleItemClick = function (item) { var isSelected = (0, _utils.findInArray)(selectedList, function (it) { return it.value === item.value; }); if (isSelected) { var arr = (0, _util.removeItemFromArray)(selectedList, item.value); setSelectedList(arr); } else { setSelectedList([].concat(selectedList, [item])); } }; (0, _react.useEffect)(function () { return setSelectedList(innerValue); }, [innerValue]); return /*#__PURE__*/(0, _react.createElement)(_drawer.default, { visible: visible, closeMode: ['mask'], className: clsPrefix + "-confirm-drawer", containerClassName: clsPrefix + "-confirm-drawer-container", onClose: onCancel }, /*#__PURE__*/(0, _react.createElement)(_view.default, { className: clsPrefix + "-confirm-drawer-header" }, /*#__PURE__*/(0, _react.createElement)(_meetReactComponentOne.Text, { className: clsPrefix + "-confirm-total" }, locale.totalPrefixText, " ", selectedList.length, " ", locale.totalSuffixText), /*#__PURE__*/(0, _react.createElement)(_button.default, { type: "primary", model: "text", onClick: function handleOk() { return onOk(selectedList); } }, locale.secondaryOkText)), /*#__PURE__*/(0, _react.createElement)(_view.default, { className: clsPrefix + "-confirm-drawer-body" }, /*#__PURE__*/(0, _react.createElement)(_list.default, null, innerValue.map(function (item) { var selected = (0, _utils.findInArray)(selectedList, function (it) { return it.value === item.value; }); return /*#__PURE__*/(0, _react.createElement)(_option.default, { selected: selected, key: item.value, onClick: function onClick() { return handleItemClick(item); } }, item.label); }))), /*#__PURE__*/(0, _react.createElement)(_safeArea.default, { className: clsPrefix + "-safe-area" })); } SelectedListDrawer.displayName = 'SelectedListDrawer';