Commit 8724a01a authored by Claudio Valerio's avatar Claudio Valerio

applied maxim changes

parent 4dc6465f
var just_a_flag = false;
function onTemplateLoadedCallback() { function onTemplateLoadedCallback() {
} }
function revert($e) { function revert($e) {
var elmt = $e.css("left","auto").css("top", "auto").removeClass("inBox").get(0); var elmt = $e.css("left","auto").css("top", "auto").removeClass("inBox").get(0);
if(elmt) if(elmt)
elmt.className = elmt.className.replace(/(d(\d+))/, ""); elmt.className = elmt.className.replace(/(d(\d+))/, "");
} }
function getN(range) { function getN(range) {
if(range > 1) if(range > 1)
return Math.floor(Math.random()*range); return Math.floor(Math.random()*range);
else if(range == 1) else if(range == 1)
return Math.round(Math.random()*10)/10; return Math.round(Math.random()*10)/10;
else if(range == 0.1) else if(range == 0.1)
return Math.round(Math.random()*0.1*100)/100; return Math.round(Math.random()*0.1*100)/100;
} }
function reloadApp(app) { function reloadApp(app) {
var operator = app.parameters.value("operator"); var operator = app.parameters.value("operator");
var range = parseFloat(app.parameters.value("range")); var range = parseFloat(app.parameters.value("range"));
var count = parseInt(app.parameters.value("count")); var count = parseInt(app.parameters.value("count"));
var show = app.parameters.value("show");
$scene = $("#scene"); if(!just_a_flag){
$scene.empty(); just_a_flag = true;
show = "3";
}
switch(show){
case "1":
$("#labels div div").each(function(){
$(this).css("top","auto").css("left","auto")
})
break;
case "2":
break;
default:
$scene = $("#scene");
$scene.empty();
$labels = $("<div id='labels'></div>"); $labels = $("<div id='labels'></div>");
$scene.append($labels); $scene.append($labels);
$drops = $("<div id='drops'></div>"); $drops = $("<div id='drops'></div>");
$scene.append($drops); $scene.append($drops);
var meeted = []; var meeted = [];
for (var i = 0; i < count; i++) { for (var i = 0; i < count; i++) {
var n = getN(range); var n = getN(range);
while($.inArray(n, meeted) != -1) while($.inArray(n, meeted) != -1)
n = getN(range); n = getN(range);
meeted.push(n);
$label = $("<div id='l"+i+"' class='label'>"+n+"</div>");
$labels.append($label);
$label.wrap("<div/>");
$label.draggable({
containment: "#scene",
scroll: false,
snap: ".drop",
snapMode: "inner"
});
$drop = $("<div id='d"+i+"' class='drop'></div>");
$drops.append($drop);
$drop.droppable({
hoverClass: "ui-state-hover",
activeClass: "ui-state-active",
greedy: true,
drop: function(event, ui) {
var id = $(this).attr("id");
var $current = $(".inBox."+id);
if($current.size() > 0 && $current.attr("id") != ui.draggable.attr("id"))
revert($current);
ui.draggable.get(0).className = ui.draggable.get(0).className.replace(/(d(\d+))/, "");
ui.draggable.addClass("inBox").addClass(id);
}
});
if(i != count-1) {
$("<div class='operator'>"+operator+"</div>").appendTo($drops);
}
}
meeted.push(n); $scene.droppable({
drop: function(event, ui) {
revert(ui.draggable);
}
});
break;
}
$label = $("<div id='l"+i+"' class='label'>"+n+"</div>");
$labels.append($label);
$label.wrap("<div/>");
$label.draggable({
containment: "#scene",
scroll: false,
snap: ".drop",
snapMode: "inner"
});
$drop = $("<div id='d"+i+"' class='drop'></div>");
$drops.append($drop);
$drop.droppable({
hoverClass: "ui-state-hover",
activeClass: "ui-state-active",
greedy: true,
drop: function(event, ui) {
var id = $(this).attr("id");
var $current = $(".inBox."+id);
if($current.size() > 0 && $current.attr("id") != ui.draggable.attr("id"))
revert($current);
ui.draggable.get(0).className = ui.draggable.get(0).className.replace(/(d(\d+))/, "");
ui.draggable.addClass("inBox").addClass(id);
}
});
if(i != count-1) {
$("<div class='operator'>"+operator+"</div>").appendTo($drops);
}
};
$scene.droppable({
drop: function(event, ui) {
revert(ui.draggable);
}
});
} }
function reloadCallback(parameter) { function reloadCallback(parameter) {
if(parameter === undefined) if(parameter === undefined)
reloadApp(this); reloadApp(this);
} }
$(document).ready(function(){ $(document).ready(function(){
var callbacks = { var callbacks = {
onTemplatesLoaded: onTemplateLoadedCallback, onTemplatesLoaded: onTemplateLoadedCallback,
onEdit: reloadApp, onEdit: reloadApp,
onView: reloadApp onView: reloadApp
}; };
init(reloadCallback, {toolbar: toolbarTemplate, parameters: parametersTemplate}, callbacks); init(reloadCallback, {
toolbar: toolbarTemplate,
parameters: parametersTemplate
}, callbacks);
}); });
\ No newline at end of file
...@@ -132,6 +132,7 @@ ...@@ -132,6 +132,7 @@
position: relative; position: relative;
overflow: hidden; overflow: hidden;
height: 100%; height: 100%;
width: 120px;
} }
#result > div > div { #result > div > div {
position: absolute; position: absolute;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment