UNPKG

app-base-react

Version:
124 lines (95 loc) 4.4 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _tabs = require('antd/lib/tabs'); var _tabs2 = _interopRequireDefault(_tabs); var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); exports.default = Settings; require('antd/lib/tabs/style/css'); var _icons = require('@ant-design/icons'); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactI18next = require('react-i18next'); var _hooks = require('../../utils/hooks'); var _GlobalSettings = require('./GlobalSettings'); var _GlobalSettings2 = _interopRequireDefault(_GlobalSettings); require('../../../../../css/generator/Setting.css'); var _ItemSettings = require('./ItemSettings'); var _ItemSettings2 = _interopRequireDefault(_ItemSettings); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var TabPane = _tabs2.default.TabPane; function Settings(_ref) { var widgets = _ref.widgets; var _useTranslation = (0, _reactI18next.useTranslation)(), t = _useTranslation.t; var _useSet = (0, _hooks.useSet)({ tabsKey: 'globalSettings', showRight: true, showItemSettings: false }), _useSet2 = _slicedToArray(_useSet, 2), state = _useSet2[0], setState = _useSet2[1]; var _useStore = (0, _hooks.useStore)(), selected = _useStore.selected, _useStore$userProps = _useStore.userProps, userProps = _useStore$userProps === undefined ? {} : _useStore$userProps; var tabsKey = state.tabsKey, showRight = state.showRight, showItemSettings = state.showItemSettings; var toggleRight = function toggleRight() { return setState({ showRight: !showRight }); }; var ToggleIcon = function ToggleIcon() { return _react2.default.createElement( 'div', { className: 'absolute top-0 left-0 pointer', style: { height: 30, width: 30, padding: '8px 0 0 8px' }, onClick: toggleRight }, _react2.default.createElement(_icons.RightOutlined, { className: 'f5' }) ); }; var HideRightArrow = function HideRightArrow() { return _react2.default.createElement( 'div', { className: 'absolute right-0 top-0 h2 flex-center', style: { width: 40, transform: 'rotate(180deg)' } }, _react2.default.createElement(ToggleIcon, null) ); }; // 如果没有选中任何item,或者是选中了根节点,object、list的内部,显示placeholder (0, _react.useEffect)(function () { if (selected && selected[0] === '0' || selected === '#' || !selected) { setState({ tabsKey: 'globalSettings', showItemSettings: false }); } else { setState({ tabsKey: 'itemSettings', showItemSettings: true }); } }, [selected]); var globalSettingHide = userProps.globalSettings === null || userProps.globalSettings && !Object.keys(userProps.globalSettings).length; return showRight ? _react2.default.createElement( 'div', { className: 'right-layout relative pl2' }, _react2.default.createElement(ToggleIcon, null), _react2.default.createElement( _tabs2.default, { activeKey: tabsKey, onChange: function onChange(key) { return setState({ tabsKey: key }); } }, showItemSettings && _react2.default.createElement( TabPane, { tab: t("组件配置"), key: 'itemSettings' }, _react2.default.createElement(_ItemSettings2.default, { widgets: widgets }) ), !globalSettingHide && _react2.default.createElement( TabPane, { tab: '\u8868\u5355\u914D\u7F6E', key: 'globalSettings' }, _react2.default.createElement(_GlobalSettings2.default, { widgets: widgets }) ) ) ) : _react2.default.createElement(HideRightArrow, null); }