2017-03-14 48 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

相關問題