Browse Source

‘open-assets’ - Simplify by adding an ‘accept’ option

pull/1028/head
Michal Tomaszewski 8 years ago
parent
commit
593acc4b42
  1. 1
      src/asset_manager/model/AssetImage.js
  2. 13
      src/commands/view/OpenAssets.js
  3. 1
      src/dom_components/view/ComponentImageView.js

1
src/asset_manager/model/AssetImage.js

@ -8,5 +8,4 @@ module.exports = Asset.extend({
height: 0,
width: 0
},
fileTypes: ['image/*']
});

13
src/commands/view/OpenAssets.js

@ -7,32 +7,29 @@ module.exports = {
const config = am.getConfig();
const title = opts.modalTitle || config.modalTitle || '';
var types = opts.types;
var accept = opts.accept;
am.setTarget(opts.target);
am.onClick(opts.onClick);
am.onDblClick(opts.onDblClick);
am.onSelect(opts.onSelect);
if (!this.rendered || types) {
if (!this.rendered || types || accept) {
var $html;
var assets;
var fileTypes = [];
if (types) {
assets = am.getAll().filter(asset => {
return types.indexOf(asset.get('type')) != -1
});
types.forEach((type, i) => {
fileTypes = fileTypes.concat((am.getType(type).model.prototype.fileTypes || ['*/*']));
})
} else {
assets = am.getAll();
fileTypes = '*/*';
}
$html = $(am.render(assets));
$html.find(`input#${config.stylePrefix}uploadFile`).attr('accept', $.unique(fileTypes).map((ext, i) => { return ext }).join(','));
if (accept) $html.find(`input#${config.stylePrefix}uploadFile`).attr('accept', accept);
this.rendered = 1;
}

1
src/dom_components/view/ComponentImageView.js

@ -68,6 +68,7 @@ module.exports = ComponentView.extend({
editor.runCommand('open-assets', {
target: this.model,
types: ['image'],
accept: 'image/*',
onSelect() {
editor.Modal.close();
editor.AssetManager.setTarget(null);

Loading…
Cancel
Save