UNPKG

@zextras/carbonio-shell-ui

Version:

The Zextras Carbonio web client

30 lines 1.34 kB
"use strict"; /* * SPDX-FileCopyrightText: 2022 Zextras <https://www.zextras.com> * * SPDX-License-Identifier: AGPL-3.0-only */ Object.defineProperty(exports, "__esModule", { value: true }); exports.useUtilityViews = exports.checkRoute = exports.checkList = void 0; const react_1 = require("react"); const lodash_1 = require("lodash"); const hooks_1 = require("../history/hooks"); const app_1 = require("../store/app"); const checkList = (l1, l2) => (0, lodash_1.intersection)(l1, l2).length > 0; exports.checkList = checkList; const checkRoute = (view, activeRoute) => { const activeRouteValues = Object.values((0, lodash_1.omit)(activeRoute, 'focusMode') ?? {}); if (view.blacklistRoutes) return !(0, exports.checkList)(activeRouteValues, view.blacklistRoutes); if (view.whitelistRoutes) return (0, exports.checkList)(activeRouteValues, view.whitelistRoutes); return true; }; exports.checkRoute = checkRoute; const useUtilityViews = () => { const utilityViews = (0, app_1.useAppStore)((s) => s.views.utilityBar); const activeRoute = (0, hooks_1.useCurrentRoute)(); return (0, react_1.useMemo)(() => (0, lodash_1.filter)(utilityViews, (v) => (0, exports.checkRoute)(v, activeRoute)), [activeRoute, utilityViews]); }; exports.useUtilityViews = useUtilityViews; //# sourceMappingURL=utils.js.map