2017-03-14 9 views
0

私はAtomプラグインを作成していますが、ユーザーといくつかのオプションをチェックしたいと思います。Atom Editorプラグイン:ダイアログボックスを作成できますか?

プラグインには、さまざまなタスクのためのサブメニューがあります。各タスクには、いくつかのオプションを設定する必要があります。私はあなたがそのようなチェックボックス、ラジオボタンやテキストボックスなどのHTMLフォームで使用するフォームコントロールの一種で、ダイアログボックスを提示したいと思い、そのために

。各サブメニュー項目ごとに異なるダイアログボックスが必要です。

アトムエディターではあまり使われていないようだから、それができるかどうかはわかりません。

ダイアログボックスを作成またはエミュレートするにはどうすればよいですか?

+1

パッケージの設定を開くボタンで標準のAtom通知を使用してみませんか? – idleberg

+0

@idlebergご意見ありがとうございます。あなたはそれをする方法を説明できますか?私はまた、私が望むものを明確にするために質問を編集しました。それはただ一つの好みのセットではない。 – Manngo

+0

ダイアログボックスが必要ですか、説明した内容が必要ですか? –

答えて

2

アトム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(); 
     } 
     } 
    ] 
    }); 
} 

独断:

{ 
    text: 'Ignore', 
    onDidClick: function() { 
    atom.config.set(meta.name + '.muteWarning', true); 
    notification.dismiss(); 
    } 
} 
:あなたは activate()でこれを置くことを決定した場合、それ 番目のボタンを追加することで、これはあまり目立たないようにするのは良い考えかもしれません

PS:meta.nameビットを無視して設定の名前に置き換えることができます。これは私の便宜のためにほとんどのパッケージで使用しているものです。

+0

あなたの答えをありがとう、しかし、私は頻繁に設定を確認したいので、私はむしろ__modal__オプションを追求すると思います。あなたが提供したリンクは目を開くものでしたが、あまり有益ではありません。私はこれについてもっと知ることができるか知っていますか? – Manngo

+0

Atom APIのドキュメントは簡単です。たぶん[script](https://github.com/rgbkrk/atom-script)パッケージのソースを見てみてください。 'script:run-options'コマンドの[dialog](https://github.com/rgbkrk/atom-script/blob/master/lib/script-options-view.js)は比較的複雑なモーダルです。 – idleberg

関連する問題