diff --git a/sourcing/edl.py b/sourcing/edl.py index fe5dac7..23a13c2 100644 --- a/sourcing/edl.py +++ b/sourcing/edl.py @@ -73,9 +73,9 @@ def fulfil_edl_with_links(edl, doc_num='', links=None, hide_all_transclusions=Fa source_doc_links = defaultdict(list) for link_num, facets in two_facet_links: - for span in facets: + for facet_num, span in enumerate(facets): 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: 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] new_text = '' 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 if link_start >= start + length: break if link_end < start: continue 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]) + '</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) - 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 { - 'source': source, 'doc': doc.replace('\n', '<br/>\n'), 'span_count': len(spans), 'link_count': len(two_facet_links), diff --git a/sourcing/static/js/xanaflight.js b/sourcing/static/js/xanaflight.js index 2991971..d8cec9d 100644 --- a/sourcing/static/js/xanaflight.js +++ b/sourcing/static/js/xanaflight.js @@ -37,7 +37,7 @@ function dragMoveListener (event) { function update() { 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) { // $('#xanalink' + num).addClass(cls); + $('#link0_' + num).addClass(cls); $('#link1_' + num).addClass(cls); - $('#link2_' + num).addClass(cls); } else { // $('#xanalink' + num).removeClass(cls); + $('#link0_' + num).removeClass(cls); $('#link1_' + num).removeClass(cls); - $('#link2_' + num).removeClass(cls); } }