diff --git a/src/asset_manager/model/AssetImage.js b/src/asset_manager/model/AssetImage.js index 137112e8e..286c83e37 100644 --- a/src/asset_manager/model/AssetImage.js +++ b/src/asset_manager/model/AssetImage.js @@ -7,5 +7,5 @@ module.exports = Asset.extend({ unitDim: 'px', height: 0, width: 0 - } + }, }); diff --git a/src/asset_manager/view/FileUploader.js b/src/asset_manager/view/FileUploader.js index 2c7098094..970cd29bd 100644 --- a/src/asset_manager/view/FileUploader.js +++ b/src/asset_manager/view/FileUploader.js @@ -5,7 +5,7 @@ module.exports = Backbone.View.extend( template: _.template(`
`), diff --git a/src/commands/view/OpenAssets.js b/src/commands/view/OpenAssets.js index 179c08976..238ec3d8a 100644 --- a/src/commands/view/OpenAssets.js +++ b/src/commands/view/OpenAssets.js @@ -1,17 +1,35 @@ +const $ = Backbone.$; + module.exports = { run(editor, sender, opts = {}) { const modal = editor.Modal; const am = editor.AssetManager; 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) { - am.render(am.getAll().filter(asset => asset.get('type') == 'image')); + if (!this.rendered || types || accept) { + var $html; + var assets; + + if (types) { + assets = am.getAll().filter(asset => { + return types.indexOf(asset.get('type')) != -1 + }); + } else { + assets = am.getAll(); + } + + $html = $(am.render(assets)); + + if (accept) $html.find(`input#${config.stylePrefix}uploadFile`).attr('accept', accept); + this.rendered = 1; } diff --git a/src/dom_components/view/ComponentImageView.js b/src/dom_components/view/ComponentImageView.js index 4fc8927e8..d7a2cecd8 100644 --- a/src/dom_components/view/ComponentImageView.js +++ b/src/dom_components/view/ComponentImageView.js @@ -67,6 +67,8 @@ module.exports = ComponentView.extend({ if (editor && this.model.get('editable')) { editor.runCommand('open-assets', { target: this.model, + types: ['image'], + accept: 'image/*', onSelect() { editor.Modal.close(); editor.AssetManager.setTarget(null);