2015-09-25 00:53:59 +00:00
|
|
|
|
|
|
|
Vn.resource ('js/htk/image-editor.xml');
|
2015-09-24 11:50:27 +00:00
|
|
|
Vn.define (function () {
|
2015-09-25 00:53:59 +00:00
|
|
|
|
2015-09-11 09:37:16 +00:00
|
|
|
/**
|
2015-12-19 15:42:38 +00:00
|
|
|
* A form to handle the image database, it allows to add new images or
|
|
|
|
* replace it.
|
2015-09-11 09:37:16 +00:00
|
|
|
**/
|
2015-03-06 23:33:54 +00:00
|
|
|
Htk.ImageEditor = new Class
|
2015-09-25 00:53:59 +00:00
|
|
|
({
|
2015-03-06 23:33:54 +00:00
|
|
|
Extends: Htk.Widget
|
2016-09-24 14:32:31 +00:00
|
|
|
,Properties:
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* The REST connection used to upload the image.
|
|
|
|
**/
|
|
|
|
conn:
|
|
|
|
{
|
|
|
|
type: Vn.JsonConnection
|
|
|
|
}
|
|
|
|
}
|
2015-03-06 23:33:54 +00:00
|
|
|
|
2015-09-11 09:37:16 +00:00
|
|
|
,initialize: function (props)
|
2015-03-06 23:33:54 +00:00
|
|
|
{
|
2015-09-11 09:37:16 +00:00
|
|
|
this.builderInit (this.constructor.Xml);
|
2015-09-25 00:53:59 +00:00
|
|
|
|
2016-08-25 10:47:09 +00:00
|
|
|
var self = this;
|
|
|
|
this.$('form').onsubmit = function ()
|
2016-09-24 14:32:31 +00:00
|
|
|
{ self._onSubmit (); return false; };
|
2015-11-09 08:14:33 +00:00
|
|
|
|
|
|
|
this.parent (props);
|
2015-03-27 19:10:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
,onNameChange: function ()
|
|
|
|
{
|
2015-12-10 13:48:43 +00:00
|
|
|
var newValue = this.$('name').value;
|
|
|
|
|
|
|
|
if (!newValue)
|
|
|
|
newValue = null
|
|
|
|
|
|
|
|
this.signalEmit ('name-changed', newValue);
|
2015-03-27 19:10:49 +00:00
|
|
|
}
|
|
|
|
|
2016-09-24 14:32:31 +00:00
|
|
|
,_onSubmit: function ()
|
2015-03-27 19:10:49 +00:00
|
|
|
{
|
|
|
|
this.$('submit').disabled = true;
|
2016-05-02 13:05:49 +00:00
|
|
|
this.$('spinner').start ();
|
2016-08-25 10:47:09 +00:00
|
|
|
|
2016-09-24 14:32:31 +00:00
|
|
|
this.conn.sendFormMultipart (this.$('form'),
|
|
|
|
this._onResponse.bind (this));
|
2015-03-27 19:10:49 +00:00
|
|
|
}
|
|
|
|
|
2016-09-24 14:32:31 +00:00
|
|
|
,_onResponse: function (request, json, error)
|
2015-09-11 09:37:16 +00:00
|
|
|
{
|
2015-03-27 19:10:49 +00:00
|
|
|
this.$('submit').disabled = false;
|
2016-05-02 13:05:49 +00:00
|
|
|
this.$('spinner').stop ();
|
2015-03-06 23:33:54 +00:00
|
|
|
|
2016-08-25 10:47:09 +00:00
|
|
|
if (json)
|
|
|
|
{
|
|
|
|
Htk.Toast.showMessage (_('ImageAdded'));
|
|
|
|
this.signalEmit ('file-uploaded', this.$('name').value);
|
2015-03-06 23:33:54 +00:00
|
|
|
}
|
2016-08-25 10:47:09 +00:00
|
|
|
else
|
|
|
|
Htk.Toast.showError (error.message);
|
2015-03-06 23:33:54 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
,setData: function (image, directory)
|
|
|
|
{
|
|
|
|
this.$('name').value = image;
|
|
|
|
this.$('schema').value = directory;
|
|
|
|
}
|
2015-09-25 13:35:01 +00:00
|
|
|
}).extend
|
|
|
|
({
|
|
|
|
Xml: 'js/htk/image-editor.xml'
|
2015-03-06 23:33:54 +00:00
|
|
|
});
|
|
|
|
|
2015-09-25 00:53:59 +00:00
|
|
|
});
|