I have been using summernote editor for a while now and it's working for most of the things I've needed it for. However, I recently wanted it disabled ( not destroyed ) after a user action. After efforts without success, it occurred to me I could use the destroy() method to achieve what I wanted. I noticed that Summernote still turned an already disabled textarea to its editor, with the writing area disabled. Here is what I finally did:
To disable summernote after creating it: I first destroyed it, then disabled the target element, and finally re-initialized it:
$(".summernoteTarget").destroy();
$(".summernoteTarget").prop('disabled', true );
$(".summernoteTarget").summernote();
And to enable it again, I first destroyed it as before, then enabled the target element, and lastly re-initialized it:
$(".summernoteTarget").destroy();
$(".summernoteTarget").prop('disabled', false );
$(".summernoteTarget").summernote();
This did the trick with minor problem: when it remains in the 'disabled' state, all the controls are not disabled, only the writing area is. So a user can still , say, drag a file onto the writing area but this raises an error.
Has anyone taken a look at the source of Summernote and can add two methods( disable and enable ) in addition to destroy(), so that we can do something like:
$(".summernoteTargetElement").disable();
$(".summernoteTargetElement").enable();
Thanks.
I don't know if you still need this. I am doing the following: For disable
For enable
textarea is my area where i applied the summernote.
But after this i am having problem with the code property when i post the page.
You can disable or enable editor with API after v0.7.3.
http://summernote.org/deep-dive/#disable-enable
This worked for me:
Source: https://github.com/summernote/summernote/issues/61
Hope this helps someone :)
In my situation I wanted to create a class selector for 2 summernote rich text editors. One would be enabled the other disabled.
To achieve this you can use this approach
The text area will allow the saved rich text code to be interpreted when you display it back in the textarea later.
Now when you create a summerNote rich text editor it does not convert your element to a summernote, rather it create a new element below the defined element. You can see this in the DOM if you inspect the various elements
Now to disable the editor
This selects the element that you defined as the summerNote and grabs the note-editor sibling. Within that sibling exists the note-editable textarea. This is the element that you would want to set its 'contenteditable' attribute to false.