我正在写一个Atom插件,但我想检查用户的几个选项。Atom Editor插件:我可以创建一个对话框吗?
该插件具有不同任务的子菜单。每个任务都需要设置几个选项。
为此,我想提供一个对话框,使用HTML表单中的各种表单控件,例如复选框,单选按钮和文本框。我想为每个子菜单项目设置不同的对话框。
Atom编辑器似乎没有太多的使用它们,所以我甚至不确定它可以完成。
如何创建或模拟对话框?
我正在写一个Atom插件,但我想检查用户的几个选项。Atom Editor插件:我可以创建一个对话框吗?
该插件具有不同任务的子菜单。每个任务都需要设置几个选项。
为此,我想提供一个对话框,使用HTML表单中的各种表单控件,例如复选框,单选按钮和文本框。我想为每个子菜单项目设置不同的对话框。
Atom编辑器似乎没有太多的使用它们,所以我甚至不确定它可以完成。
如何创建或模拟对话框?
Atom API提供了几个对话框,包括confirm,modal和notifications。除非你想用自己的逻辑编码你自己的模态,否则你可以使用通知来通知你的软件包需要调整它的设置。
例子:
var meta, notification;
meta = require("../package.json");
if (atom.config.get(meta.name + ".essentialSetting") === false) {
notification = atom.notifications.addWarning("You need to adjust your package settings", {
dismissable: true,
buttons: [
{
text: "Open Settings",
onDidClick: function() {
atom.workspace.open("atom://config/packages/" + meta.name);
return notification.dismiss();
}
}
]
});
}
刚愎自用:如果你决定把这个activate()
,它可能是一个好主意,使这个不那么突兀通过添加第二个按钮:
{
text: 'Ignore',
onDidClick: function() {
atom.config.set(meta.name + '.muteWarning', true);
notification.dismiss();
}
}
PS:您可以忽略meta.name
位并将其替换为您设置的名称,这是我为了方便而在我的大部分包中使用的东西。
为什么不使用带打开包设置按钮的标准Atom通知? – idleberg
@idleberg感谢您的评论。你能解释一下怎么做吗?我也编辑了这个问题,以明确我想要的内容。这不仅仅是一套偏好。 – Manngo
你想要一个对话框吗,还是你想要描述什么? –