details views

This commit is contained in:
antelle 2019-09-16 18:41:06 +02:00
parent 2bcaa1926a
commit b16dd74492
3 changed files with 26 additions and 19 deletions

View File

@ -1,26 +1,29 @@
import Backbone from 'backbone';
import { View } from 'view-engine/view';
import template from 'templates/details/details-add-field.hbs';
const DetailsAddFieldView = Backbone.View.extend({
template: require('templates/details/details-add-field.hbs'),
class DetailsAddFieldView extends View {
parent = '.details__body-fields';
events: {
template = template;
events = {
'click .details__field-label': 'fieldLabelClick',
'click .details__field-value': 'fieldValueClick'
},
};
render() {
this.renderTemplate();
super.render();
this.labelEl = this.$el.find('.details__field-label');
return this;
},
}
fieldLabelClick() {
this.trigger('more-click');
},
this.emit('more-click');
}
fieldValueClick() {
this.trigger('add-field');
this.emit('add-field');
}
});
}
export { DetailsAddFieldView };

View File

@ -1,13 +1,14 @@
import Backbone from 'backbone';
import { View } from 'view-engine/view';
import { Shortcuts } from 'comp/app/shortcuts';
import template from 'templates/details/details-attachment.hbs';
const DetailsAttachmentView = Backbone.View.extend({
template: require('templates/details/details-attachment.hbs'),
class DetailsAttachmentView extends View {
template = template;
events: {},
events = {};
render(complete) {
this.renderTemplate({}, true);
super.render();
const shortcut = this.$el.find('.details__attachment-preview-download-text-shortcut');
shortcut.html(Shortcuts.actionShortcutSymbol(false));
const blob = new Blob([this.model.getBinary()], { type: this.model.mimeType });
@ -36,6 +37,6 @@ const DetailsAttachmentView = Backbone.View.extend({
complete();
return this;
}
});
}
export { DetailsAttachmentView };

View File

@ -369,7 +369,7 @@ const DetailsView = Backbone.View.extend({
}, this);
this.moreView = new DetailsAddFieldView();
this.moreView.setElement(fieldsMainEl).render();
this.moreView.render();
this.moreView.on('add-field', this.addNewField.bind(this));
this.moreView.on('more-click', this.toggleMoreOptions.bind(this));
},
@ -578,7 +578,10 @@ const DetailsView = Backbone.View.extend({
return;
}
this.removeSubView();
const subView = new DetailsAttachmentView({ el: this.scroller, model: attachment });
const subView = new DetailsAttachmentView(attachment, {
parent: this.scroller[0],
replace: true
});
subView.attId = id;
subView.render(this.pageResized.bind(this));
this.views.sub = subView;