OSDN Git Service

fix: view
[pettanr/pettanr.git] / app / assets / javascripts / view / layout / blog.js.coffee
diff --git a/app/assets/javascripts/view/layout/blog.js.coffee b/app/assets/javascripts/view/layout/blog.js.coffee
new file mode 100644 (file)
index 0000000..4832ca6
--- /dev/null
@@ -0,0 +1,80 @@
+class Pettanr.View.Layout.Blog.Header extends Pettanr.View\r
+  tagName: 'div'\r
+  id: 'header'\r
+  \r
+  initialize: (options) ->\r
+    @router = new Pettanr.Router()\r
+    @listenTo(@router, 'fire', @fire)\r
+  \r
+  render: () ->\r
+    this.$el.html('xx')\r
+    this\r
+  \r
+  fire: (params) ->\r
+    c = Pettanr[Pettanr.camelize(params['controller']) + 'Controller']\r
+    controller = new c()\r
+    controller.params = params\r
+    @listenTo(controller, 'ready', @refresh)\r
+    @listenTo(controller, 'retitle', @retitle)\r
+    controller[params['action']]()\r
+  \r
+  retitle: (params, str = null) ->\r
+    t = str || I18n.t(params['controller'] + '.' + params['action'] + '.title')\r
+    site_caption = _.escape(Manifest.manifest().magic_numbers.profile.users.caption)\r
+    $(document).attr('title', t + ' - ' + site_caption)\r
+  \r
+  refresh: (view) ->\r
+    @listenTo(view, 'navigate', @navigate)\r
+    this.$el.html(view.el)\r
+  \r
+  refresh: () ->\r
+  \r
+  sign_out: () ->\r
+  \r
+  navigate: (url) ->\r
+    @router.navigate(url, {trigger: true, replace: false})\r
+    @trigger('navigate', url)\r
+  \r
+class Pettanr.View.Layout.Blog.Body extends Pettanr.View\r
+  tagName: 'div'\r
+  id: 'body'\r
+  \r
+  initialize: (options) ->\r
+    @router = new Pettanr.Router()\r
+    @listenTo(@router, 'fire', @fire)\r
+  \r
+  render: () ->\r
+    this.$el.html('cc')\r
+    this\r
+  \r
+  fire: (params) ->\r
+    c = Pettanr[Pettanr.camelize(params['controller']) + 'Controller']\r
+    controller = new c()\r
+    controller.params = params\r
+    @listenTo(controller, 'ready', @refresh)\r
+    @listenTo(controller, 'retitle', @retitle)\r
+    controller[params['action']]()\r
+  \r
+  retitle: (params, str = null) ->\r
+    t = str || I18n.t(params['controller'] + '.' + params['action'] + '.title')\r
+    site_caption = _.escape(Manifest.manifest().magic_numbers.profile.users.caption)\r
+    $(document).attr('title', t + ' - ' + site_caption)\r
+  \r
+  refresh: (view) ->\r
+    @listenTo(view, 'navigate', @navigate)\r
+    this.$el.html(view.el)\r
+  \r
+  navigate: (url) ->\r
+    @router.navigate(url, {trigger: true, replace: false})\r
+    @trigger('navigate', url)\r
+  \r
+class Pettanr.View.Layout.Blog.Footer extends Pettanr.View\r
+  tagName: 'div'\r
+  id: 'footer'\r
+  \r
+  initialize: (options) ->\r
+  \r
+  render: () ->\r
+    this.$el.html('')\r
+    this\r
+  \r