/** * A form to handle the image database, it allows to add new images or replace it **/ Htk.ImageEditor = new Class ({ Extends: Htk.Widget ,Xml: 'js/htk/image-editor.xml' ,initialize: function (props) { this.parent (props) this.builderInit (this.constructor.Xml); this.$('max-size').value = 10 /* MB */ * 1048576; } ,onNameChange: function () { this.signalEmit ('name-changed', this.$('name').value); } ,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; } });