@alifd/meet-react
Version:
Fusion Mobile React UI System Component
76 lines (75 loc) • 3.89 kB
JavaScript
;
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';