const Backbone = require('backbone'); const FeatureDetector = require('../../util/feature-detector'); const DetailsAttachmentView = Backbone.View.extend({ template: require('templates/details/details-attachment.hbs'), events: {}, render: function(complete) { this.renderTemplate({}, true); const shortcut = this.$el.find('.details__attachment-preview-download-text-shortcut'); shortcut.html(FeatureDetector.actionShortcutSymbol(false)); const blob = new Blob([this.model.getBinary()], { type: this.model.mimeType }); const dataEl = this.$el.find('.details__attachment-preview-data'); switch ((this.model.mimeType || '').split('/')[0]) { case 'text': const reader = new FileReader(); reader.addEventListener('loadend', () => { $('
')
                        .text(reader.result)
                        .appendTo(dataEl);
                    complete();
                });
                reader.readAsText(blob);
                return this;
            case 'image':
                $('')
                    .attr('src', URL.createObjectURL(blob))
                    .appendTo(dataEl);
                complete();
                return this;
        }
        this.$el.addClass('details__attachment-preview--empty');
        this.$el.find('.details__attachment-preview-icon').addClass('fa-' + this.model.icon);
        complete();
        return this;
    }
});

module.exports = DetailsAttachmentView;