tntd
Version:
tntd是基于 TNT Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。
58 lines (57 loc) • 1.72 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 = {
initialValues: {},
values: {}
};
return {
setData: function setData(key, value) {
(0, _set2["default"])(data, key, value);
},
getData: function getData(key) {
(0, _get2["default"])(data, key);
},
setValues: function setValues(values) {
data.values = values;
eventEmitter.emit('setValues', values);
},
getValues: function getValues() {
return data.values;
},
resetValues: function resetValues() {
data.values = Object.assign({}, data.initialValues);
eventEmitter.emit('setValues', data.values);
},
setValue: function setValue(name, value) {
data.values = data.values || {};
data.values[name] = value;
eventEmitter.emit('setValue', name, value);
},
getValue: function getValue(name) {
var _a;
return (_a = data.values) === null || _a === void 0 ? void 0 : _a[name];
},
on: function on(eventName, callback) {
eventEmitter.on(eventName, callback);
},
emit: function emit() {
eventEmitter.emit.apply(eventEmitter, arguments);
},
off: function off() {
eventEmitter.removeListener.apply(eventEmitter, arguments);
}
};
};