// icdp.timelinevis.js // code to be loaded into /timeline-project-{PROJECT}.html files // TODO: convert to AMD coding style or ES6 // knb 20180716 /* global vis */ $(function() { /** * not used at this time window.orderSubgroups = function(a, b) { return parseFloat(a.subgroup) - parseFloat(b.subgroup); }; window.groupOrderSwap = function (a, b, groups) { var v = a.value; a.value = b.value; b.value = v; }; window.groupTemplate = function(group){ var container = document.createElement('div'); var label = document.createElement('span'); label.innerHTML = group.content + ' '; container.insertAdjacentElement('afterBegin',label); var hide = document.createElement('button'); hide.innerHTML = 'hide'; hide.style.fontSize = 'small'; hide.addEventListener('click',function(){ groups.update({id: group.id, visible: false}); }); container.insertAdjacentElement('beforeEnd',hide); return container; }; */ //window.subGroupOrder = function (a,b) {return parseFloat(a.subgroup) - parseFloat(b.subgroup);}; //turn subregion texts in leftmost group column into hyperlinks var url2subregion = function() { $('div.vis-label>.vis-inner').wrap(function() { return ( '' ); }); }; var footermove = function(){ var $copyr = $("#copyright").clone().attr("id", "copyr2").end(); var $copyr2 = $copyr.clone().wrap("
"); //copyr.hide(); $("script").last().append($copyr2); $copyr2.show(); }; // remove links to self on per-project pages var urlremove = function() { if (/[A-Z]{3,}/.test(location.href)) { $('div.vis-item-content a:first-of-type').each(function() { $(this).replaceWith($(this).text()); }); } }; // not used at this time /*var showAllGroups = function() { groups.forEach(function(group) { groups.update({ id: group.id, visible: true }); }); }; */ //on load and onInitialDrawComplete: url2subregion(); //remove link to page itself on single-project pages urlremove(); //simpler alternative: $('span[data-toggle=\"tooltip\"]').tooltip(); $('span[data-toggle="popover"]').popover({ container: 'body' }); $('span[id^="id-"]').popover(); $('#btntooltip').on('click', function() { $('span').popover('toggle'); }); $('#toggleStacking').addClass('btn-primary'); var options = { stack: false, /*type:"point",*/ orientation: { axis: 'both', item: 'top' } }; var styles = { workshop: 'azure', proposal: '#D5DDF6', monitoring: 'orchid', drilling: 'tomato', sampling_party: 'pink', preliminary: 'whitesmoke', logging: 'lightpink' }; $('#toggleStacking').on('click', function() { options.stack = !options.stack; //options.orientation.item = options.orientation.item == 'top' ? 'bottom' : 'top'; //options.stackSubgroups = true; options.onInitialDrawComplete = function() { $.each(styles, function(k, v) { $('div.' + k).css('background-color', v); $('div.' + k).css('opacity', 0.85); }); url2subregion(); urlremove(); footermove(); }; // not used at this time $('#restorehidden').on('click', function() { //console.log('#restorehidden clicked'); //showAllGroups(); return true; }); var dataset = JSON.parse($('script[type=\'application/json\']').text()); $('#stackingStatus').html(options.stack.toString()); var hwcont = '#htmlwidget_container'; $(hwcont).empty(); /* eslint no-unused-vars: "off" */ var timeline; if (typeof dataset.x.items != 'object') { timeline = new vis.Timeline( $(hwcont).get(0), dataset.x.items, $.extend({}, dataset.x.options, options) ); } else { timeline = new vis.Timeline( $(hwcont).get(0), dataset.x.items, dataset.x.groups, $.extend({}, dataset.x.options, options) ); } }); $('#vlines').on('click', function() { $('.vis-dot, .vis-line').toggle(); }); });