我正在寫一個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
你想要一個對話框嗎,還是你想要描述什麼? –