Add text animation during calculating algorithm

This commit is contained in:
Oleg Sh
2025-05-23 16:25:09 +02:00
parent 6e8ee286d2
commit 0facf52c63
6 changed files with 38 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
moduleLoader.beginCacheLoading(["/script/shared/utils.js?v=95","/script/shared/gzip.js?v=95","/script/entities/graph/api/index.js?v=95","/script/shared/point.js?v=95","/script/entities/edge/api/index.js?v=95","/script/entities/edge/model/BaseEdge.js?v=95","/script/entities/edge/model/EdgeModel.js?v=95","/script/entities/vertex/api/index.js?v=95","/script/entities/vertex/model/BaseVertex.js?v=95","/script/entities/vertex/model/VertexModel.js?v=95","/script/entities/graph/model/Graph.js?v=95","/script/features/draw_graph/api/index.js?v=95","/script/features/draw_graph/model/BaseBackgroundDrawer.js?v=95","/script/features/draw_graph/model/EdgeStyle.js?v=95","/script/features/draw_graph/model/BaseEdgeDrawer.js?v=95","/script/features/draw_graph/model/VertexShape.js?v=95","/script/features/draw_graph/model/VertexStyle.js?v=95","/script/features/draw_graph/model/BaseVertexDrawer.js?v=95","/script/features/draw_graph/model/GraphFullStyle.js?v=95","/script/features/algorithms/api/index.js?v=95","/script/features/algorithms/model/Algorithms.js?v=95","/script/features/algorithms/model/BaseTraversal.js?v=95","/script/features/base_handler/index.js?v=95","/script/features/default_handler/index.js?v=95","/script/features/add_vertices_handler/index.js?v=95","/script/features/connect_vertices_handler/index.js?v=95","/script/features/delete_objects_handler/index.js?v=95","/script/features/algorithm_handler/index.js?v=95","/script/features/select_auto_save_graph_or_not/index.js?v=95","/script/features/graph_preview/index.js?v=95","/script/features/serialization/api/index.js?v=95","/script/features/serialization/model/GraphMLCreator.js?v=95","/script/features/enum_vertices/EnumVertices.js?v=95","/script/pages/editor/model/texts.js?v=95","/script/pages/editor/model/UndoStack.js?v=95","/script/pages/editor/model/DiskSaveLoad.js?v=95","/script/pages/editor/model/Application.js?v=95","/script/pages/editor/ui/ya_metrika.js?v=95","/script/pages/editor/ui/editor.js?v=95","/script/pages/editor/ui/main.js?v=95",]);{function onloadEditor(){console.log("onload() call");doIncludeAsync([include("shared/canvas2svg.js"),include("features/group_rename_handler/index.js"),include("features/saved_graph_handler/index.js"),include("features/saved_graph_image_handler/index.js"),include("features/show_adjacency_matrix/index.js"),include("features/show_distance_matrix/index.js"),include("features/show_incidence_matrix/index.js"),include("features/setup_background_style/index.js"),include("features/setup_edge_style/index.js"),include("features/setup_vertex_style/index.js"),]);postLoadPage();}
moduleLoader.beginCacheLoading(["/script/shared/utils.js?v=96","/script/shared/gzip.js?v=96","/script/entities/graph/api/index.js?v=96","/script/shared/point.js?v=96","/script/entities/edge/api/index.js?v=96","/script/entities/edge/model/BaseEdge.js?v=96","/script/entities/edge/model/EdgeModel.js?v=96","/script/entities/vertex/api/index.js?v=96","/script/entities/vertex/model/BaseVertex.js?v=96","/script/entities/vertex/model/VertexModel.js?v=96","/script/entities/graph/model/Graph.js?v=96","/script/features/draw_graph/api/index.js?v=96","/script/features/draw_graph/model/BaseBackgroundDrawer.js?v=96","/script/features/draw_graph/model/EdgeStyle.js?v=96","/script/features/draw_graph/model/BaseEdgeDrawer.js?v=96","/script/features/draw_graph/model/VertexShape.js?v=96","/script/features/draw_graph/model/VertexStyle.js?v=96","/script/features/draw_graph/model/BaseVertexDrawer.js?v=96","/script/features/draw_graph/model/GraphFullStyle.js?v=96","/script/features/algorithms/api/index.js?v=96","/script/features/algorithms/model/Algorithms.js?v=96","/script/features/algorithms/model/BaseTraversal.js?v=96","/script/features/base_handler/index.js?v=96","/script/features/default_handler/index.js?v=96","/script/features/add_vertices_handler/index.js?v=96","/script/features/connect_vertices_handler/index.js?v=96","/script/features/delete_objects_handler/index.js?v=96","/script/features/algorithm_handler/index.js?v=96","/script/features/select_auto_save_graph_or_not/index.js?v=96","/script/features/graph_preview/index.js?v=96","/script/features/serialization/api/index.js?v=96","/script/features/serialization/model/GraphMLCreator.js?v=96","/script/features/enum_vertices/EnumVertices.js?v=96","/script/pages/editor/model/texts.js?v=96","/script/pages/editor/model/UndoStack.js?v=96","/script/pages/editor/model/DiskSaveLoad.js?v=96","/script/pages/editor/model/Application.js?v=96","/script/pages/editor/ui/ya_metrika.js?v=96","/script/pages/editor/ui/editor.js?v=96","/script/pages/editor/ui/main.js?v=96",]);{function onloadEditor(){console.log("onload() call");doIncludeAsync([include("shared/canvas2svg.js"),include("features/group_rename_handler/index.js"),include("features/saved_graph_handler/index.js"),include("features/saved_graph_image_handler/index.js"),include("features/show_adjacency_matrix/index.js"),include("features/show_distance_matrix/index.js"),include("features/show_incidence_matrix/index.js"),include("features/setup_background_style/index.js"),include("features/setup_edge_style/index.js"),include("features/setup_vertex_style/index.js"),]);postLoadPage();}
let modulDir="pages/editor/";doInclude([include("shared/utils.js"),include("shared/gzip.js"),include("entities/graph/api/index.js"),include("features/draw_graph/api/index.js"),include("features/algorithms/api/index.js"),include("features/base_handler/index.js"),include("features/default_handler/index.js"),include("features/add_vertices_handler/index.js"),include("features/connect_vertices_handler/index.js"),include("features/delete_objects_handler/index.js"),include("features/algorithm_handler/index.js"),include("features/select_auto_save_graph_or_not/index.js"),include("features/serialization/api/index.js"),include("features/enum_vertices/EnumVertices.js"),include("model/texts.js",modulDir),include("model/UndoStack.js",modulDir),include("model/DiskSaveLoad.js",modulDir),include("model/Application.js",modulDir),include("ui/ya_metrika.js",modulDir),include("ui/editor.js",modulDir),include("ui/main.js",modulDir)],onloadEditor);}
function gEncodeToHTML(str)
{if(typeof str!=='string')
@@ -956,8 +956,12 @@ BaseAlgorithm.prototype.IsSupportNegativeWeight=function()
{return false;}
function BaseAlgorithmEx(graph,app)
{BaseAlgorithm.apply(this,arguments);}
BaseAlgorithmEx.prototype=Object.create(BaseAlgorithm.prototype);BaseAlgorithmEx.prototype.CalculateAlgorithm=function(algorithmName,otherParams,resultCallback,ignoreSeparateNodes=false)
{if(location.hostname==="localhost"||location.hostname==="127.0.0.1")
BaseAlgorithmEx.prototype=Object.create(BaseAlgorithm.prototype);class ProcessingMessage
{constructor(algorithm_object){this.algorithm_object=algorithm_object;this.processing_index=0;this.original_message=this.algorithm_object.message;this.processing_timer=setInterval(function()
{this.processing_index=(this.processing_index+1)%3;this.algorithm_object.message=this.original_message+".".repeat(this.processing_index);this.algorithm_object.app.updateMessage();}.bind(this),500);}
stop(){this.algorithm_object.message=this.original_message;this.algorithm_object.app.updateMessage();clearInterval(this.processing_timer);}}
BaseAlgorithmEx.prototype.CalculateAlgorithm=function(algorithmName,otherParams,resultCallback,ignoreSeparateNodes=false)
{let processing_message=new ProcessingMessage(this);if(location.hostname==="localhost"||location.hostname==="127.0.0.1")
console.log(algorithmName+" "+otherParams);var graph=this.graph;var ignoreNodes={};if(ignoreSeparateNodes)
for(var i=0;i<graph.vertices.length;i++)
if(!graph.HasConnectedNodes(graph.vertices[i]))
@@ -970,7 +974,7 @@ properties[id][$(this).attr('key')]=$(this).text();}});});$edges=$xml.find("edge
{edge=graph.FindEdgeById($(this).attr('id'));}
pathObjects.push(edge);$data=$(this).find("data");$data.each(function(){if(!properties[edge.id])
{properties[edge.id]={};}
properties[edge.id][$(this).attr('key')]=$(this).text();});});console.log(result);resultCallback(pathObjects,properties,result);};var callCGIAlgorithms=function()
properties[edge.id][$(this).attr('key')]=$(this).text();});});console.log(result);processing_message.stop();resultCallback(pathObjects,properties,result);};var callCGIAlgorithms=function()
{var queryString=algorithmName+"=cgiInput&report=xml";otherParams.forEach((param)=>queryString+="&"+param.name+"="+param.value);$.ajax({type:"POST",url:"/"+SiteDir+"cgi-bin/GraphCGI.exe?"+queryString,data:xml,dataType:"text",}).done(function(msg)
{processResult(msg);});};if(this.app.isSupportEmscripten()){console.log("Use Emscripten");var delimiter="<s\\emscript_split\\s>";var processData=algorithmName+delimiter+xml+
delimiter+"report"+delimiter+"xml";otherParams.forEach((param)=>processData+=delimiter+param.name+delimiter+param.value);var res={};try{res=this.app.processEmscripten(processData);}