Data-generated widgets fail to recognize passed in IDs
sjwilliams opened this issue · comments
Josh Williams commented
_prepItem generates a domID, even if you pass in an id via the content array
$('#container').ScrollStory({
content: [{hed:'Headline1', id:'myid1'}, {hed, 'Headline2', id: 'myid2'}]
});
_prepItem should probably be something like this:
// use exisiting ID or generate a new one
if ($el.attr('id')) {
id = $el.attr('id');
} else {
if (data.id){
id = data.id;
} else {
id = 'scrollStory_story_' + index;
}
$el.attr('id', id);
}
Josh Williams commented
I should probably also check that ID is a string and a valid DOM ID string, as its possible that an external data source could have an id column that ends up being passed in, unaware of DOM ID restrictions.
I'd also need to make sure the ID was unique, which is, I believe, the reason I didn't add this feature originally.