KendoUI Popover $compile issue

328 views Asked by At

I have directive which is a wrapper around KendoUI kendo-tooltip and I'm instantiating it like this:

<div my-directive-popover="options">

</div>

Inside my code I replace my-directive-popover with kendo-tooltip like this:

$element.attr( 'kendo-tooltip', popoverName );

At the end of pre compile function I have to of course compile this so it's recognized as another kendo directive:

$compile( element )( $scope );

It was working fine with Kendo 2014.2.903, but with the latest, Kendo 2015.1.429 I get following error:

Error: [$rootScope:inprog] $digest already in progress
http://errors.angularjs.org/1.2.28/$rootScope/inprog?p0=%24digest
    at VALIDITY_STATE_PROPERTY (angular-1.2.28.js:78)
    at beginPhase (angular-1.2.28.js:13122)
    at Scope.$get.Scope.$apply (angular-1.2.28.js:12908)
    at bindToKNgModel (all.min.2015.1.429.js:113036)
    at createIt (all.min.2015.1.429.js:112869)
    at createWidget (all.min.2015.1.429.js:112754)
    at all.min.2015.1.429.js:113257
    at $timeout (all.min.2015.1.429.js:112653)
    at module.factory.create.link (all.min.2015.1.429.js:113253)
    at nodeLinkFn (angular-1.2.28.js:6752)(anonymous function) @ angular-1.2.28.js:10126$get @ angular-1.2.28.js:7398$get.Scope.$apply @ angular-1.2.28.js:12911bindToKNgModel @ all.min.2015.1.429.js:113036createIt @ all.min.2015.1.429.js:112869createWidget @ all.min.2015.1.429.js:112754(anonymous function) @ all.min.2015.1.429.js:113257$timeout @ all.min.2015.1.429.js:112653module.factory.create.link @ all.min.2015.1.429.js:113253nodeLinkFn @ angular-1.2.28.js:6752compositeLinkFn @ angular-1.2.28.js:6146nodeLinkFn @ angular-1.2.28.js:6746compositeLinkFn @ angular-1.2.28.js:6146nodeLinkFn @ angular-1.2.28.js:6746compositeLinkFn @ angular-1.2.28.js:6146compositeLinkFn @ angular-1.2.28.js:6149publicLinkFn @ angular-1.2.28.js:6042$get.boundTranscludeFn @ angular-1.2.28.js:6166controllersBoundTransclude @ angular-1.2.28.js:6773ngRepeatAction @ angular-1.2.28.js:20750$watchCollectionAction @ angular-1.2.28.js:12519$get.Scope.$digest @ angular-1.2.28.js:12650digest @ all.min.2015.1.429.js:113429(anonymous function) @ all.min.2015.1.429.js:113551withoutTimeout @ all.min.2015.1.429.js:112654(anonymous function) @ all.min.2015.1.429.js:113513klass.(anonymous function) @ all.min.2015.1.429.js:113473kendo.ui.DataBoundWidget.extend._thead @ all.min.2015.1.429.js:59561kendo.ui.DataBoundWidget.extend.init @ all.min.2015.1.429.js:55028(anonymous function) @ all.min.2015.1.429.js:3013jQuery.extend.each @ require-jquery.js:2317jQuery.fn.jQuery.each @ require-jquery.js:2006extend.plugin.$.fn.(anonymous function) @ all.min.2015.1.429.js:3012createIt @ all.min.2015.1.429.js:112837createWidget @ all.min.2015.1.429.js:112754(anonymous function) @ all.min.2015.1.429.js:113257$timeout @ all.min.2015.1.429.js:112653module.factory.create.link @ all.min.2015.1.429.js:113253nodeLinkFn @ angular-1.2.28.js:6752compositeLinkFn @ angular-1.2.28.js:6146nodeLinkFn @ angular-1.2.28.js:6746compositeLinkFn @ angular-1.2.28.js:6146nodeLinkFn @ angular-1.2.28.js:6746compositeLinkFn @ angular-1.2.28.js:6146nodeLinkFn @ angular-1.2.28.js:6746compositeLinkFn @ angular-1.2.28.js:6146compositeLinkFn @ angular-1.2.28.js:6149compositeLinkFn @ angular-1.2.28.js:6149publicLinkFn @ angular-1.2.28.js:6042(anonymous function) @ all.min.2015.1.429.js:113549forEach @ angular-1.2.28.js:325(anonymous function) @ all.min.2015.1.429.js:113534withoutTimeout @ all.min.2015.1.429.js:112654(anonymous function) @ all.min.2015.1.429.js:113513klass.(anonymous function) @ all.min.2015.1.429.js:113473Widget.extend._appendContent @ all.min.2015.1.429.js:31457Widget.extend._show @ all.min.2015.1.429.js:31526Widget.extend.show @ all.min.2015.1.429.js:31509kendo.ui.Tooltip.render @ kendo-fixes.js:15(anonymous function) @ nmsweb-popover.js:255$get.Scope.$emit @ angular-1.2.28.js:13028createIt @ all.min.2015.1.429.js:112841createWidget @ all.min.2015.1.429.js:112754(anonymous function) @ all.min.2015.1.429.js:113257(anonymous function) @ angular-1.2.28.js:14417completeOutstandingRequest @ angular-1.2.28.js:4411(anonymous function) @ angular-1.2.28.js:4725
1

There are 1 answers

0
Slaven Tomac On BEST ANSWER

This isn't problem with kendoui-popover. The problem is unneeded scope.$apply kendo does in widgets. They will remove that in newest version:

Forum discussion

They committed fix today:

gitbhub commit