@bigbinary/neeto-trash-frontend

中文文档
3.2.3发布于 2026/10/29UNLICENSEDTypeScriptESM + CJS近 30 天下载 6498

一个回波作为新纳米结构,配置,数据等的真理来源.

中文使用文档
文档目录6 节
  1. 目录
  2. 用主机应用程序开发
  3. 发动机
  4. 前端软件包
  5. 发展指示
  6. 出版指令

需要轻而易举

这个 neeto-trash-nano 充当了新纳米结构,配置,数据等的真实来源.

目录

  1. 用主机应用程序开发
  2. 出版指令

用主机应用程序开发

发动机

安装

  1. 将此行添加到您的应用程序的 Gemfile 中 :

     source "NEETO_GEM_SERVER_URL" do
       # ..existing gems
    
       gem 'neeto-trash-engine'
     end
    
  2. 然后执行:

    bundle install
    
  3. 将此行添加到您的应用程序 config/routes.rb 文件

     mount NeetoTrashEngine::Engine, at: "/neeto_trash"
    
  4. 在表格中添加所需的迁移 db/migrate 文件夹。 运行以下命令从引擎复制迁移 到主机应用程序.

    bundle exec rails neeto_trash_engine:install:migrations
    bundle exec rails db:migrate
    

设置发电机

  1. rails g neeto_trash_engine:install

    设置主机应用程序使用引擎所需的一切 :

    • 挂载 NeetoTrashEngine::Engine 时间 /neeto_trash 内 config/routes.rb。 。 。 .
    • 副本 app/lib/neeto_trash_engine/callbacks.rb,授权 授权/组织范围决定 改为:.
    • 副本 config/initializers/neeto_trash_engine.rb,用于配置 保留期,当前用户解析器,以及回调类.
    • 添加一个 trash_cleanup 条目为 config/scheduled_jobs.yml 运行 NeetoTrashEngine::CleanupJob 日报. 若为 config/scheduled_jobs.yml 不存在,生成器打印出要手工添加的条目,而不是 创建文件.

    再次运行生成器是安全的: 它跳过目标文件已经存在或已经包含该文件的任何步骤 预期进入.

  2. rails g neeto_trash_engine:trashable Article

    产生迁移( E)db/migrate/add_neeto_trash_to_articles.rb),添加一模型需要支持的列 丢弃 : is_trashed, (中文(简体) ), trashed_at页:1 trashed_by 参考文献 users综合索引 [:is_trashed, :trashed_at]。表格名称从模型中取出,当它已经存在 trashed_by 引用类型匹配主机应用程序所配置的主密钥类型(例如:. :uuid) (中文(简体) ).

使用量

模式包括: NeetoTrashEngine::Trashable 可以推翻他们的删除方法. 单项删除和保留清理呼叫 permanently_delete!默认 改为 destroy!。批量删除呼叫 permanently_delete_all! 核定员额 范围。 它的默认调用 destroy_all 当一个召回停止删除时, 所以大宗交易会退回.

同步执行必须立即从垃圾堆中隐藏记录 列出并在交易完成后进行清理。 用于包括 NeetoCommonsBackend::Deletable,在两种删除路径中使用现有方法:

def permanently_delete!
  destroy_async
end

def self.permanently_delete_all!
  destroy_async_multiple(pluck(:id))
end

批量覆盖在一个更新中隐藏选中的记录并排队一个任务 承诺之后。 保留清理保持其每笔记录锁和资格检查.

覆盖必须保留主机模型的破坏回调和依赖性清理. 使用 destroy! 或应用程序的现有删除服务用于物理删除. 要同步删除,背景工作者必须进行这种清理.

  1. 用您的工程名称替换 NeetoTrashNano

    创建一个 script.rb 在工程根中将脚本从以下文件中粘贴.

    替换工程名称脚本

  2. 使用以下命令运行文件 :

       ruby script.rb
    

页:1

  • 别把文件交出来.
  • 项目名称应在PascalCase中给出.

前端软件包

安装

  1. 添加数据 neeto-trash-frontend 软件包到 package.json

    yarn add @bigbinary/neeto-trash-frontend
    

发展指示

检查 前端软件包开发指南 分步执行 指示开发前端软件包.

