Fixed avatar file upload and updated cropper.
This commit is contained in:
parent
9d3e868ce2
commit
e8f1f9b3db
6 changed files with 2763 additions and 27 deletions
|
@ -208,16 +208,18 @@ class ImageCropper extends App.ControllerModal
|
||||||
|
|
||||||
initializeCropper: =>
|
initializeCropper: =>
|
||||||
@image.cropper
|
@image.cropper
|
||||||
aspectRatio: 1,
|
aspectRatio: 1
|
||||||
guides: false,
|
guides: false
|
||||||
autoCrop: true,
|
autoCrop: true
|
||||||
autoCropArea: 1,
|
autoCropArea: 1
|
||||||
preview: ".imageCropper-preview"
|
minContainerWidth: 500
|
||||||
|
minContainerHeight: 300
|
||||||
|
preview: '.imageCropper-preview'
|
||||||
|
|
||||||
onSubmit: (e) =>
|
onSubmit: (e) =>
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
@options.callback( @image.cropper("getDataURL") )
|
@options.callback( @image.cropper('getCroppedCanvas').toDataURL() )
|
||||||
@image.cropper("destroy")
|
@image.cropper('destroy')
|
||||||
@hide()
|
@hide()
|
||||||
|
|
||||||
|
|
||||||
|
|
2463
app/assets/javascripts/app/lib/base/cropper.js
Normal file
2463
app/assets/javascripts/app/lib/base/cropper.js
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
@ -4,7 +4,7 @@
|
||||||
* the top of the compiled file, but it's generally better to create a new file per style scope.
|
* the top of the compiled file, but it's generally better to create a new file per style scope.
|
||||||
*= require_self
|
*= require_self
|
||||||
*= require ./bootstrap.css
|
*= require ./bootstrap.css
|
||||||
*= require ./cropper.min.css
|
*= require ./cropper.css
|
||||||
*= require ./fineuploader.css
|
*= require ./fineuploader.css
|
||||||
*= require ./ui-lightness/jquery-ui-1.11.2.css
|
*= require ./ui-lightness/jquery-ui-1.11.2.css
|
||||||
*= require ./jquery.noty.css
|
*= require ./jquery.noty.css
|
||||||
|
|
290
app/assets/stylesheets/cropper.css
Normal file
290
app/assets/stylesheets/cropper.css
Normal file
|
@ -0,0 +1,290 @@
|
||||||
|
/*!
|
||||||
|
* Cropper v1.0.0-rc.1
|
||||||
|
* https://github.com/fengyuanchen/cropper
|
||||||
|
*
|
||||||
|
* Copyright (c) 2014-2015 Fengyuan Chen and contributors
|
||||||
|
* Released under the MIT license
|
||||||
|
*
|
||||||
|
* Date: 2015-09-05T04:29:22.355Z
|
||||||
|
*/
|
||||||
|
.cropper-container {
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
font-size: 0;
|
||||||
|
line-height: 0;
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
|
-webkit-user-select: none;
|
||||||
|
-moz-user-select: none;
|
||||||
|
-ms-user-select: none;
|
||||||
|
user-select: none;
|
||||||
|
|
||||||
|
direction: ltr !important;
|
||||||
|
-webkit-tap-highlight-color: transparent;
|
||||||
|
-webkit-touch-callout: none;
|
||||||
|
}
|
||||||
|
.cropper-container img {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
min-width: 0 !important;
|
||||||
|
max-width: none !important;
|
||||||
|
height: 100%;
|
||||||
|
min-height: 0 !important;
|
||||||
|
max-height: none !important;
|
||||||
|
|
||||||
|
image-orientation: 0deg !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-canvas,
|
||||||
|
.cropper-drag-box,
|
||||||
|
.cropper-crop-box,
|
||||||
|
.cropper-modal {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-drag-box {
|
||||||
|
background-color: #fff;
|
||||||
|
filter: alpha(opacity=0);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-modal {
|
||||||
|
background-color: #000;
|
||||||
|
filter: alpha(opacity=50);
|
||||||
|
opacity: .5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-view-box {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
outline: 1px solid #69f;
|
||||||
|
outline-color: rgba(102, 153, 255, .75);
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-dashed {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
filter: alpha(opacity=50);
|
||||||
|
border: 0 dashed #eee;
|
||||||
|
opacity: .5;
|
||||||
|
}
|
||||||
|
.cropper-dashed.dashed-h {
|
||||||
|
top: 33.33333%;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 33.33333%;
|
||||||
|
border-top-width: 1px;
|
||||||
|
border-bottom-width: 1px;
|
||||||
|
}
|
||||||
|
.cropper-dashed.dashed-v {
|
||||||
|
top: 0;
|
||||||
|
left: 33.33333%;
|
||||||
|
width: 33.33333%;
|
||||||
|
height: 100%;
|
||||||
|
border-right-width: 1px;
|
||||||
|
border-left-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-center {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
display: block;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
filter: alpha(opacity=75);
|
||||||
|
opacity: .75;
|
||||||
|
}
|
||||||
|
.cropper-center:before,
|
||||||
|
.cropper-center:after {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
content: " ";
|
||||||
|
background-color: #eee;
|
||||||
|
}
|
||||||
|
.cropper-center:before {
|
||||||
|
top: 0;
|
||||||
|
left: -3px;
|
||||||
|
width: 7px;
|
||||||
|
height: 1px;
|
||||||
|
}
|
||||||
|
.cropper-center:after {
|
||||||
|
top: -3px;
|
||||||
|
left: 0;
|
||||||
|
width: 1px;
|
||||||
|
height: 7px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-face,
|
||||||
|
.cropper-line,
|
||||||
|
.cropper-point {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
filter: alpha(opacity=10);
|
||||||
|
opacity: .1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-face {
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-line {
|
||||||
|
background-color: #69f;
|
||||||
|
}
|
||||||
|
.cropper-line.line-e {
|
||||||
|
top: 0;
|
||||||
|
right: -3px;
|
||||||
|
width: 5px;
|
||||||
|
cursor: e-resize;
|
||||||
|
}
|
||||||
|
.cropper-line.line-n {
|
||||||
|
top: -3px;
|
||||||
|
left: 0;
|
||||||
|
height: 5px;
|
||||||
|
cursor: n-resize;
|
||||||
|
}
|
||||||
|
.cropper-line.line-w {
|
||||||
|
top: 0;
|
||||||
|
left: -3px;
|
||||||
|
width: 5px;
|
||||||
|
cursor: w-resize;
|
||||||
|
}
|
||||||
|
.cropper-line.line-s {
|
||||||
|
bottom: -3px;
|
||||||
|
left: 0;
|
||||||
|
height: 5px;
|
||||||
|
cursor: s-resize;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-point {
|
||||||
|
width: 5px;
|
||||||
|
height: 5px;
|
||||||
|
background-color: #69f;
|
||||||
|
filter: alpha(opacity=75);
|
||||||
|
opacity: .75;
|
||||||
|
}
|
||||||
|
.cropper-point.point-e {
|
||||||
|
top: 50%;
|
||||||
|
right: -3px;
|
||||||
|
margin-top: -3px;
|
||||||
|
cursor: e-resize;
|
||||||
|
}
|
||||||
|
.cropper-point.point-n {
|
||||||
|
top: -3px;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -3px;
|
||||||
|
cursor: n-resize;
|
||||||
|
}
|
||||||
|
.cropper-point.point-w {
|
||||||
|
top: 50%;
|
||||||
|
left: -3px;
|
||||||
|
margin-top: -3px;
|
||||||
|
cursor: w-resize;
|
||||||
|
}
|
||||||
|
.cropper-point.point-s {
|
||||||
|
bottom: -3px;
|
||||||
|
left: 50%;
|
||||||
|
margin-left: -3px;
|
||||||
|
cursor: s-resize;
|
||||||
|
}
|
||||||
|
.cropper-point.point-ne {
|
||||||
|
top: -3px;
|
||||||
|
right: -3px;
|
||||||
|
cursor: ne-resize;
|
||||||
|
}
|
||||||
|
.cropper-point.point-nw {
|
||||||
|
top: -3px;
|
||||||
|
left: -3px;
|
||||||
|
cursor: nw-resize;
|
||||||
|
}
|
||||||
|
.cropper-point.point-sw {
|
||||||
|
bottom: -3px;
|
||||||
|
left: -3px;
|
||||||
|
cursor: sw-resize;
|
||||||
|
}
|
||||||
|
.cropper-point.point-se {
|
||||||
|
right: -3px;
|
||||||
|
bottom: -3px;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
cursor: se-resize;
|
||||||
|
filter: alpha(opacity=100);
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.cropper-point.point-se:before {
|
||||||
|
position: absolute;
|
||||||
|
right: -50%;
|
||||||
|
bottom: -50%;
|
||||||
|
display: block;
|
||||||
|
width: 200%;
|
||||||
|
height: 200%;
|
||||||
|
content: " ";
|
||||||
|
background-color: #69f;
|
||||||
|
filter: alpha(opacity=0);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.cropper-point.point-se {
|
||||||
|
width: 15px;
|
||||||
|
height: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.cropper-point.point-se {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (min-width: 1200px) {
|
||||||
|
.cropper-point.point-se {
|
||||||
|
width: 5px;
|
||||||
|
height: 5px;
|
||||||
|
filter: alpha(opacity=75);
|
||||||
|
opacity: .75;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-bg {
|
||||||
|
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC");
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-invisible {
|
||||||
|
filter: alpha(opacity=0);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-hide {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-hidden {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-move {
|
||||||
|
cursor: move;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-crop {
|
||||||
|
cursor: crosshair;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cropper-disabled .cropper-drag-box,
|
||||||
|
.cropper-disabled .cropper-face,
|
||||||
|
.cropper-disabled .cropper-line,
|
||||||
|
.cropper-disabled .cropper-point {
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
9
app/assets/stylesheets/cropper.min.css
vendored
9
app/assets/stylesheets/cropper.min.css
vendored
|
@ -1,9 +0,0 @@
|
||||||
/*!
|
|
||||||
* Cropper v0.9.3
|
|
||||||
* https://github.com/fengyuanchen/cropper
|
|
||||||
*
|
|
||||||
* Copyright (c) 2014-2015 Fengyuan Chen and contributors
|
|
||||||
* Released under the MIT license
|
|
||||||
*
|
|
||||||
* Date: 2015-05-10T07:25:08.257Z
|
|
||||||
*/.cropper-container{position:relative;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.cropper-container img{display:block;width:100%;min-width:0!important;max-width:none!important;height:100%;min-height:0!important;max-height:none!important;image-orientation:0deg!important}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal{position:absolute;top:0;right:0;bottom:0;left:0}.cropper-drag-box{background-color:#fff;filter:alpha(opacity=0);opacity:0}.cropper-modal{background-color:#000;filter:alpha(opacity=50);opacity:.5}.cropper-view-box{display:block;width:100%;height:100%;overflow:hidden;outline:1px solid #69f;outline-color:rgba(102,153,255,.75)}.cropper-dashed{position:absolute;display:block;filter:alpha(opacity=50);border:0 dashed #fff;opacity:.5}.cropper-dashed.dashed-h{top:33.33333333%;left:0;width:100%;height:33.33333333%;border-top-width:1px;border-bottom-width:1px}.cropper-dashed.dashed-v{top:0;left:33.33333333%;width:33.33333333%;height:100%;border-right-width:1px;border-left-width:1px}.cropper-face,.cropper-line,.cropper-point{position:absolute;display:block;width:100%;height:100%;filter:alpha(opacity=10);opacity:.1}.cropper-face{top:0;left:0;cursor:move;background-color:#fff}.cropper-line{background-color:#69f}.cropper-line.line-e{top:0;right:-3px;width:5px;cursor:e-resize}.cropper-line.line-n{top:-3px;left:0;height:5px;cursor:n-resize}.cropper-line.line-w{top:0;left:-3px;width:5px;cursor:w-resize}.cropper-line.line-s{bottom:-3px;left:0;height:5px;cursor:s-resize}.cropper-point{width:5px;height:5px;background-color:#69f;filter:alpha(opacity=75);opacity:.75}.cropper-point.point-e{top:50%;right:-3px;margin-top:-3px;cursor:e-resize}.cropper-point.point-n{top:-3px;left:50%;margin-left:-3px;cursor:n-resize}.cropper-point.point-w{top:50%;left:-3px;margin-top:-3px;cursor:w-resize}.cropper-point.point-s{bottom:-3px;left:50%;margin-left:-3px;cursor:s-resize}.cropper-point.point-ne{top:-3px;right:-3px;cursor:ne-resize}.cropper-point.point-nw{top:-3px;left:-3px;cursor:nw-resize}.cropper-point.point-sw{bottom:-3px;left:-3px;cursor:sw-resize}.cropper-point.point-se{right:-3px;bottom:-3px;width:20px;height:20px;cursor:se-resize;filter:alpha(opacity=100);opacity:1}.cropper-point.point-se:before{position:absolute;right:-50%;bottom:-50%;display:block;width:200%;height:200%;content:" ";background-color:#69f;filter:alpha(opacity=0);opacity:0}@media (min-width:768px){.cropper-point.point-se{width:15px;height:15px}}@media (min-width:992px){.cropper-point.point-se{width:10px;height:10px}}@media (min-width:1200px){.cropper-point.point-se{width:5px;height:5px;filter:alpha(opacity=75);opacity:.75}}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-invisible{filter:alpha(opacity=0);opacity:0}.cropper-hide{position:fixed;top:0;left:0;z-index:-1;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;min-height:0!important;max-height:none!important;filter:alpha(opacity=0);opacity:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}
|
|
Loading…
Reference in a new issue