hedera-web/web/js/htk/image-editor.js

71 lines
1.4 KiB
JavaScript
Executable File

Vn.resource ('js/htk/image-editor.xml');
Vn.define (function () {
/**
* A form to handle the image database, it allows to add new images or
* replace it.
**/
Htk.ImageEditor = new Class
({
Extends: Htk.Widget
,initialize: function (props)
{
this.builderInit (this.constructor.Xml);
this.$('max-size').value = 10 /* MB */ * 1048576;
this.$('form').action =
'//'+ Vn.Config['image_host'] +'/rest.php?action=image';
this.parent (props);
}
,onNameChange: function ()
{
var newValue = this.$('name').value;
if (!newValue)
newValue = null
this.signalEmit ('name-changed', newValue);
}
,onFormSubmit: function ()
{
this.$('submit').disabled = true;
this.$('loader').style.visibility = 'visible';
}
,onIframeLoad: function ()
{
this.$('submit').disabled = false;
this.$('loader').style.visibility = 'hidden';
try {
var responseText = this.$('iframe').contentDocument.body.textContent;
var response = eval ('('+ responseText +')');
if (response.data)
{
this.signalEmit ('file-uploaded', this.$('name').value);
Htk.Toast.showMessage (_('ImageAdded'));
}
else
Htk.Toast.showError (response.error.message +' ('+ response.error.code +')');
}
catch (e) {}
}
,setData: function (image, directory)
{
this.$('name').value = image;
this.$('schema').value = directory;
}
}).extend
({
Xml: 'js/htk/image-editor.xml'
});
});