更改“回复到标签页”的点击行为(嵌入式帖子顶部)

您好:

我正在处理一个主题组件,希望在桌面版上更改 .reply-to-tab Screenshot 2023-04-10 at 9.38.47 的点击行为。它应该像在移动版上一样工作。也就是说,不是打开帖子上面的帖子,而是跳转到该帖子。

我现在尝试了以下方法,它似乎有效,但不确定这是否是正确的实现方式。有人能帮我检查一下吗?谢谢 :slightly_smiling_face:

import { withPluginApi } from "discourse/lib/plugin-api";
import DiscourseURL from "discourse/lib/url";

export default {
  name: "reply-to-tab",
  
  initialize(container) {
    withPluginApi("0.8.7", (api) => {
      const site = api.container.lookup("site:main");
      const siteSettings = api.container.lookup('site-settings:main');
      if (!site.mobileView && !siteSettings.enable_filtered_replies_view) {
        api.reopenWidget("post-article", {
          toggleReplyAbove(goToPost = "false") {
            const replyPostNumber = this.attrs.reply_to_post_number;
            const topicUrl = this._getTopicUrl();
            if (topicUrl) {
              DiscourseURL.routeTo(`${topicUrl}/${replyPostNumber}`);
            }
            return Promise.resolve();
          }
        });
      }
    });
  },
};

https://github.com/discourse/discourse/blob/14cf8eacf1a679c08ea7df93aff17949d1a9c4df/app/assets/javascripts/discourse/app/widgets/post.js#L800

1 个赞