2026-02-05 17:08:59 +03:00

78 lines
2.1 KiB
JavaScript

/* globals FusionEvents */
var FusionPageBuilder = FusionPageBuilder || {};
( function( $ ) {
jQuery( document ).ready( function() {
FusionPageBuilder.Fusion_Widget_Flickr = FusionPageBuilder.fusion_widget_content.extend( {
onInit: function() {
this._getFlickrContent = _.debounce( this.getFlickrContent, 500 );
// NOTE: reset markup so DOM html is not used ( it requires js to be fired );
this.model.attributes.markup = '';
},
/**
* Get Flickr images
*
* @since 6.0
* @param {Object} view
* @return {void}
*/
getFlickrContent: function ( view, userID, apiKey, perPage ) {
$.ajax( {
type: 'GET',
url: 'https://api.flickr.com/services/rest/?format=json&method=flickr.photos.search&user_id=' + userID + '&api_key=' + apiKey + '&nojsoncallback=1&per_page=' + perPage + '&media=photos'
} )
.done( function( reponse ) {
var images = '';
if ( 'ok' != reponse.stat ) {
// If this executes, something broke!
return;
}
_.each( reponse.photos.photo, function( photo ) {
var t_url, p_url;
//notice that "t.jpg" is where you change the
//size of the image
t_url = '//farm' + photo.farm +
'.static.flickr.com/' + photo.server + '/' +
photo.id + '_' + photo.secret + '_s.jpg';
p_url = '//www.flickr.com/photos/' +
photo.owner + '/' + photo.id;
images += '<div class="flickr_badge_image"><a href="' + p_url + '"><img alt="' +
photo.title + '"src="' + t_url + '"/></a></div>';
} );
view.model.attributes.markup = images;
view.render();
FusionEvents.trigger( 'fusion-widget-rendered' );
} );
},
getHTML: function( view ) {
var self = this,
params;
params = view.model.get( 'params' );
if ( params.fusion_widget_flickr__screen_name && params.fusion_widget_flickr__api && params.fusion_widget_flickr__number ) {
self._getFlickrContent( view, params.fusion_widget_flickr__screen_name, params.fusion_widget_flickr__api, params.fusion_widget_flickr__number );
}
}
} );
} );
}( jQuery ) );