nathank
(Nathan Kershaw)
1
|||
|-|-|-|
|
| 摘要 | 设置 Discourse 中投票的默认值
|
|代码库| GitHub - nathan-nz/discourse-poll-defaults: Sets the defaults for polls within Discourse |
|
|安装指南|如何安装主题或主题组件|
|
|刚接触 Discourse 主题?| Discourse 主题使用入门指南
<!-- 填写“repoName”和“repoURL”以启用自动安装按钮 →
这个简单的主题组件允许对默认投票行为进行一些控制。它的灵感来自于这个主题:
如果需要,可以轻松添加其他设置。
9 个赞
wesochuck
(Wes Osborn)
2
谢谢!我已经将其安装在我的论坛上,并期待着我们论坛的参与者们减少“糟糕”的时刻。
4 个赞
@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 个赞
nathank
(Nathan Kershaw)
6
太棒了!!这让 TC 变得毫无用处。我认为这项任务已经完成了 