使用量

  1. 导入后挂载垃圾页 TrashList 从“ @ bigbinary/ neto- trash- prefend” 开始,并告诉它哪些项目类型 您的应用程序垃圾 :

    import React from "react";
    
    import { TrashList } from "@bigbinary/neeto-trash-frontend";
    
    const Trash = () => <TrashList itemTypes={{ Article: { label: "Articles" } }} />;
    
    export default Trash;
    
  2. 将应用程序菜单中的删除动作线化, 将项目移动到垃圾堆中, 而不是硬删除 :

    import { MoveToTrashAction } from "@bigbinary/neeto-trash-frontend";
    
    <MoveToTrashAction ids={[article.id]} type="Article" onSuccess={refetchArticles} />;
    

    套件还出口 TrashBanner, (中文(简体) ), RestoreButton, (中文(简体) ), DeletePermanentlyAction,数据钩 (单位:千美元)useFetchTrashedItems, (中文(简体) ), useMoveToTrash, (中文(简体) ), useRestore, (中文(简体) ), usePermanentlyDelete, (中文(简体) ), useInvalidateTrashList, (中文(简体) ), getDaysUntilDeletion,以及 QUERY_KEYS。 。 。 .

  3. 当您从自己的端点丢弃时, 回收站页面保持同步 .

    如果将项目移动到垃圾桶 MoveToTrashAction 编号 : useMoveToTrash (步骤2),回收页列表和计数 自动刷新 —— 钩子会使您的垃圾查询无效, 所以没有额外的工作可做 .

    不过,大多数应用软件都是垃圾 拥有 删除端点代替, 因此同一请求可以运行特定应用 副作用(分析、级联)和刷新自己的清单。 这条路从不运行 包的突变,所以 垃圾页一直呆滞, 直到您自己取消其查询 。 丢弃 useInvalidateTrashList 进入变异的 onSuccess数字 :

    import { useInvalidateTrashList } from "@bigbinary/neeto-trash-frontend";
    
    const useDestroyArticle = () => {
      const queryClient = useQueryClient();
      const invalidateTrashList = useInvalidateTrashList();
    
      return useMutation({
        mutationFn: articlesApi.destroy,
        onSuccess: () => {
          queryClient.invalidateQueries({ queryKey: [ARTICLE_LIST] }); // your list
          invalidateTrashList(); // refreshes the Trash page list + counts
        },
      });
    };
    

    useInvalidateTrashList 返回无效的回调 QUERY_KEYS.TRASHED_ITEMS,所以你从来没有硬化代码 垃圾查询密钥 。 (内部恢复和永久删除) TrashList 它本身已经失效了——这只是 用于您的移动到崩溃路径 。)

出版指令

咨询 构建和释放软件包 指南 详细介绍如何出版.

版本与发布记录

@bigbinary/neeto-trash-frontend 共发布 8 个版本,首次发布于 2026/07/14;过去 12 个月发布了 8 个版本。

版本发布日期距今
3.2.3latest2026/10/2910 天前
3.2.2-beta2beta2026/10/2910 天前
3.2.22026/10/2910 天前
3.2.2-beta12026/10/2910 天前
3.2.12026/10/2315 天前
3.2.1-beta12026/10/2315 天前

关于 @bigbinary/neeto-trash-frontend 的常见问题

@bigbinary/neeto-trash-frontend 是什么?

一个回波作为新纳米结构,配置,数据等的真理来源.

如何安装 @bigbinary/neeto-trash-frontend?

在项目目录运行 npm install @bigbinary/neeto-trash-frontend,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:qs(6.16.2)、url(0.11.4)、yup(0.32.11)、antd(5.22.1)、util(^0.12.5)、axios(1.20.0)、ramda(0.29.0)、react(18.3.1)、buffer(^6.0.3)、formik(2.4.6)、i18next(22.5.1)、zustand(4.4.2)、dompurify(3.4.17)、js-logger(1.6.1)、react-dom(18.3.1)、classnames(2.5.1)、stream-http(3.2.0)、tailwindcss(4.1.17)、lucide-react(^1.8.0)、react-helmet(^6.1.0)、os-browserify(0.3.0)、react-i18next(12.3.1)、vm-browserify(1.1.2)、@babel/runtime(7.29.7)、react-toastify(8.0.2)、tty-browserify(0.0.1)、path-browserify(^1.0.1)、https-browserify(1.0.0)、mixpanel-browser(2.45.0)、react-router-dom(5.3.3)、crypto-browserify(3.12.1)、source-map-loader(4.0.1)、stream-browserify(^3.0.0)、@bigbinary/neetoui(8.8.3)、@honeybadger-io/js(6.10.1)、@bigbinary/neeto-cist(1.0.17)、@honeybadger-io/react(6.1.25)、@tanstack/react-query(5.59.20)、@bigbinary/neeto-atoms(1.1.2)、@bigbinary/neeto-icons(1.20.89)、@bigbinary/neeto-molecules(5.9.10)、@tanstack/react-query-devtools(5.59.20)、@bigbinary/neeto-commons-frontend(4.14.5)、@bigbinary/neeto-filters-frontend(4.5.2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bigbinary/neeto-trash-frontend 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bigbinary/neeto-trash-frontend 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bigbinary/neeto-trash-frontend 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.13。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@bigbinary/neeto-trash-frontend 可以商用吗?

@bigbinary/neeto-trash-frontend 使用 UNLICENSED 许可。作者声明为 UNLICENSED,即不授予公开使用许可(与公共领域的 Unlicense 不同)。使用前需获得作者授权。以上为概括,不构成法律意见,请以许可原文为准。

@bigbinary/neeto-trash-frontend 的下载量有多少?

根据 npm 官方下载统计,@bigbinary/neeto-trash-frontend 在 2026/10/08 – 2026/11/06 这 30 天内被下载 6,498 次,日均约 217 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bigbinary/neeto-trash-frontend 还在维护吗?

最新版本 3.2.3 发布于 2026/10/29(10 天前);至今共发布 8 个版本,其中过去 12 个月发布了 8 个;首次发布于 2026/07/14。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。