Added save weight presets for edges.

This commit is contained in:
Unick Soft 2020-04-26 20:15:08 +02:00
parent 4517ee12a3
commit 72f94e5ddd
4 changed files with 44 additions and 15 deletions

View File

@ -46,6 +46,9 @@ function Application(document, window)
this.backgroundPrintStyle = new PrintBackgroundStyle();
this.isBackgroundCommonStyleCustom = false;
this.renderPathWithEdges = false;
this.edgePresets = [1, 3, 5, 7, 11, 42];
this.maxEdgePresets = 6;
};
// List of graph.
@ -530,6 +533,9 @@ Application.prototype.CreateNewArc = function(graph1, graph2, isDirect, weight,
}
}
if (edgeObject.useWeight)
this.UpdateEdgePresets(edgeObject.weight);
return edge;
}
@ -1569,4 +1575,26 @@ Application.prototype.GetAvalibleCruvledValue = function(neighbourEdges, origina
Application.prototype.GraphTypeChanged = function()
{
$("#CanvasMessage").text(this.graph.isMulti() ? g_GrapsIsMultiMessage : g_GrapsIsGeneralMessage);
}
Application.prototype.UpdateEdgePresets = function(weight)
{
var oldPresets = this.edgePresets;
this.edgePresets = [1];
oldPresets.unshift(weight);
for(var i = 0; i < oldPresets.length; i ++)
{
var k = oldPresets[i];
if (!this.edgePresets.includes(k))
this.edgePresets.push(k);
if (this.edgePresets.length >= this.maxEdgePresets)
break;
}
}
Application.prototype.GetEdgePresets = function()
{
return this.edgePresets;
}

View File

@ -460,7 +460,18 @@ ConnectionGraphHandler.prototype.SelectVertex = function(selectedObject)
dialogButtons[g_notOrintEdge] = function() {
handler.AddNewEdge(selectedObject, false);
$( this ).dialog( "close" );
};
};
var edgePresets = this.app.GetEdgePresets();
var presetsStr = "<span onClick=\"document.getElementById('EdgeWeight').value='" + g_DefaultWeightPreset + "'; document.getElementById('EdgeWeightSlider').value='" + g_DefaultWeightPreset + "';\" style=\"cursor: pointer\" class=\"defaultWeigth\">" + g_DefaultWeightPreset + "</span>";
for(var i = 0; i < edgePresets.length; i ++)
{
var edgePreset = edgePresets[i];
presetsStr += "<span onClick=\"document.getElementById('EdgeWeight').value='" + edgePreset + "'; document.getElementById('EdgeWeightSlider').value=" + edgePreset + ";\" style=\"cursor: pointer\" class=\"defaultWeigth\">" + edgePreset + "</span>";
}
document.getElementById("EdgesPresets").innerHTML = presetsStr;
$( "#addEdge" ).dialog({
resizable: false,
height: "auto",

View File

@ -106,6 +106,7 @@ var g_backgroundStyle = "Bacgkround style";
var g_GrapsIsMultiMessage = "Graph is multigraph";
var g_GrapsIsGeneralMessage = "";
var g_DefaultWeightPreset = "no weight";
function loadTexts()
{
@ -214,4 +215,5 @@ function loadTexts()
g_GrapsIsMultiMessage = document.getElementById("graphIsMultiMessage").innerHTML;
g_GrapsIsGeneralMessage = document.getElementById("graphIsGeneralMessage").innerHTML;
g_DefaultWeightPreset = document.getElementById("defaultWeightPreset").innerHTML;
}

View File

@ -163,7 +163,6 @@
</div>
</section>
<? if (L('current_language') != "en"): ?>
<section style="height:32px;text-align: center;" id="adv" class="hidden-phone">
<a class="ProgresssBarLink" href="opensource" target="_blank">
<div class="ProgressBar" style="height:32px">
@ -172,18 +171,6 @@
</div>
</a>
</section>
<? endif; ?>
<? if (L('current_language') == "en"): ?>
<section style="height:32px;text-align: center;" id="adv" class="hidden-phone">
<a class="ProgresssBarLink" href="/fr/">
<div class="ProgressBar" style="height:32px">
<div class="ProgressBarFill" style="width:0%;"></div>
<span class="ProgressBarText" style="top:-28px"><p><?= L('french_add')?></p></span>
</div>
</a>
</section>
<? endif; ?>
<? if (L('current_language') == "ru" && false): ?>
<!--
@ -231,7 +218,7 @@
<div>
<label id="WeightLabel"><?= L('edge_weight')?>&nbsp; </label> <input type="range" id="EdgeWeightSlider" min="0" max="29" value="0" oninput="document.getElementById('EdgeWeight').value = (this.value > 0 ? this.value : '<?= L('default_weight')?>');" onchange="document.getElementById('EdgeWeight').value = (this.value > 0 ? this.value : '<?= L('default_weight')?>');"> &nbsp; &nbsp;<input type="text" name="edgeWeight" value="<?= L('default_weight')?>" id="EdgeWeight" class="inputBox">
</div>
<div>
<div id="EdgesPresets">
<span onClick="document.getElementById('EdgeWeight').value='<?= L('default_weight')?>'; document.getElementById('EdgeWeightSlider').value=0;" style="cursor: pointer" class="defaultWeigth"><?= L('default_weight')?></span>
<span onClick="document.getElementById('EdgeWeight').value='1'; document.getElementById('EdgeWeightSlider').value=1;" style="cursor: pointer" class="defaultWeigth">1</span>
<span onClick="document.getElementById('EdgeWeight').value='3'; document.getElementById('EdgeWeightSlider').value=3;" style="cursor: pointer" class="defaultWeigth">3</span>
@ -576,6 +563,7 @@
<p id="graphIsMultiMessage" class="translation"><?= L('graph_is_multi_message')?></p>
<p id="graphIsGeneralMessage" class="translation"><?= L('graph_is_general_message')?></p>
<p id="defaultWeightPreset" class="translation"><?= L('default_weight')?></p>
</section>
<!--