mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-25 11:55:03 +03:00
Fix empty image when navigating to new editor from an editor with image
closes #5840 - calls `reset()` on the uploader when re-rendered with a blank image - calls `reset()` and `initWithImage()` on the uploader when re-rendered with an image and the uploader is still in the "blank" state
This commit is contained in:
parent
917f1b32f5
commit
48d61af3a8
@ -52,6 +52,31 @@ export default Ember.Component.extend({
|
||||
this.removeListeners();
|
||||
},
|
||||
|
||||
// NOTE: because the uploader is sometimes in the same place in the DOM
|
||||
// between transitions Glimmer will re-use the existing elements including
|
||||
// those that arealready decorated by jQuery. The following works around
|
||||
// situations where the image is changed without a full teardown/rebuild
|
||||
didReceiveAttrs: function (attrs) {
|
||||
var oldValue = attrs.oldAttrs && Ember.get(attrs.oldAttrs, 'image.value'),
|
||||
newValue = attrs.newAttrs && Ember.get(attrs.newAttrs, 'image.value'),
|
||||
self = this;
|
||||
|
||||
// always reset when we receive a blank image
|
||||
// - handles navigating to populated image from blank image
|
||||
if (Ember.isEmpty(newValue) && !Ember.isEmpty(oldValue)) {
|
||||
self.$()[0].uploaderUi.reset();
|
||||
}
|
||||
|
||||
// re-init if we receive a new image but the uploader is blank
|
||||
// - handles back button navigating from blank image to populated image
|
||||
if (!Ember.isEmpty(newValue) && this.$()) {
|
||||
if (this.$('.js-upload-target').attr('src') === '') {
|
||||
this.$()[0].uploaderUi.reset();
|
||||
this.$()[0].uploaderUi.initWithImage();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
actions: {
|
||||
initUploader: function () {
|
||||
var ref,
|
||||
|
Loading…
Reference in New Issue
Block a user