wait until saveNow() is done

fixes content missing if typed right before save, and add window
complaining that fields aren't empty when they appear so
This commit is contained in:
Damien Elmes 2016-07-12 13:30:10 +10:00
parent 44457e78d2
commit 3fa597ed1a

View file

@ -79,6 +79,12 @@ function setFGButton(col) {
$("#forecolor")[0].style.backgroundColor = col;
};
function saveNow() {
if (currentField) {
currentField.blur();
}
};
function onKey() {
// esc clears focus, allowing dialog to close
if (window.event.which == 27) {
@ -581,10 +587,15 @@ class Editor(object):
return
self.saveTags()
# move focus out of fields and save tags
self.parentWindow.setFocus()
self._saveNowWaiting = True
self.web.evalWithCallback("saveNow()", self._saveNowDone)
while self._saveNowWaiting:
# and process events so any focus-lost hooks fire
self.mw.app.processEvents()
def _saveNowDone(self, res):
self._saveNowWaiting = False
def checkValid(self):
cols = []
err = None