UNPKG

@riil-frontend/component-page-config

Version:

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

196 lines (158 loc) 5.74 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _react = _interopRequireWildcard(require("react")); var _next = require("@formily/next"); var _lodash = _interopRequireDefault(require("lodash")); var _propTypes = _interopRequireDefault(require("prop-types")); var _componentNoDataPage = _interopRequireDefault(require("@riil-frontend/component-no-data-page")); require("../attr-panel/AttrContents/ComponentContent.scss"); var _FormCollapse = require("../attr-panel/AttrContents/FormCollapse"); var _componentFooterLayout = _interopRequireDefault(require("@riil-frontend/component-footer-layout")); require("./AttributesPanel.scss"); var actions = (0, _next.createAsyncFormActions)(); var AttributesPanel = function AttributesPanel(props) { var getSchema = props.getSchema, CustomScCom = props.CustomScCom, pageProps = props.pageProps, config = props.config, request = props.request, configVisible = props.configVisible, setConfigVisible = props.setConfigVisible, onConfigChange = props.onConfigChange, target = props.target; var _useState = (0, _react.useState)({ schema: null, customScCom: CustomScCom, configState: config }), schemaProps = _useState[0], setSchemaProps = _useState[1]; var init = /*#__PURE__*/function () { var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { var schema; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return getSchema({ pageProps: pageProps, config: config, request: request }); case 2: schema = _context.sent; setSchemaProps({ schema: schema, customScCom: CustomScCom, configState: config }); case 4: case "end": return _context.stop(); } } }, _callee); })); return function init() { return _ref.apply(this, arguments); }; }(); (0, _react.useEffect)(function () { init(); }, []); (0, _react.useEffect)(function () { valdates(); }, [schemaProps.configState]); var valdates = /*#__PURE__*/function () { var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { var result; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: _context2.next = 2; return actions.validate().then(function () { return true; })["catch"](function () { return false; }); case 2: result = _context2.sent; if (result) { onConfigChange(schemaProps.configState); } // return result; case 4: case "end": return _context2.stop(); } } }, _callee2); })); return function valdates() { return _ref2.apply(this, arguments); }; }(); var onOk = /*#__PURE__*/function () { var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() { var val; return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: _context3.next = 2; return valdates(); case 2: val = _context3.sent; if (val) { onConfigChange(schemaProps.configState); setConfigVisible(false); } case 4: case "end": return _context3.stop(); } } }, _callee3); })); return function onOk() { return _ref3.apply(this, arguments); }; }(); var onCancel = function onCancel() { setConfigVisible(false); }; return /*#__PURE__*/_react["default"].createElement("div", { className: "footer-drawer", onMouseDown: function onMouseDown(e) { e.stopPropagation(); } }, /*#__PURE__*/_react["default"].createElement(_next.SchemaForm, { key: schemaProps.configState.id, components: (0, _extends2["default"])({ FormCollapse: _FormCollapse.FormCollapse, FormCollapsePanel: _FormCollapse.FormCollapsePanel }, schemaProps.customScCom), style: { width: '100%' }, actions: actions, value: schemaProps.configState.attributes, onChange: function onChange(values) { var _config = _lodash["default"].cloneDeep(schemaProps.configState); _config.attributes = (0, _extends2["default"])({}, _config.attributes, values); setSchemaProps((0, _extends2["default"])({}, schemaProps, { configState: _config })); // valdates2(_config) TODO }, schema: schemaProps.schema })); }; var _default = AttributesPanel; exports["default"] = _default;