Toast.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. function Toast() {
  2. }
  3. Toast.prototype.optionsBuilder = function () {
  4. // defaults
  5. var message = null;
  6. var duration = "short";
  7. var position = "center";
  8. var addPixelsY = 0;
  9. return {
  10. withMessage: function(m) {
  11. message = m.toString();
  12. return this;
  13. },
  14. withDuration: function(d) {
  15. duration = d.toString();
  16. return this;
  17. },
  18. withPosition: function(p) {
  19. position = p;
  20. return this;
  21. },
  22. withAddPixelsY: function(y) {
  23. addPixelsY = y;
  24. return this;
  25. },
  26. build: function() {
  27. return {
  28. message: message,
  29. duration: duration,
  30. position: position,
  31. addPixelsY: addPixelsY
  32. };
  33. }
  34. };
  35. };
  36. Toast.prototype.showWithOptions = function (options, successCallback, errorCallback) {
  37. options.duration = (options.duration === undefined ? 'long' : options.duration.toString());
  38. options.message = options.message.toString();
  39. cordova.exec(successCallback, errorCallback, "Toast", "show", [options]);
  40. };
  41. Toast.prototype.show = function (message, duration, position, successCallback, errorCallback) {
  42. this.showWithOptions(
  43. this.optionsBuilder()
  44. .withMessage(message)
  45. .withDuration(duration)
  46. .withPosition(position)
  47. .build(),
  48. successCallback,
  49. errorCallback);
  50. };
  51. Toast.prototype.showShortTop = function (message, successCallback, errorCallback) {
  52. this.show(message, "short", "top", successCallback, errorCallback);
  53. };
  54. Toast.prototype.showShortCenter = function (message, successCallback, errorCallback) {
  55. this.show(message, "short", "center", successCallback, errorCallback);
  56. };
  57. Toast.prototype.showShortBottom = function (message, successCallback, errorCallback) {
  58. this.show(message, "short", "bottom", successCallback, errorCallback);
  59. };
  60. Toast.prototype.showLongTop = function (message, successCallback, errorCallback) {
  61. this.show(message, "long", "top", successCallback, errorCallback);
  62. };
  63. Toast.prototype.showLongCenter = function (message, successCallback, errorCallback) {
  64. this.show(message, "long", "center", successCallback, errorCallback);
  65. };
  66. Toast.prototype.showLongBottom = function (message, successCallback, errorCallback) {
  67. this.show(message, "long", "bottom", successCallback, errorCallback);
  68. };
  69. Toast.prototype.hide = function (successCallback, errorCallback) {
  70. cordova.exec(successCallback, errorCallback, "Toast", "hide", []);
  71. };
  72. Toast.install = function () {
  73. if (!window.plugins) {
  74. window.plugins = {};
  75. }
  76. window.plugins.toast = new Toast();
  77. return window.plugins.toast;
  78. };
  79. cordova.addConstructor(Toast.install);