2016-01-18 34 views
3

我正在使用電子內部的ace編輯器。在編輯器內按ctrl+l時,由ace調用prompt()。但是Electron不支持prompt(),所以功能不起作用。電子提示()(來自外部API)不起作用

zcbenz commented on Oct 26, 2014:

有大多數的GUI工具沒有原生的提示對話框,所以 在原子殼層迅速執行需要從在所有平臺上地寫出來提示 對話框。由於罕見使用提示,我認爲它不值得做所有的工作,並且很容易使用網絡實現的解決方案。

所以我關閉這個,因爲不會修復。

我已經通過擴展ace修復了此問題,但是如果還有其他外部模塊調用prompt()我將不得不再次執行此操作。下面的代碼結合ctrl+l然後替換由vexprompt()(另一個依賴),然後調用gotoLine()

editor.commands.addCommand({ 
    name: "replace", 
    bindKey: { 
     win: "Ctrl-l", 
     mac: "Command-l" 
    }, 
    exec: function(editor) { 
     vex.dialog.open({ // ********** prompt() ********** 
      message: 'Enter your line number:', 
      buttons: [ 
       $.extend({}, vex.dialog.buttons.YES, { 
        text: 'goto line' 
       }) 
      ], 
      input: "<input name=\"line\" type=\"text\" placeholder=\"line\" required />\n", 
      callback: function(data) { 
       if (data) { 
        editor.gotoLine(data.line) 
        editor.focus() 
       } 
      } 
     }) 
    } 
}) 

理想我只想實例化另一模塊(添加只有一行),其實現了提示作爲同步功能在電子內部工作。我想知道這是否已經有一個模塊?

+0

我不明白你的要求。將ACE API集成到電子應用程序中時遇到問題嗎?如果是這樣,具體問題是什麼? – Josh

+0

嗨喬希,謝謝你看看這個問題。我試圖改進我的問題。我希望現在能夠更好地理解,因爲我的問題不是很清楚。 – Alfred

回答