in src/main/resources/static/gr-imagare-list-item.js [15:107]
(function () {
'use strict';
Polymer({
is: 'gr-imagare-list-item',
properties: {
imageUrl: {
type: String,
reflectToAttribute: true,
},
imageName: {
type: String,
reflectToAttribute: true,
},
imageData: {
type: String,
reflectToAttribute: true,
},
uploaded: {
type: Boolean,
observer: '_uploadedChanged',
reflectToAttribute: true,
},
_originalImageName: String,
_editing: {
type: Boolean,
value: false,
},
_imageSrc: String,
},
attached() {
this._originalImageName = this.imageName;
this._setImage();
},
_handleCancelRenameName() {
this.imageName = this._originalImageName;
this._editing = false;
},
_handleClearImage() {
this.fire("clear");
},
_handleDeleteImage() {
this.fire("delete");
},
_handleEditImage() {
this._editing = true;
},
_handleSaveName() {
this._editing = false;
if (this._originalImageName === this.imageName) {
return;
}
let oldFileType = this._originalImageName.split('.').pop();
let newFileType = this.imageName.split('.').pop();
if (oldFileType !== newFileType) {
this.imageName += `.${oldFileType}`;
}
this.fire("editName", {oldName: this._originalImageName, newName: this.imageName});
},
_handleUploadImage() {
this.fire("upload");
},
_openDeleteDialog() {
this.$.deleteOverlay.open();
},
_setImage() {
if (this.uploaded) {
this.$.thumbnail.setAttribute('src', this.imageUrl);
} else {
this.$.thumbnail.setAttribute('src', this.imageData);
}
},
_uploadedChanged(uploaded) {
this.$.uploading.hidden = !uploaded;
this.$.staging.hidden = uploaded;
this._setImage();
},
});
})();