UNPKG

yylib-quick-mobile

Version:

yylib-quick-mobile

267 lines (226 loc) 8.92 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _navBar = require('antd-mobile/lib/nav-bar'); var _navBar2 = _interopRequireDefault(_navBar); var _popover = require('antd-mobile/lib/popover'); var _popover2 = _interopRequireDefault(_popover); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); require('antd-mobile/lib/nav-bar/style/css'); require('antd-mobile/lib/popover/style/css'); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _YYIcon = require('../icon/YYIcon'); var _YYIcon2 = _interopRequireDefault(_YYIcon); require('./YYQueryPlan.less'); var _RestUrl = require('../../common/RestUrl'); var _FunctionUtil = require('../../utils/FunctionUtil'); var _lfwUtil = require('../../utils/lfwUtil'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } var Item = _popover2.default.Item; var YYQueryPlan = function (_Component) { _inherits(YYQueryPlan, _Component); function YYQueryPlan(props) { _classCallCheck(this, YYQueryPlan); var _this = _possibleConstructorReturn(this, (YYQueryPlan.__proto__ || Object.getPrototypeOf(YYQueryPlan)).call(this, props)); _this.onSelect = function (opt) { _this.setState({ popoverVisible: false, select: opt.key }); if (_this.props.onSelect) _this.props.onSelect(opt.props.value); }; _this.handleVisibleChange = function (popoverVisible) { _this.setState({ popoverVisible: popoverVisible }); }; _this.state = { data: [], popoverVisible: false, select: '' }; return _this; } _createClass(YYQueryPlan, [{ key: 'createDesignData', value: function createDesignData() { var data = []; for (var i = 0; i < 5; i++) { data.push({ tplId: "id" + (i + 1), tplName: '查询方案' + (i + 1), title: '查询方案' + (i + 1) }); } this.setState({ data: data }); } }, { key: 'componentWillReceiveProps', value: function componentWillReceiveProps(nextprops) { var ajax = window.YYUtils.Ajax; var _self = this; var billType = nextprops.billType, offline = nextprops.offline; var getJSON = offline ? ajax.getJSONOffLine : ajax.getJSON; var RunInDesign = nextprops.RunInDesign; if (RunInDesign) { this.createDesignData(); return; } if (billType) { var getParam = { userId: window.YYUtils.AuthToken.getUserId(), billType: billType && billType.code, orgId: window.YYUtils.AuthToken.getOrgaId(), roleId: window.YYUtils.AuthToken.getCurrentRoleId() }; getJSON.call(ajax, _RestUrl.MODULE_URL.getTemplates, getParam, function (msg) { var backData = msg["backData"]; if (msg["success"]) { _self.setState({ data: backData }); } }); } if (nextprops.select != this.props.select) { this.setState({ select: nextprops.select }); } } }, { key: 'componentDidMount', value: function componentDidMount() { var _self = this; var ajax = window.YYUtils.Ajax; var _props = this.props, billType = _props.billType, offline = _props.offline; var RunInDesign = this.props.RunInDesign; var getJSON = offline ? ajax.getJSONOffLine : ajax.getJSON; if (RunInDesign) { this.createDesignData(); return; } if (billType) { var getParam = { userId: window.YYUtils.AuthToken.getUserId(), billType: billType && billType.code, orgId: window.YYUtils.AuthToken.getOrgaId(), roleId: window.YYUtils.AuthToken.getCurrentRoleId() }; getJSON.call(ajax, _RestUrl.MODULE_URL.getTemplates, getParam, function (msg) { var backData = msg["backData"]; if (msg["success"]) { _self.setState({ data: backData }); } }); } } }, { key: 'onLeftClick', value: function onLeftClick(e) { if ((0, _FunctionUtil.isFunction)(this.props.onLeftClick)) { this.props.onLeftClick(e); } else { (0, _lfwUtil.backOrClose)(); } } }, { key: 'renderItem', value: function renderItem(data) { var select = this.state.select; var itemList = []; data.map(function (item, index) { if (item.tplId === select) { itemList.push(_react2.default.createElement( Item, { key: item.tplId, style: { color: '#0091fa' }, value: item }, item.tplName )); } else { itemList.push(_react2.default.createElement( Item, { key: item.tplId, value: item }, item.tplName )); } }); return itemList; } }, { key: 'render', value: function render() { var _props2 = this.props, visible = _props2.visible, mode = _props2.mode, leftIcon = _props2.leftIcon, leftContent = _props2.leftContent, children = _props2.children, className = _props2.className, restProps = _objectWithoutProperties(_props2, ['visible', 'mode', 'leftIcon', 'leftContent', 'children', 'className']); var data = this.state.data; var leftIconCom = typeof leftIcon === 'string' ? _react2.default.createElement(_YYIcon2.default, { type: leftIcon }) : leftIcon; var wrapClz = (0, _classnames2.default)('yy-query-plan-navBar', !visible && 'hidden', className); return _react2.default.createElement( _navBar2.default, { mode: mode, className: wrapClz, icon: leftIconCom, leftContent: leftContent, onLeftClick: this.onLeftClick.bind(this), rightContent: _react2.default.createElement( _popover2.default, { overlayClassName: 'fortest', overlayStyle: { color: 'currentColor' }, visible: this.state.popoverVisible, overlay: this.renderItem(data), align: { overflow: { adjustY: 0, adjustX: 0 }, offset: [-10, 0] }, onVisibleChange: this.handleVisibleChange, onSelect: this.onSelect }, _react2.default.createElement( 'div', { style: { height: '100%', padding: '0 15px', marginRight: '-15px', display: 'flex', alignItems: 'center' } }, _react2.default.createElement(_YYIcon2.default, { type: 'shaixuan' }) ) ) }, children ); } }]); return YYQueryPlan; }(_react.Component); YYQueryPlan.defaultProps = { mode: 'light', visible: true, billType: '', leftIcon: null, leftContent: null, onLeftClick: null }; exports.default = YYQueryPlan;