@fakel/rest-admin
Version:
An application that makes it easier to work with your API
30 lines (29 loc) • 1.56 kB
JavaScript
;
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
to[j] = from[i];
return to;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = __importDefault(require("react"));
var menu_1 = __importDefault(require("antd/lib/menu"));
var mobx_react_1 = require("mobx-react");
var FiltersMenu = mobx_react_1.observer(function (_a) {
var setDisplayFilters = _a.setDisplayFilters, setFilters = _a.setFilters, filters = _a.filters;
var handleMenuClick = function (filter) {
var displayFilter = filter.DisplayFilterComponent;
setDisplayFilters(function (displayFilters) {
var isExist = displayFilters.find(function (dF) { return dF === displayFilter; });
if (!isExist) {
return __spreadArray(__spreadArray([], displayFilters), [displayFilter]);
}
return displayFilters;
});
setFilters(function (filters) { return filters.filter(function (_filter) { return _filter !== filter; }); });
};
return (react_1.default.createElement(menu_1.default, null, filters.map(function (filter, index) { return (react_1.default.createElement(menu_1.default.Item, { onClick: function () { return handleMenuClick(filter); }, key: index }, filter.label)); })));
});
exports.default = FiltersMenu;