DevExpress / devextreme-angular

Angular UI and data visualization components
https://js.devexpress.com/Demos/
MIT License
560 stars 159 forks source link

Problem with Knockout after upgrading to Angular 7 #941

Closed a6datta closed 5 years ago

a6datta commented 5 years ago

Package versions: devexteme version: 18.2.6 devextreme-angular version: 18.2.6 Devexpress.AspNetCore.Reporting version: 18.2.6

The angular report viewer was working fine until I upgraded angular version from 6 to 7. I deleted node_modules but with no luck. I updated rxjs to 6+.

Errors details from the console: core.js:15723 ERROR TypeError: Unable to process binding "foreach: function(){return parts }" Message: Unable to process binding "template: function(){return { name:templateName,data:model} }" Message: Unable to process binding "template: function(){return {name:'dxrd-toolbar-tmplt',data:actionLists.toolbarItems} }" Message: Unable to process binding "foreach: function(){return $data }" Message: Unable to process binding "if: function(){return $data.templateName }" Message: Unable to process binding "template: function(){return templateName }" Message: Unable to process binding "dxMenu: function(){return { disabled:$data.disabled(),items:items,cssClass:'dxrdp-export-to-menu',onItemClick:clickAction} }" Message: Unable to process binding "attr: function(){return { title:$root.getLocalization(text,$data.textId)} }" Message: $root.getLocalization is not a function at attr (eval at parseBindingsString (knockout-latest.js:74), :3:78) at update (knockout-latest.js:96) at function.a.$.l (knockout-latest.js:79) at Function.xd (knockout-latest.js:55) at Function.yd (knockout-latest.js:55) at Function.ha (knockout-latest.js:54) at Object.a.o.a.$ (knockout-latest.js:52) at knockout-latest.js:79 at Object.C (knockout-latest.js:11) at q (knockout-latest.js:78)

defaultErrorLogger @ core.js:15723
  push../node_modules/@angular/core/fesm5/core.js.ErrorHandler.handleError @ core.js:15771
  (anonymous) @ core.js:18125
  push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
  push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
  push../node_modules/@angular/core/fesm5/core.js.NgZone.runOutsideAngular @ core.js:17257
  push../node_modules/@angular/core/fesm5/core.js.ApplicationRef.tick @ core.js:18125
  (anonymous) @ core.js:18009
  push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:391
  onInvoke @ core.js:17298
  push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke @ zone.js:390
  push../node_modules/zone.js/dist/zone.js.Zone.run @ zone.js:150
  push../node_modules/@angular/core/fesm5/core.js.NgZone.run @ core.js:17212
  next @ core.js:18009
  schedulerFn @ core.js:13514
  push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub @ Subscriber.js:194
  push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next @ Subscriber.js:132
  push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next @ Subscriber.js:76
  push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next @ Subscriber.js:53
  push../node_modules/rxjs/_esm5/internal/Subject.js.Subject.next @ Subject.js:47
  push../node_modules/@angular/core/fesm5/core.js.EventEmitter.emit @ core.js:13498
  checkStable @ core.js:17267
  onHasTask @ core.js:17311
  push../node_modules/zone.js/dist/zone.js.ZoneDelegate.hasTask @ zone.js:443
  push../node_modules/zone.js/dist/zone.js.ZoneDelegate._updateTaskCount @ zone.js:463
  push../node_modules/zone.js/dist/zone.js.Zone._updateTaskCount @ zone.js:291
  push../node_modules/zone.js/dist/zone.js.Zone.runTask @ zone.js:212
  drainMicroTaskQueue @ zone.js:601
  push../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask @ zone.js:502
  invokeTask @ zone.js:1744
  globalZoneAwareCallback

My package.json "dependencies": { "@angular/animations": "^7.2.7", "@angular/cdk": "^7.3.3", "@angular/common": "^7.2.7", "@angular/compiler": "^7.2.7", "@angular/core": "^7.2.7", "@angular/flex-layout": "^7.0.0-beta.23", "@angular/forms": "^7.2.7", "@angular/http": "^7.2.7", "@angular/material": "^7.3.3", "@angular/platform-browser": "^7.2.7", "@angular/platform-browser-dynamic": "^7.2.7", "@angular/platform-server": "^7.2.7", "@angular/router": "^7.2.7", "@angular/upgrade": "^7.2.7", "@ng-bootstrap/ng-bootstrap": "^4.0.4", "@ngx-loading-bar/core": "^2.2.0", "@ngx-loading-bar/http-client": "^2.2.0", "@ngx-loading-bar/router": "^2.2.0", "@types/lodash": "^4.14.109", "acorn": "^6.1.1", "angular-user-idle": "^2.0.0", "bootstrap": "^4.0.0", "chart.js": "2.7.1", "core-js": "^2.6.5", "crypto-js": "^3.1.9-1", "devexpress-reporting-angular": "18.2.6", "devextreme": "18.2.6", "devextreme-angular": "18.2.6", "devextreme-aspnet-data-nojquery": "^2.0.0", "flag-icon-css": "2.9.0", "font-awesome": "^4.7.0", "jszip": "^3.1.5", "lodash": "^4.17.10", "moment": "2.20.1", "moment-timezone": "^0.5.21", "ng2-charts": "1.6.0", "ngx-bootstrap": "^3.0.1", "npm": "^5.7.1", "popper.js": "^1.12.9", "rxjs": "^6.4.0", "rxjs-compat": "^6.4.0", "simple-line-icons": "^2.4.1", "spinkit": "^1.2.5", "ts-helpers": "1.1.2", "xlsx": "^0.12.13", "zone.js": "^0.8.29" }, "devDependencies": { "@angular-devkit/build-angular": "^0.13.3", "@angular/cli": "^7.3.3", "@angular/compiler-cli": "^7.2.7", "@angular/language-service": "^7.2.7", "@types/jasmine": "^3.3.9", "@types/jasminewd2": "2.0.3", "@types/node": "^11.9.5", "cldr-data": "^34.0.0", "codelyzer": "^4.5.0", "devextreme-intl": "18.2.6", "globalize": "^1.4.0", "jasmine-core": "^3.3.0", "jasmine-spec-reporter": "^4.2.1", "karma": "^4.0.0", "karma-chrome-launcher": "^2.2.0", "karma-cli": "^2.0.0", "karma-coverage-istanbul-reporter": "1.4.1", "karma-jasmine": "^2.0.1", "karma-jasmine-html-reporter": "^1.4.0", "protractor": "^5.4.2", "rxjs-tslint": "^0.1.7", "ts-node": "4.1.0", "tslint": "^5.13.0", "typescript": "^3.1.1" }, "engines": { "node": ">= 8.9.4", "npm": ">= 5.6.0" }

a6datta commented 5 years ago

This solution worked. https://www.devexpress.com/Support/Center/Question/Details/T717982/javascript-errors-occur-in-browser-while-using-html5-reporting-widgets-with-the-latest