"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setBreadcrumbs = setBreadcrumbs; var _i18n = require("@kbn/i18n"); var _customizations = require("../../common/customizations"); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License * 2.0 and the Server Side Public License, v 1; you may not use this file except * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ const rootPath = '#/'; const getRootPath = ({ history }) => { const { profile } = (0, _customizations.getProfile)(history().location.pathname); return profile ? (0, _customizations.addProfile)(rootPath, profile) : rootPath; }; function getRootBreadcrumbs({ breadcrumb, services }) { return [{ text: _i18n.i18n.translate('discover.rootBreadcrumb', { defaultMessage: 'Discover' }), href: breadcrumb || getRootPath(services) }]; } /** * Helper function to set the Discover's breadcrumb * if there's an active savedSearch, its title is appended */ function setBreadcrumbs({ rootBreadcrumbPath, titleBreadcrumbText, services }) { const rootBreadcrumbs = getRootBreadcrumbs({ breadcrumb: rootBreadcrumbPath, services }); const discoverBreadcrumbsTitle = _i18n.i18n.translate('discover.discoverBreadcrumbTitle', { defaultMessage: 'Discover' }); if (services.serverless) { // in serverless only set breadcrumbs for saved search title // the root breadcrumbs are set automatically by the serverless navigation if (titleBreadcrumbText) { services.serverless.setBreadcrumbs([{ text: titleBreadcrumbText }]); } else { services.serverless.setBreadcrumbs([]); } } else { if (titleBreadcrumbText) { services.chrome.setBreadcrumbs([...rootBreadcrumbs, { text: titleBreadcrumbText }]); } else { services.chrome.setBreadcrumbs([{ text: discoverBreadcrumbsTitle }]); } } }