Added button to recommend new algorithm.

This commit is contained in:
Unick Soft
2017-10-12 23:02:16 +03:00
parent 45203a13ce
commit 7e71a151da
28 changed files with 164 additions and 3 deletions

View File

@@ -118,6 +118,13 @@ BaseAlgorithm.prototype.getObjectSelectedGroup = function(object)
// This methos is called, when messages was updated on html page.
BaseAlgorithm.prototype.messageWasChanged = function() {}
// Algorithm priority in menu
BaseAlgorithm.prototype.getPriority = function()
{
return 0;
}
/**
* Default handler.

View File

@@ -1136,9 +1136,14 @@ Application.prototype.getAlgorithmNames = function()
oneFactory = factory(this.graph);
obj.name = oneFactory.getName(g_language);
obj.id = oneFactory.getId();
obj.priority = oneFactory.getPriority();
res.push(obj);
}
res.sort(function (a, b) {
return a.priority > b.priority;
});
return res;
}

View File

@@ -170,7 +170,8 @@ function postLoadPage()
|| ($('#saveDialog').hasClass('ui-dialog-content') && $('#saveDialog').dialog('isOpen'))
|| ($('#saveImageDialog').hasClass('ui-dialog-content') && $('#saveImageDialog').dialog('isOpen'))
|| ($('#GroupRenameDialog').hasClass('ui-dialog-content') && $('#GroupRenameDialog').dialog('isOpen'))
|| $('#developerTools').css("display") != "none")
|| $('#developerTools').css("display") != "none"
|| ($('#NeedAlgorithm').hasClass('ui-dialog-content') && $('#NeedAlgorithm').dialog('isOpen')))
{
console.log("prevent");
return; // Should do nothing if the default action has been cancelled
@@ -433,6 +434,7 @@ function postLoadPage()
});
}
// Get algorithms list and load it.
$.get( "/cgi-bin/getPluginsList.php",
function( data )

View File

@@ -93,6 +93,11 @@ FindConnectedComponentNew.prototype.getObjectSelectedGroup = function(object)
return (object.id in this.selectedObjects) ? this.selectedObjects[object.id] : 0;
}
FindConnectedComponentNew.prototype.getPriority = function()
{
return -9;
}
// Factory for connected components.
function CreateConnectedComponetsNew(graph, app)

View File

@@ -77,6 +77,11 @@ FindEulerianLoop.prototype.getObjectSelectedGroup = function(object)
return (object.id in this.selectedObjects) ? this.selectedObjects[object.id] : 0;
}
FindEulerianLoop.prototype.getPriority = function()
{
return -7;
}
// Factory for connected components.
function CreateFindEulerianLoop(graph, app)
{

View File

@@ -0,0 +1,84 @@
/**
* Default handler.
* Select using mouse, drag.
*
*/
function NeedAlgorithm(graph, app)
{
BaseAlgorithm.apply(this, arguments);
}
// inheritance.
NeedAlgorithm.prototype = Object.create(BaseAlgorithm.prototype);
NeedAlgorithm.prototype.getName = function(local)
{
return local == "ru" ? "Не нашли нужный алгоритм?" : "Didn't find needed algorithm?";
}
NeedAlgorithm.prototype.getId = function()
{
return "OlegSh.NeedAlgorithm";
}
// @return message for user.
NeedAlgorithm.prototype.getMessage = function(local)
{
return local == "ru" ? "Спасибо" : "Thank you";
}
NeedAlgorithm.prototype.result = function(resultCallback)
{
var dialogButtons = {};
dialogButtons[g_send] = function() {
console.log("Message" + $( "#NeedAlgorithmMessage" ).val());
$.ajax({
type: "GET",
url: "/cgi-bin/sendEmail.php?text=" + $( "#NeedAlgorithmMessage" ).val(),
dataType: "text"
});
$( this ).dialog( "close" );
};
dialogButtons[g_close] = function() {
$( this ).dialog( "close" );
};
$( "#NeedAlgorithm" ).dialog({
resizable: false,
title: g_recommendAlgorithm,
width: 400,
modal: true,
dialogClass: 'EdgeDialog',
buttons: dialogButtons,
});
var result = {};
result["version"] = 1;
return result;
}
NeedAlgorithm.prototype.getObjectSelectedGroup = function(object)
{
return 0;
}
NeedAlgorithm.prototype.getPriority = function()
{
return 100;
}
// Factory for connected components.
function CreateNeedAlgorithm(graph, app)
{
return new NeedAlgorithm(graph)
}
// Gerister connected component.
RegisterAlgorithm (CreateNeedAlgorithm);

View File

@@ -199,7 +199,10 @@ FindShortPathNew.prototype.updateUpText = function()
}
}
FindShortPathNew.prototype.getPriority = function()
{
return -10;
}
// Factory for connected components.

View File

@@ -68,6 +68,8 @@ var g_noWeight = "No weight";
var g_groupRename = "Group rename";
var g_vote = "Vote";
var g_recommendAlgorithm = "Recommend algorithm";
function loadTexts()
{
g_textsSelectAndMove = document.getElementById("SelectAndMoveObject").innerHTML;
@@ -135,4 +137,6 @@ function loadTexts()
g_noWeight = document.getElementById("noWeight").innerHTML;
g_groupRename = document.getElementById("groupeRenameText").innerHTML;
g_vote = document.getElementById("voteText").innerHTML;
g_recommendAlgorithm = document.getElementById("recommend_algorithm").innerHTML;
}