X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fviews%2Flayout.js.coffee;h=0d984b7ba4790c4ec55f05caec09298ff9e00318;hb=e8fc34342d52acbe9ff8c44ed1766b06ed81ad1a;hp=77710feac4d9f3f33c72683ba7f054ad1d420815;hpb=5d951b87f4eed4206695e5aa2950c158397a473b;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/views/layout.js.coffee b/app/assets/javascripts/views/layout.js.coffee index 77710fea..0d984b7b 100644 --- a/app/assets/javascripts/views/layout.js.coffee +++ b/app/assets/javascripts/views/layout.js.coffee @@ -5,12 +5,13 @@ class Pettanr.Views.Layout.Sns extends Pettanr.Views.Layout.Base className: 'layout-sns' initialize: (options) -> - @operators = new Pettanr.Operator({}) - @global_router = new Pettanr.GlobalRouter({operators: @operators}) + @global_router = new Pettanr.GlobalRouter({}) @listenTo(@global_router, 'go', @body_get) + @gate = new Pettanr.BeforeUnload() @header = new Pettanr.Views.Layout.Sns.Header({parent: this}) @history = new Pettanr.Views.History({parent: this}) @listenTo(@history, 'http_get', @body_http_get) + @listenTo(@history, 'get', @body_get) @body = new Pettanr.Views.Layout.Sns.Body({parent: this}) @footer = new Pettanr.Views.Layout.Sns.Footer({parent: this}) @@ -27,24 +28,22 @@ class Pettanr.Views.Layout.Sns extends Pettanr.Views.Layout.Base init_operators: (user) -> author = new Pettanr.Author(user.get('author')) if user.get('author') artist = new Pettanr.Artist(user.get('artist')) if user.get('artist') - @operators.init({ + Pettanr.cache.operators.init({ user: user, author: author, artist: artist }) - @global_router.operators = @operators reset_operators: () -> - @operators.init({ + Pettanr.cache.operators.init({ user: null, author: null, artist: null }) - @global_router.operators = @operators start: () -> # check current user signed in? - proxy = new Pettanr.Proxy({operators: @operators}) + proxy = new Pettanr.Proxy({}) @listenTo(proxy, 'redirect', @test_redirect) # @listenTo(proxy, 'success', @test_ok) @listenTo(proxy, 'fail', @test_ng) @@ -52,9 +51,10 @@ class Pettanr.Views.Layout.Sns extends Pettanr.Views.Layout.Base proxy.http_post('users/test') test_ok: (user, response) -> - + @history.enable() test_ng: (response) -> + @history.disable() @head_http_get('users/guest') @body_http_get('user_sessions/new') @@ -75,7 +75,7 @@ class Pettanr.Views.Layout.Sns extends Pettanr.Views.Layout.Base @history.disable() head_http_get: (url) -> - proxy = new Pettanr.Proxy({operators: @operators}) + proxy = new Pettanr.Proxy({}) @listenTo(proxy, 'ready', @head_ready) proxy.http_get(url, null) @@ -85,11 +85,15 @@ class Pettanr.Views.Layout.Sns extends Pettanr.Views.Layout.Base @header.refresh(view) getter_proxy: () -> - proxy = new Pettanr.Proxy({operators: @operators}) + proxy = new Pettanr.Proxy({gate: @gate}) @listenTo(proxy, 'ready', @body_ready) @listenTo(proxy, 'title', @body_title) @listenTo(proxy, 'title', @push_history) @listenTo(proxy, 'done', @body_done) + @listenTo(proxy, 'deny', @body_deny) + @listenTo(proxy, 'lock', @body_lock) + @listenTo(proxy, 'unlock', @body_unlock) + @listenTo(proxy, 'cancel', @cancel) proxy body_http_get: (url, form) -> @@ -116,12 +120,14 @@ class Pettanr.Views.Layout.Sns extends Pettanr.Views.Layout.Base $(document).attr('title', t + ' - ' + site_caption) poster_proxy: () -> - proxy = new Pettanr.Proxy({operators: @operators}) + proxy = new Pettanr.Proxy({}) @listenTo(proxy, 'success', @body_success) @listenTo(proxy, 'fail', @body_fail) @listenTo(proxy, 'redirect', @body_redirect) @listenTo(proxy, 'sign_in', @sign_in) @listenTo(proxy, 'sign_out', @sign_out) + @listenTo(proxy, 'deny', @body_deny) + @listenTo(proxy, 'unlock', @body_unlock) proxy body_http_post: (url, form) -> @@ -140,6 +146,17 @@ class Pettanr.Views.Layout.Sns extends Pettanr.Views.Layout.Base @global_router.navigate(url) @getter_proxy().http_get(url) + body_deny: (params, form, safe_url) -> + @getter_proxy().http_get(safe_url, params, form) + + body_lock: (params, form) -> + @gate.lock(params, form) + + body_unlock: (params, form) -> + @gate.unlock() + + cancel: (params, form) -> + class Pettanr.Views.Layout.Blog extends Pettanr.Views.Layout.Base className: 'layout-blog' @@ -150,9 +167,7 @@ class Pettanr.Views.Layout.Blog extends Pettanr.Views.Layout.Base @body.navigate('top/demo') sign_in_fail: (user, response) -> - view = new Pettanr.Views.UserSeeeion.New({ - operators: @operators - }) + view = new Pettanr.Views.UserSeeeion.New({}) view.render() @body.navigate('top/demo')