подсказка перед выходом из программы в TideSDK/TideKIT

Я искал способ сообщить приложению, чтобы подтвердить, действительно ли вы хотите закрыть приложение, прежде чем потерять изменения проекта.

Через текущий API мне это сделать не удалось. Глядя на то, как это делают Air/Flex, это выглядит как прослушиватель событий окна при закрытии:

<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx"
                   maxHeight="1080"
                   maxWidth="1920"
                   minWidth="1280"
                   minHeight="720" 
                   showStatusBar="false" 
                   creationComplete="startUp()"
                   closing="closeWindow(event)"
                   >

когда я закрываю окно через интерфейс окна или через меню приложения, оно выполнило то, что я ожидал, подсказка перед закрытием окна

Do you want to exit the application?/Do you want to exit without saving changes?
yes no.

У TideSDK/TideKIT такое поведение? если да, то приложите пример. Мне очень важно понять, как это сделать правильно.

Спасибо.


person Erick    schedule 19.02.2014    source источник


Ответы (1)


Этот пример помог мне сделать нечто подобное в моем приложении TideSDK: https://gist.github.com/MisterPoppet/4639473

Взяв пример, вы можете сделать что-то вроде ниже, чтобы выполнить то, что вы просите:

var appWindow = Ti.UI.getCurrentWindow();

appWindow.addEventListener(Ti.CLOSE, function(event) {
    var r = confirm("Do you want to exit the application?");
    if (r == true) {
        //close
    } else {
        //cancel close
        event.preventDefault();
        return false;
    }
});
person Andrew    schedule 10.03.2014
comment
@Erick Приведенный выше пример - хороший способ сделать это в настоящее время. TideKit будет иметь API-интерфейсы, совместимые с TideSDK, поэтому он может быть таким же, если вы переносите проект из TideSDK в TideKit. Мы будем выступать за использование CommonJS для модульного кода ваших новых проектов. Документация будет доступна, чтобы помочь вам начать работу с этим подходом, как только TideKit будет запущен публично. - person fairwinds; 11.03.2014
comment
Спасибо, я буду тестировать это в ближайшее время. - person Erick; 27.03.2014
comment
if (r == true) предоставлено вам отделом по сокращению штатов. - person Automatico; 02.05.2014