@carbon/ibm-security
Version:
Carbon for Cloud & Cognitive IBM Security UI components
29 lines (27 loc) • 757 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = toggle;
/**
* @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.
*/
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);
});
}