Skip to content

Commit

Permalink
Added image preview for uploads
Browse files Browse the repository at this point in the history
  • Loading branch information
snipe committed Feb 17, 2018
1 parent 9a4f5e0 commit d2403cd
Show file tree
Hide file tree
Showing 9 changed files with 49 additions and 12 deletions.
2 changes: 1 addition & 1 deletion public/css/build/all.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public/css/dist/all.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public/css/overrides.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion public/js/build/all.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public/js/dist/all.js

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions public/mix-manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
"/js/build/vue.js": "/js/build/vue.js?id=25049a0c0eb736e1c883",
"/css/AdminLTE.css": "/css/AdminLTE.css?id=b8be19a285eaf44eec37",
"/css/app.css": "/css/app.css?id=407edb63cc6b6dc62405",
"/css/overrides.css": "/css/overrides.css?id=33d8f8fea649acea5f9c",
"/css/overrides.css": "/css/overrides.css?id=c289c71c08df753ebc45",
"/js/build/vue.js.map": "/js/build/vue.js.map?id=6b79d08f1decca72957c",
"/css/AdminLTE.css.map": "/css/AdminLTE.css.map?id=99f5a5a03c4155cf69f6",
"/css/app.css.map": "/css/app.css.map?id=bdbe05e6ecd70ccfac72",
"/css/overrides.css.map": "/css/overrides.css.map?id=898c91d4a425b01b589b",
"/css/dist/all.css": "/css/dist/all.css?id=dc1449877e0f8abedc47",
"/js/dist/all.js": "/js/dist/all.js?id=d3af8331997bd82e4ec4",
"/css/build/all.css": "/css/build/all.css?id=dc1449877e0f8abedc47",
"/js/build/all.js": "/js/build/all.js?id=d3af8331997bd82e4ec4"
"/css/dist/all.css": "/css/dist/all.css?id=5fdad90c2d445e4a1a2c",
"/js/dist/all.js": "/js/dist/all.js?id=6e959b16034ab00e3007",
"/css/build/all.css": "/css/build/all.css?id=5fdad90c2d445e4a1a2c",
"/js/build/all.js": "/js/build/all.js?id=6e959b16034ab00e3007"
}
30 changes: 29 additions & 1 deletion resources/assets/js/snipeit.js
Original file line number Diff line number Diff line change
Expand Up @@ -322,19 +322,42 @@ $(document).ready(function () {
// ------------------------------------------------



// Image preview
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$('#imagePreview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}

function formatBytes(bytes) {
if(bytes < 1024) return bytes + " Bytes";
else if(bytes < 1048576) return(bytes / 1024).toFixed(3) + " KB";
else if(bytes < 1073741824) return(bytes / 1048576).toFixed(3) + " MB";
else return(bytes / 1073741824).toFixed(3) + " GB";
};

// File size validation
$('#uploadFile').bind('change', function() {
$('#upload-file-status').removeClass('text-success').removeClass('text-danger');
$('.goodfile').remove();
$('.badfile').remove();
$('.badfile').remove();
$('.previewSize').hide();

var max_size = $('#uploadFile').data('maxsize');
var actual_size = this.files[0].size;

if (actual_size > max_size) {
$('#upload-file-status').addClass('text-danger').removeClass('help-block').prepend('<i class="badfile fa fa-times"></i> ');
$('#upload-file-status').addClass('text-danger').removeClass('help-block').prepend('<i class="badfile fa fa-times"></i> ').append('<span class="previewSize">This file is ' + formatBytes(actual_size) + '.</span>');
} else {
$('#upload-file-status').addClass('text-success').removeClass('help-block').prepend('<i class="goodfile fa fa-check"></i> ');
readURL(this);
$('#imagePreview').fadeIn();
}
$('#upload-file-info').html(this.files[0].name);

Expand All @@ -344,4 +367,9 @@ $(document).ready(function () {








});
6 changes: 6 additions & 0 deletions resources/assets/less/overrides.less
Original file line number Diff line number Diff line change
Expand Up @@ -330,3 +330,9 @@ img.navbar-brand-img, .navbar-brand>img {
#toolbar {
margin-top: 10px;
}

#uploadPreview {
border-color: grey;
border-width: 1px;
border-style: solid
}
5 changes: 4 additions & 1 deletion resources/views/partials/forms/edit/image-upload.blade.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<div class="form-group {{ $errors->has('image') ? 'has-error' : '' }}">
<label class="col-md-3 control-label" for="image">{{ trans('general.image_upload') }}</label>
<div class="col-md-9">
<div class="col-md-5">
<label class="btn btn-default">
{{ trans('button.select_file') }}
<input type="file" name="image" id="uploadFile" data-maxsize="{{ \App\Helpers\Helper::file_upload_max_size() }}" accept="image/gif,image/jpeg,image/png,image/svg" style="display:none">
Expand All @@ -10,5 +10,8 @@
<p class="help-block" id="upload-file-status">{{ trans('general.image_filetypes_help', ['size' => \App\Helpers\Helper::file_upload_max_size_readable()]) }}</p>
{!! $errors->first('image', '<span class="alert-msg">:message</span>') !!}
</div>
<div class="col-md-4">
<img id="imagePreview" style="max-width: 200px;">
</div>
</div>

0 comments on commit d2403cd

Please sign in to comment.