Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ng-animate stopped working using $templateRequest decorator

I was trying to avoid template errors with angular js when my user became unauthenticated. To do this, I came to this stackoverflow solution.

It worked for me, but now I noticed that my ng-animate stopped working without throwing console errors.

What am I missing?

Update: This is the code used

var app = angular.module('app',[]);

app.config(['$provide', function($provide) {
  $provide.decorator('$templateRequest', ['$delegate', function($delegate) {
    var mySilentProvider = function(tpl, ignoreRequestError) {
      return $delegate(tpl, true);
    }
    return mySilentProvider;
  }]);
}]);
like image 859
William Weckl Avatar asked Sep 26 '22 01:09

William Weckl


1 Answers

The function $templateRequest contains additional properties that are used internally. You need to move these properties to the new function.

Here is an implementation that should work:

app.config(['$provide', function($provide) {
  $provide.decorator('$templateRequest', ['$delegate', function($delegate) {

    var fn = $delegate;

    $delegate = function(tpl) {

      for (var key in fn) {
        $delegate[key] = fn[key];
      }

      return fn.apply(this, [tpl, true]);
    };

    return $delegate;
  }]);
}]);
like image 104
tasseKATT Avatar answered Sep 30 '22 08:09

tasseKATT