npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

umi-plugin-yth-panel-tab

v1.0.4

Published

## 基于 umi-plugin-panel-tab[https://github.com/fangzhengjin/umi-plugin-panel-tabs] 进行部分修改

Downloads

16

Readme

umi-plugin-yth-panel-tab

基于 umi-plugin-panel-tab[https://github.com/fangzhengjin/umi-plugin-panel-tabs] 进行部分修改

感谢作者 fangzhengjin

如何使用

安装依赖即可, 以umi-plugin开头的插件会被自动加载

配置项

在 config/config.ts - defineConfig 方法中进行配置

export default defineConfig({
  yPanelTab: {
    use404: true,
    useAuth: true,
    autoI18n: true,
    tabsLimit: 10,
    tabsLimitWait: 500,
    tabsLimitWarnTitle: '提示',
    tabsLimitWarnContent: '您当前打开页面过多, 请关闭不使用的页面以减少卡顿!',
    tabsBarBackgroundColor: '#FFFFFF',
    tabsTagColor: '#1890ff',
  },
});

| 配置项 | 类型 | 默认值 | 说明 | 版本 | | --- | --- | --- | --- | --- | | use404 | boolean | true | 使用内置的 404 页面, 该页面会在 tab 中显示 | - | | useAuth | boolean | false | 使用内置的 403 页面, 加载内置的权限判断 wrapper, 该页面会在 tab 中显示 | - | | autoI18n | boolean | false (0.0.25之前的版本默认为 true) | 自动开启国际化, 仅当 ant-design-pro 的 locale 不为 false 且不为空时生效 | - | | tabsLimit | number | 10 | 用户打开多少页签时弹出提示 | - | | tabsLimitWait | number | 500 | 页签数量检查防抖时间, 如果一次弹出了多个提示框, 可以适当延长此时间, 单位毫秒 | - | | tabsLimitWarnTitle | string | 提示 | [配置国际化后此项不生效] 页签数量超限弹窗的标题 | - | | tabsLimitWarnContent | string | 您当前打开页面过多, 请关闭不使用的页面以减少卡顿! | [配置国际化后此项不生效] 页签数量超限弹窗的内容 | - | | tabsBarBackgroundColor | string | #FFFFFF | 标签栏背景色 | 0.0.26 | | tabsTagColor | string | #1890ff | 标签颜色,优先级高于自动使用主题色 | 0.0.26 |

国际化配置项

| 国际化配置 key | 国际化配置 value | | --- | --- | | panelTab.403.subTitle | 抱歉,你无权访问该页面 | | panelTab.404.subTitle | 抱歉,您访问的页面不存在 | | panelTab.closePage | 关闭页面 | | panelTab.close | 关闭 | | panelTab.closeOther | 关闭其他 | | panelTab.closeAll | 关闭所有 | | panelTab.refresh | 刷新 | | panelTab.tabsLimitWarnTitle | 提示 | | panelTab.tabsLimitWarnContent | 您当前打开页面过多, 请关闭不使用的页面以减少卡顿! |

额外的配置项

config/route.ts中所有具有 name 属性的路由默认都会在标签页中显示, 如果不希望在标签也中出现此路由有两种方式:

  1. 移除 route 中此路由配置的 name 属性
  2. 在该路由中配置属性hideInPanelTab, 将其设置为true, 此路由就不会在标签页中显示
  3. 开启后路由里配置的菜单名会被当作菜单名国际化的 key,插件会去 locales 文件中查找 menu.[key]对应的文案,默认值为该 key, 配置可参照 ant-design-pro 菜单国际化
export default [
  {
    path: '/welcome',
    name: 'welcome',
    icon: 'smile',
    component: './Welcome',
    hideInPanelTab: true,
  },
];

自定义场景使用

提供了 hook 方便在其他组件中使用

| 方法 | 作用 | | ------------------------------- | ----------------------------------- | | close | 关闭指定标签 | | closeCurrent | 关闭当前激活的标签 | | closeOther | 关闭除当前激活外其他标签 | | refresh | 刷新指定标签 | | refreshCurrent | 刷新当前标签 | | closeAll | 关闭所有 | | refreshAndCloseCurrent | 关闭当前标签时,刷新指定标签 | | refreshAndCloseCurrentAndSwitch | 关闭当前标签时,刷新并切换到指定标签 |

import { Button, Result } from 'antd';
import React from 'react';
import { usePanelTab } from 'umi';

export default () => {
  const {
    close,
    closeCurrent,
    closeOther,
    refresh,
    refreshCurrent,
    closeAll,
    refreshAndCloseCurrent,
    refreshAndCloseCurrentAndSwitch,
  } = usePanelTab();
  return (
    <Result
      status="404"
      title="404"
      subTitle="抱歉,您访问的页面不存在。"
      extra={
        <Button type="primary" onClick={closeCurrent}>
          关闭页面
        </Button>
      }
    />
  );
};

MIT