@riil-frontend/component-page-creater
Version:
page creater components,include components list,component attribute panel and page canvas
129 lines (103 loc) • 3.8 kB
JavaScript
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports["default"] = void 0;
var _tab = _interopRequireDefault(require("@alifd/next/lib/tab"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireWildcard(require("react"));
var _reactDom = _interopRequireDefault(require("react-dom"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _utils = require("@riil-frontend/utils");
var _dragPanel = _interopRequireDefault(require("../drag-panel"));
var _util = require("../util");
require("./VerticalLayoutView.scss");
function VerticalLayoutView(props) {
var appPageConfig = props.appPageConfig,
pageProps = props.pageProps,
_onChange = props.onChange,
jumpto = props.jumpto,
request = props.request,
customGetComRequire = props.customGetComRequire,
hideComList = props.hideComList;
var _useState = (0, _react.useState)(),
parentDOM = _useState[0],
setParentDOM = _useState[1];
var hasData = appPageConfig && (0, _utils.isAvailableArray)(appPageConfig.configs);
var tabByComType = pageProps.tabByComType;
var _findComPageByType = (0, _util.findComPageByType)(appPageConfig, tabByComType),
fixIndex = _findComPageByType.fixIndex;
fixIndex = fixIndex == -1 ? 0 : fixIndex;
var _useState2 = (0, _react.useState)(fixIndex),
currentKey = _useState2[0],
setCurrentKey = _useState2[1];
var _jumpto = function _jumpto(url, isTabSelf) {
if (isTabSelf === void 0) {
isTabSelf = false;
}
if (isTabSelf) {
var _findComPageByType2 = (0, _util.findComPageByType)(appPageConfig, url),
tabIndex = _findComPageByType2.fixIndex;
tabIndex = tabIndex == -1 ? 0 : tabIndex;
setCurrentKey(tabIndex);
} else {
jumpto(url);
}
};
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, hasData ? /*#__PURE__*/_react["default"].createElement(_tab["default"], {
ref: function ref(node) {
var dom = _reactDom["default"].findDOMNode(node);
dom && setParentDOM(dom.lastChild);
},
defaultActiveKey: fixIndex == -1 ? 0 : fixIndex,
activeKey: currentKey,
className: 'VerticalLayoutView',
onChange: function onChange(key) {
setCurrentKey(key);
(0, _util.dispatchResizeEvent)();
},
unmountInactiveTabs: true
}, appPageConfig.configs.map(function (item, index) {
return /*#__PURE__*/_react["default"].createElement(_tab["default"].Item, {
title: item.pageName,
key: index
}, /*#__PURE__*/_react["default"].createElement(_dragPanel["default"], {
hideComList: hideComList,
parentDOM: parentDOM,
pageConfig: item,
isEdit: false,
pageProps: pageProps,
request: request,
jumpto: _jumpto,
onChange: function onChange(widgets) {
_onChange((0, _extends2["default"])({}, item, {
widgets: widgets
}));
},
customGetComRequire: customGetComRequire
}));
})) : null);
}
VerticalLayoutView.propTypes = {
/**
* 模板数据
*/
appPageConfig: _propTypes["default"].object,
/**
* 页面参数
*/
pageProps: _propTypes["default"].object,
/**
* 页面配置触发回调
*/
onChange: _propTypes["default"].func,
jumpto: _propTypes["default"].func,
request: _propTypes["default"].any,
customGetComRequire: _propTypes["default"].func,
hideComList: _propTypes["default"].array
};
VerticalLayoutView.defaultProps = {
hideComList: []
};
var _default = VerticalLayoutView;
exports["default"] = _default;