react-dyn-tabs
Version:
React dynamic tabs with full API
47 lines (46 loc) • 1.36 kB
JavaScript
exports.__esModule = true;
exports["default"] = void 0;
var _helper = _interopRequireDefault(require("../helper.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
var _default = exports["default"] = _helper["default"].module(function Tabs(_temp) {
var _this = this;
var _ref = _temp === void 0 ? {
initialTabs: []
} : _temp,
initialTabs = _ref.initialTabs;
this._data = [];
if (initialTabs && initialTabs.constructor === Array && initialTabs.length) {
initialTabs.forEach(function (tab) {
_this._addTab(tab);
});
}
}, {
_addTab: function _addTab(tabObj) {
this._data.push(tabObj);
return this;
},
_removeTab: function _removeTab(id) {
var delIndex = this._data.findIndex(function (tab) {
return tab.id === id;
});
delIndex >= 0 && this._data.splice(delIndex, 1);
return this;
},
getTab: function getTab(id) {
return this._data.find(function (tab) {
return tab.id === id;
});
},
_setTab: function _setTab(id, newData) {
var _index = this._data.findIndex(function (tab) {
return tab.id == id;
});
if (_index >= 0) {
var oldData = this._data[_index];
newData.id = oldData.id; // id can not be changed.
Object.assign(this._data[_index], newData);
}
return this;
}
});
;