UNPKG

@carbon/ibm-security

Version:

Carbon for Cloud & Cognitive IBM Security UI components

23 lines (22 loc) 666 B
/** * @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); }); }