angular-defer-alert

0.0.1 • Public • Published

angular-defer-alert

Angular service to promisify $window alerts, confirms and prompts.

Proposal

Do you want to use $window.confirm in a promise chain, but are too lazy to figure out how? Well then, this is the service for you!

Usage

Confirms

Confirmations are great to insert in a process. They resolve successfully with an "OK" click. They are rejected when a user clicks "Cancel".

MyDonutService
  .getDonuts(12)
  .then(function(donutsFetched) {
    var confirmMessage = 'Are you sure you want to eat ' + donutsFetched + ' donuts?';
    DeferAlertService.openConfirm(confirmMessage)
      .then(function() {
        // User wants to eat donuts!
        return true;
      })
      .catch(function() {
        // User does not want to eat donuts
        return false;
      });
    });

Prompts

Prompts ask a user for input before continuing. They resolve successfully with an "OK" click and provide the entered value. They are rejected when a user clicks "Cancel".

var promptMesage = 'How many donuts do you want to eat?';
var defaultValue = '12';
DeferAlertService.openPrompt(promptMessage, defaultValue)
  .then(function(donutAmount) {
    MyDonutService
    .getDonuts(donutAmount)
    .then(function(donutsFetched) {
      var confirmMessage = 'Are you sure you want to eat ' + donutsFetched + ' donuts?';
      DeferAlertService.openConfirm(confirmMessage)
        .then(function() {
          // User wants to eat donuts!
          return true;
        })
        .catch(function() {
          // User does not want to eat donuts
          return false;
        });
      });
  });

Alerts

Since alerts don't really require a promise, we immediately resolve them, making for a very boring demo.

MyAwesomeService
  .doThing()
  .then(function(textToAlert) {
    DeferAlertService.openAlert(textToAlert);
    });

Package Sidebar

Install

npm i angular-defer-alert

Weekly Downloads

1

Version

0.0.1

License

MIT

Last publish

Collaborators

  • adamweeks