UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

133 lines (107 loc) 4.52 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _noop = _interopRequireDefault(require("lodash/noop")); var _configure = require("../configure"); var _enum = require("./enum"); var _TabPane = _interopRequireDefault(require("./TabPane")); var _TabGroup = _interopRequireDefault(require("./TabGroup")); var _TabsWithContext = _interopRequireDefault(require("./TabsWithContext")); var Tabs = function Tabs(props) { var customizedCode = props.customizedCode, _props$customizable = props.customizable, customizable = _props$customizable === void 0 ? customizedCode ? (0, _configure.getCustomizable)('Tabs') : undefined : _props$customizable; var $customizable = customizedCode ? customizable : false; var _useState = (0, _react.useState)(!$customizable), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), loaded = _useState2[0], setLoaded = _useState2[1]; var _useState3 = (0, _react.useState)(), _useState4 = (0, _slicedToArray2["default"])(_useState3, 2), customized = _useState4[0], setCustomized = _useState4[1]; var loadCustomized = (0, _react.useCallback)( /*#__PURE__*/ (0, _asyncToGenerator2["default"])( /*#__PURE__*/ _regenerator["default"].mark(function _callee() { var customizedLoad, remoteCustomized; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (!customizedCode) { _context.next = 11; break; } setLoaded(false); customizedLoad = (0, _configure.getConfig)('customizedLoad'); _context.prev = 3; _context.next = 6; return customizedLoad(customizedCode, 'Tabs'); case 6: remoteCustomized = _context.sent; setCustomized((0, _objectSpread2["default"])({ panes: {} }, remoteCustomized)); case 8: _context.prev = 8; setLoaded(true); return _context.finish(8); case 11: case "end": return _context.stop(); } } }, _callee, null, [[3,, 8, 11]]); })), [customizedCode]); (0, _react.useEffect)(function () { if ($customizable) { loadCustomized(); } }, [$customizable, loadCustomized]); return loaded ? _react["default"].createElement(_TabsWithContext["default"], (0, _extends2["default"])({}, props, { customized: customized, setCustomized: setCustomized, customizable: $customizable })) : null; }; Tabs.displayName = 'Tabs'; Tabs.propTypes = { destroyInactiveTabPane: _propTypes["default"].bool, onChange: _propTypes["default"].func, children: _propTypes["default"].any, prefixCls: _propTypes["default"].string, className: _propTypes["default"].string, style: _propTypes["default"].object, activeKey: _propTypes["default"].string, defaultActiveKey: _propTypes["default"].string, keyboard: _propTypes["default"].bool, hideAdd: _propTypes["default"].bool, tabPosition: _propTypes["default"].oneOf([_enum.TabsPosition.top, _enum.TabsPosition.right, _enum.TabsPosition.bottom, _enum.TabsPosition.left]), type: _propTypes["default"].oneOf([_enum.TabsType.card, _enum.TabsType.line, _enum.TabsType['editable-card']]) }; Tabs.defaultProps = { hideAdd: false, destroyInactiveTabPane: false, onChange: _noop["default"], keyboard: true, tabPosition: _enum.TabsPosition.top, type: _enum.TabsType.line }; Tabs.TabPane = _TabPane["default"]; Tabs.TabGroup = _TabGroup["default"]; var _default = Tabs; exports["default"] = _default; //# sourceMappingURL=Tabs.js.map