2017-03-14 47 views
0

我正在写一个Atom插件,但我想检查用户的几个选项。Atom Editor插件:我可以创建一个对话框吗?

该插件具有不同任务的子菜单。每个任务都需要设置几个选项。

为此,我想提供一个对话框,使用HTML表单中的各种表单控件,例如复选框,单选按钮和文本框。我想为每个子菜单项目设置不同的对话框。

Atom编辑器似乎没有太多的使用它们,所以我甚至不确定它可以完成。

如何创建或模拟对话框?

+1

为什么不使用带打开包设置按钮的标准Atom通知? – idleberg

+0

@idleberg感谢您的评论。你能解释一下怎么做吗?我也编辑了这个问题,以明确我想要的内容。这不仅仅是一套偏好。 – Manngo

+0

你想要一个对话框吗,还是你想要描述什么? –

回答

2

Atom API提供了几个对话框,包括confirm,modalnotifications。除非你想用自己的逻辑编码你自己的模态,否则你可以使用通知来通知你的软件包需要调整它的设置。

例子:

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位并将其替换为您设置的名称,这是我为了方便而在我的大部分包中使用的东西。

+0

感谢您的回答,但是,由于我想经常检查设置,我想我宁愿追求__modal__选项。你提供的链接是令人大开眼界的,但它没有很多信息。你知道我可以在哪里了解更多信息吗? – Manngo

+0

Atom API文档非常简短。也许看看[脚本](https://github.com/rgbkrk/atom-script)包的来源。它的[dialog:run-options]命令的[dialog](https://github.com/rgbkrk/atom-script/blob/master/lib/script-options-view.js)是一个相对复杂的模式。 – idleberg

相关问题