33 lines
893 B
JavaScript
33 lines
893 B
JavaScript
if ( !!window.SLB && SLB.has_child('View.extend_content_handler') ) {(function($) {
|
|
SLB.View.extend_content_handler('image', {
|
|
/**
|
|
* Render images
|
|
* @param obj item Content Item
|
|
* @param obj dfr Promise for rendering process
|
|
* @return obj Promise for rendering process (Resolved when content is loaded)
|
|
*/
|
|
render: function(item, dfr) {
|
|
// Create image object
|
|
var img = new Image();
|
|
// Set load event
|
|
var handler = function() {
|
|
// Save Data
|
|
item.set_data(img);
|
|
// Set attributes
|
|
item.set_attribute('dimensions', {'width': img.width, 'height': img.height});
|
|
// Build output
|
|
var out = $('<img />', {'src': item.get_uri()});
|
|
// Resolve deferred
|
|
dfr.resolve(out);
|
|
};
|
|
|
|
// Attach event handler
|
|
$(img).on('load', function(e) { handler(e); });
|
|
// Load image
|
|
img.src = item.get_uri();
|
|
// Return promise
|
|
return dfr.promise();
|
|
}
|
|
});
|
|
})(jQuery);
|
|
} |