修訂 | 49 (tree) |
---|---|
時間 | 2008-02-18 22:21:51 |
作者 | junkikuchi |
updated.
@@ -18,7 +18,7 @@ | ||
18 | 18 | :host => 'localhost', |
19 | 19 | :user => 'root', |
20 | 20 | :password => 'root', |
21 | - :echo => true, | |
21 | + #:echo => true, | |
22 | 22 | }, |
23 | 23 | |
24 | 24 | :server => { |
@@ -56,7 +56,7 @@ | ||
56 | 56 | :class => 'Service', |
57 | 57 | :row => {'name' => 'user'}, |
58 | 58 | :relation => { |
59 | - 'widget' => 'widget:session.user.content.view.widget.html', | |
59 | + 'widget' => 'widget:session.user.content.view.html', | |
60 | 60 | }, |
61 | 61 | }, |
62 | 62 | ], |
@@ -221,15 +221,7 @@ | ||
221 | 221 | }, |
222 | 222 | |
223 | 223 | { |
224 | - :name => 'session.user.content.view.widget', | |
225 | - :class => 'Widget::Widget', | |
226 | - :row => {}, | |
227 | - :relation => {'view' => 'view:resource'}, | |
228 | - :preference => {} | |
229 | - }, | |
230 | - | |
231 | - { | |
232 | - :name => 'session.user.content.view.widget.html', | |
224 | + :name => 'session.user.content.view.html', | |
233 | 225 | :class => 'Widget::HTML', |
234 | 226 | :row => {}, |
235 | 227 | :relation => {'view' => 'view:resource'}, |
@@ -239,7 +231,7 @@ | ||
239 | 231 | }, |
240 | 232 | |
241 | 233 | { |
242 | - :name => 'session.user.content.view.widget.html.login', | |
234 | + :name => 'session.user.content.view.html.login', | |
243 | 235 | :class => 'Widget', |
244 | 236 | :row => {}, |
245 | 237 | :relation => {'view' => 'view:resource.login'}, |
@@ -247,7 +239,7 @@ | ||
247 | 239 | }, |
248 | 240 | |
249 | 241 | { |
250 | - :name => 'session.user.content.view.widget.html.login.title', | |
242 | + :name => 'session.user.content.view.html.login.title', | |
251 | 243 | :class => 'Widget::Content::Title', |
252 | 244 | :row => {}, |
253 | 245 | :relation => {'view' => 'view:resource.login'}, |
@@ -259,12 +251,12 @@ | ||
259 | 251 | :row => {}, |
260 | 252 | :relation => {'view' => 'view:resource.login'}, |
261 | 253 | :preference => { |
262 | - 'yui.reset_fonts_grids.url' => 'http://localhost/yui/build/reset-fonts-grids/reset-fonts-grids.css', | |
254 | + 'yui.reset_fonts_grids.url' => 'http://localhost/pub/yui-2.4.1/build/reset-fonts-grids/reset-fonts-grids.css', | |
263 | 255 | } |
264 | 256 | }, |
265 | 257 | =end |
266 | 258 | { |
267 | - :name => 'session.user.content.view.widget.html.login.header', | |
259 | + :name => 'session.user.content.view.html.login.header', | |
268 | 260 | :class => 'Widget::Content::Header', |
269 | 261 | :row => {}, |
270 | 262 | :relation => {'view' => 'view:resource.login'}, |
@@ -271,7 +263,7 @@ | ||
271 | 263 | }, |
272 | 264 | |
273 | 265 | { |
274 | - :name => 'session.user.content.view.widget.html.login.login_form', | |
266 | + :name => 'session.user.content.view.html.login.login_form', | |
275 | 267 | :class => 'Widget::User::LoginForm', |
276 | 268 | :row => {}, |
277 | 269 | :relation => {'view' => 'view:resource.login'}, |
@@ -278,7 +270,7 @@ | ||
278 | 270 | }, |
279 | 271 | |
280 | 272 | { |
281 | - :name => 'session.user.content.view.widget.html.admin', | |
273 | + :name => 'session.user.content.view.html.admin', | |
282 | 274 | :class => 'Widget', |
283 | 275 | :row => {}, |
284 | 276 | :relation => {'view' => 'view:resource.admin'}, |
@@ -286,7 +278,7 @@ | ||
286 | 278 | }, |
287 | 279 | |
288 | 280 | { |
289 | - :name => 'session.user.content.view.widget.html.admin.logout', | |
281 | + :name => 'session.user.content.view.html.admin.logout', | |
290 | 282 | :class => 'Widget::User::Logout', |
291 | 283 | :row => {}, |
292 | 284 | :relation => {'view' => 'view:resource.admin'}, |
@@ -293,7 +285,7 @@ | ||
293 | 285 | }, |
294 | 286 | |
295 | 287 | { |
296 | - :name => 'session.user.content.view.widget.html.admin.title', | |
288 | + :name => 'session.user.content.view.html.admin.title', | |
297 | 289 | :class => 'Widget::Content::Title', |
298 | 290 | :row => {}, |
299 | 291 | :relation => {'view' => 'view:resource.admin'}, |
@@ -300,17 +292,17 @@ | ||
300 | 292 | }, |
301 | 293 | =begin |
302 | 294 | { |
303 | - :name => 'session.user.content.view.widget.html.admin.reset_style', | |
295 | + :name => 'session.user.content.view.html.admin.reset_style', | |
304 | 296 | :class => 'Widget::YUI::ResetFontsGrids', |
305 | 297 | :row => {}, |
306 | 298 | :relation => {'view' => 'view:resource.admin'}, |
307 | 299 | :preference => { |
308 | - 'yui.reset_fonts_grids.url' => 'http://localhost/yui/build/reset-fonts-grids/reset-fonts-grids.css', | |
300 | + 'yui.reset_fonts_grids.url' => 'http://localhost/pub/yui-2.4.1/build/reset-fonts-grids/reset-fonts-grids.css', | |
309 | 301 | } |
310 | 302 | }, |
311 | 303 | =end |
312 | 304 | { |
313 | - :name => 'session.user.content.view.widget.html.admin.header', | |
305 | + :name => 'session.user.content.view.html.admin.header', | |
314 | 306 | :class => 'Widget::Content::Header', |
315 | 307 | :row => {}, |
316 | 308 | :relation => {'view' => 'view:resource.admin'}, |
@@ -317,7 +309,7 @@ | ||
317 | 309 | }, |
318 | 310 | |
319 | 311 | { |
320 | - :name => 'session.user.content.view.widget.html.admin.tab', | |
312 | + :name => 'session.user.content.view.html.admin.tab', | |
321 | 313 | :class => 'Widget::Content::Tab', |
322 | 314 | :row => {}, |
323 | 315 | :relation => {'view' => 'view:resource.admin'}, |
@@ -324,7 +316,7 @@ | ||
324 | 316 | }, |
325 | 317 | |
326 | 318 | { |
327 | - :name => 'session.user.content.view.widget.html.admin.path', | |
319 | + :name => 'session.user.content.view.html.admin.path', | |
328 | 320 | :class => 'Widget::Content::Path', |
329 | 321 | :row => {}, |
330 | 322 | :relation => {'view' => 'view:resource.admin'}, |
@@ -331,7 +323,7 @@ | ||
331 | 323 | }, |
332 | 324 | |
333 | 325 | { |
334 | - :name => 'session.user.content.view.widget.html.admin.list', | |
326 | + :name => 'session.user.content.view.html.admin.list', | |
335 | 327 | :class => 'Widget::Content::List', |
336 | 328 | :row => {}, |
337 | 329 | :relation => {'view' => 'view:resource.admin'}, |
@@ -338,7 +330,7 @@ | ||
338 | 330 | }, |
339 | 331 | |
340 | 332 | { |
341 | - :name => 'session.user.content.view.widget.html.admin.newform', | |
333 | + :name => 'session.user.content.view.html.admin.newform', | |
342 | 334 | :class => 'Widget::Content::Form', |
343 | 335 | :row => {}, |
344 | 336 | :relation => {'view' => 'view:resource.admin'}, |
@@ -346,7 +338,7 @@ | ||
346 | 338 | }, |
347 | 339 | |
348 | 340 | { |
349 | - :name => 'session.user.content.view.widget.html.admin.editform', | |
341 | + :name => 'session.user.content.view.html.admin.editform', | |
350 | 342 | :class => 'Widget::Content::Form', |
351 | 343 | :row => {}, |
352 | 344 | :relation => {'view' => 'view:resource.admin'}, |
@@ -354,7 +346,7 @@ | ||
354 | 346 | }, |
355 | 347 | |
356 | 348 | { |
357 | - :name => 'session.user.content.view.widget.html.admin.view', | |
349 | + :name => 'session.user.content.view.html.admin.view', | |
358 | 350 | :class => 'Widget::View::List', |
359 | 351 | :row => {}, |
360 | 352 | :relation => {'view' => 'view:resource.admin'}, |
@@ -361,7 +353,15 @@ | ||
361 | 353 | }, |
362 | 354 | |
363 | 355 | { |
364 | - :name => 'session.user.content.view.widget.html.admin.widget', | |
356 | + :name => 'session.user.content.view.html.admin.widget', | |
357 | + :class => 'Widget::Widget', | |
358 | + :row => {}, | |
359 | + :relation => {'view' => 'view:resource.admin'}, | |
360 | + :preference => {} | |
361 | + }, | |
362 | + | |
363 | + { | |
364 | + :name => 'session.user.content.view.html.admin.widget.list', | |
365 | 365 | :class => 'Widget::Widget::List', |
366 | 366 | :row => {}, |
367 | 367 | :relation => {'view' => 'view:resource.admin'}, |
@@ -368,7 +368,7 @@ | ||
368 | 368 | }, |
369 | 369 | |
370 | 370 | { |
371 | - :name => 'session.user.content.view.widget.html.admin.panel', | |
371 | + :name => 'session.user.content.view.html.admin.panel', | |
372 | 372 | :class => 'Widget::Panel', |
373 | 373 | :row => {}, |
374 | 374 | :relation => {'view' => 'view:resource.admin'}, |
@@ -384,7 +384,7 @@ | ||
384 | 384 | }, |
385 | 385 | |
386 | 386 | { |
387 | - :name => 'session.user.content.view.widget.html.admin.panel.panel', | |
387 | + :name => 'session.user.content.view.html.admin.panel.panel', | |
388 | 388 | :class => 'Widget::Panel', |
389 | 389 | :row => {}, |
390 | 390 | :relation => {'view' => 'view:resource.admin'}, |
@@ -398,6 +398,25 @@ | ||
398 | 398 | 'box.background.background_color' => 'green', |
399 | 399 | } |
400 | 400 | }, |
401 | + | |
402 | + { | |
403 | + :name => 'session.user.content.view.html.admin.jquery', | |
404 | + :class => 'Widget::JQuery', | |
405 | + :row => {}, | |
406 | + :relation => {'view' => 'view:resource.admin'}, | |
407 | + :preference => {} | |
408 | + }, | |
409 | + | |
410 | + { | |
411 | + :name => 'session.user.content.view.html.admin.gmaps', | |
412 | + :class => 'Widget::GoogleMaps', | |
413 | + :row => {}, | |
414 | + :relation => {'view' => 'view:resource.admin'}, | |
415 | + :preference => { | |
416 | + 'box.size.width' => '500px', | |
417 | + 'box.size.height' => '500px', | |
418 | + } | |
419 | + }, | |
401 | 420 | ], |
402 | 421 | } |
403 | 422 |
@@ -0,0 +1,47 @@ | ||
1 | +# | |
2 | +# Copyright (C) 2008 Jun Kikuchi <kikuchi@bonnou.com> | |
3 | +# | |
4 | + | |
5 | +Tenarai::ClassLoader.load_class('Widget') | |
6 | + | |
7 | +class Widget | |
8 | + class GoogleMaps < ::Widget | |
9 | + extend Tenarai::ClassLoader | |
10 | + | |
11 | + preference_css 'box' | |
12 | + | |
13 | + preference 'preference' do |pref| | |
14 | + pref.group 'googlemaps' do |gmap| | |
15 | + gmap.edit 'key' do |key| | |
16 | + key.value = 'ABQIAAAAfZwvb09MEQqvWKTm8jvLtRTwM0brOpm-All5BF6PoaKBxRWWERRia6i9gSHSmIyQL2x1OB3bLqIzNQ' | |
17 | + end | |
18 | + end | |
19 | + end | |
20 | + | |
21 | + def render_html_head(xml, builder) | |
22 | + xml.tag( | |
23 | + 'script', | |
24 | + 'type'=> 'text/javascript', | |
25 | + 'src' => 'http://maps.google.com/maps?file=api&v=2&key=%s' % preference.preference.googlemaps.key.value | |
26 | + ).text('') | |
27 | + end | |
28 | + | |
29 | + def render_html(xml, builder) | |
30 | + xml.tag('div', 'id' => html_id).text('') | |
31 | + xml.tag('script', 'type' => 'text/javascript') do |js| | |
32 | + js.code <<-END | |
33 | +$(document).ready(function() { | |
34 | + if(GBrowserIsCompatible()) { | |
35 | + var map = new GMap2(document.getElementById('#{html_id}')); | |
36 | + map.setCenter(new GLatLng(37.4419, -122.1419), 13); | |
37 | + } | |
38 | +}); | |
39 | + | |
40 | +$(document).unload(function() { | |
41 | + GUnload(); | |
42 | +}); | |
43 | + END | |
44 | + end | |
45 | + end | |
46 | + end | |
47 | +end |
@@ -12,7 +12,11 @@ | ||
12 | 12 | |
13 | 13 | def render_html(xml, builder) |
14 | 14 | xml.tag('div', 'id' => html_id) do |div| |
15 | - super(div, builder) | |
15 | + if builder.empty?(self) | |
16 | + div.text('') | |
17 | + else | |
18 | + super(div, builder) | |
19 | + end | |
16 | 20 | end |
17 | 21 | end |
18 | 22 | end |
@@ -0,0 +1,27 @@ | ||
1 | +# | |
2 | +# Copyright (C) 2008 Jun Kikuchi <kikuchi@bonnou.com> | |
3 | +# | |
4 | + | |
5 | +Tenarai::ClassLoader.load_class('Widget') | |
6 | + | |
7 | +class Widget | |
8 | + class JQuery < ::Widget | |
9 | + extend Tenarai::ClassLoader | |
10 | + | |
11 | + preference 'jquery' do |jquery| | |
12 | + jquery.group 'js' do |js| | |
13 | + js.edit 'url' do |url| | |
14 | + url.value = 'http://localhost/pub/jquery-1.2.3.js' | |
15 | + end | |
16 | + end | |
17 | + end | |
18 | + | |
19 | + def render_html_head(xml, builder) | |
20 | + xml.tag( | |
21 | + 'script', | |
22 | + 'type' => 'text/javascript', | |
23 | + 'src' => preference.jquery.js.url.value | |
24 | + ).text('') | |
25 | + end | |
26 | + end | |
27 | +end |
@@ -8,7 +8,7 @@ | ||
8 | 8 | class HTML < Resource |
9 | 9 | extend Tenarai::ClassLoader |
10 | 10 | |
11 | - resource 'Widget::Widget' | |
11 | + resource 'Widget::View' | |
12 | 12 | preference_css 'box' |
13 | 13 | |
14 | 14 | def init(service, markup='html') |
@@ -28,14 +28,14 @@ | ||
28 | 28 | end |
29 | 29 | |
30 | 30 | def get(service, query={}) |
31 | - unless resource.resource.content.nil? | |
32 | - service.response.content << resource.resource.content.__send__('to_' + @markup) | |
31 | + unless resource.content.nil? | |
32 | + service.response.content << resource.content.__send__('to_' + @markup) | |
33 | 33 | end |
34 | 34 | end |
35 | 35 | |
36 | 36 | def post(service, query={}) |
37 | 37 | unless resource.resource.content.nil? |
38 | - service.response.content << resource.resource.content.__send__('to_' + @markup) | |
38 | + service.response.content << resource.content.__send__('to_' + @markup) | |
39 | 39 | end |
40 | 40 | end |
41 | 41 |
@@ -10,7 +10,7 @@ | ||
10 | 10 | preference 'yui' do |yui| |
11 | 11 | yui.group 'reset_fonts_grids' do |rfg| |
12 | 12 | rfg.edit 'url' do |url| |
13 | - url.value = 'http://yui.yahooapis.com/2.3.1/build/reset-fonts-grids/reset-fonts-grids.css' | |
13 | + url.value = 'http://yui.yahooapis.com/2.4.1/build/reset-fonts-grids/reset-fonts-grids.css' | |
14 | 14 | end |
15 | 15 | end |
16 | 16 | end |
@@ -56,13 +56,13 @@ | ||
56 | 56 | def to_css |
57 | 57 | Tenarai::CSS.new do |css| |
58 | 58 | widget.render_css(css, self) |
59 | - end.to_s(0) | |
59 | + end.to_s(2) | |
60 | 60 | end |
61 | 61 | |
62 | 62 | def to_html |
63 | 63 | Tenarai::XML.new do |xml| |
64 | 64 | widget.render_html(xml, self) |
65 | - end.to_s(0) | |
65 | + end.to_s(2) | |
66 | 66 | end |
67 | 67 | end |
68 | 68 | end |