I would like to override the event that occurs when the save icon is clicked. I can't seem to find the docs that describe the events available in the editor. Any pointers?
I have the same problem, I would like to capture the commands to implement something like a track change, an I couldn´t find the available events. I really appreciate any help
I still don't see a list of available events anywhere though and one of the source files is completely commented out.
Perhaps I'm missing something completelly
The source file you looked at which is commented out (_source/core/eventInfo.js) is just a tutorial of how the events system works. If by reading that, you haven't picked it up yet, you may well struggle with this, so you should move on and try something else maybe?
Look at _source/core/editor.js to see working examples of the event system :
editor.fireOnce( 'customConfigLoaded' );
The customConfigLoaded is fired (The event has happened or has been triggered.)
Creates the listener for the customConfigLoaded event. So when the customConfigLoaded event is fired, everything inside the listener's function is actioned.
It doesn't really get much deeper than that. If you look through the source code, you will see the many events being declared and their event listeners being added.
In plugins, you also have events which you can use. The most common being init, which is when the plugin is first loaded :
In the above, when the plugin is loaded and once the instanceReady event has been fired (By the CKEditor's core,) then removeListener removes the listener (Otherwise the listener will continue to listen for the instanceReady event,) a variable name config is created which contains the text : 'some thing' and then an alert displaying the text 'instanceReady fired!' is shown.
e.removeListener();
Is used to remove the listener in the example but there are plenty of reasons you wouldn't do this, if for instance you have a reoccurring event that you want the same function actioned after, every time the event is fired.
That's as plain as I can make it and hopefully that helps. The event system is very simple and you will only begin to understand it properly by exploring the examples, writing test plugins, which you can use to experiment with and confirm for yourself when certain events are fired. A simple alert plugin is a start and all the predefined editor events can be found in CKEditor's source code.
You can also define, fire and listen for events of your own creation.
After reading this and several other posts I've come to the conclusion that there is no complete list of events anywhere in the documentation for the CKEditor. How the eventing system works is relatively obvious. What's not obvious is what the different events are called. Are you actually suggesting that devs who want to use the CKEditor's events should have to sift through the source code to figure them out? If you know of any complete list of events for the CKEditor please point us in the right direction.
Yes the documentation is poor, I'm sure that the guys will improve that over time.
jpeterson7755 wrote:After reading this and several other posts I've come to the conclusion that there is no complete list of events anywhere in the documentation for the CKEditor.
True and I doubt that there ever will be or even a comprehensive list.
jpeterson7755 wrote:What's not obvious is what the different events are called.
False. It's actually glaringly obvious in the source code, for example :
editor.fireOnce( 'customConfigLoaded' );
That statement indicates to me that you misunderstand the event system (And your next question indicates why.) CKEditor events are dynamic and not static. That is to say that they can happen in any part of CKEditor's core code and it's plugins, at any time, as many times as required. As CKEditor development continues; more events will be added (And may be some will also be removed.) Keeping tabs on what all the events are, when they are fired and how often they are fired is a pointless exercise because that information will change between releases and it is easy to locate an event firing by simply studying the part of CKEditor's code which you are trying to hook into.
jpeterson7755 wrote:Are you actually suggesting that devs who want to use the CKEditor's events should have to sift through the source code to figure them out?
Yes. If you are looking to manipulate CKEditor using it's javascript API, you should learn the javascript API and reference CKEditor's source code so that you understand how the software works.
If you don't want to look at the source code and understand how the API works so that you can manipulate CKEditor, you are avoiding the correct way to go about extending or improving CKEditor correctly. Anyone who calls them self a developer or "Dev" As you put it, who doesn't study the source code, isn't one unfortunately. Chancer or amateur would be the correct term for those types of fakes who falsely claim to be developers when all they did was copy a provided example into a project of their own without any level of real understanding of what they've copied.
Providing a list of events would solve nothing also, should you not understand what to do with them. Without studying the relevant section of the source code, you definitely won't.
By all means, create your own list and maybe share it. If it is a help to you and you can reliably update it every time a new CKEditor version is released.
Re: Where is the documentation for events?
Study the source code of the plugins and the editor itself to learn how the event system works.
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.eventInfo.html shows you how the events system works.
http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.event.html details the class.
Thanks,
Zanpakutō
Re: Where is the documentation for events?
I still don't see a list of available events anywhere though and one of the source files is completely commented out.
Perhaps I'm missing something completelly
Re: Where is the documentation for events?
I really appreciate any help
Re: Where is the documentation for events?
The source file you looked at which is commented out (_source/core/eventInfo.js) is just a tutorial of how the events system works.
If by reading that, you haven't picked it up yet, you may well struggle with this, so you should move on and try something else maybe?
Look at _source/core/editor.js to see working examples of the event system :
The customConfigLoaded is fired (The event has happened or has been triggered.)
Creates the listener for the customConfigLoaded event. So when the customConfigLoaded event is fired, everything inside the listener's function is actioned.
It doesn't really get much deeper than that.
If you look through the source code, you will see the many events being declared and their event listeners being added.
In plugins, you also have events which you can use. The most common being init, which is when the plugin is first loaded :
In the above, when the plugin is loaded and once the instanceReady event has been fired (By the CKEditor's core,) then removeListener removes the listener (Otherwise the listener will continue to listen for the instanceReady event,) a variable name config is created which contains the text : 'some thing' and then an alert displaying the text 'instanceReady fired!' is shown.
Is used to remove the listener in the example but there are plenty of reasons you wouldn't do this, if for instance you have a reoccurring event that you want the same function actioned after, every time the event is fired.
That's as plain as I can make it and hopefully that helps. The event system is very simple and you will only begin to understand it properly by exploring the examples, writing test plugins, which you can use to experiment with and confirm for yourself when certain events are fired. A simple alert plugin is a start and all the predefined editor events can be found in CKEditor's source code.
You can also define, fire and listen for events of your own creation.
Thanks,
Zanpakutō
Re: Where is the documentation for events?
Re: Where is the documentation for events?
True and I doubt that there ever will be or even a comprehensive list.
False. It's actually glaringly obvious in the source code, for example :
That statement indicates to me that you misunderstand the event system (And your next question indicates why.)
CKEditor events are dynamic and not static. That is to say that they can happen in any part of CKEditor's core code and it's plugins, at any time, as many times as required.
As CKEditor development continues; more events will be added (And may be some will also be removed.)
Keeping tabs on what all the events are, when they are fired and how often they are fired is a pointless exercise because that information will change between releases and it is easy to locate an event firing by simply studying the part of CKEditor's code which you are trying to hook into.
Yes. If you are looking to manipulate CKEditor using it's javascript API, you should learn the javascript API and reference CKEditor's source code so that you understand how the software works.
If you don't want to look at the source code and understand how the API works so that you can manipulate CKEditor, you are avoiding the correct way to go about extending or improving CKEditor correctly.
Anyone who calls them self a developer or "Dev" As you put it, who doesn't study the source code, isn't one unfortunately. Chancer or amateur would be the correct term for those types of fakes who falsely claim to be developers when all they did was copy a provided example into a project of their own without any level of real understanding of what they've copied.
Providing a list of events would solve nothing also, should you not understand what to do with them.
Without studying the relevant section of the source code, you definitely won't.
By all means, create your own list and maybe share it. If it is a help to you and you can reliably update it every time a new CKEditor version is released.
Thanks,
Zanpakutō