Fix bridges to forenote.

This commit is contained in:
Edward Betts 2018-12-07 08:54:19 +00:00
parent ed8cd63d1b
commit 1f8bf2191c
2 changed files with 7 additions and 34 deletions
sourcing

View file

@ -73,9 +73,9 @@ def fulfil_edl_with_links(edl, doc_num='', links=None, hide_all_transclusions=Fa
source_doc_links = defaultdict(list) source_doc_links = defaultdict(list)
for link_num, facets in two_facet_links: for link_num, facets in two_facet_links:
for span in facets: for facet_num, span in enumerate(facets):
url, start, length = span url, start, length = span
source_doc_links[url].append((start, length, link_num, 'link')) source_doc_links[url].append((start, length, link_num, 'link', facet_num))
if url in source_text: if url in source_text:
continue continue
@ -94,14 +94,14 @@ def fulfil_edl_with_links(edl, doc_num='', links=None, hide_all_transclusions=Fa
span_text = source_text[url] # [start:start + length] span_text = source_text[url] # [start:start + length]
new_text = '' new_text = ''
pos = start pos = start
for link_start, link_len, link_num, span_type in source_doc_links[url]: for link_start, link_len, link_num, span_type, facet_num in source_doc_links[url]:
link_end = link_start + link_len link_end = link_start + link_len
if link_start >= start + length: if link_start >= start + length:
break break
if link_end < start: if link_end < start:
continue continue
cls = 'xanadoclink link' cls = 'xanadoclink link'
link_span = (f'<span class="{cls}" id="link{doc_num}_{link_num}">' + link_span = (f'<span class="{cls}" id="link{facet_num}_{link_num}">' +
escape(span_text[link_start:link_end]) + escape(span_text[link_start:link_end]) +
'</span>') '</span>')
new_text += escape(span_text[pos:link_start]) + link_span new_text += escape(span_text[pos:link_start]) + link_span
@ -112,34 +112,7 @@ def fulfil_edl_with_links(edl, doc_num='', links=None, hide_all_transclusions=Fa
doc = ''.join(doc_spans) doc = ''.join(doc_spans)
for s in source:
text = protect_start_spaces(s.pop('text'))
if s['length'] > max_sourcedoc_size:
# print('{} > {}'.format(s['length'], max_sourcedoc_size))
continue
if s['url'] in hide_transclusions:
continue
source_spans = [(start, length, num, 'transclusion') for num, (url, start, length) in spans if url == s['url']]
source_spans += source_doc_links[s['url']]
source_spans.sort()
new_text = ''
pos = 0
for start, length, num, span_type in source_spans:
end = start + length
new_text += (escape(text[pos:start]) +
span_html(span_type, num) +
escape(text[start:end]) +
'</span>')
pos = end
new_text += escape(text[pos:])
new_text = new_text.replace('\n', '<br/>\n')
s['text'] = new_text
return { return {
'source': source,
'doc': doc.replace('\n', '<br/>\n'), 'doc': doc.replace('\n', '<br/>\n'),
'span_count': len(spans), 'span_count': len(spans),
'link_count': len(two_facet_links), 'link_count': len(two_facet_links),

View file

@ -37,7 +37,7 @@ function dragMoveListener (event) {
function update() { function update() {
for(var i = 0; i < link_bridge_count; i++) { for(var i = 0; i < link_bridge_count; i++) {
update_bridge('linkbridge' + i, 'link1_' + i, 'link2_' + i); update_bridge('linkbridge' + i, 'link0_' + i, 'link1_' + i);
} }
} }
@ -244,12 +244,12 @@ function hover_link_bridge(element, hover) {
if (hover) { if (hover) {
// $('#xanalink' + num).addClass(cls); // $('#xanalink' + num).addClass(cls);
$('#link0_' + num).addClass(cls);
$('#link1_' + num).addClass(cls); $('#link1_' + num).addClass(cls);
$('#link2_' + num).addClass(cls);
} else { } else {
// $('#xanalink' + num).removeClass(cls); // $('#xanalink' + num).removeClass(cls);
$('#link0_' + num).removeClass(cls);
$('#link1_' + num).removeClass(cls); $('#link1_' + num).removeClass(cls);
$('#link2_' + num).removeClass(cls);
} }
} }