投票默认值

|||
|-|-|-|
| :information_source: | 摘要 | 设置 Discourse 中投票的默认值
| :hammer_and_wrench:|代码库| GitHub - nathan-nz/discourse-poll-defaults: Sets the defaults for polls within Discourse |
| :question:|安装指南|如何安装主题或主题组件|
| :open_book:|刚接触 Discourse 主题?| Discourse 主题使用入门指南

<!-- 填写“repoName”和“repoURL”以启用自动安装按钮 →

安装此主题组件

这个简单的主题组件允许对默认投票行为进行一些控制。它的灵感来自于这个主题:

如果需要,可以轻松添加其他设置。

9 个赞

谢谢!我已经将其安装在我的论坛上,并期待着我们论坛的参与者们减少“糟糕”的时刻。

4 个赞

这似乎目前已损坏:

我会在有空的时候看看,但随时欢迎提交拉取请求!

1 个赞

@nathank

我正在查看这段代码:

我认为你可以这样做:

api.modifyClass("component:modal/poll-ui-builder", {
  pluginId: "poll-defaults",
  didInsertElement() {
    this._super(...arguments); // super.didInsertElement(...arguments) 不起作用 (?)

    if (settings.Public) {
      this.set("publicPoll", true);
    }
    if (settings.Advanced) {
      this.set("showAdvanced", true);
    }
  },
});

它奏效了。

然而,我对 didInsertElement 感到困惑。
poll-ui-builder 现在是一个 Glimmer 组件。根据 Ember 升级指南didInsertElement 本不应存在。
我在核心代码中可以看到一些 用法。也许 Discourse 有什么特殊之处?
另外,我不确定为什么在上面的代码上下文中 super.didInsertElement 不存在。

1 个赞

这现在是核心的一部分了::partying_face:

3 个赞

太棒了!!这让 TC 变得毫无用处。我认为这项任务已经完成了 :wink:

那么,我们如何将默认值更改为私有?

有一个站点设置

2 个赞

谢谢!