71 lines
1.4 KiB
JavaScript
71 lines
1.4 KiB
JavaScript
|
|
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'
|
|
});
|
|
|
|
});
|