]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #3832 initialize avatar crop area
authorcash <cash.costello@gmail.com>
Thu, 27 Oct 2011 22:30:26 +0000 (18:30 -0400)
committercash <cash.costello@gmail.com>
Thu, 27 Oct 2011 22:30:26 +0000 (18:30 -0400)
js/lib/avatar_cropper.js

index bfd76225be8b22d1849d3bcfd86be646c42747b1..df6ba78660584534e3161f48f93915c5da491700 100644 (file)
@@ -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);