This repository has been archived on 2020-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
plemp-node/public/javascripts/dragreg.js

56 lines
1.5 KiB
JavaScript

$(document).ready(function() {
// Handlers for showing/hiding the upload dialog via buttons & keys.
$("#add").click(show_add_dialog);
$("#add_form #cancel").click(hide_add_dialog);
if ($.browser.mozilla) {
$(document).keypress(key_handler);
}
else {
$(document).keyup(key_handler);
}
// Populate the canvas with the draggables.
$.get("draggables", function(data) {
$.each(data, function(key, val) {
$.get("draggables/" + key, function(data) {
$("#draggables").append(data);
$(".draggable").draggable({ stack: ".draggable",
containment: "window",
stop: update_drag_info });
// FIXME: highlight text for now, until we can determine and
// store what everything exactly is.
$("pre").each(function(idx, elem) {
hljs.highlightBlock(elem, ' ');
});
})
})
}, "json");
});
// Callback functions.
function show_add_dialog() {
$('#add_dialog').fadeIn('slow');
};
function hide_add_dialog() {
$("#add_dialog").fadeOut('fast', function() {
$("#add_form")[0].reset();
});
};
function update_drag_info(event, ui) {
$.post("draggables/" + ui.helper.context.id, ui.position, "json");
}
function key_handler(event) {
switch (event.keyCode) {
case 27: /* Escape */
hide_add_dialog();
break;
case 16: /* Plus */
case 187: /* Plus (numpad) */
show_add_dialog();
break;
}
}