qt-public-ui
Version:
新设计规范下业务组件库
115 lines (113 loc) • 4.17 kB
JavaScript
"use strict";
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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _reactRouterDom = require("react-router-dom");
var _antd = require("antd");
var _index = require("../index");
var _dropDownSelect = _interopRequireDefault(require("./dropDownSelect"));
var _qtPublicHooks = require("qt-public-hooks");
require("./style");
var _excluded = ["getJumpUrl", "defaultValue", "platformIconMap", "apps", "showAll", "onChange", "onDropDownChange", "onChangeTabs"];
var defaultPlatformIconMap = {
android: 'umicon-android_circle',
iphone: 'umicon-iOS_circle'
};
var AppSelect = function AppSelect(props) {
var getJumpUrl = props.getJumpUrl,
defaultValue = props.defaultValue,
platformIconMap = props.platformIconMap,
appList = props.apps,
showAll = props.showAll,
onChange = props.onChange,
onDropDownChange = props.onDropDownChange,
onChangeTabs = props.onChangeTabs,
res = (0, _objectWithoutProperties2["default"])(props, _excluded);
var _useHistory = (0, _reactRouterDom.useHistory)(),
push = _useHistory.push;
var _useParams = (0, _reactRouterDom.useParams)(),
_appId = _useParams.appId;
var _useLocation = (0, _reactRouterDom.useLocation)(),
pathname = _useLocation.pathname;
var appId = props.appId || _appId || 'all';
var iconMap = platformIconMap || defaultPlatformIconMap;
// onChange
(0, _qtPublicHooks.useUpdateEffect)(function () {
if (props.type !== 'dropDown') {
var currentApp = appList.find(function (app) {
return appId === app.appkey;
}) || 'all';
onChange && onChange(currentApp);
}
}, [appId]);
var setAll = function setAll() {
getJumpUrl && push(getJumpUrl(pathname, appId, 'all'));
};
if (props.type === 'dropDown') {
return /*#__PURE__*/_react["default"].createElement(_dropDownSelect["default"], (0, _extends2["default"])({
className: "app-select"
}, props, {
value: appId,
showAll: true,
onChange: onDropDownChange,
onChangeTabs: onChangeTabs
}));
}
return /*#__PURE__*/_react["default"].createElement(_index.Select, (0, _extends2["default"])({
className: "umui-app-select",
style: {
marginBottom: 16,
width: 168
}
}, res, {
value: appId,
showSearch: true,
styleType: "round",
onChange: function onChange(id) {
return getJumpUrl && push(getJumpUrl(pathname, appId, id));
},
dropdownRender: function dropdownRender(menu) {
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
onMouseDown: setAll,
className: "umui-option-all-app"
}, /*#__PURE__*/_react["default"].createElement(_index.Icon, {
className: "umui-option-all-app-icon",
type: "umicon-all_app"
}), "\u5168\u90E8\u5E94\u7528"), /*#__PURE__*/_react["default"].createElement(_antd.Divider, {
style: {
margin: '4px 0'
}
}), menu);
}
}), showAll && /*#__PURE__*/_react["default"].createElement(_index.Select.Option, {
style: {
display: 'none'
},
value: "all"
}, /*#__PURE__*/_react["default"].createElement(_index.Icon, {
style: {
verticalAlign: 1.2
},
className: "umui-icon",
type: "umicon-all_app"
}), "\u5168\u90E8\u5E94\u7528"), (appList || []).map(function (app) {
// cxw todo
return /*#__PURE__*/_react["default"].createElement(_index.Select.Option, {
value: app.appkey,
key: app.appkey
}, /*#__PURE__*/_react["default"].createElement(_index.Icon, {
style: {
verticalAlign: 1.2
},
className: "umui-icon",
type: iconMap[app.platform]
}), app.name);
}));
};
AppSelect.displayName = 'AppSelect';
var _default = exports["default"] = AppSelect;