UNPKG

@riil-frontend/component-page-config

Version:

page config components,include components list,component attribute panel and page canvas

209 lines (184 loc) 6.08 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _box = _interopRequireDefault(require("@alifd/next/lib/box")); var _button = _interopRequireDefault(require("@alifd/next/lib/button")); var _icon = _interopRequireDefault(require("@alifd/next/lib/icon")); var _select = _interopRequireDefault(require("@alifd/next/lib/select")); var _numberPicker = _interopRequireDefault(require("@alifd/next/lib/number-picker")); var _dialog = _interopRequireDefault(require("@alifd/next/lib/dialog")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _react = _interopRequireDefault(require("react")); require("./ColEdit.scss"); var _constant = require("./constant"); var ColEdit = function ColEdit(props) { var onChange = props.onChange, value = props.value, validator = props.validator, other = (0, _objectWithoutPropertiesLoose2["default"])(props, ["onChange", "value", "validator"]); var onChangeInner = function onChangeInner(newValue) { onChange(newValue); }; var onInputChange = function onInputChange(val, index) { var newValue = value.map(function (item, idx) { if (index === idx) { return (0, _extends2["default"])({}, item, { span: val }); } else { return item; } }); onChangeInner(newValue); }; // const onInputChange = (val, index) => { // let sum = value.reduce((pre, cur, idx) => { // if (index === idx) { // return pre + val; // } // return pre + cur.span; // }, 0); // let count = sum - 24; // const newValue = value.map((item, idx) => { // if (index === idx) { // return { ...item, span: val }; // } else if (idx > index) { // let _value = item.span - count; // if (_value < 1) { // count = count - (item.span - 1); // _value = 1; // } else { // count = 0; // } // return { ...item, span: _value }; // } else { // return item; // } // }); // onChangeInner(newValue); // }; var addOne = function addOne() { var newOne = { span: 6, direction: 'row', widgets: [] }; onChangeInner(averageCol([].concat(value, [newOne]))); }; var deleteOne = function deleteOne(index) { _dialog["default"].confirm({ title: '删除', content: '删除列会同时删除内部组件,是否继续?', messageProps: { type: 'warning' }, onOk: function onOk() { onChangeInner(averageCol(value.filter(function (item, idx) { return idx != index; }))); } }); }; var onSelectChange = function onSelectChange(val, index) { var newValue = value.map(function (item, idx) { if (index === idx) { return (0, _extends2["default"])({}, item, { direction: val }); } else { return item; } }); onChangeInner(newValue); }; /** * 均分栅格方法 * @param {array} val * @returns */ var averageCol = function averageCol(val) { var len = val.length; if (len === 5) { return val.map(function (item, index) { if (index === 4) { return (0, _extends2["default"])({}, item, { span: _constant.MIN5 }); } else { return (0, _extends2["default"])({}, item, { span: _constant.MAX5 }); } }); } else { return val.map(function (item) { return (0, _extends2["default"])({}, item, { span: _constant.TOTAL / len }); }); } }; var addBtnDisabled = value.length >= 6; var delBtnDisabled = value.length === 1; return /*#__PURE__*/_react["default"].createElement(_box["default"], { direction: "column", spacing: 12, className: "col-edit-wrap" }, value.map(function (item, index) { return /*#__PURE__*/_react["default"].createElement(_box["default"], { key: 'form-' + index, direction: "column", spacing: 8 }, /*#__PURE__*/_react["default"].createElement(_box["default"], { direction: "row", spacing: 8, align: "center", justify: "flex-start" }, /*#__PURE__*/_react["default"].createElement("span", { style: { fontSize: 12 } }, "\u5217" + (index + 1)), /*#__PURE__*/_react["default"].createElement(_numberPicker["default"], { className: "col-edit-number-picker", max: _constant.TOTAL, min: 1, value: item.span, onChange: function onChange(val) { return onInputChange(val, index); } }), /*#__PURE__*/_react["default"].createElement(_select["default"], { value: item.direction, onChange: function onChange(val) { onSelectChange(val, index); }, followTrigger: true, autoWidth: false }, /*#__PURE__*/_react["default"].createElement(_select["default"].Option, { value: "row" }, "\u5DE6\u53F3\u5C55\u793A\u591A\u7EC4\u4EF6"), /*#__PURE__*/_react["default"].createElement(_select["default"].Option, { value: "column" }, "\u4E0A\u4E0B\u663E\u793A\u591A\u7EC4\u4EF6")), /*#__PURE__*/_react["default"].createElement(_button["default"], { text: true, onClick: function onClick() { deleteOne(index); }, style: { lineHeight: 0 }, disabled: delBtnDisabled }, /*#__PURE__*/_react["default"].createElement(_icon["default"], { type: "ashbin" })))); }), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_button["default"], { onClick: addOne, style: { padding: '0 8px' }, disabled: addBtnDisabled }, /*#__PURE__*/_react["default"].createElement(_icon["default"], { type: "add" })))); }; var _default = ColEdit; exports["default"] = _default;