Предотвратить навигацию по страницам - SweetAlert - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь заменить диалоговое окно JS диалоговым окном сладкого оповещения.

В нормальных случаях работает отлично.

Но, во время навигации по странице при подтверждении. Это не сработало.

JS box:

var confirm = window.confirm("Warning! You may have unsaved data,it will be lost..!" + "\n" + "Are you sure want to leave this page ?");
if (confirm) {
  $scope.$eval(event); //It prevents the page to nav ,until i confirm it.
} else {
  event.preventDefault();
}

Работает.

В случае sweetalert я использую тот же сценарий

$scope.validation = function(event) {
    //....
    sweetAlert({
          title: "Are you sure?", //Bold text
          text: "Your will not be able to recover this imaginary file!", //light text
          type: "warning", //type -- adds appropiriate icon
          showCancelButton: true, // displays cancel btton
          confirmButtonColor: "#DD6B55",
          confirmButtonText: "Yes, delete it!",
          closeOnConfirm: false,
          closeOnCancel: false
        },
        function(isConfirm) {
          //Function that triggers on user action.
          if (isConfirm) {
            $scope.$eval(event); //????
            /*  sweetAlert(
                      'Deleted!',
                      'Your file has been deleted.',
                      'success'
                    )*/
          } else {
            event.preventDefault();
          }
        }

Для изменения состояния,

  .state('ModuleName',{
            url : '/ModuleName',
            templateUrl : 'ModuleMenu/ModuleName.html',
            controller : 'modulectrl',
            resolve : {
                loadPlugin : function($ocLazyLoad) {
                    return $ocLazyLoad
                    .load([
                           {
                               name : 'css',
                               insertBefore : '#app-level',
                               files : [
                                        '../static/vendors/bower_components/nouislider/jquery.nouislider.css',
 ]
                           },
                           {
                               name : 'vendors',
                               files : [
                                       '../static/vendors/bower_components/angular-farbtastic/angular-farbtastic.js' ]
                           },
                           {
                               name : 'ComliveApp',
                               files : [ '../static/scripts/controller/modulectrl.js' ]
                           } ])
                }
            }
    })

На href загружается соответствующий вид. Я хочу сказать, что страница не должна загружаться, пока sweetAlert не подтвердит это.

Предложения / ответы приветствуются.

Спасибо.

...