UNPKG

qt-public-ui

Version:

新设计规范下业务组件库

115 lines (113 loc) 4.17 kB
"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;