【已解决】请求帮忙修复folder focus mode插件

这个插件主要用于聚焦目录,比如有ABC三个文件夹,在A文件的文档中,选择聚焦,会隐藏其他文件夹,只显示A文件夹

该插件上次更新是2023年3月,作者很久没有更新了,现在插件时不时失效,具体可以看其他用户提交的issue

目前已知file tree alternative可以替代该插件的功能,但是这个插件的优势在于
1.功能更简约专注
2.不会修改原文件夹的样式,比如颜色、图标
3.不会占位,不用给它开新窗口,直接作用于原来的文件夹

期望有同样需求,且懂代码的大佬可以帮忙修复该插件

2 个赞

我今天看到2024-01-20有修复的PR,还没有合并,以下是链接:

[Bugfix] Folder can’t be expanded after being collapsed in focus mode. by Developer-Mike · Pull Request #21 · grochowski/obsidian-folder-focus-mode · GitHub

即:修改 main.js 源码操作如下,之后需要重启 ob 才会生效,重启插件好像不行:

原代码:

  substituteSetterForElement(el, allowCollapse = true) {
    el.__defineSetter__("collapsed", function(newValue) {
      document.dispatchEvent(new Event("collapse-changed"));
      if (!allowCollapse) {
        this._collapsed = true;
      } else {
        this._collapsed = newValue;
      }
    });
    el.__defineGetter__("collapsed", function() {
      return this._collapsed;
    });
  }

替换为:

  substituteSetterForElement(el, allowCollapse = true) {
    el.toggleCollapse = function () {
      document.dispatchEvent(new Event("collapse-changed"));
      if (!allowCollapse) {
        this._collapsed = true;
      } else {
        this._collapsed = !this._collapsed;
      }
    };
  }

谢谢,按照您发的内容修改,已经用上了