@carbon/ibm-security
Version:
Carbon for Cloud & Cognitive IBM Security UI components
23 lines (22 loc) • 666 B
JavaScript
/**
* @file Component helpers.
* @copyright IBM Security 2018
*/
/**
* Toggles between active items.
* @param {string} type The type of item to toggle.
* @param {Function} callback An optional callback.
*/
export default function toggle(type) {
var _this = this;
var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
var isActive = this.state.isActive;
Object.keys(this.state.isActive).forEach(function (state) {
isActive[state] = state === type ? !_this.state.isActive[type] : false;
});
this.setState({
isActive: isActive
}, function () {
return callback(_this.state.isActive);
});
}