@vtex/styleguide
Version:
> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))
86 lines (73 loc) • 2.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ActionType = undefined;
exports.default = reducer;
var _util = require("./util");
function reducer(state, action) {
switch (action.type) {
case ActionType.Check:
{
var _item = action.item;
return [].concat(state, [_item]);
}
case ActionType.Uncheck:
{
var _action$itemToToggle = action.itemToToggle,
_item2 = _action$itemToToggle.item,
comparator = _action$itemToToggle.comparator;
var rowFilter = function rowFilter(row) {
return !comparator(row)(_item2);
};
return state.filter(rowFilter);
}
case ActionType.BulkCheck:
{
var itemToToggle = action.itemToToggle,
isDisabled = action.isDisabled;
if (!itemToToggle) return state;
var _item3 = itemToToggle.item,
nodesKey = itemToToggle.nodesKey,
_comparator = itemToToggle.comparator;
return (0, _util.getBulkChecked)(state, _item3, nodesKey, _comparator, isDisabled);
}
case ActionType.BulkUncheck:
{
var _itemToToggle = action.itemToToggle;
if (!_itemToToggle) return state;
var _item4 = _itemToToggle.item,
_nodesKey = _itemToToggle.nodesKey,
_comparator2 = _itemToToggle.comparator;
return (0, _util.getBulkUnchecked)(state, _item4, _nodesKey, _comparator2);
}
case ActionType.Toggle:
{
var _itemToToggle2 = action.itemToToggle,
_isDisabled = action.isDisabled;
if (!_itemToToggle2) return state;
var _item5 = _itemToToggle2.item,
_nodesKey2 = _itemToToggle2.nodesKey,
_comparator3 = _itemToToggle2.comparator;
return (0, _util.getToggledState)(state, _item5, _nodesKey2, _comparator3, _isDisabled);
}
case ActionType.SetChecked:
{
var checked = action.checked;
return checked || state;
}
default:
{
return state;
}
}
}
var ActionType = exports.ActionType = undefined;
(function (ActionType) {
ActionType[ActionType["Check"] = 0] = "Check";
ActionType[ActionType["Uncheck"] = 1] = "Uncheck";
ActionType[ActionType["Toggle"] = 2] = "Toggle";
ActionType[ActionType["BulkCheck"] = 3] = "BulkCheck";
ActionType[ActionType["BulkUncheck"] = 4] = "BulkUncheck";
ActionType[ActionType["SetChecked"] = 5] = "SetChecked";
})(ActionType || (exports.ActionType = ActionType = {}));