annotate virt/statics/script.js @ 19:1e79ce3ff5f5 tip

Simplify and cut some non-working resource paths
author Chris Cannam
date Wed, 08 Nov 2017 15:27:23 +0000
parents 1e44d666ced1
children
rev   line source
Chris@0 1 function init() {
Chris@0 2 init_long_literals();
Chris@0 3 }
Chris@0 4
Chris@0 5 var long_literal_counter = 0;
Chris@0 6 var long_literal_spans = {};
Chris@0 7 var long_literal_texts = {};
Chris@0 8 function init_long_literals() {
Chris@0 9 var spans = document.getElementsByTagName('span');
Chris@0 10 for (i = 0; i < spans.length; i++) {
Chris@0 11 if (spans[i].className != 'literal') continue;
Chris@0 12 var span = spans[i];
Chris@0 13 var textNode = span.firstChild;
Chris@0 14 var text = textNode.data;
Chris@0 15 if (text.length < 300) continue;
Chris@0 16 var match = text.match(/([^\0]{150}[^\0]*? )([^\0]*)/);
Chris@0 17 if (!match) continue;
Chris@0 18 span.insertBefore(document.createTextNode(match[1] + ' ... '), span.firstChild);
Chris@0 19 span.removeChild(textNode);
Chris@0 20 var link = document.createElement('a');
Chris@0 21 link.href = 'javascript:expand(' + long_literal_counter + ');';
Chris@0 22 link.appendChild(document.createTextNode('\u00BBmore\u00BB'));
Chris@0 23 link.className = 'expander';
Chris@0 24 span.insertBefore(link, span.firstChild.nextSibling);
Chris@0 25 long_literal_spans[long_literal_counter] = span;
Chris@0 26 long_literal_texts[long_literal_counter] = textNode;
Chris@0 27 long_literal_counter = long_literal_counter + 1;
Chris@0 28 }
Chris@0 29 }
Chris@0 30
Chris@0 31 function expand(i) {
Chris@0 32 var span = long_literal_spans[i];
Chris@0 33 span.removeChild(span.firstChild);
Chris@0 34 span.removeChild(span.firstChild);
Chris@0 35 span.insertBefore(long_literal_texts[i], span.firstChild);
Chris@0 36 }