hedera-web/forms/news/new/new.js

94 lines
1.9 KiB
JavaScript

Vn.include ('node_modules/tinymce/tinymce.min');
Vn.define (function () {
Hedera.New = new Class
({
Extends: Hedera.Form
,editor: null
,activate: function ()
{
this.$('model').mode = Db.Model.Mode.ON_DEMAND;
this.$('model').setDefault ('user_id', 'news',
new Sql.Function ({schema: 'account', name: 'userGetId'}));
tinymce.init ({
mode : 'exact'
,target: this.$('html-editor')
,plugins: [
"advlist autolink lists link image charmap print preview hr"
,"anchor pagebreak searchreplace wordcount visualblocks"
,"visualchars code fullscreen insertdatetime media nonbreaking"
,"save table contextmenu directionality emoticons template"
,"paste textcolor"
]
,toolbar:
" print preview | link image media emoticons blockquote"
+" | insertfile undo redo | bold italic"
+" | alignleft aligncenter alignright alignjustify"
+" | bullist numlist outdent indent"
+" | styleselect | fontselect fontsizeselect"
+" | forecolor backcolor"
,image_advtab: true
,init_instance_callback : this._onEditorInit.bind (this)
});
}
,deactivate: function ()
{
this.editor.destroy ();
}
,_onEditorInit: function (editor)
{
this.editor = editor;
editor.getDoc ().body.style.fontSize = '1em';
this.setEditorText ();
}
,setEditorText: function ()
{
if (!this.editor)
return;
var newHtml = this.$('iter').get ('text');
if (!newHtml)
newHtml = '';
this.editor.setContent (newHtml);
}
,onStatusChange: function (form)
{
if (this.hash.get('new') == 0)
form.insertRow ();
}
,onOperationsDone: function ()
{
Htk.Toast.showMessage (_('NewChangedSuccessfully'));
this.onReturnClick ();
}
,onBodyChange: function ()
{
this.setEditorText ();
}
,onAcceptClick: function ()
{
this.$('iter').set ('text', this.editor.getContent ());
this.$('iter').performOperations ();
}
,onReturnClick: function ()
{
this.hash.setAll ({'form': 'news/news'});
}
});
});