How to pass ui-select2 change event to $scope.$on in angularjs?

108 Views Asked by At

I have a $scope.$on function which works fine when I'm leaving an unfinished operation on a tab to another:

$scope.$on("$stateChangeStart", function(event, toState) {
 if (some conditions) {
    event.preventDefault();
    $modal.open({
            templateUrl: 'prompt modal template',
            controller: 'prompt modal controller',
            backdrop: 'static',
        size: 'sm'
    })
    .result.then(function (result) {
      if (result === 'confirm') {
          myService.doSomething(arg).then(function(result) {
            $scope.doAnotherThing();
          });

         $state.go(toState.name);
      }
      else {
        //stay where you were
      }
  });
 }
});

Now I'd like to add ui-select2 change event to this function, so when user is trying to change the ui-select2 option while they have not finished the operation, the prompt modal would pop up and prevent any changes unless user confirms. My ui-select2 ng-change="selectCity()" which it looks like:

$scope.selectCity = function() {
 //some stuff
}

I tried adding $scope.selectCity/selectCity as an event after $stateChangeStart, but didn't work.

I would appreciate if someone could help me with this! Thanks

0

There are 0 best solutions below