docs: function blockNavigation($scope, mainBlockUI, blockUIConfig) {
  
    if (blockUIConfig.blockBrowserNavigation) {
  
      function registerLocationChange() {
  
        $scope.$on('$locationChangeStart', function (event) {
  
          //        console.log('$locationChangeStart', mainBlockUI.$_blockLocationChange + ' ' + mainBlockUI.state().blockCount);
  
          if (mainBlockUI.$_blockLocationChange && mainBlockUI.state().blockCount > 0) {
            event.preventDefault();
          }
        });
  
        $scope.$on('$locationChangeSuccess', function () {
          mainBlockUI.$_blockLocationChange = blockUIConfig.blockBrowserNavigation;
  
          //        console.log('$locationChangeSuccess', mainBlockUI.$_blockLocationChange + ' ' + mainBlockUI.state().blockCount);
        });
      }
  
      if (moduleLoaded('ngRoute')) {
  
        // After the initial content has been loaded we'll spy on any location
        // changes and discard them when needed.
  
        var fn = $scope.$on('$viewContentLoaded', function () {
  
          // Unhook the view loaded and hook a function that will prevent
          // location changes while the block is active.
  
          fn();
          registerLocationChange();
  
        });
  
      } else {
        registerLocationChange();
      }
  
    }
  }