This document contains code for dynamically loading and displaying news bulletin items on a website. It includes functions for retrieving new data, building HTML elements for each item, and handling interactions like expanding text. The code handles author images, social links, notes and reinitializing the content container on updates.
This document is a news bulletin from ABC News that provides technology and science news updates. It includes the headline, date, text and social sharing options for each news item. When notes are included, it also displays the note headline, author details and overview. Images and links are included for authors and social media profiles. The bulletin can be dynamically updated with new items and includes options to expand the text of each item.
This document is a news bulletin from ABC News that provides technology and science news updates. It includes the headline, text snippet, author and date for each news item. It also includes options to share or see more of each item. The bulletin dynamically loads and displays the latest news updates using JavaScript.
This document is an article from the ABC News technology and science section. It discusses updates to their news bulletin widget, including updating the content and links displayed in the widget periodically. It also describes the code for displaying items, notes, and social media information for authors within the widget. The widget code handles checking for new data, loading and displaying items, and setting timeouts to prevent caching issues.
This document is a news bulletin from ABC News that provides technology and science news updates. It includes the headline, date, text and social sharing options for each news item. When notes are included, it also displays the note headline, author details and overview. Images and links are included for authors and social media profiles. The bulletin can be dynamically updated with new items and includes options to expand the text of each item.
This document is a news bulletin from ABC News that provides technology and science news updates. It includes the headline, text snippet, author and date for each news item. It also includes options to share or see more of each item. The bulletin dynamically loads and displays the latest news updates using JavaScript.
This document is an article from the ABC News technology and science section. It discusses updates to their news bulletin widget, including updating the content and links displayed in the widget periodically. It also describes the code for displaying items, notes, and social media information for authors within the widget. The widget code handles checking for new data, loading and displaying items, and setting timeouts to prevent caching issues.
Home and Garden | Home Improvement and Decorating Tipsshortguidebook822
Ìý
This document provides home improvement and decorating tips. It discusses Joseph Kellard's tips for home and garden projects as well as links to share content on social media. The document loads news bulletin items with titles, text, author information and notes and displays them in a scrolling container that can be reinitialized when new data is received.
6. $('#text_'+id).html(contentObject[id])
//store id a list of opened objects
fullTextList.push(id.toString());
var newContainerHeight = $("#nbItemContainer").height() + ($('#nbItem_'+id).height()-
oldItemHeight);
$("#nbItemContainer").css('height', newContainerHeight);
//reinitialize scroll
window.api.reinitialise();
lastNBObjStr = '';
function isNewData(data)
isNewTemp = false;
currNBObjStr = '';
$.each(data.updates, function(ind)
currNBObjStr = currNBObjStr + data.updates[ind].objId + data.updates[ind].date;
);
//console.log('x'+currNBObjStr);
//console.log('y'+lastNBObjStr);
if(currNBObjStr != lastNBObjStr)
isNewTemp = true;
7. else
//console.log('no refresh');
lastNBObjStr = currNBObjStr;
return isNewTemp;
isHeaderLinkLoaded = false; // flag to check if the header link is loaded
isShareLinkLoaded = false; // flag to check if the share link is loaded
isDoneLoading = false; // flag to check if the html is done loading in the jScrollPane
function newsBulletin(data)
if(data)
isNewDataFlag = isNewData(data);
if(isNewDataFlag)
//clear contents first
newsbulletin.nbDiv.innerHTML = '';
//console.log('refresh');
updates = data.updates;
headerLink = data.widgetLink;
shareLink = data.shareLink;
if (headerLink != '' headerLink != null !isHeaderLinkLoaded)
var twitterImg = " "
$("#newsbulletin .midcontainer .widget_head").append("");
$("#newsbulletin .midcontainer .widget_head .twitterLink a .twitterContent").append("" +
twitterImg + "");
isHeaderLinkLoaded = true;
//clear the author cutouts array
newsbulletin.authorCutouts = [];
// check to see if there is a height set for container, if so clear it
8. // prevents cacheing
var hasHeight = $('#nbItemContainer').attr('style');
if (typeof hasHeight != 'undefined')
$('#nbItemContainer').removeAttr('style');
$.each(updates, function(ind)
var itemDetails = new Object();
it = updates[ind];
//populate the itemDetails object
itemDetails.id = it.objId;
itemDetails.title = it.title;
itemDetails.objType = it.objType;
itemDetails.link = it.link;
itemDetails.date = it.date;
itemDetails.label = it.label;
itemDetails.author = it.author.name;
itemDetails.authorbio = it.author.bio;
itemDetails.authorfb = it.author.facebook;
itemDetails.authortwitter = it.author.twitter;
itemDetails.feed = it.feed;
itemDetails.category = it.category;
//set defaults if item is a status update
if(itemDetails.label == 'Status Update')
if(it.author.image == '')
it.author.image = 'http://a.abcnews.com/assets/images/abc_news_logo_84x84.png'
if(it.author.name == '')
9. itemDetails.author = 'ABC News'
itemDetails.authorfb = 'http://www.facebook.com/abcnews'
itemDetails.authortwitter = 'http://twitter.com/abc'
//only pass the author image if it's not displayed in any of the items yet
if($.inArray(it.author.image, newsbulletin.authorCutouts) == -1)
itemDetails.authorimage = it.author.image;
//add to ignore list
if(it.author.image != '' ($.inArray(it.author.image, newsbulletin.authorCutouts) == -1))
newsbulletin.authorCutouts.push(it.author.image);
if(it.text != '')
itemDetails.text = it.text;
else
itemDetails.bgPos = 'bottom right';
if (it.notes)
itemDetails.notes = it.notes;
//build a name value pair list of id/text
contentObject[itemDetails.id] = itemDetails.text
itemDetails.isExpanded = ($.inArray(itemDetails.id, fullTextList) -1) ? true : false;
//build markup
$("#nbItemContainer").append(newsbulletin.displayItems(itemDetails));
);
$("#nbItemContainer").append('');
//set the height of container div
$("#nbItemContainer").css('height',$("#nbItemContainer").height());
if (shareLink != '' shareLink != null !isShareLinkLoaded)
$("#newsbulletin .midcontainer .nbFooter").css("height":"35px", "border-top":"1px solid #d5d5d5",
11. function()
window.api.getContentPane().html(
newsbulletin.load()
);
,
120000
);
setInterval(function()
// we could call "pane.jScrollPane(settings)" again but it is
// more convenient to call via the API as then the original
// settings we passed in are automatically remembered.
// Initialization of the container should be done after all the markup has been loaded
// since there is no listener that could be passed into reinitialise() for callback
if (isDoneLoading)
window.api.reinitialise();
isDoneLoading = false;
, 5000);
;