app-base-react
Version:
react development common base package.
124 lines (95 loc) • 4.4 kB
JavaScript
'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);
}