Instead of having static HTML create the FCKEditor and plugin dialogs it would be nice if all dialogs was described using the following syntax (just a roughly example):
dialogLayout = {
title : 'Dialog title',
buttons : [{
text : 'Save / Set',
handler : function() {
// functionality
}
},{
text : 'Cancel,
handler : function() {
// functionality
}
}],
panels : [{
text : 'Tab #1',
type : 'borderlayout',
items : [{
...
}]
},{
text : 'Tab #2',
layout : [{
...
}]
}]
}
Take a look at how ExtJS does this.
Why would we want this? Well... as said earlier I would like to use ExtJS's popups, someone else will use FCKEditor standard popups and others will use popups from other APIs. The core FCKEditor should load a plugin to render its dialogs based on this syntax, and I will load another plugin to render it using ExtJS.
Maybe this could also be implemented for toolbars, buttons etc....
dialogLayout = {
title : 'Dialog title',
buttons : [{
text : 'Save / Set',
handler : function() {
// functionality
}
},{
text : 'Cancel,
handler : function() {
// functionality
}
}],
panels : [{
text : 'Tab #1',
type : 'borderlayout',
items : [{
...
}]
},{
text : 'Tab #2',
layout : [{
...
}]
}]
}
Take a look at how ExtJS does this.
Why would we want this? Well... as said earlier I would like to use ExtJS's popups, someone else will use FCKEditor standard popups and others will use popups from other APIs. The core FCKEditor should load a plugin to render its dialogs based on this syntax, and I will load another plugin to render it using ExtJS.
Maybe this could also be implemented for toolbars, buttons etc....
Re: Dialog layouts... (and buttons, toolbars etc.)
One of the ideas I have in mind is making it possible to download FCKeditor from a CDN. So, http://www.example.com can download FCKeditor from cdn.fckeditor.net (this is an example only ).
In the above scenario, there are some things we have to consider, regarding the way browser's download, render and execute resources:
Frederico Knabben
CKEditor Project Lead and CKSource Owner
--
Follow us on: Twitter | Facebook | Google+ | LinkedIn