+++ /dev/null
-class Pettanr.Views.Layout\r
-class Pettanr.Views.Layout.Default extends Backbone.View\r
- tagName: 'div'\r
- \r
- initialize: (options) ->\r
- @operators = new Pettanr.Operator({})\r
- @router = new Pettanr.Router()\r
- @listenTo(@router, 'fire', @fire)\r
- @header = new Pettanr.Views.Layout.Default.Header({operators: @operators})\r
- @body = new Pettanr.Views.Layout.Default.Body({operators: @operators})\r
- @footer = new Pettanr.Views.Layout.Default.Footer()\r
- @listenTo(@body, 'refresh', @refresh)\r
- @listenTo(@body, 'refresh:top', @refresh_top)\r
- \r
- render: () ->\r
- this.$el.html('zz')\r
- this.$el.append(@header.render().el)\r
- this.$el.append(@body.render().el)\r
- this.$el.append(@footer.render().el)\r
- this\r
- \r
- start: () ->\r
- # initial page\r
- @router.navigate('users/sign_in')\r
- @header.navigate('users/sign_in')\r
- @body.navigate('top/demo')\r
- \r
- fire: (params) ->\r
- c = Pettanr[Pettanr.camelize(params['controller']) + 'Controller']\r
- controller = new c(@operators)\r
- controller.params = params\r
- @listenTo(controller, 'ready', @refresh)\r
- @listenTo(controller, 'retitle', @retitle)\r
- @listenTo(controller, 'sign_in:success', @sign_in_success)\r
- @listenTo(controller, 'sign_in:fail', @sign_in_fail)\r
- controller[params['action']]()\r
- \r
- sign_in_success: (user, response) ->\r
- author = new Pettanr.Author(user.get('author')) if user.get('author')\r
- artist = new Pettanr.Artist(user.get('artist')) if user.get('artist')\r
- @operators.init({\r
- user: user, \r
- author: author, \r
- artist: artist\r
- })\r
- view = new Pettanr.Views.User.Account({\r
- item: @item,\r
- operators: @operators\r
- })\r
- @header.navigate('users/account')\r
- @body.navigate('')\r
- \r
- sign_in_fail: (user, response) ->\r
- view = new Pettanr.Views.UserSeeeion.New({\r
- operators: @operators\r
- })\r
- view.render()\r
- @body.navigate('users/index')\r
- \r
-class Pettanr.Views.Layout.Default.Header extends Backbone.View\r
- tagName: 'div'\r
- id: 'header'\r
- \r
- initialize: (options) ->\r
- @operators = options.operators\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(@operators)\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.Views.Layout.Default.Body extends Backbone.View\r
- tagName: 'div'\r
- id: 'body'\r
- \r
- initialize: (options) ->\r
- @operators = options.operators\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(@operators)\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)\r
- @trigger('navigate', url)\r
- \r
-class Pettanr.Views.Layout.Default.Footer extends Backbone.View\r
- tagName: 'div'\r
- id: 'footer'\r
- \r
- initialize: (options) ->\r
- \r
- render: () ->\r
- this.$el.html('')\r
- this\r
- \r