tntd
Version:
tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。
84 lines (83 loc) • 3.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _set2 = _interopRequireDefault(require("lodash/set"));
var _get2 = _interopRequireDefault(require("lodash/get"));
var _eventemitter = _interopRequireDefault(require("eventemitter3"));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
"default": e
};
}
var _default = exports["default"] = function _default() {
var eventEmitter = new _eventemitter["default"]();
var data = {
dataSource: [],
pagination: {},
formData: {},
submittedFormData: {}
};
return {
setData: function setData(key, val) {
(0, _set2["default"])(data, key, val);
},
getFormData: function getFormData(name) {
return (0, _get2["default"])(data, "formData".concat(name ? '.' + name : ''));
},
getSubmittedFormData: function getSubmittedFormData(name) {
return (0, _get2["default"])(data, "submittedFormData".concat(name ? '.' + name : ''));
},
getTableDataSource: function getTableDataSource() {
return (0, _get2["default"])(data, 'dataSource');
},
getPagination: function getPagination() {
return (0, _get2["default"])(data, 'pagination');
},
setFormData: function setFormData(formData) {
var needSearch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
(0, _set2["default"])(data, 'formData', formData);
eventEmitter.emit('setFormData', formData, needSearch);
},
resetFormData: function resetFormData() {
var needSearch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
eventEmitter.emit('resetFormData', needSearch);
},
setTableDataSource: function setTableDataSource(dataSource) {
(0, _set2["default"])(data, 'dataSource', dataSource);
eventEmitter.emit('setTableDataSource', dataSource);
},
setPagination: function setPagination(pagination) {
(0, _set2["default"])(data, 'pagination', pagination);
eventEmitter.emit('setPagination', pagination);
},
// 重置记忆数据,form、pagination
resetMemoryData: function resetMemoryData() {
data.formData = {};
data.pagination = {};
},
search: function search() {
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var showLoading = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
return new Promise(function (resolve) {
eventEmitter.emit('search', params, {
callback: resolve,
showLoading: showLoading
});
});
},
on: function on(eventName, callback) {
eventEmitter.on(eventName, callback);
},
emit: function emit() {
eventEmitter.emit.apply(eventEmitter, arguments);
},
removeListener: function removeListener() {
eventEmitter.removeListener.apply(eventEmitter, arguments);
},
off: function off() {
eventEmitter.removeListener.apply(eventEmitter, arguments);
}
};
};