"use strict"; var Q = require("q"); var $ = require("jquery"); exports.alertAsync = function (text) { var deferred = Q.defer(); $("<div />").text(text).dialog({ buttons: { OK: deferred.resolve } }); return deferred.promise; }; exports.confirmAsync = function (text) { var deferred = Q.defer(); $("<div />").text(text).dialog({ buttons: { OK: function () { deferred.resolve(true); }, Cancel: function () { deferred.resolve(false); } }, close: function () { deferred.resolve(false); } }); return deferred.promise; }; exports.promptAsync = function (text) { var deferred = Q.defer(); var $input = $("<input type='text' />"); $("<div />").text(text).append($input).dialog({ buttons: { OK: function () { deferred.resolve($input.val()); }, Cancel: function () { deferred.resolve(null); } }, close: function () { deferred.resolve(null); } }); return deferred.promise; };