sourcing/sourcing/static/js/sourcedoc.js
2017-06-07 13:30:10 +01:00

63 lines
1.5 KiB
JavaScript

'use strict';
function add_message() {
$("div#messages").text("whatever");
}
function show_selection(event) {
var selection = window.getSelection();
if(selection.type != 'Range')
return;
var range = selection.getRangeAt(0);
var start_element = range.startContainer.parentElement;
var end_element = range.endContainer.parentElement;
if ($(start_element).closest("div#right").prop("tagName") == 'DIV') {
return;
}
if (!start_element.hasAttribute('data-start') ||
!end_element.hasAttribute('data-start')) {
$("div#right").hide();
return;
}
var start = parseInt(start_element.getAttribute('data-start')) + range.startOffset;
var end = parseInt(end_element.getAttribute('data-start')) + range.endOffset;
var length = end - start;
if(length === 0) {
$("div#right").hide();
return;
}
$("#span").text(doc_url + ",start=" + start + ",length=" + length);
/*
$("div#right").show();
$("span#length").text(length);
$("input[name='offset']").val(start);
$("input[name='length']").val(length);
*/
}
$(function() {
$("button#go").click(add_message);
$("div#right").hide();
$("body").mouseup(show_selection);
});
$("#show-span-selector").click(function(e) {
e.preventDefault();
$("#span-selector").removeClass("d-none");
$(this).hide();
});
$("#select-all").click(function(e) {
e.preventDefault();
$("#span-selector").removeClass("d-none");
$("#show-span-selector").hide();
$("#span").text(doc_url + ",start=0,length=" + doc_length);
});