blob: 6ea1c8f382f8bc9bcef8c728a064d7bba8ae10ed [file] [log] [blame]
(function($,window,document){$(function(){$(window).resize(function(){resize()});$(document).on("click",".itembox, .news-list li",function(){var link=$(this).find(".readmore").attr("href");$(location).attr("href",link);return false});$.ajax({type:"GET",url:"//projects.eclipse.org/jsonp/technology/Internet%20of%20Things",dataType:"jsonp",cache:false,success:function(data){var output="";var i=0;$("#update-project").removeClass("loading");$.each(data,function(key,value){if(i%4===0){if(i!==0){output+="</div>"}output+='<div class="row-fluid">'}var title=stringJanitor(value.name);var id=stringJanitor(value.id);var desc=stringJanitor(value.description,{cut:true,ellipsis:"&hellip;"});var link=value.website;var logo=value.logo;var style="";var showlogo=false;if(id=="rt.ecf"||id=="tools.sequoyah.mtj"||id=="technology.koneki")return true;output+='<div class="col-md-4 col-sm-6 itembox"'+style+">";if(validateUrl(logo)&&showlogo===true){output+='<img class ="logo" alt="'+title+' logo" src="'+logo+'">'}else{output+='<h1 class="purple">'+title+"</h1>"}output+="<p>"+desc+"</p>";if(!validateUrl(link)){link="http://projects.eclipse.org/projects/"+id}output+='<a href="'+link+'" class="readmore">Read more <i class="icon-chevron-right"></i></a>';output+="</div>";i++});$("#update-project").append("</div>"+output);resize()}})});var validateUrl=function validateUrl(str){return/^(http|https|ftp):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/i.test(str)};var resize=function(){$(".itembox").css({height:"auto"});$(".row-fluid").each(function(){var highestBox=0;$(".itembox",this).each(function(){if($(this).height()>highestBox){highestBox=$(this).outerHeight()}});$(".itembox",this).height(highestBox)})};var stringJanitor=function(str,options){var settings=$.extend({start:0,end:200,html:false,ellipsis:"",cut:false},options);var text="";if(!settings.html){text=str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/g,"")}if(settings.cut){var cutat=text.lastIndexOf(" ",settings.end);if(cutat!==-1){text=text.substring(settings.start,cutat)+settings.ellipsis}}return text}})(window.jQuery,window,document);