原創|產品更新|編輯:吳園園|2019-11-20 11:16:16.343|閱讀 752 次
概述:GoJS最新版本2.1現已發布,包含許多新功能,可為圖表的不同組件制作動畫并改進了對數據同步的支持,GoJS2.1包含許多更改和修復的內容,趕快來看看吧!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
GoJS是一款功能強大,快速且輕量級的流程圖控件,可幫助你在JavaScript 和HTML5 Canvas程序中創建流程圖,且極大地簡化您的JavaScript / Canvas 程序。
GoJS 2.1
新的動畫功能
GoJS 2.1包含許多新功能,可為圖表的不同組件制作動畫。
新的默認GoJS動畫“逐漸消失”,而不是對Node位置進行動畫處理。添加了AnimationManager.initialAnimationStyle以控制此行為。這是一個例子:
(頂部)新的初始動畫,“圖”位置向上動畫,“圖不透明度”從0到1動畫。
(中部)一個自定義的“放大”動畫,動畫化了圖比例,在新的狀態圖示例中進行了演示,
(底部)將AnimationManager.initialAnimationStyle設置為AnimationManager.AnimateLocations以執行GoJS 2.0和以前的動畫樣式。該數據可視化示例使用此選項。
添加了"InitialAnimationStarting" DiagramEvent以更輕松地自定義初始動畫。有關詳細信息,請參見
AnimationManager.initialAnimationStyle。
新類:AnimationTrigger。這些內容描述了如何在GraphObject更改值時自動為其設置動畫。
新課程:動畫。此類允許您以聲明方式設置自定義動畫,并提供不確定動畫的選項。
新的AnimationManager選項,包括定義自定義動畫效果以與AnimationManager.defineAnimationEffect
新的動畫示例和經修改以使用新的動畫功能的示例:
改進了對數據同步的支持
GoJS 2.1包含一些新方法,可簡化GoJS圖表在維護自己數據的應用程序(尤其是React應用程序)中的集成。
新方法:Model.toIncrementalData。與現有方法Model.toIncrementalJson相似,此方法輸出一個IncrementalData對象,該對象包含在Transaction中發生的更改。它可用于使外部數據與GoJS模型保持同步。
新方法:Model.mergeNodeDataArray和GraphLinksModel.mergeLinkDataArray。這些方法用于將外部數據更改合并到GoJS模型中。
新方法:Model.cloneDeep。此方法可用于制作對象的深層副本,這對于確保GoJS不會與外部狀態共享引用很有用。還可以在Model.toIncrementalData中使用它,以確保IncrementalData的修改對象列表不包含對模型數據對象的引用。
2.1.1的更改
修復了更新裝飾品當有小號綁定從s Model.modelData 和該共享對象已經通過調用改性Model.set的問題。
清理舊模時替換Diagram.model時提高了性能,這種情況很少會在調試模式下導致有關Node.isTreeLeaf的模糊警告。
修復了使用序列化EnumValues加載模型的問題。
并發動畫的性能改進。
修復了動畫狀態的一致性。這包括修改何時AnimationStarting和InitialAnimationStarting被調用,以及修復何時停止默認動畫并立
即啟動另一個動畫(例如在動畫中間加載新模型時)的問題。
修復了帶有序列化EnumValues的Model.fromJson加載模型的問題。
改進了在圖之間拖動時顯示非默認光標的功能。
修復了在拖動Group元素時對Diagram.handlesDragDropForTopLevelParts的操作的問題。
修復了在某些瀏覽器中Diagram.scrollHorizontalLineChange和Diagram.scrollVerticalLineChange不會影響滾動大小的錯誤的問題。
修復了一個錯誤,該錯誤使某些避免節點鏈接無法在嵌套組中正確路由。
2.1.0的更改:
將DoubleTreeLayout添加到了extensions和extensionsTS目錄。Double Tree和Double Tree JSON示例現在都使用此 方法。將“ ChangingSelection”和“ ChangedSelection” DiagramEvent的順序更新為命令和工具的事務之外。例外包括在拖動復制或插入鏈接時在“拖動”和“鏈接”操作期間調用“ ChangingSelection”。在事務完成之后發生“ ChangedSelection”時,所有更改都將完成并且可以在偵聽器中使用。
現在,默認情況下,CommandHandler.zoomToFit會設置動畫。
改進了ContextMenuTool.defaultTouchContextMenu的“粘貼”命令,以使用ContextMenuTool.mouseDownPoint 而不是Diagram.lastInput的InputEvent.documentPoint。
添加了新屬性Diagram.opacity。這對于淡入/淡出動畫或禁用圖表的視覺指示可能很有用。
如果JSON中包含的模型屬性(例如,nodeKeyProperty)與現有模型不匹配,則Model.applyIncrementalJson現在會引發錯誤。此檢查僅包括Model.toIncrementalJson輸出中包含的屬性。
添加了新方法,Picture.reload(在服務器上的文件已更改的情況下重新加載Picture源)和Picture.redraw(在重新繪制圖片時),如果源由HTML Canvas或HTML視頻元素。
添加了新樣本:SVG數據URL-使用Base64 hrefs而不是Picture.source URL導出SVG
=====================================================
想要了解或購買GoJS正版授權的朋友,歡迎
關注下方“慧聚IT”微信公眾號,及時獲取產品最新消息和最新資訊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn