diff options
Diffstat (limited to 'js')
-rw-r--r-- | js/lib/avatar_cropper.js | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/js/lib/avatar_cropper.js b/js/lib/avatar_cropper.js index bfd76225b..df6ba7866 100644 --- a/js/lib/avatar_cropper.js +++ b/js/lib/avatar_cropper.js @@ -6,18 +6,40 @@ elgg.provide('elgg.avatarCropper'); /** * Register the avatar cropper. + * + * If the hidden inputs have the coordinates from a previous cropping, begin + * the selection and preview with that displayed. */ elgg.avatarCropper.init = function() { - $('#user-avatar-cropper').imgAreaSelect({ + var params = { selectionOpacity: 0, aspectRatio: '1:1', onSelectEnd: elgg.avatarCropper.selectChange, onSelectChange: elgg.avatarCropper.preview - }); + }; + + if ($('input[name=x2]').val()) { + params.x1 = $('input[name=x1]').val(); + params.x2 = $('input[name=x2]').val(); + params.y1 = $('input[name=y1]').val(); + params.y2 = $('input[name=y2]').val(); + } + + $('#user-avatar-cropper').imgAreaSelect(params); + + if ($('input[name=x2]').val()) { + var ias = $('#user-avatar-cropper').imgAreaSelect({instance: true}); + var selection = ias.getSelection(); + elgg.avatarCropper.preview($('#user-avatar-cropper'), selection); + } } /** * Handler for changing select area. + * + * @param {Object} reference to the image + * @param {Object} imgareaselect selection object + * @return void */ elgg.avatarCropper.preview = function(img, selection) { // catch for the first click on the image @@ -39,6 +61,10 @@ elgg.avatarCropper.preview = function(img, selection) { /** * Handler for updating the form inputs after select ends + * + * @param {Object} reference to the image + * @param {Object} imgareaselect selection object + * @return void */ elgg.avatarCropper.selectChange = function(img, selection) { $('input[name=x1]').val(selection.x1); |