Skip to content

Commit c975afe

Browse files
committed
Add accept attribute to html input.
1 parent 6858108 commit c975afe

File tree

7 files changed

+28
-12
lines changed

7 files changed

+28
-12
lines changed

.versions

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ddp@1.1.0
1414
deps@1.0.7
1515
edgee:slingshot@0.6.2
1616
ejson@1.0.6
17-
elevatedevdesign:autoform-slingshot@0.0.3
17+
elevatedevdesign:autoform-slingshot@0.0.4
1818
geojson-utils@1.0.3
1919
html-tools@1.0.4
2020
htmljs@1.0.4
@@ -23,7 +23,7 @@ jquery@1.11.3_2
2323
json@1.0.3
2424
less@1.0.14
2525
livedata@1.0.13
26-
local-test:elevatedevdesign:autoform-slingshot@0.0.3
26+
local-test:elevatedevdesign:autoform-slingshot@0.0.4
2727
logging@1.0.7
2828
meteor@1.1.6
2929
minifiers@1.1.5

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ Type can also be
3737
* `String`
3838
* `[afSlingshot.fileSchema]`
3939

40+
### Allowed File Types
41+
Allowed file types is pulled from the first directive defined.
4042

4143
## TODO
4244
* The big one - Show errors

demo/.meteor/versions

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ deps@1.0.7
3333
djedi:sanitize-html@1.7.0
3434
edgee:slingshot@0.7.1
3535
ejson@1.0.6
36-
elevatedevdesign:autoform-slingshot@0.0.3
36+
elevatedevdesign:autoform-slingshot@0.0.4
3737
email@1.0.6
3838
fastclick@1.0.3
3939
fortawesome:fontawesome@4.3.0

demo/lib/collections/files.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
Schema = {};
22

3+
Slingshot.fileRestrictions("files", {
4+
allowedFileTypes: ["image/png", "image/jpeg", "image/gif"],
5+
maxSize: 10 * 1024 * 1024 // 10 MB (use null for unlimited).
6+
});
7+
8+
Slingshot.fileRestrictions("thumbnails", {
9+
allowedFileTypes: ["image/png", "image/jpeg", "image/gif"],
10+
maxSize: 1024 * 1024 // 10 MB (use null for unlimited).
11+
});
12+
313
if (Meteor.isServer) {
414
Slingshot.createDirective('files', Slingshot.S3Storage, {
515
bucket: Meteor.settings.public.files.bucket,
@@ -13,9 +23,7 @@ if (Meteor.isServer) {
1323
key: function(file) {
1424
var key = Meteor.uuid();
1525
return key;
16-
},
17-
allowedFileTypes: null,
18-
maxSize: 1024 * 1024 * 10
26+
}
1927
});
2028
Slingshot.createDirective('thumbnails', Slingshot.S3Storage, {
2129
bucket: Meteor.settings.public.files.bucket,
@@ -29,9 +37,7 @@ if (Meteor.isServer) {
2937
key: function(file) {
3038
var key = Meteor.uuid();
3139
return key;
32-
},
33-
allowedFileTypes: null,
34-
maxSize: 1024 * 1024
40+
}
3541
});
3642
}
3743

model.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,9 @@ afSlingshot.Model.prototype.data = function() {
108108
});
109109
return data;
110110
};
111+
112+
afSlingshot.Model.prototype.allowedFileTypes = function() {
113+
var firstDirective = this._config.directives[0];
114+
var restriction = Slingshot.getRestrictions( firstDirective.name );
115+
return restriction.allowedFileTypes;
116+
};

template.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,6 @@ <h4>{{filename}}</h4>
5252
{{/if}}
5353

5454
<!-- Actual file input -->
55-
<input type="file" accept="{{accept}}" style="display: none;" multiple="{{config.multipleUpload}}"/>
55+
<input type="file" accept="{{allowedFileTypes}}" style="display: none;" multiple="{{config.multipleUpload}}"/>
5656
</div>
5757
</template>

template.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,10 @@ Template.afSlingshot.helpers({
9696
var t = Template.instance();
9797
return t._config;
9898
},
99-
accept: function() {
100-
// TODO add directive accepts
99+
allowedFileTypes: function() {
100+
var t = Template.instance();
101+
var allowedFileTypes = t.afSlingshot.allowedFileTypes();
102+
return allowedFileTypes;
101103
},
102104
files: function() {
103105
var t = Template.instance();

0 commit comments

Comments
 (0)