yFiles AJAX Versionsinformationen
Version 2.0 von yFiles AJAX ist das aktuelle Major Release.
Technische Voraussetzungen
Client
-
Der Client-seitige Teil von yFiles AJAX läuft in aktuellen Webbrowsern:
- Firefox 3.6 oder neuer
- Internet Explorer 7 oder neuer
- Chrome 15 oder neuer (mit älteren Chrome Versionen nicht getestet)
- Safari 5.1.1 oder neuer (mit älteren Safari Versionen nicht getestet)
- JavaScript und Cookies müssen aktiviert sein.
- Die meisten modernen Browser unterstützen SVG. Internet Explorer unterstützt SVG erst seit Version 9.
Server
- Es muss ein Java Runtime Environment installiert sein. Die Servlets sind mit Java 1.4.2 kompiliert.
- Ein Servlet Container muss installiert sein, z.B. Tomcat.
- Ant ist nicht unbedingt erforderlich, hilft aber bei vielen Aufgaben.
yFiles AJAX 2.0 - Änderungen zu Version 1.4 (englisch)
Major New Features
- New SVG Render Mode: In addition to the existing bitmap tile mode, the graph visualization can now be rendered as a SVG document in supported browsers.
- Touch Support: The yFiles AJAX client now supports navigation gestures on touch devices (iOS, Android).
General Changes
- yFiles AJAX is now based on Dojo 1.6.1 and uses yFiles for Java 2.8.0.3 on the server.
- The SimpleAttributeDemo has been added to show how custom attributes associated with graph items can be retrieved and displayed on the client.
- The OrgChartEditorDemo has been added as a showcase application featuring both mouse and touch gesture support.
- All demos now provide a toggle button that can be used to switch between SVG Mode and Bitmap Mode.
- Some demo applications have been modified to provide a better user experience on touch devices.
Improvements
- The new class
ViewportLimitermakes it possible to conveniently restrict the explorable region of aGraphCanvas. TheGraphCanvasnow offers aviewportLimiterproperty for this purpose, and all means of adjusting the viewport interactively were adapted to query the limiter. Also, methodsincreaseZoom(factor)anddecreaseZoom(factor)have been added to provide a means of zooming while respecting the viewport limits. - The new
zoomToPointRecognizercallback onGraphCanvascan be used to decide whether to zoom to the current mouse position or to the center of the canvas. - The new
NavigationInputModeis now responsible for providing both mouse and touch navigation functionality. It uses the newMoveViewportInputModeandPinchInputModeclasses to handle mouse and touch panning, and zooming on touch devices, respectively. - The new
paintDetailThresholdproperty of classGraphCanvascan be used to set the zoom value that triggers sloppy rendering on the client. - Various touch input related properties have been added to the
GraphCanvas:doubleTapTime,longPressTime,touchDragSize,minPinchDelta,mainTouchId. - Similar to the existing mouse events related to graph items, the
GraphCanvasnow provides corresponding events that are dispatched when a graph item is hit by a touch gesture (tap, long press, or double tap). - A number of low-level touch events have been added to the
GraphCanvas:onTouchStart,onTouchMove,onTouchEnd,onTouchLongPress,onTouchTapped,onPinchStart,onPinch,onPinchEnd. - The
Rubberbandhas been improved to support touch input. - The
ViewPortMarkerwidget that can be used to create an interactive overview canvas has been improved to support theViewportLimiterand touch input. - For convenience, the method
GraphCanvas#getMousePosition()will now also consider touch events. - New
GraphCanvasproperties related to the added SVG support:svgBorder,svgPrefix. - New method
GraphCanvas#setRenderMode(mode)can be used to switch the client-side render mode on the fly. The current render mode can be queried usingisSVGMode()andisBitmapMode(). - In SVG Mode, a new SVG image can be requested from the server using method
GraphCanvas#invalidateSVG(). - Callbacks
onLoadSVG()andonSVGLoaded()have been added to notify clients when a SVG image request is started and finished by theGraphCanvas. - The behavior of the
GraphCanvas#fitContent()has been improved to reduce the amount of server requests in Bitmap Mode. - Various convenience methods for manipulating and querying the canvas viewport and the graph's world coordinates have been added to class
GraphCanvas:getWorldBounds(),getCenter(),setCenter(center),zoomTo(worldRect),setViewPointWorld(worldX,worldY),zoomWithPoint(x,y,z),getViewport(),toLocal()
Bugfixes
- A bug was fixed in method
GraphCanvas#getViewCoordinates(x,y)that caused the method to treatxoryparameters of value0as if the parameter was not defined.
Incompatible Changes
Configuring the interactive behavior of the
GraphCanvasnow behaves differently:In previous versions, panning was handled by the
GraphCanvasitself. Now, the canvas uses the newNavigationInputModeto handle panning (both mouse-based and touch-based).Whether or not the mouse wheel triggers zooming is now controlled by the additional
mouseWheelZoomproperty. Hence, callingsetPanMode()will now create and activate aNavigationInputModeinstance, whilesetNoInteractionMode()will disable the navigation mode andmouseWheelZoom.As the canvas now doesn't handle view point movement anymore, the callbacks
onMove(mover,leftTop)andonFirstMove()have been removed.As the behavior of
GraphCanvas#fitContent()has changed to reduce the amount of server requests in Bitmap Mode, this may cause problems in rare cases where the world bounds actually changed during thefitContent()call. For details on this incompatibility, please see the corresponding section in the README contained in the yFiles AJAX distribution.









