scrollstory icon indicating copy to clipboard operation
scrollstory copied to clipboard

Data-generated widgets fail to recognize passed in IDs

Open sjwilliams opened this issue 10 years ago • 1 comments

_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);
}

sjwilliams avatar May 06 '14 23:05 sjwilliams

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.

sjwilliams avatar May 06 '14 23:05 sjwilliams