Subversion Repositories Applications.papyrus

Rev

Rev 1688 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1688 Rev 1921
Line 1... Line 1...
1
/*
1
/*
2
 * FCKeditor - The text editor for internet
2
 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
3
 * Copyright (C) 2003-2006 Frederico Caldeira Knabben
3
 * Copyright (C) 2003-2008 Frederico Caldeira Knabben
-
 
4
 *
-
 
5
 * == BEGIN LICENSE ==
4
 * 
6
 *
5
 * Licensed under the terms of the GNU Lesser General Public License:
7
 * Licensed under the terms of any of the following licenses at your
6
 * 		http://www.opensource.org/licenses/lgpl-license.php
8
 * choice:
7
 * 
9
 *
8
 * For further information visit:
10
 *  - GNU General Public License Version 2 or later (the "GPL")
9
 * 		http://www.fckeditor.net/
11
 *    http://www.gnu.org/licenses/gpl.html
10
 * 
12
 *
11
 * "Support Open Source software. What about a donation today?"
13
 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
-
 
14
 *    http://www.gnu.org/licenses/lgpl.html
12
 * 
15
 *
13
 * File Name: fckplugin.js
16
 *  - Mozilla Public License Version 1.1 or later (the "MPL")
14
 * 	Plugin to insert "Placeholders" in the editor.
17
 *    http://www.mozilla.org/MPL/MPL-1.1.html
15
 * 
18
 *
16
 * File Authors:
19
 * == END LICENSE ==
-
 
20
 *
17
 * 		Frederico Caldeira Knabben (fredck@fckeditor.net)
21
 * Plugin to insert "Placeholders" in the editor.
18
 */
22
 */
Line 19... Line 23...
19
 
23
 
20
// Register the related command.
24
// Register the related command.
Line 21... Line 25...
21
FCKCommands.RegisterCommand( 'Placeholder', new FCKDialogCommand( 'Placeholder', FCKLang.PlaceholderDlgTitle, FCKPlugins.Items['placeholder'].Path + 'fck_placeholder.html', 340, 170 ) ) ;
25
FCKCommands.RegisterCommand( 'Placeholder', new FCKDialogCommand( 'Placeholder', FCKLang.PlaceholderDlgTitle, FCKPlugins.Items['placeholder'].Path + 'fck_placeholder.html', 340, 160 ) ) ;
22
 
26
 
23
// Create the "Plaholder" toolbar button.
27
// Create the "Plaholder" toolbar button.
Line 31... Line 35...
31
var FCKPlaceholders = new Object() ;
35
var FCKPlaceholders = new Object() ;
Line 32... Line 36...
32
 
36
 
33
// Add a new placeholder at the actual selection.
37
// Add a new placeholder at the actual selection.
34
FCKPlaceholders.Add = function( name )
38
FCKPlaceholders.Add = function( name )
35
{
39
{
36
	var oSpan = FCK.CreateElement( 'SPAN' ) ;
40
	var oSpan = FCK.InsertElement( 'span' ) ;
37
	this.SetupSpan( oSpan, name ) ;
41
	this.SetupSpan( oSpan, name ) ;
Line 38... Line 42...
38
}
42
}
39
 
43
 
Line 80... Line 84...
80
FCK.RegisterDoubleClickHandler( FCKPlaceholders.OnDoubleClick, 'SPAN' ) ;
84
FCK.RegisterDoubleClickHandler( FCKPlaceholders.OnDoubleClick, 'SPAN' ) ;
Line 81... Line 85...
81
 
85
 
82
// Check if a Placholder name is already in use.
86
// Check if a Placholder name is already in use.
83
FCKPlaceholders.Exist = function( name )
87
FCKPlaceholders.Exist = function( name )
84
{
88
{
Line 85... Line 89...
85
	var aSpans = FCK.EditorDocument.getElementsByTagName( 'SPAN' )
89
	var aSpans = FCK.EditorDocument.getElementsByTagName( 'SPAN' ) ;
86
 
90
 
87
	for ( var i = 0 ; i < aSpans.length ; i++ )
91
	for ( var i = 0 ; i < aSpans.length ; i++ )
88
	{
92
	{
89
		if ( aSpans[i]._fckplaceholder == name )
93
		if ( aSpans[i]._fckplaceholder == name )
-
 
94
			return true ;
-
 
95
	}
90
			return true ;
96
 
Line 91... Line 97...
91
	}
97
	return false ;
92
}
98
}
93
 
99
 
94
if ( FCKBrowserInfo.IsIE )
100
if ( FCKBrowserInfo.IsIE )
-
 
101
{
-
 
102
	FCKPlaceholders.Redraw = function()
-
 
103
	{
95
{
104
		if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
96
	FCKPlaceholders.Redraw = function()
105
			return ;
97
	{
106
 
Line 98... Line 107...
98
		var aPlaholders = FCK.EditorDocument.body.innerText.match( /\[\[[^\[\]]+\]\]/g ) ;
107
		var aPlaholders = FCK.EditorDocument.body.innerText.match( /\[\[[^\[\]]+\]\]/g ) ;
Line 113... Line 122...
113
}
122
}
114
else
123
else
115
{
124
{
116
	FCKPlaceholders.Redraw = function()
125
	FCKPlaceholders.Redraw = function()
117
	{
126
	{
-
 
127
		if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
-
 
128
			return ;
-
 
129
 
118
		var oInteractor = FCK.EditorDocument.createTreeWalker( FCK.EditorDocument.body, NodeFilter.SHOW_TEXT, FCKPlaceholders._AcceptNode, true ) ;
130
		var oInteractor = FCK.EditorDocument.createTreeWalker( FCK.EditorDocument.body, NodeFilter.SHOW_TEXT, FCKPlaceholders._AcceptNode, true ) ;
Line 119... Line 131...
119
 
131
 
Line 120... Line 132...
120
		var	aNodes = new Array() ;
132
		var	aNodes = new Array() ;
121
 
133
 
122
		while ( oNode = oInteractor.nextNode() )
134
		while ( ( oNode = oInteractor.nextNode() ) )
123
		{
135
		{
Line 124... Line 136...
124
			aNodes[ aNodes.length ] = oNode ;
136
			aNodes[ aNodes.length ] = oNode ;
Line 146... Line 158...
146
				}
158
				}
147
			}
159
			}
Line 148... Line 160...
148
 
160
 
149
			aNodes[n].parentNode.removeChild( aNodes[n] ) ;
161
			aNodes[n].parentNode.removeChild( aNodes[n] ) ;
150
		}
162
		}
151
		
163
 
152
		FCKPlaceholders._SetupClickListener() ;
164
		FCKPlaceholders._SetupClickListener() ;
Line 153... Line 165...
153
	}
165
	}
154
 
166
 
Line 170... Line 182...
170
		node = FCKXHtml.XML.createTextNode( '[[' + htmlNode._fckplaceholder + ']]' ) ;
182
		node = FCKXHtml.XML.createTextNode( '[[' + htmlNode._fckplaceholder + ']]' ) ;
171
	else
183
	else
172
		FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
184
		FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
Line 173... Line 185...
173
 
185
 
174
	return node ;
-
 
175
}
186
	return node ;
-
 
187
}