Browse Source

Fixed name conflicts between capture and upload of buddy picture.

pull/114/head
Simon Eisenmann 12 years ago
parent
commit
6d40d543a2
  1. 20
      static/js/directives/buddypicturecapture.js
  2. 11
      static/js/directives/buddypictureupload.js
  3. 10
      static/partials/buddypicturecapture.html
  4. 4
      static/partials/buddypictureupload.html

20
static/js/directives/buddypicturecapture.js

@ -142,17 +142,23 @@ define(['jquery', 'underscore', 'text!partials/buddypicturecapture.html'], funct
return videoAllowed.promise; return videoAllowed.promise;
}; };
$scope.initPicture = function() { $scope.startPictureCapture = function() {
videoStart(localStream); videoStart(localStream);
}; };
$scope.cancelPicture = function() { $scope.cancelPictureCapture = function() {
$scope.showTakePicture = false; $scope.showTakePicture = false;
$scope.previewPicture = false; $scope.previewPicture = false;
videoStop(localStream, $scope.video); videoStop(localStream, $scope.video);
}; };
$scope.retakePicture = function() { $scope.usePictureCapture = function() {
writeVideoToCanvas($scope.canvasPic);
$scope.save();
$scope.cancelPictureCapture();
};
$scope.retakePictureCapture = function() {
var permission = videoStart(localStream); var permission = videoStart(localStream);
permission.then(function(isPermitted) { permission.then(function(isPermitted) {
if(isPermitted) { if(isPermitted) {
@ -162,16 +168,10 @@ define(['jquery', 'underscore', 'text!partials/buddypicturecapture.html'], funct
}); });
}; };
$scope.takePicture = function() { $scope.takePictureCapture = function() {
makePicture(localStream, countDownFrom, delayToTakePicture); makePicture(localStream, countDownFrom, delayToTakePicture);
}; };
$scope.setAsProfilePicture = function() {
writeVideoToCanvas($scope.canvasPic);
$scope.save();
$scope.cancelPicture();
};
}]; }];
var link = function($scope, $element, $attrs, modelController) { var link = function($scope, $element, $attrs, modelController) {

11
static/js/directives/buddypictureupload.js

@ -126,19 +126,19 @@ define(['jquery', 'underscore', 'text!partials/buddypictureupload.html'], functi
$scope.prevImage.style.cssText = null; $scope.prevImage.style.cssText = null;
}; };
$scope.cancelPicture = function() { $scope.cancelPictureUpload = function() {
$scope.showUploadPicture = false; $scope.showUploadPicture = false;
$scope.previewUpload = false; $scope.previewUpload = false;
clearPicture(); clearPicture();
}; };
$scope.usePicture = function() { $scope.usePictureUpload = function() {
writePictureToCanvas($scope.canvasPic); writePictureToCanvas($scope.canvasPic);
$scope.save(); $scope.save();
$scope.cancelPicture(); $scope.cancelPictureUpload();
}; };
$scope.handleUpload = function(event) { $scope.handlePictureUpload = function(event) {
var file = event.target.files[0]; var file = event.target.files[0];
if (!file) { if (!file) {
return; return;
@ -205,7 +205,7 @@ define(['jquery', 'underscore', 'text!partials/buddypictureupload.html'], functi
$scope.prevImage = $element.find("img.preview").get(0); $scope.prevImage = $element.find("img.preview").get(0);
// Bind change event of file upload form. // Bind change event of file upload form.
$element.find("input[type=file]").on("change", $scope.handleUpload); $element.find("input[type=file]").on("change", $scope.handlePictureUpload);
var intervalNum = { var intervalNum = {
num: null num: null
@ -277,6 +277,7 @@ define(['jquery', 'underscore', 'text!partials/buddypictureupload.html'], functi
}; };
return { return {
scope: false,
restrict: 'E', restrict: 'E',
require: '^buddyPictureCapture', require: '^buddyPictureCapture',
replace: true, replace: true,

10
static/partials/buddypicturecapture.html

@ -9,17 +9,17 @@
<canvas class="videoPic hidden"></canvas> <canvas class="videoPic hidden"></canvas>
<canvas class="videoPrev hidden"></canvas> <canvas class="videoPrev hidden"></canvas>
<img class="preview" ng-class="{previewPicture: previewPicture}" ng-show="previewPicture" ng-src="{{preview}}" alt="" /> <img class="preview" ng-class="{previewPicture: previewPicture}" ng-show="previewPicture" ng-src="{{preview}}" alt="" />
<a class="btn btn-xs btn-success btn-takePicture" ng-disabled="countingDown || waitingForPermission" ng-show="!previewPicture && !countingDown" ng-click="takePicture()"> {{_('Take')}}</a> <a class="btn btn-xs btn-success btn-takePicture" ng-disabled="countingDown || waitingForPermission" ng-show="!previewPicture && !countingDown" ng-click="takePictureCapture()"> {{_('Take')}}</a>
<a class="btn btn-xs btn-success btn-retakePicture" ng-disabled="waitingForPermission" ng-show="previewPicture" ng-click="retakePicture()"> {{_('Retake')}}</a> <a class="btn btn-xs btn-success btn-retakePicture" ng-disabled="waitingForPermission" ng-show="previewPicture" ng-click="retakePictureCapture()"> {{_('Retake')}}</a>
</div> </div>
</div> </div>
<div> <div>
<a class="btn btn-small btn-default" ng-click="cancelPicture()"> {{_('Cancel')}}</a> <a class="btn btn-small btn-default" ng-click="cancelPictureCapture()"> {{_('Cancel')}}</a>
<a class="btn btn-small btn-primary" ng-disabled="!previewPicture || waitingForPermission" ng-click="setAsProfilePicture()"> {{_('Set as Profile Picture')}}</a> <a class="btn btn-small btn-primary" ng-disabled="!previewPicture || waitingForPermission" ng-click="usePictureCapture()"> {{_('Set as Profile Picture')}}</a>
</div> </div>
</div> </div>
<buddy-picture-upload></buddy-picture-upload> <buddy-picture-upload></buddy-picture-upload>
<a class="btn btn-small btn-primary" ng-show="!showTakePicture && !showUploadPicture" ng-disabled="waitingForPermission" ng-click="initPicture()"> {{_('Take picture')}}</a> <a class="btn btn-small btn-primary" ng-show="!showTakePicture && !showUploadPicture" ng-disabled="waitingForPermission" ng-click="startPictureCapture()"> {{_('Take picture')}}</a>
<a class="btn btn-small btn-default" ng-show="!showTakePicture && !showUploadPicture" ng-model="showUploadPicture" btn-checkbox>{{_('Upload picture')}}</a> <a class="btn btn-small btn-default" ng-show="!showTakePicture && !showUploadPicture" ng-model="showUploadPicture" btn-checkbox>{{_('Upload picture')}}</a>
<span ng-show="waitingForPermission"> <span ng-show="waitingForPermission">
<i class="fa fa-circle-o-notch fa-spin"></i> {{_('Waiting for camera')}} <i class="fa fa-circle-o-notch fa-spin"></i> {{_('Waiting for camera')}}

4
static/partials/buddypictureupload.html

@ -27,7 +27,7 @@
<input class="btn btn-success" bfi type="file" title="{{_('Select file')}}" data-filename-placement="outside"/> <input class="btn btn-success" bfi type="file" title="{{_('Select file')}}" data-filename-placement="outside"/>
</p> </p>
<p> <p>
<a class="btn btn-small btn-default" ng-click="cancelPicture()"> {{_('Cancel')}}</a> <a class="btn btn-small btn-default" ng-click="cancelPictureUpload()"> {{_('Cancel')}}</a>
<a class="btn btn-small btn-primary" ng-click="usePicture()" ng-disabled="!imgData"> {{_('Set as Profile Picture')}}</a> <a class="btn btn-small btn-primary" ng-click="usePictureUpload()" ng-disabled="!imgData"> {{_('Set as Profile Picture')}}</a>
</p> </p>
</div> </div>

Loading…
Cancel
Save