OSDN Git Service

- update css(for textarea)
[feedblog/feedgenerator.git] / erbtemp / newentry.html.erb
1 <!DOCTYPE html>
2 <html>
3         <head>
4                 <%= htmlparts["headtag"] %>
5                 <%= htmlparts['headjs_switchpost'] %>
6                 <% unless cgi.user_agent =~ /(iPod|iPhone|iPad|Android)/ %>
7         <link rel="stylesheet" type="text/css" href="./yui/build/menu/assets/skins/sam/menu.css" />
8         <link rel="stylesheet" type="text/css" href="./yui/build/button/assets/skins/sam/button.css" />
9         <link rel="stylesheet" type="text/css" href="./yui/build/fonts/fonts-min.css" />
10         <link rel="stylesheet" type="text/css" href="./yui/build/container/assets/skins/sam/container.css" />
11         <link rel="stylesheet" type="text/css" href="./yui/build/editor/assets/skins/sam/editor.css" />
12         <script type="text/javascript" src="./yui/build/yahoo-dom-event/yahoo-dom-event.js">
13         </script>
14         <script type="text/javascript" src="./yui/build/animation/animation-min.js">
15         </script>
16         <script type="text/javascript" src="./yui/build/element/element-min.js">
17         </script>
18         <script type="text/javascript" src="./yui/build/container/container-min.js">
19         </script>
20         <script type="text/javascript" src="./yui/build/menu/menu-min.js">
21         </script>
22         <script type="text/javascript" src="./yui/build/button/button-min.js">
23         </script>
24         <script type="text/javascript" src="./yui/build/editor/editor-min.js">
25         </script>
26         <script>
27             (function(){
28                 var Dom = YAHOO.util.Dom, Event = YAHOO.util.Event;
29                 
30                 var myConfig = {
31                     height: '350px',
32                     width: '100%',
33                     animate: true,
34                     dompath: true,
35                     focusAtStart: true,
36                     handleSubmit: true
37                 };
38                 
39                 var state = 'off';
40                 YAHOO.log('Set state to off..', 'info', 'example');
41                 
42                 YAHOO.log('Create the Editor..', 'info', 'example');
43                 var myEditor = new YAHOO.widget.Editor('contenteditor', myConfig);
44                 myEditor.on('toolbarLoaded', function(){
45                     var codeConfig = {
46                         type: 'push',
47                         label: 'Edit HTML Code',
48                         value: 'editcode'
49                     };
50                     YAHOO.log('Create the (editcode) Button', 'info', 'example');
51                     this.toolbar.addButtonToGroup(codeConfig, 'insertitem');
52                     
53                     this.toolbar.on('editcodeClick', function(){
54                         var ta = this.get('element'), iframe = this.get('iframe').get('element');
55                         
56                         if (state == 'on') {
57                             state = 'off';
58                             this.toolbar.set('disabled', false);
59                             YAHOO.log('Show the Editor', 'info', 'example');
60                             YAHOO.log('Inject the HTML from the textarea into the editor', 'info', 'example');
61                             this.setEditorHTML(ta.value);
62                             if (!this.browser.ie) {
63                                 this._setDesignMode('on');
64                             }
65                             
66                             Dom.removeClass(iframe, 'editor-hidden');
67                             Dom.addClass(ta, 'editor-hidden');
68                             this.show();
69                             this._focusWindow();
70                         }
71                         else {
72                             state = 'on';
73                             YAHOO.log('Show the Code Editor', 'info', 'example');
74                             this.cleanHTML();
75                             YAHOO.log('Save the Editors HTML', 'info', 'example');
76                             Dom.addClass(iframe, 'editor-hidden');
77                             Dom.removeClass(ta, 'editor-hidden');
78                             this.toolbar.set('disabled', true);
79                             this.toolbar.getButtonByValue('editcode').set('disabled', false);
80                             this.toolbar.selectButton('editcode');
81                             this.dompath.innerHTML = 'Editing HTML Code';
82                             this.hide();
83                         }
84                         return false;
85                     }, this, true);
86                     
87                     this.on('cleanHTML', function(ev){
88                         YAHOO.log('cleanHTML callback fired..', 'info', 'example');
89                         this.get('element').value = ev.html;
90                     }, this, true);
91                     
92                     this.on('afterRender', function(){
93                         var wrapper = this.get('editor_wrapper');
94                         wrapper.appendChild(this.get('element'));
95                         this.setStyle('width', '100%');
96                         this.setStyle('height', '100%');
97                         this.setStyle('visibility', '');
98                         this.setStyle('top', '');
99                         this.setStyle('left', '');
100                         this.setStyle('position', '');
101                         
102                         this.addClass('editor-hidden');
103                     }, this, true);
104                 }, myEditor, true);
105                 myEditor.render();
106                 
107             })();
108             
109             function switchsubmit(form, action){
110                 document.getElementsByName("action").item(0).value = action;
111                 form.submit();
112             }
113         </script>
114         <style>
115             .yui-skin-sam .yui-toolbar-container .yui-toolbar-editcode span.yui-toolbar-icon {
116                 background-image: url( ./yui/assets/html_editor.gif );
117                 background-position: 0 1px;
118                 left: 5px;
119             }
120             
121             .yui-skin-sam .yui-toolbar-container .yui-button-editcode-selected span.yui-toolbar-icon {
122                 background-image: url( ./yui/assets/html_editor.gif );
123                 background-position: 0 1px;
124                 left: 5px;
125             }
126             
127             .editor-hidden {
128                 visibility: hidden;
129                 top: -9999px;
130                 left: -9999px;
131                 position: absolute;
132             }
133             
134             textarea {
135                 border: 0;
136                 margin: 0;
137                 padding: 0;
138             }
139             
140             body {
141                 font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS Pゴシック', sans-serif;
142                 font-size: 12px;
143                 line-height: 18px;
144             }
145         </style>
146         <% end %>
147         <%= htmlparts['headjs_tag'] %>
148         </head>
149         <body class="yui-skin-sam">
150                 <form action="<%= cgi.script_name %>" method="POST">
151                         <div class="menu_wrapper">
152                                 <%= htmlparts["menu"] %>
153                         </div>
154                         <%= htmlparts["selectfile"] %>
155                         <%= htmlparts["infoarea"] %>
156                         <div class="contents">
157                                 <h1>記事作成</h1>
158                                 <input type="hidden" name="target_filepath" value="<%= session["target_filepath"] %>">
159                                 <% case params["action"]
160                 when "confirm" %>
161                 <table>
162                     <tbody>
163                         <% db.transaction do
164                         entry = db["newentry"]
165                         entry.paramlist.each do |val| %>
166                         <tr style="display: <%= entry.display[val] %>;">
167                             <th class="small middle padding_normal">
168                                 <%= entry.name[val] %>
169                             </th>
170                             <td class="large middle padding_normal">
171                                 <input type="hidden" name="<%= val %>" value="<%= entry.send(val) %>">
172                                 <% if val == "category" %>
173                                 <div id="entry_category"></div>
174                                 <% end %>
175                                 <% if val != "content" %>
176                                 <%= entry.send(val) %>
177                                 <% else %>
178                                 <%= entry.content_for_view %><% end %>
179                             </td>
180                         </tr>
181                         <tr style="display: <%= entry.display[val] %>;">
182                             <td class="hr"></td>
183                             <td class="hr"></td>
184                         </tr>
185                         <% end %>
186                         <% end %>
187                     </tbody>
188                 </table>
189                 <br>
190                 <div class="center">
191                         <input type="hidden" name="mode" value="newentry"><input type="hidden" name="action" value=""><input type="button" value="戻る" onclick="switchsubmit(this.form, 'back')"> <input type="button" value="確定" onclick="switchsubmit(this.form, 'exec')">
192                 </div>
193                 <br>
194                 <% when "back" %>
195                 <table>
196                     <tbody>
197                         <% db.transaction do
198                         if cgi["action"] == "back"
199                         entry = db["newentry"]
200                         else
201                         entry = Entry.new({})
202                         end
203                         entry.paramlist.each do |val| %>
204                         <tr style="display: <%= entry.display[val] %>;">
205                             <th class="small middle padding_normal">
206                                 <%= entry.name[val] %>
207                             </th>
208                             <td class="large left padding_normal">
209                                 <% if val == "category" %>
210                                 <input type="text" name="<%= val %>" value="<%= entry.send(val) %>" class="max_width" style="display: none;">
211                                 <div id="entry_category"></div>
212                                 <input type="button" value="タグ追加" onclick="javascript: addTagSelectBox();">
213                                 <% elsif val != "content" %>
214                                 <input type="text" name="<%= val %>" value="<%= entry.send(val) %>" class="max_width"><% else %>
215                                 <textarea name="<%= val %>" rows="10" class="max_width" id="contenteditor"><%= entry.content_for_generator %></textarea>
216                                 <% end %>
217                             </td>
218                         </tr>
219                         <tr style="display: <%= entry.display[val] %>;">
220                             <td class="hr"></td>
221                             <td class="hr"></td>
222                         </tr>
223                         <% end %>
224                         <% end %>
225                     </tbody>
226                 </table>
227                 <br>
228                 <div class="center">
229                         <input type="hidden" name="mode" value="newentry"><input type="hidden" name="action" value="confirm"><input type="submit" value="確認" onclick="javascript: unionCategory();">
230                 </div>
231                 <br>
232                 <% else %>
233                 <table>
234                     <tbody>
235                         <% db.transaction do
236                         if cgi["action"] == "back"
237                         entry = db["newentry"]
238                         else
239                         entry = Entry.new({})
240                         end
241                         entry.paramlist.each do |val| %>
242                         <tr style="display: <%= entry.display[val] %>;">
243                             <th class="small middle padding_normal">
244                                 <%= entry.name[val] %>
245                             </th>
246                             <td class="large left padding_normal">
247                                 <% date = Time.now.iso8601 %>
248                                 <% if val == "content" %>
249                                 <textarea name="<%= val %>" rows="10" class="max_width" id="contenteditor"><% if entry.content.empty? %><p><br></p><% else %><%= entry.content_for_generator %><% end %></textarea>
250                                 <% elsif val == "category" %>
251                                 <input type="text" name="<%= val %>" value="<%= entry.send(val) %>" class="max_width" style="display: none;">
252                                 <div id="entry_category"></div>
253                                 <input type="button" value="タグ追加" onclick="javascript: addTagSelectBox();">
254                                 <% elsif val == "entryid" %>
255                                 <input type="text" name="<%= val %>" value="<%= db["feed"].feedid %>?<%= date %>" class="max_width"><% elsif val == "updated" || val == "published" %>
256                                 <input type="text" name="<%= val %>" value="<%= date %>" class="max_width"><% elsif val == "url" %>
257                                 <input type="text" name="<%= val %>" value="<%= db["feed"].url %>#<%= db["feed"].feedid %>?<%= date %>" class="max_width"><% else %>
258                                 <input type="text" name="<%= val %>" value="<%= entry.send(val) %>" class="max_width"><% end %>
259                             </td>
260                         </tr>
261                         <tr style="display: <%= entry.display[val] %>;">
262                             <td class="hr"></td>
263                             <td class="hr"></td>
264                         </tr>
265                         <% end %>
266                         <% end %>
267                     </tbody>
268                 </table>
269                 <br>
270                 <div class="center">
271                         <input type="hidden" name="mode" value="newentry"><input type="hidden" name="action" value="confirm"><input type="submit" class="wymupdate" value="確認" onclick="javascript: unionCategory();">
272                 </div>
273                 <br>
274                 <% end %>
275             </div>
276                         <div class="bottom_area">
277                                 <%= APPVERSION %>
278                         </div>
279                 </form>
280         </body>
281 </html>