function create_info(){ $(document).ready(function() { $.ajax({ type: "GET", url: "/data/ideas_phase1/information.json", success: (res) => { var info = res; let ids = $('body').find('*').map(function() { if (this.id){ return this; } }).get(); console.log(ids); ids.forEach((e) => { if (info[e.id]){ let myinfo = $('#my-below-info')[0].content.cloneNode(true); $('.helptext',myinfo).html(marked.parseInline(info[e.id])); let lab = $("label[for='"+e.id+"']"); $(myinfo).insertAfter(lab); } }); } }); }); } function trigger_textarea(){ $('textarea').each( function(){ let el = $(this); $(el).trigger("input"); } ); } function new_tab(link) { window.open( link, "_blank"); } function create_onepager_link(link){ let but = document.createElement("button"); but.classList.add("one-pager-but"); but.onclick = function(){new_tab(link)}; but.append("To see details for this idea go to One Pager"); let div = document.getElementById('mybutton'); div.append(but); } function create_polarion_link(link){ let but = document.createElement("button"); but.classList.add("one-pager-but"); but.onclick = function(){new_tab(link)}; but.append("To see details go to Polarion"); let div = document.getElementById('mybutton'); div.append(but); } function create_table(params){ console.log($('#my-simple-table')); let table = $('#my-simple-table')[0].content.cloneNode(true); Object.keys(params).forEach(val => { let line = $('#myentry',table)[0].content.cloneNode(true); $('td.name',line).text(val.replace(/_/,' ')); $('td.value',line).text(params[val]); $('tbody',table).append(line); }); $("p.container").append(table); $("p.container").append($('
')); } function create_feed(params){ let table = $('#my-simple-table')[0].content.cloneNode(true); Object.keys(params).forEach(val => { let line = $('#myentry',table)[0].content.cloneNode(true); if (val == "0"){ $('td.name',line).text('feedback'); } $('td.value',line).text(params[val]); $('tbody',table).append(line); }); $("p.container").append(table); $("p.container").append($('
')); } function create_section_table(params,name){ let table = $('#mytable')[0].content.cloneNode(true); let section = $('#mysection',table)[0].content.cloneNode(true); $('th.section',section).text(name.replaceAll(/_/g,' ')); $('tbody',table).append(section); if (name == "business_goals" || name == "customer_goals"){ Object.keys(params).forEach(val => { let line = $('#myentry',table)[0].content.cloneNode(true); $('td.name',line).text(val.replace(/_/,' ')); $('td.value',line).append(params[val][0]); $('tbody',table).append(line); for (let i = 1; i < params[val].length; i++) { let line = $('#myentry',table)[0].content.cloneNode(true); $('td.value',line).append(params[val][i]); $('tbody',table).append(line); } }); } else { Object.keys(params).forEach(val => { if (!val.includes("oal") && !val.includes("bjective") && !val.includes("res_status")){ let line = $('#myentry',table)[0].content.cloneNode(true); $('td.name',line).text(val.replace(/_/,' ')); if (typeof params[val] === "string"){ if (params[val].match(/https:/)) { params[val] = params[val].replace(/(https:[^\s]*)/g,'$1') } } $('td.value',line).append(params[val]); $('tbody',table).append(line); } }); } $("p.container").append(table); $("p.container").append($('
')); } function display_all(data){ console.log(data); Object.keys(data).forEach(val => { if (val != "roles" && val != "resources_allocation" && val != "resources_estimation"){ var params = data[val]; if (params){ create_section_table(params,val); } } }); } function add_selection_options(list,id){ let selection = $('#myselection')[0].content.cloneNode(true); $('select.myselect',selection).attr('name', id); $('select.myselect',selection).attr('id', id); $('select.myselect',selection).attr('multiple',''); list.forEach(role => { let option = $('#my-new-option',selection)[0].content.cloneNode(true); $('option.newoption',option).text(role); $('option.newoption',option).attr('value',role); $('option.newoption',option).attr('title',role); $('select',selection).append(option); }); return selection; } function create_estimation(list){ let table = $('#myresources')[0].content.cloneNode(true); let line = $('#myentry',table)[0].content.cloneNode(true); let selection = add_selection(list,"resourcetypes"); $('td.rolelist',line).append(selection); $('tbody',table).append(line); $("p.container").append(table); } function add_selection(list,id){ let selection = $('#myselection')[0].content.cloneNode(true); $('select.myselect',selection).attr('name', id); $('select.myselect',selection).attr('id', id); list.forEach(role => { let option = $('#my-new-option',selection)[0].content.cloneNode(true); $('option.newoption',option).text(role); $('option.newoption',option).attr('value',role); $('select',selection).append(option); }); return selection; } function all_roles(data,teams){ let allocation = $('#myallocation')[0].content.cloneNode(true); for (let i = 0; i < data.length; i=i+2) { let entry = data[i]; let usage_entry = data[i+1]; let line = $('#myentry',allocation)[0].content.cloneNode(true); $('td.usage',line).text(usage_entry["value"]); Object.keys(entry).forEach(key => { if ( key != "name" ) { $('td.role',line).text(entry["value"]); let selection = add_selection_options(teams[entry[key]],entry[key]); $('td.teamlist',line).append(selection); } }); $('tbody',allocation).append(line); }; $("p.container").append(allocation); } function selected_roles(data){ let allocation = $('#my-simple-allocation')[0].content.cloneNode(true); for (let i = 0; i < data.length; i=i+2) { let entry = data[i]; let usage_entry = data[i+1]; let line = $('#myentry',allocation)[0].content.cloneNode(true); $('td.usage',line).text(usage_entry["value"]); Object.keys(entry).forEach(key => { if ( key != "name" ) { $('td.role',line).text(entry["value"]); } }); $('tbody',allocation).append(line); }; $("p.container").append(allocation); $("p.container").append($('
')); } function list_resources(resources){ let table = $('#my-simple-table')[0].content.cloneNode(true); resources.forEach(resource => { let line = $('#myentry',table)[0].content.cloneNode(true); $('td.name',line).text(resource["name"]); $('td.value',line).text(resource["value"]); $('tbody',table).append(line); } ); $("p.container").append(table); $("p.container").append($('
')); } function add_filename(name){ let fileform = $('#file_upload')[0].content.cloneNode(true); $('input.field',fileform).attr('name',name ); $("#" + name).append(fileform); } function add_rating(ratings){ let table = $('#rating')[0].content.cloneNode(true); Object.keys(ratings).forEach(val => { let line = $('#userrating',table)[0].content.cloneNode(true); $('td.user',line).append(val); let rating = ratings[val]; Object.keys(rating).forEach(v => { $('td.'+v,line).append(rating[v]); }); $('tbody',table).append(line); }); $("p.container").append(table); } function add_general_rating(rating,levels){ let table = $('#general-rating')[0].content.cloneNode(true); let line = $('#rating',table)[0].content.cloneNode(true); Object.keys(rating).forEach(val => { $('td.'+val,line).append(rating[val]); $('td.'+val+"_note",line).append(levels[val]); }); $('tbody',table).append(line); $("p.container").append(table); } $('select[multiple] option').mousedown(function(e) { e.preventDefault(); var originalScrollTop = $(this).parent().scrollTop(); $(this).prop('selected', $(this).prop('selected') ? false : true); var self = this; $(this).parent().focus(); setTimeout(function() { $(self).parent().scrollTop(originalScrollTop); }, 0); return false; });