##// END OF EJS Templates
wiki:...
Jean-Philippe Lang -
r324:a54a15523b1f
parent child
Show More
1 NO CONTENT: new file 100644, binary diff hidden
NO CONTENT: new file 100644, binary diff hidden
@@ -0,0 +1,32
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4 <title>Wiki formatting</title>
5 <link rel="stylesheet" href="html.css" type="text/css">
6 <style>
7 table td { vertical-align: top; background-color: #eee; }
8 table td code { font-size: 1.2em; }
9 </style>
10 </head>
11 <body>
12
13 <table width="100%">
14 <tr><th colspan="3"><p><strong>Font Styles</strong></p></th></tr>
15 <tr><th><img src="../../images/jstoolbar/bt_strong.png" style="border: 1px solid #bbb;" /></th><td>*Strong*</td><td><strong>Strong</strong></td></tr>
16 <tr><th><img src="../../images/jstoolbar/bt_em.png" style="border: 1px solid #bbb;" /></th><td>_Italic_</td><td><em>Italic</em></td></tr>
17 <tr><th><img src="../../images/jstoolbar/bt_ins.png" style="border: 1px solid #bbb;" /></th><td>+Underline+</td><td><ins>Underline</ins></td></tr>
18 <tr><th><img src="../../images/jstoolbar/bt_del.png" style="border: 1px solid #bbb;" /></th><td>-Deleted-</td><td><del>Deleted</del></td></tr>
19 <tr><th><img src="../../images/jstoolbar/bt_quote.png" style="border: 1px solid #bbb;" /></th><td>??Quote??</td><td><cite>Quote</cite></td></tr>
20 <tr><th><img src="../../images/jstoolbar/bt_code.png" style="border: 1px solid #bbb;" /></th><td>@Code@</td><td><code>Code</code></td></tr>
21 <tr><th colspan="3"><p><strong>Lists</strong></p></th></tr>
22 <tr><th><img src="../../images/jstoolbar/bt_ul.png" style="border: 1px solid #bbb;" /></th><td>* Item 1<br />* Item 2</td><td><ul><li>Item 1</li><li>Item 2</li></ul></td></tr>
23 <tr><th><img src="../../images/jstoolbar/bt_ol.png" style="border: 1px solid #bbb;" /></th><td># Item 1<br /># Item 2</td><td><ol><li>Item 1</li><li>Item 2</li></ol></td></tr>
24 <tr><th colspan="3"><p><strong>Titles</strong></p></th></tr>
25 <tr><th><img src="../../images/jstoolbar/bt_heading.png" style="border: 1px solid #bbb;" /></th><td>h2. Title 2</td><td><h2>Title 2</h2></td></tr>
26 <tr><th colspan="3"><p><strong>Links</strong></p></th></tr>
27 <tr><th><img src="../../images/jstoolbar/bt_link.png" style="border: 1px solid #bbb;" /></th><td>[[Wiki page]]</td><td><a href="#">Wiki page</a></td></tr>
28 <tr><th></th><td>Issue #12</td><td>Issue <a href="#">#12</a></td></tr>
29 <tr><th></th><td>Revision r43</td><td>Revision <a href="#">r43</a></td></tr></table>
30
31 </body>
32 </html> No newline at end of file
@@ -0,0 +1,32
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4 <title>Formatage Wiki</title>
5 <link rel="stylesheet" href="html.css" type="text/css">
6 <style>
7 table td { vertical-align: top; background-color: #eee; }
8 table td code { font-size: 1.2em; }
9 </style>
10 </head>
11 <body>
12
13 <table width="100%">
14 <tr><th colspan="3"><p><strong>Mise en forme</strong></p></th></tr>
15 <tr><th><img src="../../images/jstoolbar/bt_strong.png" style="border: 1px solid #bbb;" /></th><td>*Gras*</td><td><strong>Gras</strong></td></tr>
16 <tr><th><img src="../../images/jstoolbar/bt_em.png" style="border: 1px solid #bbb;" /></th><td>_Italique_</td><td><em>Italique</em></td></tr>
17 <tr><th><img src="../../images/jstoolbar/bt_ins.png" style="border: 1px solid #bbb;" /></th><td>+Souligné+</td><td><ins>Souligné</ins></td></tr>
18 <tr><th><img src="../../images/jstoolbar/bt_del.png" style="border: 1px solid #bbb;" /></th><td>-Rayé-</td><td><del>Rayé</del></td></tr>
19 <tr><th><img src="../../images/jstoolbar/bt_quote.png" style="border: 1px solid #bbb;" /></th><td>??Citation??</td><td><cite>Citation</cite></td></tr>
20 <tr><th><img src="../../images/jstoolbar/bt_code.png" style="border: 1px solid #bbb;" /></th><td>@Code@</td><td><code>Code</code></td></tr>
21 <tr><th colspan="3"><p><strong>Listes</strong></p></th></tr>
22 <tr><th><img src="../../images/jstoolbar/bt_ul.png" style="border: 1px solid #bbb;" /></th><td>* Item 1<br />* Item 2</td><td><ul><li>Item 1</li><li>Item 2</li></ul></td></tr>
23 <tr><th><img src="../../images/jstoolbar/bt_ol.png" style="border: 1px solid #bbb;" /></th><td># Item 1<br /># Item 2</td><td><ol><li>Item 1</li><li>Item 2</li></ol></td></tr>
24 <tr><th colspan="3"><p><strong>Titres</strong></p></th></tr>
25 <tr><th><img src="../../images/jstoolbar/bt_heading.png" style="border: 1px solid #bbb;" /></th><td>h2. Titre 2</td><td><h2>Titre 2</h2></td></tr>
26 <tr><th colspan="3"><p><strong>Liens</strong></p></th></tr>
27 <tr><th><img src="../../images/jstoolbar/bt_link.png" style="border: 1px solid #bbb;" /></th><td>[[Page wiki]]</td><td><a href="#">Page wiki</a></td></tr>
28 <tr><th></th><td>Demande #12</td><td>Demande <a href="#">#12</a></td></tr>
29 <tr><th></th><td>Révision r43</td><td>Révision <a href="#">r43</a></td></tr></table>
30
31 </body>
32 </html> No newline at end of file
@@ -1,39 +1,44
1 <div class="contextual">
1 <div class="contextual">
2 <%= link_to(l(:label_page_index), {:action => 'special', :page => 'Page_index'}, :class => 'icon icon-index') %>
2 <%= link_to(l(:label_page_index), {:action => 'special', :page => 'Page_index'}, :class => 'icon icon-index') %>
3 </div>
3 </div>
4
4
5 <h2><%= @page.pretty_title %></h2>
5 <h2><%= @page.pretty_title %></h2>
6
6
7 <% form_for :content, @content, :url => {:action => 'edit', :page => @page.title}, :html => {:id => 'wiki_form'} do |f| %>
7 <% form_for :content, @content, :url => {:action => 'edit', :page => @page.title}, :html => {:id => 'wiki_form'} do |f| %>
8 <%= error_messages_for 'content' %>
8 <%= error_messages_for 'content' %>
9 <p><%= f.text_area :text, :cols => 100, :rows => 25, :style => "width:99%;" %></p>
9 <div class="contextual">
10 <%= l(:setting_text_formatting) %>:
11 <%= link_to l(:label_help), {:controller => 'help', :ctrl => 'wiki', :page => 'syntax' },
12 :onclick => "window.open('#{ url_for :controller => 'help', :ctrl => 'wiki', :page => 'syntax' }', '', 'resizable=yes, location=no, width=300, height=500, menubar=no, status=no, scrollbars=yes'); return false;" %>
13 </div>
14 <p><%= f.text_area :text, :cols => 100, :rows => 25, :style => "width:99.5%;" %></p>
10 <p><label><%= l(:field_comment) %></label><br /><%= f.text_field :comment, :size => 120 %></p>
15 <p><label><%= l(:field_comment) %></label><br /><%= f.text_field :comment, :size => 120 %></p>
11 <p><%= submit_tag l(:button_save) %>
16 <p><%= submit_tag l(:button_save) %>
12 <%= link_to_remote l(:label_preview),
17 <%= link_to_remote l(:label_preview),
13 { :url => { :controller => 'wiki', :action => 'preview', :id => @project },
18 { :url => { :controller => 'wiki', :action => 'preview', :id => @project },
14 :method => 'get',
19 :method => 'get',
15 :update => 'preview',
20 :update => 'preview',
16 :with => "Form.serialize('wiki_form')",
21 :with => "Form.serialize('wiki_form')",
17 :loading => "Element.show('indicator')",
22 :loading => "Element.show('indicator')",
18 :loaded => "Element.hide('indicator')"
23 :loaded => "Element.hide('indicator')"
19 } %>
24 } %>
20 <span id="indicator" style="display:none"><%= image_tag "loading.gif", :align => "absmiddle" %></span>
25 <span id="indicator" style="display:none"><%= image_tag "loading.gif", :align => "absmiddle" %></span>
21 </p>
26 </p>
22
27
23 <% end %>
28 <% end %>
24
29
25 <% if Setting.text_formatting == 'textile' %>
30 <% if Setting.text_formatting == 'textile' %>
26 <%= javascript_include_tag 'jstoolbar' %>
31 <%= javascript_include_tag 'jstoolbar' %>
27 <script type="text/javascript">
32 <script type="text/javascript">
28 //<![CDATA[
33 //<![CDATA[
29 if (document.getElementById) {
34 if (document.getElementById) {
30 if (document.getElementById('content_text')) {
35 if (document.getElementById('content_text')) {
31 var commentTb = new jsToolBar(document.getElementById('content_text'));
36 var commentTb = new jsToolBar(document.getElementById('content_text'));
32 commentTb.draw();
37 commentTb.draw();
33 }
38 }
34 }
39 }
35 //]]>
40 //]]>
36 </script>
41 </script>
37 <% end %>
42 <% end %>
38
43
39 <div id="preview" class="wiki"></div> No newline at end of file
44 <div id="preview" class="wiki"></div>
@@ -1,76 +1,78
1 # redMine - project management software
1 # redMine - project management software
2 # Copyright (C) 2006 Jean-Philippe Lang
2 # Copyright (C) 2006 Jean-Philippe Lang
3 #
3 #
4 # This program is free software; you can redistribute it and/or
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
7 # of the License, or (at your option) any later version.
8 #
8 #
9 # This program is distributed in the hope that it will be useful,
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
12 # GNU General Public License for more details.
13 #
13 #
14 # You should have received a copy of the GNU General Public License
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
18 # available languages for help pages
18 # available languages for help pages
19 langs:
19 langs:
20 - en
20 - en
21 - fr
21 - fr
22
22
23 # mapping between controller/action and help pages
23 # mapping between controller/action and help pages
24 # if action is not defined here, 'index' page will be displayed
24 # if action is not defined here, 'index' page will be displayed
25 pages:
25 pages:
26 # administration
26 # administration
27 admin:
27 admin:
28 index: ch01.html
28 index: ch01.html
29 mail_options: ch01s09.html
29 mail_options: ch01s09.html
30 info: ch01s12.html
30 info: ch01s12.html
31 users:
31 users:
32 index: ch01s02.html
32 index: ch01s02.html
33 roles:
33 roles:
34 index: ch01s03.html
34 index: ch01s03.html
35 workflow: ch01s07.html
35 workflow: ch01s07.html
36 trackers:
36 trackers:
37 index: ch01s04.html
37 index: ch01s04.html
38 issue_statuses:
38 issue_statuses:
39 index: ch01s06.html
39 index: ch01s06.html
40 settings:
40 settings:
41 index: ch01s11.html
41 index: ch01s11.html
42 # projects
42 # projects
43 projects:
43 projects:
44 index: ch02.html
44 index: ch02.html
45 add: ch01s01.html
45 add: ch01s01.html
46 show: ch02s01.html
46 show: ch02s01.html
47 gantt: ch02s02.html
47 gantt: ch02s02.html
48 calendar: ch02s02.html
48 calendar: ch02s02.html
49 add_document: ch02s07.html
49 add_document: ch02s07.html
50 list_documents: ch02s07.html
50 list_documents: ch02s07.html
51 add_issue: ch02s03.html
51 add_issue: ch02s03.html
52 list_issues: ch02s03.html
52 list_issues: ch02s03.html
53 add_news: ch02s06.html
53 add_news: ch02s06.html
54 list_news: ch02s06.html
54 list_news: ch02s06.html
55 add_file: ch02s08.html
55 add_file: ch02s08.html
56 list_files: ch02s08.html
56 list_files: ch02s08.html
57 changelog: ch02s05.html
57 changelog: ch02s05.html
58 issues:
58 issues:
59 index: ch02s03.html
59 index: ch02s03.html
60 documents:
60 documents:
61 index: ch02s07.html
61 index: ch02s07.html
62 news:
62 news:
63 index: ch02s06.html
63 index: ch02s06.html
64 versions:
64 versions:
65 index: ch02s09.html
65 index: ch02s09.html
66 reports:
66 reports:
67 index: ch02s04.html
67 index: ch02s04.html
68 # accounts
68 # accounts
69 my:
69 my:
70 index: ch03.html
70 index: ch03.html
71 account: ch03s01.html
71 account: ch03s01.html
72 page: ch03s02.html
72 page: ch03s02.html
73 account:
73 account:
74 index: ch03.html
74 index: ch03.html
75 lost_password: ch03s03.html
75 lost_password: ch03s03.html
76 register: ch03s04.html No newline at end of file
76 register: ch03s04.html
77 wiki:
78 syntax: wiki_syntax.html No newline at end of file
@@ -1,440 +1,464
1 /* ***** BEGIN LICENSE BLOCK *****
1 /* ***** BEGIN LICENSE BLOCK *****
2 * This file is part of DotClear.
2 * This file is part of DotClear.
3 * Copyright (c) 2005 Nicolas Martin & Olivier Meunier and contributors. All
3 * Copyright (c) 2005 Nicolas Martin & Olivier Meunier and contributors. All
4 * rights reserved.
4 * rights reserved.
5 *
5 *
6 * DotClear is free software; you can redistribute it and/or modify
6 * DotClear is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
9 * (at your option) any later version.
10 *
10 *
11 * DotClear is distributed in the hope that it will be useful,
11 * DotClear is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
14 * GNU General Public License for more details.
15 *
15 *
16 * You should have received a copy of the GNU General Public License
16 * You should have received a copy of the GNU General Public License
17 * along with DotClear; if not, write to the Free Software
17 * along with DotClear; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
19 *
20 * ***** END LICENSE BLOCK *****
20 * ***** END LICENSE BLOCK *****
21 */
21 */
22
22
23 /* Modified by JP LANG for textile formatting */
23 /* Modified by JP LANG for textile formatting */
24
24
25 function jsToolBar(textarea) {
25 function jsToolBar(textarea) {
26 if (!document.createElement) { return; }
26 if (!document.createElement) { return; }
27
27
28 if (!textarea) { return; }
28 if (!textarea) { return; }
29
29
30 if ((typeof(document["selection"]) == "undefined")
30 if ((typeof(document["selection"]) == "undefined")
31 && (typeof(textarea["setSelectionRange"]) == "undefined")) {
31 && (typeof(textarea["setSelectionRange"]) == "undefined")) {
32 return;
32 return;
33 }
33 }
34
34
35 this.textarea = textarea;
35 this.textarea = textarea;
36
36
37 this.editor = document.createElement('div');
37 this.editor = document.createElement('div');
38 this.editor.className = 'jstEditor';
38 this.editor.className = 'jstEditor';
39
39
40 this.textarea.parentNode.insertBefore(this.editor,this.textarea);
40 this.textarea.parentNode.insertBefore(this.editor,this.textarea);
41 this.editor.appendChild(this.textarea);
41 this.editor.appendChild(this.textarea);
42
42
43 this.toolbar = document.createElement("div");
43 this.toolbar = document.createElement("div");
44 this.toolbar.className = 'jstElements';
44 this.toolbar.className = 'jstElements';
45 this.editor.parentNode.insertBefore(this.toolbar,this.editor);
45 this.editor.parentNode.insertBefore(this.toolbar,this.editor);
46
46
47 // Dragable resizing (only for gecko)
47 // Dragable resizing (only for gecko)
48 if (this.editor.addEventListener)
48 if (this.editor.addEventListener)
49 {
49 {
50 this.handle = document.createElement('div');
50 this.handle = document.createElement('div');
51 this.handle.className = 'jstHandle';
51 this.handle.className = 'jstHandle';
52 var dragStart = this.resizeDragStart;
52 var dragStart = this.resizeDragStart;
53 var This = this;
53 var This = this;
54 this.handle.addEventListener('mousedown',function(event) { dragStart.call(This,event); },false);
54 this.handle.addEventListener('mousedown',function(event) { dragStart.call(This,event); },false);
55 // fix memory leak in Firefox (bug #241518)
55 // fix memory leak in Firefox (bug #241518)
56 window.addEventListener('unload',function() {
56 window.addEventListener('unload',function() {
57 var del = This.handle.parentNode.removeChild(This.handle);
57 var del = This.handle.parentNode.removeChild(This.handle);
58 delete(This.handle);
58 delete(This.handle);
59 },false);
59 },false);
60
60
61 this.editor.parentNode.insertBefore(this.handle,this.editor.nextSibling);
61 this.editor.parentNode.insertBefore(this.handle,this.editor.nextSibling);
62 }
62 }
63
63
64 this.context = null;
64 this.context = null;
65 this.toolNodes = {}; // lorsque la toolbar est dessinée , cet objet est garni
65 this.toolNodes = {}; // lorsque la toolbar est dessinée , cet objet est garni
66 // de raccourcis vers les éléments DOM correspondants aux outils.
66 // de raccourcis vers les éléments DOM correspondants aux outils.
67 }
67 }
68
68
69 function jsButton(title, fn, scope, className) {
69 function jsButton(title, fn, scope, className) {
70 this.title = title || null;
70 this.title = title || null;
71 this.fn = fn || function(){};
71 this.fn = fn || function(){};
72 this.scope = scope || null;
72 this.scope = scope || null;
73 this.className = className || null;
73 this.className = className || null;
74 }
74 }
75 jsButton.prototype.draw = function() {
75 jsButton.prototype.draw = function() {
76 if (!this.scope) return null;
76 if (!this.scope) return null;
77
77
78 var button = document.createElement('button');
78 var button = document.createElement('button');
79 button.setAttribute('type','button');
79 button.setAttribute('type','button');
80 if (this.className) button.className = this.className;
80 if (this.className) button.className = this.className;
81 button.title = this.title;
81 button.title = this.title;
82 var span = document.createElement('span');
82 var span = document.createElement('span');
83 span.appendChild(document.createTextNode(this.title));
83 span.appendChild(document.createTextNode(this.title));
84 button.appendChild(span);
84 button.appendChild(span);
85
85
86 if (this.icon != undefined) {
86 if (this.icon != undefined) {
87 button.style.backgroundImage = 'url('+this.icon+')';
87 button.style.backgroundImage = 'url('+this.icon+')';
88 }
88 }
89 if (typeof(this.fn) == 'function') {
89 if (typeof(this.fn) == 'function') {
90 var This = this;
90 var This = this;
91 button.onclick = function() { try { This.fn.apply(This.scope, arguments) } catch (e) {} return false; };
91 button.onclick = function() { try { This.fn.apply(This.scope, arguments) } catch (e) {} return false; };
92 }
92 }
93 return button;
93 return button;
94 }
94 }
95
95
96 function jsSpace(id) {
96 function jsSpace(id) {
97 this.id = id || null;
97 this.id = id || null;
98 this.width = null;
98 this.width = null;
99 }
99 }
100 jsSpace.prototype.draw = function() {
100 jsSpace.prototype.draw = function() {
101 var span = document.createElement('span');
101 var span = document.createElement('span');
102 if (this.id) span.id = this.id;
102 if (this.id) span.id = this.id;
103 span.appendChild(document.createTextNode(String.fromCharCode(160)));
103 span.appendChild(document.createTextNode(String.fromCharCode(160)));
104 span.className = 'jstSpacer';
104 span.className = 'jstSpacer';
105 if (this.width) span.style.marginRight = this.width+'px';
105 if (this.width) span.style.marginRight = this.width+'px';
106
106
107 return span;
107 return span;
108 }
108 }
109
109
110 function jsCombo(title, options, scope, fn, className) {
110 function jsCombo(title, options, scope, fn, className) {
111 this.title = title || null;
111 this.title = title || null;
112 this.options = options || null;
112 this.options = options || null;
113 this.scope = scope || null;
113 this.scope = scope || null;
114 this.fn = fn || function(){};
114 this.fn = fn || function(){};
115 this.className = className || null;
115 this.className = className || null;
116 }
116 }
117 jsCombo.prototype.draw = function() {
117 jsCombo.prototype.draw = function() {
118 if (!this.scope || !this.options) return null;
118 if (!this.scope || !this.options) return null;
119
119
120 var select = document.createElement('select');
120 var select = document.createElement('select');
121 if (this.className) select.className = className;
121 if (this.className) select.className = className;
122 select.title = this.title;
122 select.title = this.title;
123
123
124 for (var o in this.options) {
124 for (var o in this.options) {
125 //var opt = this.options[o];
125 //var opt = this.options[o];
126 var option = document.createElement('option');
126 var option = document.createElement('option');
127 option.value = o;
127 option.value = o;
128 option.appendChild(document.createTextNode(this.options[o]));
128 option.appendChild(document.createTextNode(this.options[o]));
129 select.appendChild(option);
129 select.appendChild(option);
130 }
130 }
131
131
132 var This = this;
132 var This = this;
133 select.onchange = function() {
133 select.onchange = function() {
134 try {
134 try {
135 This.fn.call(This.scope, this.value);
135 This.fn.call(This.scope, this.value);
136 } catch (e) { alert(e); }
136 } catch (e) { alert(e); }
137
137
138 return false;
138 return false;
139 }
139 }
140
140
141 return select;
141 return select;
142 }
142 }
143
143
144
144
145 jsToolBar.prototype = {
145 jsToolBar.prototype = {
146 base_url: '',
146 base_url: '',
147 mode: 'wiki',
147 mode: 'wiki',
148 elements: {},
148 elements: {},
149
149
150 getMode: function() {
150 getMode: function() {
151 return this.mode;
151 return this.mode;
152 },
152 },
153
153
154 setMode: function(mode) {
154 setMode: function(mode) {
155 this.mode = mode || 'wiki';
155 this.mode = mode || 'wiki';
156 },
156 },
157
157
158 switchMode: function(mode) {
158 switchMode: function(mode) {
159 mode = mode || 'wiki';
159 mode = mode || 'wiki';
160 this.draw(mode);
160 this.draw(mode);
161 },
161 },
162
162
163 button: function(toolName) {
163 button: function(toolName) {
164 var tool = this.elements[toolName];
164 var tool = this.elements[toolName];
165 if (typeof tool.fn[this.mode] != 'function') return null;
165 if (typeof tool.fn[this.mode] != 'function') return null;
166 var b = new jsButton(tool.title, tool.fn[this.mode], this, 'jstb_'+toolName);
166 var b = new jsButton(tool.title, tool.fn[this.mode], this, 'jstb_'+toolName);
167 if (tool.icon != undefined) b.icon = tool.icon;
167 if (tool.icon != undefined) b.icon = tool.icon;
168 return b;
168 return b;
169 },
169 },
170 space: function(toolName) {
170 space: function(toolName) {
171 var tool = new jsSpace(toolName)
171 var tool = new jsSpace(toolName)
172 if (this.elements[toolName].width !== undefined)
172 if (this.elements[toolName].width !== undefined)
173 tool.width = this.elements[toolName].width;
173 tool.width = this.elements[toolName].width;
174 return tool;
174 return tool;
175 },
175 },
176 combo: function(toolName) {
176 combo: function(toolName) {
177 var tool = this.elements[toolName];
177 var tool = this.elements[toolName];
178 var length = tool[this.mode].list.length;
178 var length = tool[this.mode].list.length;
179
179
180 if (typeof tool[this.mode].fn != 'function' || length == 0) {
180 if (typeof tool[this.mode].fn != 'function' || length == 0) {
181 return null;
181 return null;
182 } else {
182 } else {
183 var options = {};
183 var options = {};
184 for (var i=0; i < length; i++) {
184 for (var i=0; i < length; i++) {
185 var opt = tool[this.mode].list[i];
185 var opt = tool[this.mode].list[i];
186 options[opt] = tool.options[opt];
186 options[opt] = tool.options[opt];
187 }
187 }
188 return new jsCombo(tool.title, options, this, tool[this.mode].fn);
188 return new jsCombo(tool.title, options, this, tool[this.mode].fn);
189 }
189 }
190 },
190 },
191 draw: function(mode) {
191 draw: function(mode) {
192 this.setMode(mode);
192 this.setMode(mode);
193
193
194 // Empty toolbar
194 // Empty toolbar
195 while (this.toolbar.hasChildNodes()) {
195 while (this.toolbar.hasChildNodes()) {
196 this.toolbar.removeChild(this.toolbar.firstChild)
196 this.toolbar.removeChild(this.toolbar.firstChild)
197 }
197 }
198 this.toolNodes = {}; // vide les raccourcis DOM/**/
198 this.toolNodes = {}; // vide les raccourcis DOM/**/
199
199
200 // Draw toolbar elements
200 // Draw toolbar elements
201 var b, tool, newTool;
201 var b, tool, newTool;
202
202
203 for (var i in this.elements) {
203 for (var i in this.elements) {
204 b = this.elements[i];
204 b = this.elements[i];
205
205
206 var disabled =
206 var disabled =
207 b.type == undefined || b.type == ''
207 b.type == undefined || b.type == ''
208 || (b.disabled != undefined && b.disabled)
208 || (b.disabled != undefined && b.disabled)
209 || (b.context != undefined && b.context != null && b.context != this.context);
209 || (b.context != undefined && b.context != null && b.context != this.context);
210
210
211 if (!disabled && typeof this[b.type] == 'function') {
211 if (!disabled && typeof this[b.type] == 'function') {
212 tool = this[b.type](i);
212 tool = this[b.type](i);
213 if (tool) newTool = tool.draw();
213 if (tool) newTool = tool.draw();
214 if (newTool) {
214 if (newTool) {
215 this.toolNodes[i] = newTool; //mémorise l'accès DOM pour usage éventuel ultérieur
215 this.toolNodes[i] = newTool; //mémorise l'accès DOM pour usage éventuel ultérieur
216 this.toolbar.appendChild(newTool);
216 this.toolbar.appendChild(newTool);
217 }
217 }
218 }
218 }
219 }
219 }
220 },
220 },
221
221
222 singleTag: function(stag,etag) {
222 singleTag: function(stag,etag) {
223 stag = stag || null;
223 stag = stag || null;
224 etag = etag || stag;
224 etag = etag || stag;
225
225
226 if (!stag || !etag) { return; }
226 if (!stag || !etag) { return; }
227
227
228 this.encloseSelection(stag,etag);
228 this.encloseSelection(stag,etag);
229 },
229 },
230
230
231 encloseSelection: function(prefix, suffix, fn) {
231 encloseSelection: function(prefix, suffix, fn) {
232 this.textarea.focus();
232 this.textarea.focus();
233
233
234 prefix = prefix || '';
234 prefix = prefix || '';
235 suffix = suffix || '';
235 suffix = suffix || '';
236
236
237 var start, end, sel, scrollPos, subst, res;
237 var start, end, sel, scrollPos, subst, res;
238
238
239 if (typeof(document["selection"]) != "undefined") {
239 if (typeof(document["selection"]) != "undefined") {
240 sel = document.selection.createRange().text;
240 sel = document.selection.createRange().text;
241 } else if (typeof(this.textarea["setSelectionRange"]) != "undefined") {
241 } else if (typeof(this.textarea["setSelectionRange"]) != "undefined") {
242 start = this.textarea.selectionStart;
242 start = this.textarea.selectionStart;
243 end = this.textarea.selectionEnd;
243 end = this.textarea.selectionEnd;
244 scrollPos = this.textarea.scrollTop;
244 scrollPos = this.textarea.scrollTop;
245 sel = this.textarea.value.substring(start, end);
245 sel = this.textarea.value.substring(start, end);
246 }
246 }
247
247
248 if (sel.match(/ $/)) { // exclude ending space char, if any
248 if (sel.match(/ $/)) { // exclude ending space char, if any
249 sel = sel.substring(0, sel.length - 1);
249 sel = sel.substring(0, sel.length - 1);
250 suffix = suffix + " ";
250 suffix = suffix + " ";
251 }
251 }
252
252
253 if (typeof(fn) == 'function') {
253 if (typeof(fn) == 'function') {
254 res = (sel) ? fn.call(this,sel) : fn('');
254 res = (sel) ? fn.call(this,sel) : fn('');
255 } else {
255 } else {
256 res = (sel) ? sel : '';
256 res = (sel) ? sel : '';
257 }
257 }
258
258
259 subst = prefix + res + suffix;
259 subst = prefix + res + suffix;
260
260
261 if (typeof(document["selection"]) != "undefined") {
261 if (typeof(document["selection"]) != "undefined") {
262 var range = document.selection.createRange().text = subst;
262 var range = document.selection.createRange().text = subst;
263 this.textarea.caretPos -= suffix.length;
263 this.textarea.caretPos -= suffix.length;
264 } else if (typeof(this.textarea["setSelectionRange"]) != "undefined") {
264 } else if (typeof(this.textarea["setSelectionRange"]) != "undefined") {
265 this.textarea.value = this.textarea.value.substring(0, start) + subst +
265 this.textarea.value = this.textarea.value.substring(0, start) + subst +
266 this.textarea.value.substring(end);
266 this.textarea.value.substring(end);
267 if (sel) {
267 if (sel) {
268 this.textarea.setSelectionRange(start + subst.length, start + subst.length);
268 this.textarea.setSelectionRange(start + subst.length, start + subst.length);
269 } else {
269 } else {
270 this.textarea.setSelectionRange(start + prefix.length, start + prefix.length);
270 this.textarea.setSelectionRange(start + prefix.length, start + prefix.length);
271 }
271 }
272 this.textarea.scrollTop = scrollPos;
272 this.textarea.scrollTop = scrollPos;
273 }
273 }
274 },
274 },
275
275
276 stripBaseURL: function(url) {
276 stripBaseURL: function(url) {
277 if (this.base_url != '') {
277 if (this.base_url != '') {
278 var pos = url.indexOf(this.base_url);
278 var pos = url.indexOf(this.base_url);
279 if (pos == 0) {
279 if (pos == 0) {
280 url = url.substr(this.base_url.length);
280 url = url.substr(this.base_url.length);
281 }
281 }
282 }
282 }
283
283
284 return url;
284 return url;
285 }
285 }
286 };
286 };
287
287
288 /** Resizer
288 /** Resizer
289 -------------------------------------------------------- */
289 -------------------------------------------------------- */
290 jsToolBar.prototype.resizeSetStartH = function() {
290 jsToolBar.prototype.resizeSetStartH = function() {
291 this.dragStartH = this.textarea.offsetHeight + 0;
291 this.dragStartH = this.textarea.offsetHeight + 0;
292 };
292 };
293 jsToolBar.prototype.resizeDragStart = function(event) {
293 jsToolBar.prototype.resizeDragStart = function(event) {
294 var This = this;
294 var This = this;
295 this.dragStartY = event.clientY;
295 this.dragStartY = event.clientY;
296 this.resizeSetStartH();
296 this.resizeSetStartH();
297 document.addEventListener('mousemove', this.dragMoveHdlr=function(event){This.resizeDragMove(event);}, false);
297 document.addEventListener('mousemove', this.dragMoveHdlr=function(event){This.resizeDragMove(event);}, false);
298 document.addEventListener('mouseup', this.dragStopHdlr=function(event){This.resizeDragStop(event);}, false);
298 document.addEventListener('mouseup', this.dragStopHdlr=function(event){This.resizeDragStop(event);}, false);
299 };
299 };
300
300
301 jsToolBar.prototype.resizeDragMove = function(event) {
301 jsToolBar.prototype.resizeDragMove = function(event) {
302 this.textarea.style.height = (this.dragStartH+event.clientY-this.dragStartY)+'px';
302 this.textarea.style.height = (this.dragStartH+event.clientY-this.dragStartY)+'px';
303 };
303 };
304
304
305 jsToolBar.prototype.resizeDragStop = function(event) {
305 jsToolBar.prototype.resizeDragStop = function(event) {
306 document.removeEventListener('mousemove', this.dragMoveHdlr, false);
306 document.removeEventListener('mousemove', this.dragMoveHdlr, false);
307 document.removeEventListener('mouseup', this.dragStopHdlr, false);
307 document.removeEventListener('mouseup', this.dragStopHdlr, false);
308 };
308 };
309
309
310 // Elements definition ------------------------------------
310 // Elements definition ------------------------------------
311
311
312 // strong
312 // strong
313 jsToolBar.prototype.elements.strong = {
313 jsToolBar.prototype.elements.strong = {
314 type: 'button',
314 type: 'button',
315 title: 'Strong emphasis',
315 title: 'Strong emphasis',
316 fn: {
316 fn: {
317 wiki: function() { this.singleTag('*') }
317 wiki: function() { this.singleTag('*') }
318 }
318 }
319 }
319 }
320
320
321 // em
321 // em
322 jsToolBar.prototype.elements.em = {
322 jsToolBar.prototype.elements.em = {
323 type: 'button',
323 type: 'button',
324 title: 'Emphasis',
324 title: 'Emphasis',
325 fn: {
325 fn: {
326 wiki: function() { this.singleTag("_") }
326 wiki: function() { this.singleTag("_") }
327 }
327 }
328 }
328 }
329
329
330 // ins
330 // ins
331 jsToolBar.prototype.elements.ins = {
331 jsToolBar.prototype.elements.ins = {
332 type: 'button',
332 type: 'button',
333 title: 'Inserted',
333 title: 'Inserted',
334 fn: {
334 fn: {
335 wiki: function() { this.singleTag('+') }
335 wiki: function() { this.singleTag('+') }
336 }
336 }
337 }
337 }
338
338
339 // del
339 // del
340 jsToolBar.prototype.elements.del = {
340 jsToolBar.prototype.elements.del = {
341 type: 'button',
341 type: 'button',
342 title: 'Deleted',
342 title: 'Deleted',
343 fn: {
343 fn: {
344 wiki: function() { this.singleTag('-') }
344 wiki: function() { this.singleTag('-') }
345 }
345 }
346 }
346 }
347
347
348 // quote
348 // quote
349 //jsToolBar.prototype.elements.quote = {
349 jsToolBar.prototype.elements.quote = {
350 // type: 'button',
350 type: 'button',
351 // title: 'Inline quote',
351 title: 'Inline quote',
352 // fn: {
352 fn: {
353 // wiki: function() { this.singleTag('{{','}}') }
353 wiki: function() { this.singleTag('??') }
354 // }
354 }
355 //}
355 }
356
356
357 // code
357 // code
358 jsToolBar.prototype.elements.code = {
358 jsToolBar.prototype.elements.code = {
359 type: 'button',
359 type: 'button',
360 title: 'Code',
360 title: 'Code',
361 fn: {
361 fn: {
362 wiki: function() { this.singleTag('@') }
362 wiki: function() { this.singleTag('@') }
363 }
363 }
364 }
364 }
365
365
366 // spacer
366 // spacer
367 //jsToolBar.prototype.elements.space1 = {type: 'space'}
367 jsToolBar.prototype.elements.space1 = {type: 'space'}
368
369 // heading
370 jsToolBar.prototype.elements.heading = {
371 type: 'button',
372 title: 'Heading',
373 fn: {
374 wiki: function() {
375 this.encloseSelection('','',function(str) {
376 str = str.replace(/\r/g,'');
377 return 'h2. '+str.replace(/\n/g,"\n* ");
378 });
379 }
380 }
381 }
368
382
369 // br
383 // br
370 //jsToolBar.prototype.elements.br = {
384 //jsToolBar.prototype.elements.br = {
371 // type: 'button',
385 // type: 'button',
372 // title: 'Line break',
386 // title: 'Line break',
373 // fn: {
387 // fn: {
374 // wiki: function() { this.encloseSelection("%%%\n",'') }
388 // wiki: function() { this.encloseSelection("%%%\n",'') }
375 // }
389 // }
376 //}
390 //}
377
391
378 // spacer
392 // spacer
379 jsToolBar.prototype.elements.space2 = {type: 'space'}
393 jsToolBar.prototype.elements.space2 = {type: 'space'}
380
394
381 // ul
395 // ul
382 jsToolBar.prototype.elements.ul = {
396 jsToolBar.prototype.elements.ul = {
383 type: 'button',
397 type: 'button',
384 title: 'Unordered list',
398 title: 'Unordered list',
385 fn: {
399 fn: {
386 wiki: function() {
400 wiki: function() {
387 this.encloseSelection('','',function(str) {
401 this.encloseSelection('','',function(str) {
388 str = str.replace(/\r/g,'');
402 str = str.replace(/\r/g,'');
389 return '* '+str.replace(/\n/g,"\n* ");
403 return '* '+str.replace(/\n/g,"\n* ");
390 });
404 });
391 }
405 }
392 }
406 }
393 }
407 }
394
408
395 // ol
409 // ol
396 jsToolBar.prototype.elements.ol = {
410 jsToolBar.prototype.elements.ol = {
397 type: 'button',
411 type: 'button',
398 title: 'Ordered list',
412 title: 'Ordered list',
399 fn: {
413 fn: {
400 wiki: function() {
414 wiki: function() {
401 this.encloseSelection('','',function(str) {
415 this.encloseSelection('','',function(str) {
402 str = str.replace(/\r/g,'');
416 str = str.replace(/\r/g,'');
403 return '# '+str.replace(/\n/g,"\n# ");
417 return '# '+str.replace(/\n/g,"\n# ");
404 });
418 });
405 }
419 }
406 }
420 }
407 }
421 }
408
422
409 // spacer
423 // spacer
410 jsToolBar.prototype.elements.space3 = {type: 'space'}
424 jsToolBar.prototype.elements.space3 = {type: 'space'}
411
425
412 // link
426 // link
427 /*
413 jsToolBar.prototype.elements.link = {
428 jsToolBar.prototype.elements.link = {
414 type: 'button',
429 type: 'button',
415 title: 'Link',
430 title: 'Link',
416 fn: {},
431 fn: {},
417 href_prompt: 'Please give page URL:',
432 href_prompt: 'Please give page URL:',
418 hreflang_prompt: 'Language of this page:',
433 hreflang_prompt: 'Language of this page:',
419 default_hreflang: '',
434 default_hreflang: '',
420 prompt: function(href,hreflang) {
435 prompt: function(href,hreflang) {
421 href = href || '';
436 href = href || '';
422 hreflang = hreflang || this.elements.link.default_hreflang;
437 hreflang = hreflang || this.elements.link.default_hreflang;
423
438
424 href = window.prompt(this.elements.link.href_prompt,href);
439 href = window.prompt(this.elements.link.href_prompt,href);
425 if (!href) { return false; }
440 if (!href) { return false; }
426
441
427 hreflang = ""
442 hreflang = ""
428
443
429 return { href: this.stripBaseURL(href), hreflang: hreflang };
444 return { href: this.stripBaseURL(href), hreflang: hreflang };
430 }
445 }
431 }
446 }
432
447
433 jsToolBar.prototype.elements.link.fn.wiki = function() {
448 jsToolBar.prototype.elements.link.fn.wiki = function() {
434 var link = this.elements.link.prompt.call(this);
449 var link = this.elements.link.prompt.call(this);
435 if (link) {
450 if (link) {
436 var stag = '"';
451 var stag = '"';
437 var etag = '":'+link.href;
452 var etag = '":'+link.href;
438 this.encloseSelection(stag,etag);
453 this.encloseSelection(stag,etag);
439 }
454 }
440 };
455 };
456 */
457 // link or wiki page
458 jsToolBar.prototype.elements.link = {
459 type: 'button',
460 title: 'Link',
461 fn: {
462 wiki: function() { this.encloseSelection("[[", "]]") }
463 }
464 }
@@ -1,602 +1,606
1 /* andreas08 - an open source xhtml/css website layout by Andreas Viklund - http://andreasviklund.com . Free to use in any way and for any purpose as long as the proper credits are given to the original designer. Version: 1.0, November 28, 2005 */
1 /* andreas08 - an open source xhtml/css website layout by Andreas Viklund - http://andreasviklund.com . Free to use in any way and for any purpose as long as the proper credits are given to the original designer. Version: 1.0, November 28, 2005 */
2 /* Edited by Jean-Philippe Lang *>
2 /* Edited by Jean-Philippe Lang *>
3 /**************** Body and tag styles ****************/
3 /**************** Body and tag styles ****************/
4
4
5 #header * {margin:0; padding:0;}
5 #header * {margin:0; padding:0;}
6 p, ul, ol, li {margin:0; padding:0;}
6 p, ul, ol, li {margin:0; padding:0;}
7
7
8 body{
8 body{
9 font:76% Verdana,Tahoma,Arial,sans-serif;
9 font:76% Verdana,Tahoma,Arial,sans-serif;
10 line-height:1.4em;
10 line-height:1.4em;
11 text-align:center;
11 text-align:center;
12 color:#303030;
12 color:#303030;
13 background:#e8eaec;
13 background:#e8eaec;
14 margin:0;
14 margin:0;
15 }
15 }
16
16
17 a{color:#467aa7;font-weight:bold;text-decoration:none;background-color:inherit;}
17 a{color:#467aa7;font-weight:bold;text-decoration:none;background-color:inherit;}
18 a:hover{color:#2a5a8a; text-decoration:none; background-color:inherit;}
18 a:hover{color:#2a5a8a; text-decoration:none; background-color:inherit;}
19 a img{border:none;}
19 a img{border:none;}
20
20
21 p{margin:0 0 1em 0;}
21 p{margin:0 0 1em 0;}
22 p form{margin-top:0; margin-bottom:20px;}
22 p form{margin-top:0; margin-bottom:20px;}
23
23
24 img.left,img.center,img.right{padding:4px; border:1px solid #a0a0a0;}
24 img.left,img.center,img.right{padding:4px; border:1px solid #a0a0a0;}
25 img.left{float:left; margin:0 12px 5px 0;}
25 img.left{float:left; margin:0 12px 5px 0;}
26 img.center{display:block; margin:0 auto 5px auto;}
26 img.center{display:block; margin:0 auto 5px auto;}
27 img.right{float:right; margin:0 0 5px 12px;}
27 img.right{float:right; margin:0 0 5px 12px;}
28
28
29 /**************** Header and navigation styles ****************/
29 /**************** Header and navigation styles ****************/
30
30
31 #container{
31 #container{
32 width:100%;
32 width:100%;
33 min-width: 800px;
33 min-width: 800px;
34 margin:0;
34 margin:0;
35 padding:0;
35 padding:0;
36 text-align:left;
36 text-align:left;
37 background:#ffffff;
37 background:#ffffff;
38 color:#303030;
38 color:#303030;
39 }
39 }
40
40
41 #header{
41 #header{
42 height:4.5em;
42 height:4.5em;
43 margin:0;
43 margin:0;
44 background:#467aa7;
44 background:#467aa7;
45 color:#ffffff;
45 color:#ffffff;
46 margin-bottom:1px;
46 margin-bottom:1px;
47 }
47 }
48
48
49 #header h1{
49 #header h1{
50 padding:10px 0 0 20px;
50 padding:10px 0 0 20px;
51 font-size:2em;
51 font-size:2em;
52 background-color:inherit;
52 background-color:inherit;
53 color:#fff;
53 color:#fff;
54 letter-spacing:-1px;
54 letter-spacing:-1px;
55 font-weight:bold;
55 font-weight:bold;
56 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
56 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
57 }
57 }
58
58
59 #header h2{
59 #header h2{
60 margin:3px 0 0 40px;
60 margin:3px 0 0 40px;
61 font-size:1.5em;
61 font-size:1.5em;
62 background-color:inherit;
62 background-color:inherit;
63 color:#f0f2f4;
63 color:#f0f2f4;
64 letter-spacing:-1px;
64 letter-spacing:-1px;
65 font-weight:normal;
65 font-weight:normal;
66 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
66 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
67 }
67 }
68
68
69 #navigation{
69 #navigation{
70 height:2.2em;
70 height:2.2em;
71 line-height:2.2em;
71 line-height:2.2em;
72 margin:0;
72 margin:0;
73 background:#578bb8;
73 background:#578bb8;
74 color:#ffffff;
74 color:#ffffff;
75 }
75 }
76
76
77 #navigation li{
77 #navigation li{
78 float:left;
78 float:left;
79 list-style-type:none;
79 list-style-type:none;
80 border-right:1px solid #ffffff;
80 border-right:1px solid #ffffff;
81 white-space:nowrap;
81 white-space:nowrap;
82 }
82 }
83
83
84 #navigation li.right {
84 #navigation li.right {
85 float:right;
85 float:right;
86 list-style-type:none;
86 list-style-type:none;
87 border-right:0;
87 border-right:0;
88 border-left:1px solid #ffffff;
88 border-left:1px solid #ffffff;
89 white-space:nowrap;
89 white-space:nowrap;
90 }
90 }
91
91
92 #navigation li a{
92 #navigation li a{
93 display:block;
93 display:block;
94 padding:0px 10px 0px 22px;
94 padding:0px 10px 0px 22px;
95 font-size:0.8em;
95 font-size:0.8em;
96 font-weight:normal;
96 font-weight:normal;
97 text-decoration:none;
97 text-decoration:none;
98 background-color:inherit;
98 background-color:inherit;
99 color: #ffffff;
99 color: #ffffff;
100 }
100 }
101
101
102 #navigation li.submenu {background:url(../images/arrow_down.png) 96% 80% no-repeat;}
102 #navigation li.submenu {background:url(../images/arrow_down.png) 96% 80% no-repeat;}
103 #navigation li.submenu a {padding:0px 16px 0px 22px;}
103 #navigation li.submenu a {padding:0px 16px 0px 22px;}
104 * html #navigation a {width:1%;}
104 * html #navigation a {width:1%;}
105
105
106 #navigation .selected,#navigation a:hover{
106 #navigation .selected,#navigation a:hover{
107 color:#ffffff;
107 color:#ffffff;
108 text-decoration:none;
108 text-decoration:none;
109 background-color: #80b0da;
109 background-color: #80b0da;
110 }
110 }
111
111
112 /**************** Icons *******************/
112 /**************** Icons *******************/
113 .icon {
113 .icon {
114 background-position: 0% 40%;
114 background-position: 0% 40%;
115 background-repeat: no-repeat;
115 background-repeat: no-repeat;
116 padding-left: 20px;
116 padding-left: 20px;
117 padding-top: 2px;
117 padding-top: 2px;
118 padding-bottom: 3px;
118 padding-bottom: 3px;
119 vertical-align: middle;
119 vertical-align: middle;
120 }
120 }
121
121
122 #navigation .icon {
122 #navigation .icon {
123 background-position: 4px 50%;
123 background-position: 4px 50%;
124 }
124 }
125
125
126 .icon22 {
126 .icon22 {
127 background-position: 0% 40%;
127 background-position: 0% 40%;
128 background-repeat: no-repeat;
128 background-repeat: no-repeat;
129 padding-left: 26px;
129 padding-left: 26px;
130 line-height: 22px;
130 line-height: 22px;
131 vertical-align: middle;
131 vertical-align: middle;
132 }
132 }
133
133
134 .icon-add { background-image: url(../images/add.png); }
134 .icon-add { background-image: url(../images/add.png); }
135 .icon-edit { background-image: url(../images/edit.png); }
135 .icon-edit { background-image: url(../images/edit.png); }
136 .icon-del { background-image: url(../images/delete.png); }
136 .icon-del { background-image: url(../images/delete.png); }
137 .icon-move { background-image: url(../images/move.png); }
137 .icon-move { background-image: url(../images/move.png); }
138 .icon-save { background-image: url(../images/save.png); }
138 .icon-save { background-image: url(../images/save.png); }
139 .icon-cancel { background-image: url(../images/cancel.png); }
139 .icon-cancel { background-image: url(../images/cancel.png); }
140 .icon-pdf { background-image: url(../images/pdf.png); }
140 .icon-pdf { background-image: url(../images/pdf.png); }
141 .icon-csv { background-image: url(../images/csv.png); }
141 .icon-csv { background-image: url(../images/csv.png); }
142 .icon-html { background-image: url(../images/html.png); }
142 .icon-html { background-image: url(../images/html.png); }
143 .icon-txt { background-image: url(../images/txt.png); }
143 .icon-txt { background-image: url(../images/txt.png); }
144 .icon-file { background-image: url(../images/file.png); }
144 .icon-file { background-image: url(../images/file.png); }
145 .icon-folder { background-image: url(../images/folder.png); }
145 .icon-folder { background-image: url(../images/folder.png); }
146 .icon-package { background-image: url(../images/package.png); }
146 .icon-package { background-image: url(../images/package.png); }
147 .icon-home { background-image: url(../images/home.png); }
147 .icon-home { background-image: url(../images/home.png); }
148 .icon-user { background-image: url(../images/user.png); }
148 .icon-user { background-image: url(../images/user.png); }
149 .icon-mypage { background-image: url(../images/user_page.png); }
149 .icon-mypage { background-image: url(../images/user_page.png); }
150 .icon-admin { background-image: url(../images/admin.png); }
150 .icon-admin { background-image: url(../images/admin.png); }
151 .icon-projects { background-image: url(../images/projects.png); }
151 .icon-projects { background-image: url(../images/projects.png); }
152 .icon-logout { background-image: url(../images/logout.png); }
152 .icon-logout { background-image: url(../images/logout.png); }
153 .icon-help { background-image: url(../images/help.png); }
153 .icon-help { background-image: url(../images/help.png); }
154 .icon-attachment { background-image: url(../images/attachment.png); }
154 .icon-attachment { background-image: url(../images/attachment.png); }
155 .icon-index { background-image: url(../images/index.png); }
155 .icon-index { background-image: url(../images/index.png); }
156 .icon-history { background-image: url(../images/history.png); }
156 .icon-history { background-image: url(../images/history.png); }
157
157
158 .icon22-projects { background-image: url(../images/22x22/projects.png); }
158 .icon22-projects { background-image: url(../images/22x22/projects.png); }
159 .icon22-users { background-image: url(../images/22x22/users.png); }
159 .icon22-users { background-image: url(../images/22x22/users.png); }
160 .icon22-tracker { background-image: url(../images/22x22/tracker.png); }
160 .icon22-tracker { background-image: url(../images/22x22/tracker.png); }
161 .icon22-role { background-image: url(../images/22x22/role.png); }
161 .icon22-role { background-image: url(../images/22x22/role.png); }
162 .icon22-workflow { background-image: url(../images/22x22/workflow.png); }
162 .icon22-workflow { background-image: url(../images/22x22/workflow.png); }
163 .icon22-options { background-image: url(../images/22x22/options.png); }
163 .icon22-options { background-image: url(../images/22x22/options.png); }
164 .icon22-notifications { background-image: url(../images/22x22/notifications.png); }
164 .icon22-notifications { background-image: url(../images/22x22/notifications.png); }
165 .icon22-authent { background-image: url(../images/22x22/authent.png); }
165 .icon22-authent { background-image: url(../images/22x22/authent.png); }
166 .icon22-info { background-image: url(../images/22x22/info.png); }
166 .icon22-info { background-image: url(../images/22x22/info.png); }
167 .icon22-comment { background-image: url(../images/22x22/comment.png); }
167 .icon22-comment { background-image: url(../images/22x22/comment.png); }
168 .icon22-package { background-image: url(../images/22x22/package.png); }
168 .icon22-package { background-image: url(../images/22x22/package.png); }
169 .icon22-settings { background-image: url(../images/22x22/settings.png); }
169 .icon22-settings { background-image: url(../images/22x22/settings.png); }
170
170
171 /**************** Content styles ****************/
171 /**************** Content styles ****************/
172
172
173 html>body #content {
173 html>body #content {
174 height: auto;
174 height: auto;
175 min-height: 500px;
175 min-height: 500px;
176 }
176 }
177
177
178 #content{
178 #content{
179 width: auto;
179 width: auto;
180 height:500px;
180 height:500px;
181 font-size:0.9em;
181 font-size:0.9em;
182 padding:20px 10px 10px 20px;
182 padding:20px 10px 10px 20px;
183 margin-left: 120px;
183 margin-left: 120px;
184 border-left: 1px dashed #c0c0c0;
184 border-left: 1px dashed #c0c0c0;
185
185
186 }
186 }
187
187
188 #content h2, #content div.wiki h1 {
188 #content h2, #content div.wiki h1 {
189 display:block;
189 display:block;
190 margin:0 0 16px 0;
190 margin:0 0 16px 0;
191 font-size:1.7em;
191 font-size:1.7em;
192 font-weight:normal;
192 font-weight:normal;
193 letter-spacing:-1px;
193 letter-spacing:-1px;
194 color:#606060;
194 color:#606060;
195 background-color:inherit;
195 background-color:inherit;
196 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
196 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
197 }
197 }
198
198
199 #content h2 a{font-weight:normal;}
199 #content h2 a{font-weight:normal;}
200 #content h3{margin:0 0 12px 0; font-size:1.4em;color:#707070;font-family: Trebuchet MS,Georgia,"Times New Roman",serif;}
200 #content h3{margin:0 0 12px 0; font-size:1.4em;color:#707070;font-family: Trebuchet MS,Georgia,"Times New Roman",serif;}
201 #content h4{font-size: 1em; margin-bottom: 12px; margin-top: 20px; font-weight: normal; border-bottom: dotted 1px #c0c0c0;}
201 #content h4{font-size: 1em; margin-bottom: 12px; margin-top: 20px; font-weight: normal; border-bottom: dotted 1px #c0c0c0;}
202 #content a:hover,#subcontent a:hover{text-decoration:underline;}
202 #content a:hover,#subcontent a:hover{text-decoration:underline;}
203 #content ul,#content ol{margin:0 5px 16px 35px;}
203 #content ul,#content ol{margin:0 5px 16px 35px;}
204 #content dl{margin:0 5px 10px 25px;}
204 #content dl{margin:0 5px 10px 25px;}
205 #content dt{font-weight:bold; margin-bottom:5px;}
205 #content dt{font-weight:bold; margin-bottom:5px;}
206 #content dd{margin:0 0 10px 15px;}
206 #content dd{margin:0 0 10px 15px;}
207
207
208 #content .tabs{height: 2.6em;}
208 #content .tabs{height: 2.6em;}
209 #content .tabs ul{margin:0;}
209 #content .tabs ul{margin:0;}
210 #content .tabs ul li{
210 #content .tabs ul li{
211 float:left;
211 float:left;
212 list-style-type:none;
212 list-style-type:none;
213 white-space:nowrap;
213 white-space:nowrap;
214 margin-right:8px;
214 margin-right:8px;
215 background:#fff;
215 background:#fff;
216 }
216 }
217 #content .tabs ul li a{
217 #content .tabs ul li a{
218 display:block;
218 display:block;
219 font-size: 0.9em;
219 font-size: 0.9em;
220 text-decoration:none;
220 text-decoration:none;
221 line-height:1em;
221 line-height:1em;
222 padding:4px;
222 padding:4px;
223 border: 1px solid #c0c0c0;
223 border: 1px solid #c0c0c0;
224 }
224 }
225
225
226 #content .tabs ul li a.selected, #content .tabs ul li a:hover{
226 #content .tabs ul li a.selected, #content .tabs ul li a:hover{
227 background-color: #80b0da;
227 background-color: #80b0da;
228 border: 1px solid #80b0da;
228 border: 1px solid #80b0da;
229 color: #fff;
229 color: #fff;
230 text-decoration:none;
230 text-decoration:none;
231 }
231 }
232
232
233 /***********************************************/
233 /***********************************************/
234
234
235 form {display: inline;}
235 form {display: inline;}
236 blockquote {padding-left: 6px; border-left: 2px solid #ccc;}
236 blockquote {padding-left: 6px; border-left: 2px solid #ccc;}
237 input, select {vertical-align: middle; margin-bottom: 4px;}
237 input, select {vertical-align: middle; margin-bottom: 4px;}
238
238
239 input.button-small {font-size: 0.8em;}
239 input.button-small {font-size: 0.8em;}
240 .select-small {font-size: 0.8em;}
240 .select-small {font-size: 0.8em;}
241 label {font-weight: bold; font-size: 1em; color: #505050;}
241 label {font-weight: bold; font-size: 1em; color: #505050;}
242 fieldset {border:1px solid #c0c0c0; padding: 6px;}
242 fieldset {border:1px solid #c0c0c0; padding: 6px;}
243 legend {color: #505050;}
243 legend {color: #505050;}
244 .required {color: #bb0000;}
244 .required {color: #bb0000;}
245 .odd {background-color:#f6f7f8;}
245 .odd {background-color:#f6f7f8;}
246 .even {background-color: #fff;}
246 .even {background-color: #fff;}
247 hr { border:0; border-top: dotted 1px #fff; border-bottom: dotted 1px #c0c0c0; }
247 hr { border:0; border-top: dotted 1px #fff; border-bottom: dotted 1px #c0c0c0; }
248 table p {margin:0; padding:0;}
248 table p {margin:0; padding:0;}
249
249
250 .highlight { background-color: #FCFD8D;}
250 .highlight { background-color: #FCFD8D;}
251
251
252 div.square {
252 div.square {
253 border: 1px solid #999;
253 border: 1px solid #999;
254 float: left;
254 float: left;
255 margin: .4em .5em 0 0;
255 margin: .4em .5em 0 0;
256 overflow: hidden;
256 overflow: hidden;
257 width: .6em; height: .6em;
257 width: .6em; height: .6em;
258 }
258 }
259
259
260 ul.documents {
260 ul.documents {
261 list-style-type: none;
261 list-style-type: none;
262 padding: 0;
262 padding: 0;
263 margin: 0;
263 margin: 0;
264 }
264 }
265
265
266 ul.documents li {
266 ul.documents li {
267 background-image: url(../images/32x32/file.png);
267 background-image: url(../images/32x32/file.png);
268 background-repeat: no-repeat;
268 background-repeat: no-repeat;
269 background-position: 0 1px;
269 background-position: 0 1px;
270 padding-left: 36px;
270 padding-left: 36px;
271 margin-bottom: 10px;
271 margin-bottom: 10px;
272 margin-left: -37px;
272 margin-left: -37px;
273 }
273 }
274
274
275 /********** Table used to display lists of things ***********/
275 /********** Table used to display lists of things ***********/
276
276
277 table.list {
277 table.list {
278 width:100%;
278 width:100%;
279 border-collapse: collapse;
279 border-collapse: collapse;
280 border: 1px dotted #d0d0d0;
280 border: 1px dotted #d0d0d0;
281 margin-bottom: 6px;
281 margin-bottom: 6px;
282 }
282 }
283
283
284 table.with-cells td {
284 table.with-cells td {
285 border: 1px solid #d7d7d7;
285 border: 1px solid #d7d7d7;
286 }
286 }
287
287
288 table.list td {
288 table.list td {
289 padding:2px;
289 padding:2px;
290 }
290 }
291
291
292 table.list thead th {
292 table.list thead th {
293 text-align: center;
293 text-align: center;
294 background: #eee;
294 background: #eee;
295 border: 1px solid #d7d7d7;
295 border: 1px solid #d7d7d7;
296 color: #777;
296 color: #777;
297 }
297 }
298
298
299 table.list tbody th {
299 table.list tbody th {
300 font-weight: normal;
300 font-weight: normal;
301 background: #eed;
301 background: #eed;
302 border: 1px solid #d7d7d7;
302 border: 1px solid #d7d7d7;
303 }
303 }
304
304
305 /********** Validation error messages *************/
305 /********** Validation error messages *************/
306 #errorExplanation {
306 #errorExplanation {
307 width: 400px;
307 width: 400px;
308 border: 0;
308 border: 0;
309 padding: 7px;
309 padding: 7px;
310 padding-bottom: 3px;
310 padding-bottom: 3px;
311 margin-bottom: 0px;
311 margin-bottom: 0px;
312 }
312 }
313
313
314 #errorExplanation h2 {
314 #errorExplanation h2 {
315 text-align: left;
315 text-align: left;
316 font-weight: bold;
316 font-weight: bold;
317 padding: 5px 5px 10px 26px;
317 padding: 5px 5px 10px 26px;
318 font-size: 1em;
318 font-size: 1em;
319 margin: -7px;
319 margin: -7px;
320 background: url(../images/alert.png) no-repeat 6px 6px;
320 background: url(../images/alert.png) no-repeat 6px 6px;
321 }
321 }
322
322
323 #errorExplanation p {
323 #errorExplanation p {
324 color: #333;
324 color: #333;
325 margin-bottom: 0;
325 margin-bottom: 0;
326 padding: 5px;
326 padding: 5px;
327 }
327 }
328
328
329 #errorExplanation ul li {
329 #errorExplanation ul li {
330 font-size: 1em;
330 font-size: 1em;
331 list-style: none;
331 list-style: none;
332 margin-left: -16px;
332 margin-left: -16px;
333 }
333 }
334
334
335 /*========== Drop down menu ==============*/
335 /*========== Drop down menu ==============*/
336 div.menu {
336 div.menu {
337 background-color: #FFFFFF;
337 background-color: #FFFFFF;
338 border-style: solid;
338 border-style: solid;
339 border-width: 1px;
339 border-width: 1px;
340 border-color: #7F9DB9;
340 border-color: #7F9DB9;
341 position: absolute;
341 position: absolute;
342 top: 0px;
342 top: 0px;
343 left: 0px;
343 left: 0px;
344 padding: 0;
344 padding: 0;
345 visibility: hidden;
345 visibility: hidden;
346 z-index: 101;
346 z-index: 101;
347 }
347 }
348
348
349 div.menu a.menuItem {
349 div.menu a.menuItem {
350 font-size: 10px;
350 font-size: 10px;
351 font-weight: normal;
351 font-weight: normal;
352 line-height: 2em;
352 line-height: 2em;
353 color: #000000;
353 color: #000000;
354 background-color: #FFFFFF;
354 background-color: #FFFFFF;
355 cursor: default;
355 cursor: default;
356 display: block;
356 display: block;
357 padding: 0 1em;
357 padding: 0 1em;
358 margin: 0;
358 margin: 0;
359 border: 0;
359 border: 0;
360 text-decoration: none;
360 text-decoration: none;
361 white-space: nowrap;
361 white-space: nowrap;
362 }
362 }
363
363
364 div.menu a.menuItem:hover, div.menu a.menuItemHighlight {
364 div.menu a.menuItem:hover, div.menu a.menuItemHighlight {
365 background-color: #80b0da;
365 background-color: #80b0da;
366 color: #ffffff;
366 color: #ffffff;
367 }
367 }
368
368
369 div.menu a.menuItem span.menuItemText {}
369 div.menu a.menuItem span.menuItemText {}
370
370
371 div.menu a.menuItem span.menuItemArrow {
371 div.menu a.menuItem span.menuItemArrow {
372 margin-right: -.75em;
372 margin-right: -.75em;
373 }
373 }
374
374
375 /**************** Sidebar styles ****************/
375 /**************** Sidebar styles ****************/
376
376
377 #subcontent{
377 #subcontent{
378 position: absolute;
378 position: absolute;
379 left: 0px;
379 left: 0px;
380 width:110px;
380 width:110px;
381 padding:20px 20px 10px 5px;
381 padding:20px 20px 10px 5px;
382 }
382 }
383
383
384 #subcontent h2{
384 #subcontent h2{
385 display:block;
385 display:block;
386 margin:0 0 5px 0;
386 margin:0 0 5px 0;
387 font-size:1.0em;
387 font-size:1.0em;
388 font-weight:bold;
388 font-weight:bold;
389 text-align:left;
389 text-align:left;
390 color:#606060;
390 color:#606060;
391 background-color:inherit;
391 background-color:inherit;
392 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
392 font-family: Trebuchet MS,Georgia,"Times New Roman",serif;
393 }
393 }
394
394
395 #subcontent p{margin:0 0 16px 0; font-size:0.9em;}
395 #subcontent p{margin:0 0 16px 0; font-size:0.9em;}
396
396
397 /**************** Menublock styles ****************/
397 /**************** Menublock styles ****************/
398
398
399 .menublock{margin:0 0 20px 8px; font-size:0.8em;}
399 .menublock{margin:0 0 20px 8px; font-size:0.8em;}
400 .menublock li{list-style:none; display:block; padding:1px; margin-bottom:0px;}
400 .menublock li{list-style:none; display:block; padding:1px; margin-bottom:0px;}
401 .menublock li a{font-weight:bold; text-decoration:none;}
401 .menublock li a{font-weight:bold; text-decoration:none;}
402 .menublock li a:hover{text-decoration:none;}
402 .menublock li a:hover{text-decoration:none;}
403 .menublock li ul{margin:0; font-size:1em; font-weight:normal;}
403 .menublock li ul{margin:0; font-size:1em; font-weight:normal;}
404 .menublock li ul li{margin-bottom:0;}
404 .menublock li ul li{margin-bottom:0;}
405 .menublock li ul a{font-weight:normal;}
405 .menublock li ul a{font-weight:normal;}
406
406
407 /**************** Footer styles ****************/
407 /**************** Footer styles ****************/
408
408
409 #footer{
409 #footer{
410 clear:both;
410 clear:both;
411 padding:5px 0;
411 padding:5px 0;
412 margin:0;
412 margin:0;
413 font-size:0.9em;
413 font-size:0.9em;
414 color:#f0f0f0;
414 color:#f0f0f0;
415 background:#467aa7;
415 background:#467aa7;
416 }
416 }
417
417
418 #footer p{padding:0; margin:0; text-align:center;}
418 #footer p{padding:0; margin:0; text-align:center;}
419 #footer a{color:#f0f0f0; background-color:inherit; font-weight:bold;}
419 #footer a{color:#f0f0f0; background-color:inherit; font-weight:bold;}
420 #footer a:hover{color:#ffffff; background-color:inherit; text-decoration: underline;}
420 #footer a:hover{color:#ffffff; background-color:inherit; text-decoration: underline;}
421
421
422 /**************** Misc classes and styles ****************/
422 /**************** Misc classes and styles ****************/
423
423
424 .splitcontentleft{float:left; width:49%;}
424 .splitcontentleft{float:left; width:49%;}
425 .splitcontentright{float:right; width:49%;}
425 .splitcontentright{float:right; width:49%;}
426 .clear{clear:both;}
426 .clear{clear:both;}
427 .small{font-size:0.8em;line-height:1.4em;padding:0 0 0 0;}
427 .small{font-size:0.8em;line-height:1.4em;padding:0 0 0 0;}
428 .hide{display:none;}
428 .hide{display:none;}
429 .textcenter{text-align:center;}
429 .textcenter{text-align:center;}
430 .textright{text-align:right;}
430 .textright{text-align:right;}
431 .important{color:#f02025; background-color:inherit; font-weight:bold;}
431 .important{color:#f02025; background-color:inherit; font-weight:bold;}
432
432
433 .box{
433 .box{
434 margin:0 0 20px 0;
434 margin:0 0 20px 0;
435 padding:10px;
435 padding:10px;
436 border:1px solid #c0c0c0;
436 border:1px solid #c0c0c0;
437 background-color:#fafbfc;
437 background-color:#fafbfc;
438 color:#505050;
438 color:#505050;
439 line-height:1.5em;
439 line-height:1.5em;
440 }
440 }
441
441
442 a.close-icon {
442 a.close-icon {
443 display:block;
443 display:block;
444 margin-top:3px;
444 margin-top:3px;
445 overflow:hidden;
445 overflow:hidden;
446 width:12px;
446 width:12px;
447 height:12px;
447 height:12px;
448 background-repeat: no-repeat;
448 background-repeat: no-repeat;
449 cursor:pointer;
449 cursor:pointer;
450 background-image:url('../images/close.png');
450 background-image:url('../images/close.png');
451 }
451 }
452
452
453 a.close-icon:hover {
453 a.close-icon:hover {
454 background-image:url('../images/close_hl.png');
454 background-image:url('../images/close_hl.png');
455 }
455 }
456
456
457 .rightbox{
457 .rightbox{
458 background: #fafbfc;
458 background: #fafbfc;
459 border: 1px solid #c0c0c0;
459 border: 1px solid #c0c0c0;
460 float: right;
460 float: right;
461 padding: 8px;
461 padding: 8px;
462 position: relative;
462 position: relative;
463 margin: 0 5px 5px;
463 margin: 0 5px 5px;
464 }
464 }
465
465
466 .layout-active {
466 .layout-active {
467 background: #ECF3E1;
467 background: #ECF3E1;
468 }
468 }
469
469
470 .block-receiver {
470 .block-receiver {
471 border:1px dashed #c0c0c0;
471 border:1px dashed #c0c0c0;
472 margin-bottom: 20px;
472 margin-bottom: 20px;
473 padding: 15px 0 15px 0;
473 padding: 15px 0 15px 0;
474 }
474 }
475
475
476 .mypage-box {
476 .mypage-box {
477 margin:0 0 20px 0;
477 margin:0 0 20px 0;
478 color:#505050;
478 color:#505050;
479 line-height:1.5em;
479 line-height:1.5em;
480 }
480 }
481
481
482 .handle {
482 .handle {
483 cursor: move;
483 cursor: move;
484 }
484 }
485
485
486 .login {
486 .login {
487 width: 50%;
487 width: 50%;
488 text-align: left;
488 text-align: left;
489 }
489 }
490
490
491 img.calendar-trigger {
491 img.calendar-trigger {
492 cursor: pointer;
492 cursor: pointer;
493 vertical-align: middle;
493 vertical-align: middle;
494 margin-left: 4px;
494 margin-left: 4px;
495 }
495 }
496
496
497 #history p {
497 #history p {
498 margin-left: 34px;
498 margin-left: 34px;
499 }
499 }
500
500
501 /***** Contextual links div *****/
501 /***** Contextual links div *****/
502 .contextual {
502 .contextual {
503 float: right;
503 float: right;
504 font-size: 0.8em;
504 font-size: 0.8em;
505 line-height: 16px;
505 line-height: 16px;
506 padding: 2px;
506 padding: 2px;
507 }
507 }
508
508
509 .contextual select, .contextual input {
509 .contextual select, .contextual input {
510 font-size: 1em;
510 font-size: 1em;
511 }
511 }
512
512
513 /***** Gantt chart *****/
513 /***** Gantt chart *****/
514 .gantt_hdr {
514 .gantt_hdr {
515 position:absolute;
515 position:absolute;
516 top:0;
516 top:0;
517 height:16px;
517 height:16px;
518 border-top: 1px solid #c0c0c0;
518 border-top: 1px solid #c0c0c0;
519 border-bottom: 1px solid #c0c0c0;
519 border-bottom: 1px solid #c0c0c0;
520 border-right: 1px solid #c0c0c0;
520 border-right: 1px solid #c0c0c0;
521 text-align: center;
521 text-align: center;
522 overflow: hidden;
522 overflow: hidden;
523 }
523 }
524
524
525 .task {
525 .task {
526 position: absolute;
526 position: absolute;
527 height:8px;
527 height:8px;
528 font-size:0.8em;
528 font-size:0.8em;
529 color:#888;
529 color:#888;
530 padding:0;
530 padding:0;
531 margin:0;
531 margin:0;
532 line-height:0.8em;
532 line-height:0.8em;
533 }
533 }
534
534
535 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
535 .task_late { background:#f66 url(../images/task_late.png); border: 1px solid #f66; }
536 .task_done { background:#66f url(../images/task_done.png); border: 1px solid #66f; }
536 .task_done { background:#66f url(../images/task_done.png); border: 1px solid #66f; }
537 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
537 .task_todo { background:#aaa url(../images/task_todo.png); border: 1px solid #aaa; }
538
538
539 /***** Tooltips ******/
539 /***** Tooltips ******/
540 .tooltip{position:relative;z-index:24;}
540 .tooltip{position:relative;z-index:24;}
541 .tooltip:hover{z-index:25;color:#000;}
541 .tooltip:hover{z-index:25;color:#000;}
542 .tooltip span.tip{display: none}
542 .tooltip span.tip{display: none}
543
543
544 div.tooltip:hover span.tip{
544 div.tooltip:hover span.tip{
545 display:block;
545 display:block;
546 position:absolute;
546 position:absolute;
547 top:12px; left:24px; width:270px;
547 top:12px; left:24px; width:270px;
548 border:1px solid #555;
548 border:1px solid #555;
549 background-color:#fff;
549 background-color:#fff;
550 padding: 4px;
550 padding: 4px;
551 font-size: 0.8em;
551 font-size: 0.8em;
552 color:#505050;
552 color:#505050;
553 }
553 }
554
554
555 /***** CSS FORM ******/
555 /***** CSS FORM ******/
556 .tabular p{
556 .tabular p{
557 margin: 0;
557 margin: 0;
558 padding: 5px 0 8px 0;
558 padding: 5px 0 8px 0;
559 padding-left: 180px; /*width of left column containing the label elements*/
559 padding-left: 180px; /*width of left column containing the label elements*/
560 height: 1%;
560 height: 1%;
561 }
561 }
562
562
563 .tabular label{
563 .tabular label{
564 font-weight: bold;
564 font-weight: bold;
565 float: left;
565 float: left;
566 margin-left: -180px; /*width of left column*/
566 margin-left: -180px; /*width of left column*/
567 width: 175px; /*width of labels. Should be smaller than left column to create some right
567 width: 175px; /*width of labels. Should be smaller than left column to create some right
568 margin*/
568 margin*/
569 }
569 }
570
570
571 .error {
571 .error {
572 color: #cc0000;
572 color: #cc0000;
573 }
573 }
574
574
575
575
576 /*.threepxfix class below:
576 /*.threepxfix class below:
577 Targets IE6- ONLY. Adds 3 pixel indent for multi-line form contents.
577 Targets IE6- ONLY. Adds 3 pixel indent for multi-line form contents.
578 to account for 3 pixel bug: http://www.positioniseverything.net/explorer/threepxtest.html
578 to account for 3 pixel bug: http://www.positioniseverything.net/explorer/threepxtest.html
579 */
579 */
580
580
581 * html .threepxfix{
581 * html .threepxfix{
582 margin-left: 3px;
582 margin-left: 3px;
583 }
583 }
584
584
585 /***** Wiki sections ****/
585 /***** Wiki sections ****/
586 #content div.wiki { font-size: 110%}
586 #content div.wiki { font-size: 110%}
587
587
588 #content div.wiki h2, div.wiki h3 { font-family: Trebuchet MS,Georgia,"Times New Roman",serif; color:#606060; }
588 #content div.wiki h2, div.wiki h3 { font-family: Trebuchet MS,Georgia,"Times New Roman",serif; color:#606060; }
589 #content div.wiki h2 { font-size: 1.4em;}
589 #content div.wiki h2 { font-size: 1.4em;}
590 #content div.wiki h3 { font-size: 1.2em;}
590 #content div.wiki h3 { font-size: 1.2em;}
591
591
592 div.wiki table {
592 div.wiki table {
593 border: 1px solid #505050;
593 border: 1px solid #505050;
594 border-collapse: collapse;
594 border-collapse: collapse;
595 }
595 }
596
596
597 div.wiki table, div.wiki td {
597 div.wiki table, div.wiki td {
598 border: 1px solid #bbb;
598 border: 1px solid #bbb;
599 padding: 4px;
599 padding: 4px;
600 }
600 }
601
601
602 div.wiki code {
603 font-size: 1.2em;
604 }
605
602 #preview .preview { background: #fafbfc url(../images/draft.png); }
606 #preview .preview { background: #fafbfc url(../images/draft.png); }
@@ -1,78 +1,81
1 .jstEditor {
1 .jstEditor {
2 padding-left: 0px;
2 padding-left: 0px;
3 }
3 }
4 .jstEditor textarea, .jstEditor iframe {
4 .jstEditor textarea, .jstEditor iframe {
5 margin: 0;
5 margin: 0;
6 }
6 }
7
7
8 .jstHandle {
8 .jstHandle {
9 height: 16px;
9 height: 16px;
10 font-size: 0.1em;
10 font-size: 0.1em;
11 cursor: s-resize;
11 cursor: s-resize;
12 /*background: transparent url(img/resizer.png) no-repeat 45% 50%;*/
12 /*background: transparent url(img/resizer.png) no-repeat 45% 50%;*/
13 }
13 }
14
14
15 .jstElements {
15 .jstElements {
16 padding: 3px 3px;
16 padding: 3px 3px;
17 }
17 }
18
18
19 .jstElements button {
19 .jstElements button {
20 margin-right : 6px;
20 margin-right : 6px;
21 width : 24px;
21 width : 24px;
22 height: 24px;
22 height: 24px;
23 padding: 4px;
23 padding: 4px;
24 border-style: solid;
24 border-style: solid;
25 border-width: 1px;
25 border-width: 1px;
26 border-color: #ddd;
26 border-color: #ddd;
27 background-color : #f7f7f7;
27 background-color : #f7f7f7;
28 background-position : 50% 50%;
28 background-position : 50% 50%;
29 background-repeat: no-repeat;
29 background-repeat: no-repeat;
30 }
30 }
31 .jstElements button:hover {
31 .jstElements button:hover {
32 border-color : #000;
32 border-color : #000;
33 }
33 }
34 .jstElements button span {
34 .jstElements button span {
35 display : none;
35 display : none;
36 }
36 }
37 .jstElements span {
37 .jstElements span {
38 display : inline;
38 display : inline;
39 }
39 }
40
40
41 .jstSpacer {
41 .jstSpacer {
42 width : 0px;
42 width : 0px;
43 font-size: 1px;
43 font-size: 1px;
44 margin-right: 4px;
44 margin-right: 4px;
45 }
45 }
46
46
47 /* Buttons
47 /* Buttons
48 -------------------------------------------------------- */
48 -------------------------------------------------------- */
49 .jstb_strong {
49 .jstb_strong {
50 background-image: url(../images/jstoolbar/bt_strong.png);
50 background-image: url(../images/jstoolbar/bt_strong.png);
51 }
51 }
52 .jstb_em {
52 .jstb_em {
53 background-image: url(../images/jstoolbar/bt_em.png);
53 background-image: url(../images/jstoolbar/bt_em.png);
54 }
54 }
55 .jstb_ins {
55 .jstb_ins {
56 background-image: url(../images/jstoolbar/bt_ins.png);
56 background-image: url(../images/jstoolbar/bt_ins.png);
57 }
57 }
58 .jstb_del {
58 .jstb_del {
59 background-image: url(../images/jstoolbar/bt_del.png);
59 background-image: url(../images/jstoolbar/bt_del.png);
60 }
60 }
61 .jstb_quote {
61 .jstb_quote {
62 background-image: url(../images/jstoolbar/bt_quote.png);
62 background-image: url(../images/jstoolbar/bt_quote.png);
63 }
63 }
64 .jstb_code {
64 .jstb_code {
65 background-image: url(../images/jstoolbar/bt_code.png);
65 background-image: url(../images/jstoolbar/bt_code.png);
66 }
66 }
67 .jstb_br {
67 .jstb_br {
68 background-image: url(../images/jstoolbar/bt_br.png);
68 background-image: url(../images/jstoolbar/bt_br.png);
69 }
69 }
70 .jstb_heading {
71 background-image: url(../images/jstoolbar/bt_heading.png);
72 }
70 .jstb_ul {
73 .jstb_ul {
71 background-image: url(../images/jstoolbar/bt_ul.png);
74 background-image: url(../images/jstoolbar/bt_ul.png);
72 }
75 }
73 .jstb_ol {
76 .jstb_ol {
74 background-image: url(../images/jstoolbar/bt_ol.png);
77 background-image: url(../images/jstoolbar/bt_ol.png);
75 }
78 }
76 .jstb_link {
79 .jstb_link {
77 background-image: url(../images/jstoolbar/bt_link.png);
80 background-image: url(../images/jstoolbar/bt_link.png);
78 }
81 }
General Comments 0
You need to be logged in to leave comments. Login now