This repository has been archived on 2023-08-16. You can view files and clone it, but cannot push or open issues or pull requests.
Omphaloskepsis/plugins/jetpack/modules/site-icon/js/site-icon-crop.js
2018-03-21 18:19:20 +00:00

55 lines
1.7 KiB
JavaScript

/* global Site_Icon_Crop_Data, jQuery */
(function($) {
var jcrop_api, Site_Icon_Crop;
jcrop_api = {};
Site_Icon_Crop = {
updateCoords : function ( coords ) {
$('#crop-x').val( coords.x );
$('#crop-y').val( coords.y );
$('#crop-width').val( coords.w );
$('#crop-height').val( coords.h );
Site_Icon_Crop.showPreview( coords );
},
showPreview : function( coords ){
var rx, ry, crop_image, home_icon, preview_rx, preview_ry, favicon;
rx = 64 / coords.w;
ry = 64 / coords.h;
crop_image = $('#crop-image');
home_icon = $('#preview-homeicon');
home_icon.css({
width: Math.round(rx * crop_image.attr( 'width' ) ) + 'px',
height: Math.round(ry * crop_image.attr( 'height' ) ) + 'px',
marginLeft: '-' + Math.round(rx * coords.x) + 'px',
marginTop: '-' + Math.round(ry * coords.y) + 'px'
});
preview_rx = 16 / coords.w;
preview_ry = 16 / coords.h;
favicon = $('#preview-favicon');
favicon.css({
width: Math.round( preview_rx * crop_image.attr( 'width' ) ) + 'px',
height: Math.round( preview_ry * crop_image.attr( 'height' ) ) + 'px',
marginLeft: '-' + Math.round( preview_rx * coords.x ) + 'px',
marginTop: '-' + Math.floor( preview_ry* coords.y ) + 'px'
});
},
ready: function() {
jcrop_api = $.Jcrop('#crop-image');
jcrop_api.setOptions({
aspectRatio: 1,
onSelect: Site_Icon_Crop.updateCoords,
onChange: Site_Icon_Crop.updateCoords,
minSize: [ Site_Icon_Crop_Data.min_size, Site_Icon_Crop_Data.min_size ]
});
jcrop_api.animateTo([Site_Icon_Crop_Data.init_x, Site_Icon_Crop_Data.init_y, Site_Icon_Crop_Data.init_size, Site_Icon_Crop_Data.init_size]);
}
};
Site_Icon_Crop.ready();
})(jQuery);