documentationfor yFiles for HTML 2.6

Known Issues of Third-party Toolkits

Possible performance issue in large Angular applications

Angular performance will go down when the app that embeds the yFiles component (or any other component for that matter) contains a performance intensive update check. Typically, that happens if there are many components in the app. This is because Angular taps into every event listener, setTimeout, requestAnimationFrame, setInterval, basically any code that runs, and afterwards runs its change detection. If the change detection is costly and there are lots of events, this slows down the application. This is the case especially with mousemove and similar events.

In order to disable change detection, the GraphComponent can be run "outside of Angular". Please see the corresponding knowledge base article and the Angular CLI demo for details.

Possible "RangeError: Maximum call stack size exceeded" in production build of Angular 8

In earlier releases of Angular 8, a "Maximum call stack size exceeded" error can be thrown when running the production build on a yFiles project. This error is caused by a problem of the Angular build chain that has been fixed in the meantime.

We confirmed that the Angular production build works fine with the yFiles for HTML library when updating the build-related Angular dependencies to the following versions:

{
  "devDependencies": {
    "@angular-devkit/build-angular": "0.803.28",
    "@angular/cli": "8.3.28",
    "@angular/compiler-cli": "8.2.14"
  }
}

Later versions of Angular 8 should work, too. Angular 9 is used, and works fine, in the Angular Demo of yFiles for HTML 2.3.

UglifyJS may corrupt Unicode characters in the library code

By default, UglifyJS replaces unicode characters with UTF8 unless the option ascii_only: true is set. This breaks pre-defined unicode character ranges used in the SvgExport feature of yFiles and thus exporting SVGs, bitmaps, and PDFs, and printing documents with such characters silently fails.

To prevent this problem, either don’t uglify the yFiles for HTML library (it is already uglified) or use the option ascii_only: true.