X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=_source%2Fplugins%2Ftemplates%2Fplugin.js;fp=_source%2Fplugins%2Ftemplates%2Fplugin.js;h=dc8887050703261c45bcc374b85e2e707f287389;hb=ea7e3453c7b0f023b050aca6d9f83ab372860d91;hp=0000000000000000000000000000000000000000;hpb=b93873b6532ee7515fb0d6f8b73176c44fad28f7;p=ckeditor.git diff --git a/_source/plugins/templates/plugin.js b/_source/plugins/templates/plugin.js new file mode 100644 index 0000000..dc88870 --- /dev/null +++ b/_source/plugins/templates/plugin.js @@ -0,0 +1,99 @@ +/* +Copyright (c) 2003-2009, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +(function() +{ + CKEDITOR.plugins.add( 'templates', + { + requires : [ 'dialog' ], + + init : function( editor ) + { + CKEDITOR.dialog.add( 'templates', CKEDITOR.getUrl( this.path + 'dialogs/templates.js' ) ); + + editor.addCommand( 'templates', new CKEDITOR.dialogCommand( 'templates' ) ); + + editor.ui.addButton( 'Templates', + { + label : editor.lang.templates.button, + command : 'templates' + }); + } + }); + + var templates = {}, + loadedTemplatesFiles = {}; + + CKEDITOR.addTemplates = function( name, definition ) + { + templates[ name ] = definition; + }; + + CKEDITOR.getTemplates = function( name ) + { + return templates[ name ]; + }; + + CKEDITOR.loadTemplates = function( templateFiles, callback ) + { + // Holds the templates files to be loaded. + var toLoad = []; + + // Look for pending template files to get loaded. + for ( var i = 0 ; i < templateFiles.length ; i++ ) + { + if ( !loadedTemplatesFiles[ templateFiles[ i ] ] ) + { + toLoad.push( templateFiles[ i ] ); + loadedTemplatesFiles[ templateFiles[ i ] ] = 1; + } + } + + if ( toLoad.length > 0 ) + CKEDITOR.scriptLoader.load( toLoad, callback ); + else + setTimeout( callback, 0 ); + }; +})(); + + + +/** + * The templates definition set to use. It accepts a list of names separated by + * comma. It must match definitions loaded with the templates_files setting. + * @type String + * @default 'default' + * @example + * config.templates = 'my_templates'; + */ +CKEDITOR.config.templates = 'default'; + +/** + * The list of templates definition files to load. + * @type (String) Array + * @default [ 'plugins/templates/templates/default.js' ] + * @example + * config.templates_files = + * [ + * '/editor_templates/site_default.js', + * 'http://www.example.com/user_templates.js + * ]; + * + */ +CKEDITOR.config.templates_files = + [ + CKEDITOR.getUrl( + 'plugins/templates/templates/default.js' ) + ]; + +/** + * Whether the "Replace actual contents" checkbox is checked by default in the + * Templates dialog. + * @type Boolean + * @default true + * @example + * config.templates_replaceContent = false; + */ +CKEDITOR.config.templates_replaceContent = true;