0
1
Fork 0
hedera-web-mindshore/js/htk/image-editor/index.js

61 lines
1.2 KiB
JavaScript

require('./style.scss');
var Component = require('vn/component');
var Toast = require('../toast');
var Tpl = require('./ui.xml').default;
/**
* A form to handle the image database, it allows to add new images or
* replace it.
*/
module.exports = new Class({
Extends: Component,
Properties: {
/**
* The REST connection used to upload the image.
*/
conn: {
type: Vn.JsonConnection
}
},
initialize(props) {
this.loadTemplateFromString(Tpl);
this.$.form.onsubmit = () => {
this._onSubmit(); return false;
};
Component.prototype.initialize.call(this, props);
},
onNameChange() {
var newValue = this.$.name.value;
if (!newValue)
newValue = null
this.emit('name-changed', newValue);
},
async _onSubmit() {
this.$.hiddenName.value = this.$.name.value;
this.$.submit.disabled = true;
this.$.spinner.start();
try {
await this.conn.sendFormMultipart(this.$.form);
Toast.showMessage(_('ImageAdded'));
this.emit('file-uploaded', this.$.name.value);
} finally {
this.$.submit.disabled = false;
this.$.spinner.stop();
}
},
setData(image, directory) {
this.$.name.value = image;
this.$.schema.value = directory;
}
});