source: sandbox/filemanager/tp/fckeditor/editor/dialog/fck_template.html @ 1575

Revision 1575, 6.2 KB checked in by amuller, 14 years ago (diff)

Ticket #597 - Implentação, melhorias do modulo gerenciador de arquivos

  • Property svn:executable set to *
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<!--
3 * FCKeditor - The text editor for Internet - http://www.fckeditor.net
4 * Copyright (C) 2003-2009 Frederico Caldeira Knabben
5 *
6 * == BEGIN LICENSE ==
7 *
8 * Licensed under the terms of any of the following licenses at your
9 * choice:
10 *
11 *  - GNU General Public License Version 2 or later (the "GPL")
12 *    http://www.gnu.org/licenses/gpl.html
13 *
14 *  - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
15 *    http://www.gnu.org/licenses/lgpl.html
16 *
17 *  - Mozilla Public License Version 1.1 or later (the "MPL")
18 *    http://www.mozilla.org/MPL/MPL-1.1.html
19 *
20 * == END LICENSE ==
21 *
22 * Template selection dialog window.
23-->
24<html xmlns="http://www.w3.org/1999/xhtml">
25<head>
26        <title></title>
27        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
28        <meta name="robots" content="noindex, nofollow" />
29        <style type="text/css">
30                        .TplList
31                        {
32                                border: #dcdcdc 2px solid;
33                                background-color: #ffffff;
34                                overflow: auto;
35                                width: 90%;
36                        }
37
38                        .TplItem
39                        {
40                                margin: 5px;
41                                padding: 7px;
42                                border: #eeeeee 1px solid;
43                        }
44
45                        .TplItem TABLE
46                        {
47                                display: inline;
48                        }
49
50                        .TplTitle
51                        {
52                                font-weight: bold;
53                        }
54                </style>
55        <script src="common/fck_dialog_common.js" type="text/javascript"></script>
56        <script type="text/javascript">
57
58var oEditor             = window.parent.InnerDialogLoaded() ;
59var FCK                 = oEditor.FCK ;
60var FCKLang             = oEditor.FCKLang ;
61var FCKConfig   = oEditor.FCKConfig ;
62
63window.onload = function()
64{
65        // Set the right box height (browser dependent).
66        GetE('eList').style.height = document.all ? '100%' : '295px' ;
67
68        // Translate the dialog box texts.
69        oEditor.FCKLanguageManager.TranslatePage(document) ;
70
71        GetE('xChkReplaceAll').checked = ( FCKConfig.TemplateReplaceAll !== false ) ;
72
73        if ( FCKConfig.TemplateReplaceCheckbox !== false )
74                GetE('xReplaceBlock').style.display = '' ;
75
76        window.parent.SetAutoSize( true ) ;
77
78        LoadTemplatesXml() ;
79}
80
81function LoadTemplatesXml()
82{
83        var oTemplate ;
84
85        if ( !FCK._Templates )
86        {
87                GetE('eLoading').style.display = '' ;
88
89                // Create the Templates array.
90                FCK._Templates = new Array() ;
91
92                // Load the XML file.
93                var oXml = new oEditor.FCKXml() ;
94                oXml.LoadUrl( FCKConfig.TemplatesXmlPath ) ;
95
96                // Get the Images Base Path.
97                var oAtt = oXml.SelectSingleNode( 'Templates/@imagesBasePath' ) ;
98                var sImagesBasePath = oAtt ? oAtt.value : '' ;
99
100                // Get the "Template" nodes defined in the XML file.
101                var aTplNodes = oXml.SelectNodes( 'Templates/Template' ) ;
102
103                for ( var i = 0 ; i < aTplNodes.length ; i++ )
104                {
105                        var oNode = aTplNodes[i] ;
106
107                        oTemplate = new Object() ;
108
109                        var oPart ;
110
111                        // Get the Template Title.
112                        if ( (oPart = oNode.attributes.getNamedItem('title')) )
113                                oTemplate.Title = oPart.value ;
114                        else
115                                oTemplate.Title = 'Template ' + ( i + 1 ) ;
116
117                        // Get the Template Description.
118                        if ( (oPart = oXml.SelectSingleNode( 'Description', oNode )) )
119                                oTemplate.Description = oPart.text ? oPart.text : oPart.textContent ;
120
121                        // Get the Template Image.
122                        if ( (oPart = oNode.attributes.getNamedItem('image')) )
123                                oTemplate.Image = sImagesBasePath + oPart.value ;
124
125                        // Get the Template HTML.
126                        if ( (oPart = oXml.SelectSingleNode( 'Html', oNode )) )
127                                oTemplate.Html = oPart.text ? oPart.text : oPart.textContent ;
128                        else
129                        {
130                                alert( 'No HTML defined for template index ' + i + '. Please review the "' + FCKConfig.TemplatesXmlPath + '" file.' ) ;
131                                continue ;
132                        }
133
134                        FCK._Templates[ FCK._Templates.length ] = oTemplate ;
135                }
136
137                GetE('eLoading').style.display = 'none' ;
138        }
139
140        if ( FCK._Templates.length == 0 )
141                GetE('eEmpty').style.display = '' ;
142        else
143        {
144                for ( var j = 0 ; j < FCK._Templates.length ; j++ )
145                {
146                        oTemplate = FCK._Templates[j] ;
147
148                        var oItemDiv = GetE('eList').appendChild( document.createElement( 'DIV' ) ) ;
149                        oItemDiv.TplIndex = j ;
150                        oItemDiv.className = 'TplItem' ;
151
152                        // Build the inner HTML of our new item DIV.
153                        var sInner = '<table><tr>' ;
154
155                        if ( oTemplate.Image )
156                                sInner += '<td valign="top"><img src="' + oTemplate.Image + '"><\/td>' ;
157
158                        sInner += '<td valign="top"><div class="TplTitle">' + oTemplate.Title + '<\/div>' ;
159
160                        if ( oTemplate.Description )
161                                sInner += '<div>' + oTemplate.Description + '<\/div>' ;
162
163                        sInner += '<\/td><\/tr><\/table>' ;
164
165                        oItemDiv.innerHTML = sInner ;
166
167                        oItemDiv.onmouseover = ItemDiv_OnMouseOver ;
168                        oItemDiv.onmouseout = ItemDiv_OnMouseOut ;
169                        oItemDiv.onclick = ItemDiv_OnClick ;
170                }
171        }
172}
173
174function ItemDiv_OnMouseOver()
175{
176        this.className += ' PopupSelectionBox' ;
177}
178
179function ItemDiv_OnMouseOut()
180{
181        this.className = this.className.replace( /\s*PopupSelectionBox\s*/, '' ) ;
182}
183
184function ItemDiv_OnClick()
185{
186        SelectTemplate( this.TplIndex ) ;
187}
188
189function SelectTemplate( index )
190{
191        oEditor.FCKUndo.SaveUndoStep() ;
192
193        if ( GetE('xChkReplaceAll').checked )
194                FCK.SetData( FCK._Templates[index].Html ) ;
195        else
196                FCK.InsertHtml( FCK._Templates[index].Html ) ;
197
198        window.parent.Cancel( true ) ;
199}
200
201        </script>
202</head>
203<body style="overflow: hidden">
204        <table width="100%" style="height: 100%">
205                <tr>
206                        <td align="center">
207                                <span fcklang="DlgTemplatesSelMsg">Please select the template to open in the editor<br />
208                                        (the actual contents will be lost):</span>
209                        </td>
210                </tr>
211                <tr>
212                        <td height="100%" align="center">
213                                <div id="eList" align="left" class="TplList">
214                                        <div id="eLoading" align="center" style="display: none">
215                                                <br />
216                                                <span fcklang="DlgTemplatesLoading">Loading templates list. Please wait...</span>
217                                        </div>
218                                        <div id="eEmpty" align="center" style="display: none">
219                                                <br />
220                                                <span fcklang="DlgTemplatesNoTpl">(No templates defined)</span>
221                                        </div>
222                                </div>
223                        </td>
224                </tr>
225                <tr id="xReplaceBlock" style="display: none">
226                        <td>
227                                <table cellpadding="0" cellspacing="0">
228                                        <tr>
229                                                <td>
230                                                        <input id="xChkReplaceAll" type="checkbox" /></td>
231                                                <td>
232                                                        &nbsp;</td>
233                                                <td>
234                                                        <label for="xChkReplaceAll" fcklang="DlgTemplatesReplace">
235                                                                Replace actual contents</label></td>
236                                        </tr>
237                                </table>
238                        </td>
239                </tr>
240        </table>
241</body>
242</html>
Note: See TracBrowser for help on using the repository browser.