UNPKG

antui-mobile

Version:
318 lines (244 loc) 8.83 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _storage = require('../../utils/storage'); var _modal2 = require('../modal'); var _modal3 = _interopRequireDefault(_modal2); var _message = require('../message'); var _message2 = _interopRequireDefault(_message); var _objectAssign = require('object-assign'); var _objectAssign2 = _interopRequireDefault(_objectAssign); var _dict = require('../../utils/dict'); var _dict2 = _interopRequireDefault(_dict); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * React组件基类,增加事件函数的支持,可以避免多层组件层层传递的情况, * 即在一个组件中注册事件,在任意组件中触发注册的事件即可。 */ var BaseComponent = function (_React$Component) { (0, _inherits3.default)(BaseComponent, _React$Component); function BaseComponent(props) { (0, _classCallCheck3.default)(this, BaseComponent); // var _this = (0, _possibleConstructorReturn3.default)(this, (BaseComponent.__proto__ || (0, _getPrototypeOf2.default)(BaseComponent)).call(this)); _this.onSelect = function (keys, selectRows) { _this.setState({ selectRows: selectRows }); }; _this.hasBtnPermission = function (btnName) { return !!btnName && _this.enabledBtns.indexOf(btnName) !== -1; }; _this.onFetchData = function (_ref, fetchFunction) { var currentPage = _ref.currentPage, sortMap = _ref.sortMap, paramMap = _ref.paramMap, showCount = _ref.showCount; var obj = {}; if (sortMap) obj.sortMap = sortMap; if (paramMap) obj.paramMap = paramMap; if (showCount) obj.showCount = showCount; if (currentPage) obj.currentPage = currentPage; if (_this.options && _this.options.defaultParamMap) { obj.paramMap = (0, _objectAssign2.default)({}, _this.options.defaultParamMap, obj.paramMap || _this.paramData.paramMap); } var _p = (0, _objectAssign2.default)(_this.paramData, obj); _this.fetchFunction = _this.fetchFunction || fetchFunction; return _this.fetchFunction && _this.fetchFunction(_p); }; _this.session = _storage.Session; _this.application = _storage.Application; _this.options = props; // _this.message = _message2.default; _this.enabledBtns = _this._getEnabledBtns(); return _this; } /** * 反回按钮权限 * @return <Array> btns */ (0, _createClass3.default)(BaseComponent, [{ key: '_getEnabledBtns', value: function _getEnabledBtns() { var url2resId = this.session.getAttribute("url2resId"); var resId = url2resId && url2resId[location.pathname.split("/")[1]]; var opers = this.session.getAttribute("opers"); if (resId && opers && opers[resId + ""]) { return opers[resId + ""]; } return []; } /** * 点击表格中的行时的回调 * @param keys 行key数组 * @param rows 行数据数组 */ /** * 按钮通过这个方法反回是否有权限 */ }, { key: 'getPaging', value: function getPaging(items) { var _this2 = this; var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; return { showSizeChanger: true, showQuickJumper: true, total: items.totalResult, pageSize: items.showCount, current: items.currentPage, defaultCurrent: items.currentPage, showTotal: function showTotal(total) { return '\u5171 ' + total + ' \u6761'; }, pageSizeOptions: options.pageSizeOptions || ['10', '20', '50', '100'], onShowSizeChange: function onShowSizeChange(currentPage, showCount) { return _this2.onFetchData({ currentPage: currentPage, showCount: showCount }); }, onChange: function onChange(pagination, filters, sorter) { var currentPage = pagination.current || pagination; _this2.onFetchData({ currentPage: currentPage }); } }; } /** * 阻止冒泡及默认行为 */ }, { key: 'nopopup', value: function nopopup(e) { e.preventDefault(); e.stopPropagation(); } }, { key: '_modal', value: function _modal() { var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "info"; var content = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ""; var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; _modal3.default[type]((0, _extends3.default)({ content: content }, options)); } /** * 提示框组件 */ }, { key: 'alert', value: function alert() { var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var options = arguments[1]; options = (0, _objectAssign2.default)({}, { title: "通知", onOk: function onOk() {} }, options); return this._modal("info", content, options); } /** * 提示框组件 */ }, { key: 'info', value: function info(args) { return this.alert(args); } /** * 提示框组件 */ }, { key: 'warn', value: function warn() { var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var options = arguments[1]; options = (0, _objectAssign2.default)({}, { title: "警告", onOk: function onOk() {} }, options); return this._modal("warning", content, options); } /** * 提示框组件 */ }, { key: 'success', value: function success() { var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var options = arguments[1]; options = (0, _objectAssign2.default)({}, { title: "成功", onOk: function onOk() {} }, options); return this._modal("success", content, options); } /** * 提示框组件 */ }, { key: 'error', value: function error() { var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var options = arguments[1]; options = (0, _objectAssign2.default)({}, { title: "错误", onOk: function onOk() {} }, options); return this._modal("error", content, options); } /** * 提示框组件 */ }, { key: 'confirm', value: function confirm() { var content = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""; var options = arguments[1]; options = (0, _objectAssign2.default)({}, { title: "确认", onOk: function onOk() {}, onCancel: function onCancel() {} }, options); return this._modal("confirm", content, options); } /** * 弹窗组件 options 参考antd Modal配置 */ }, { key: 'showModal', value: function showModal(content, options) { this.context.ui.showModal(content, options); } /** * 跟据字典类型获取字典值对象 * return [{code: aa, codeName: aa}, {code: bb, codeName: bb}] * 例 this.getDict("1001")); */ }, { key: 'getDict', value: function getDict(type) { return _dict2.default.get(type); } /** * 跟据字典类型与字典值获取对应的名称 * return string * 例 this.getDictName("1001", "1001001") */ }, { key: 'getDictName', value: function getDictName(codeType, codeValue) { return _dict2.default.getDictName(codeType, codeValue); } }]); return BaseComponent; }(_react2.default.Component); BaseComponent.contextTypes = { router: _react.PropTypes.object, page: _react.PropTypes.object }; exports.default = BaseComponent; module.exports = exports['default'];