AngularJS: Unknown provider: $ idleProvider
Lots of other people have similar problems, but the resolutions don't seem to apply to my specific problem.
I'm trying to use the ngIdle library ( https://github.com/HackedByChinese/ng-idle ) but can't seem to get it to work without this error - Uncaught Error: [$ injector: modulerr] Failed to create myAuditModule module from -for: Error: [$ injector: unpr] Unknown provider: $ idleProvider
Here is my module code,
(function () {
app = angular.module("myAuditModule", ['ui.bootstrap', 'ngRoute', 'ngCookies', 'ngDragDrop', 'ngIdle']);
// configure the routes
app.config(function ($routeProvider, $idleProvider, $keepaliveProvider) {
$idleProvider.idleDuration(10 * 60); // 10 minutes idle
$idleProvider.warningDuration(30); // 30 second warning
$keepaliveProvider.interval(5 * 60); // 5 minute keep-alive ping
$routeProvider
//route for the logging in page
.when('/', {
templateUrl: 'Views/Login.html',
controller: 'loginController'
})
});
})();
The file is included in my project and it appears in the developer console when starting the site -
<script src="/Scripts/angular-idle.js"></script>
The only dependency is that you need to use angular 1.2 or higher, which is what I am.
Any ideas?
source to share
Replace $idleProvider
with IdleProvider
in app.config and try
app.config(function ($routeProvider, IdleProvider, KeepaliveProvider) {
IdleProvider.idleDuration(10 * 60); // 10 minutes idle
IdleProvider.warningDuration(30); // 30 second warning
KeepaliveProvider.interval(5 * 60); // 5 minute keep-alive ping
.....
});
Also replace $keepaliveProvider
withKeepaliveProvider
source to share
Try to inject IdleProvider instead of $ idleProvider as for KeepAliveProvider
So your new code should be
(function () {
app = angular.module("myAuditModule", ['ui.bootstrap', 'ngRoute', 'ngCookies', 'ngDragDrop', 'ngIdle']);
// configure the routes
app.config(function ($routeProvider, IdleProvider, KeepaliveProvider) {
$idleProvider.idleDuration(10 * 60); // 10 minutes idle
$idleProvider.warningDuration(30); // 30 second warning
$keepaliveProvider.interval(5 * 60); // 5 minute keep-alive ping
$routeProvider
//route for the logging in page
.when('/', {
templateUrl: 'Views/Login.html',
controller: 'loginController'
})
});
})();
source to share