Kibana移除导航栏sidebar

项目需要将kibana dashboard作为iframe嵌入,需要隐藏红框中内容,防止用户跳转出dashboard(如图),kibana dashboard提供的share功能,会同时移除左侧边栏(红框)及上方搜索框(蓝框)。
移除红框内容,保留蓝框中内容
查了下目前没有支持的属性,还是需要修改源码,重新打包。

修改源码

以kibana 7.7.1为例,通过inspect element找到导航栏对应元素EuiNavDrawer
src/core/public/chrome/ui/header/nav_drawer.tsx
给EuiNavDrawer添加属性style={{ display: ‘none’ }}

	<EuiNavDrawer
	  style={{ display: 'none' }}
      ref={ref}
      data-test-subj="navDrawer"
      isLocked={isLocked}
      onIsLockedUpdate={onIsLockedUpdate}
      aria-label={i18n.translate('core.ui.primaryNav.screenReaderLabel', {
        defaultMessage: 'Primary',
      })}
    >
      {RecentLinks({
        recentlyAccessedItems,
        navLinks: chromeNavLinks,
        basePath,
      })}
      <EuiHorizontalRule margin="none" />
      <EuiNavDrawerGroup
        data-test-subj="navDrawerAppsMenu"
        listItems={navLinks}
        aria-label={i18n.translate('core.ui.primaryNavList.screenReaderLabel', {
          defaultMessage: 'Primary navigation links',
        })}
      />
    </EuiNavDrawer>

修改后效果如下
在这里插入图片描述
直接修改编译后的包也是可以的,对应的是src/core/public/chrome/ui/header/nav_drawer.js
同样也是给navDrawerRenderer添加style={{ display: ‘none’ }}

function navDrawerRenderer(_ref, ref) {
  var isLocked = _ref.isLocked,
      onIsLockedUpdate = _ref.onIsLockedUpdate,
      navLinks = _ref.navLinks,
      chromeNavLinks = _ref.chromeNavLinks,
      recentlyAccessedItems = _ref.recentlyAccessedItems,
      basePath = _ref.basePath;
  return _react.default.createElement(_eui.EuiNavDrawer, {
    style: {
      display: 'none'
    },
    ref: ref,
    "data-test-subj": "navDrawer",
    isLocked: isLocked,
    onIsLockedUpdate: onIsLockedUpdate,
    "aria-label": _i18n.i18n.translate('core.ui.primaryNav.screenReaderLabel', {
      defaultMessage: 'Primary'
    })
  }, (0, _recent_links.RecentLinks)({
    recentlyAccessedItems: recentlyAccessedItems,
    navLinks: chromeNavLinks,
    basePath: basePath
  }), _react.default.createElement(_eui.EuiHorizontalRule, {
    margin: "none"
  }), _react.default.createElement(_eui.EuiNavDrawerGroup, {
    "data-test-subj": "navDrawerAppsMenu",
    listItems: navLinks,
    "aria-label": _i18n.i18n.translate('core.ui.primaryNavList.screenReaderLabel', {
      defaultMessage: 'Primary navigation links'
    })
  }));
}

查代码的过程中还找到了kibana 一些plugin的位置
src/legacy/core_plugins/kibana/index.js
可以通过注释掉links数组中的部分内容,可以将dashboard等plugin从导航栏中移除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值