Skip to content

Commit 2e526ce

Browse files
committed
add file picker to testbed
1 parent 8aa8c46 commit 2e526ce

File tree

3 files changed

+22
-11
lines changed

3 files changed

+22
-11
lines changed

examples/style.css

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ body {
88
p {
99
max-width: 900px;
1010
}
11+
input[type=file] {
12+
display: block;
13+
}
1114
input[type=range] {
1215
width: 300px;
1316
}

examples/testbed.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ <h1>smartcrop.js testbed</h1>
1010
<p>smartcrop.js is a content aware image cropping library. On this page you can test it with your own images. You can learn more about the library on it's <a href="https://github.com/jwagner/smartcrop.js/">github page</a>.</p>
1111
<div>
1212
<form>
13+
<input type=file name=file accept="image/*" >
1314
<label>Width<div><input name=width type="range" min=50 max=500 step=1 value=250 /><span class=value>250</span>px</div></label>
1415
<label>Height<div><input name=height type="range" min=50 max=500 step=1 value=250 /><span class=value>250</span>px</div></label>
1516
<label>minScale<div><input name=minScale type="range" min=0.5 max=1.0 step=0.1 value=0.9 /><span class=value>0.9</span></div></label>

examples/testbed.js

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,26 @@ $('html')
77
.on('dragover', function(e) {e.preventDefault(); return false;})
88
.on('drop', function(e) {
99
var files = e.originalEvent.dataTransfer.files;
10-
if (files.length > 0) {
11-
var file = files[0];
12-
if (typeof FileReader !== "undefined" && file.type.indexOf("image") != -1) {
13-
var reader = new FileReader();
14-
// Note: addEventListener doesn't work in Google Chrome for this event
15-
reader.onload = function (evt) {
16-
load(evt.target.result);
17-
};
18-
reader.readAsDataURL(file);
19-
}
20-
}
10+
handleFiles(files);
2111
return false;
2212
});
13+
$('input[type=file]').change(function(e) { handleFiles(this.files); } );
14+
15+
function handleFiles(files){
16+
if (files.length > 0) {
17+
var file = files[0];
18+
if (typeof FileReader !== "undefined" && file.type.indexOf("image") != -1) {
19+
var reader = new FileReader();
20+
// Note: addEventListener doesn't work in Google Chrome for this event
21+
reader.onload = function (evt) {
22+
load(evt.target.result);
23+
};
24+
reader.readAsDataURL(file);
25+
}
26+
}
27+
}
28+
29+
2330
load('images/flickr/kitty.jpg');
2431
$('input[type=range]').change(_.debounce(function(){
2532
$(this).next('.value').text($(this).val());

0 commit comments

Comments
 (0)