yylib-quick-mobile
Version:
yylib-quick-mobile
267 lines (226 loc) • 8.92 kB
JavaScript
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;
;