OSDN Git Service

fix:
authoryasushiito <yas@pen-chan.jp>
Sun, 10 May 2015 07:57:30 +0000 (16:57 +0900)
committeryasushiito <yas@pen-chan.jp>
Sun, 10 May 2015 07:57:30 +0000 (16:57 +0900)
14 files changed:
app/assets/javascripts/controllers/resource_pictures.js.coffee
app/assets/javascripts/editor/panel_editor/element.js.coffee
app/assets/javascripts/editor/panel_editor/scenario/elements.js.coffee
app/assets/javascripts/locmare/filer/body/file_body.js.coffee
app/assets/javascripts/locmare/filer/body/file_body/file_item.js.coffee
app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/default.js.coffee
app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/template.js.coffee
app/assets/javascripts/locmare/list_group/list/base.js.coffee
app/assets/javascripts/pettanr/cache.js.coffee
app/assets/javascripts/views/original_pictures/publish.js.coffee
app/assets/javascripts/views/original_pictures/summary.js.coffee
app/assets/javascripts/work/controllers.js.coffee.erb
app/controllers/resource_pictures_controller.rb
public/manifest.json

index ea01521..58d6173 100644 (file)
@@ -39,3 +39,11 @@ class Pettanr.ResourcePicturesController extends Pettanr.AppController
     @trigger('ready', show)\r
     @trigger('done', @params)\r
   \r
+  destroy: () ->\r
+    @set_show(@render_destroy)\r
+  \r
+  render_destroy: (@item) ->\r
+    @listenTo(@item, 'destroy:success', @destroy_success)\r
+    @listenTo(@item, 'destroy:fail', @destroy_fail)\r
+    @item.destroy()\r
+  \r
index 8fc1589..fe392be 100644 (file)
@@ -44,8 +44,9 @@ class Editor.EditorModule.DockModule.ElementBay extends Editor.EditorModule.Dock
     tab = @find_tab(element)\r
     tab.label.remove()\r
     tab.body.remove()\r
-    delete @tabs[tab]\r
-    @tabs = _.compact(@tabs)\r
+    console.log @tabs.indexOf(tab)\r
+    @tabs.splice(@tabs.indexOf(tab), 1)\r
+    #@tabs = _.compact(@tabs)\r
     @unshift_z()\r
     @sorted()    # recalc t\r
   \r
index 3a8f5b3..0a2bf5b 100644 (file)
@@ -47,10 +47,10 @@ class Editor.EditorModule.DockModule.ScenarioBay.Elements extends Backbone.View
     li\r
   \r
   remove_element: (element) ->\r
-    li = @find_li(element)\r
-    li.remove()\r
-    delete @element_lis[li]\r
-    @element_lis = _.compact(@element_lis)\r
+    element_li = @find_li(element)\r
+    i = @element_lis.indexOf(element_li)\r
+    @element_lis[i].remove()\r
+    @element_lis.splice(i, 1)\r
     @unshift_z()\r
   \r
   unshift_z: () ->\r
index ffb0b91..223b493 100644 (file)
@@ -19,7 +19,7 @@ class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View
     @listenTo(file_item_view, 'click:symbol', @click_symbol)\r
     @listenTo(file_item_view, 'http_get', @http_get)\r
     @listenTo(file_item_view, 'http_post', @http_post)\r
-    @listenTo(file_item_view, 'remove', @remove)\r
+    @listenTo(file_item_view, 'remove:success', @remove_success)\r
     file_item_view\r
   \r
   filer: () ->\r
@@ -53,10 +53,10 @@ class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View
   http_post: (url) ->\r
     @trigger('http_post', url)\r
   \r
-  remove: (file_item_view) ->\r
+  remove_success: (file_item_view) ->\r
     @trigger('remove', file_item_view.item)\r
     @file_items = _.without(@file_items, file_item_view)\r
-    @render()\r
+    file_item_view.remove()\r
   \r
   module: () ->\r
     Locmare.FilerModule.BodyModule.FileBodyModule\r
index f6e1401..b735994 100644 (file)
@@ -20,7 +20,8 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItem extends Backbone.Vi
     @listenTo(@icon, 'http_get', @http_get)\r
     @listenTo(@edit, 'http_get', @http_get)\r
     @listenTo(@edit, 'http_post', @http_post)\r
-    @listenTo(@item, 'destroy', @destroy)\r
+    @listenTo(@edit, 'remove', @click_remove)\r
+    @listenTo(@edit, 'update', @click_update)\r
   \r
   render: () ->\r
     this.$el.html('')\r
@@ -81,8 +82,27 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItem extends Backbone.Vi
   http_post: (url) ->\r
     @trigger('http_post', url)\r
   \r
-  destroy: (model, collection, options) ->\r
-    @trigger('remove', this)\r
+  click_remove: () ->\r
+    return if !confirm('remove?')\r
+    proxy = new Pettanr.Proxy({})\r
+    @listenTo(proxy, 'success', @remove_success)\r
+    @listenTo(proxy, 'fail', @remove_fail)\r
+    @listenTo(proxy, 'deny', @remove_deny)\r
+    proxy.http_post(@item.destroy_url())\r
+  \r
+  remove_success: () ->\r
+    @trigger('remove:success', this)\r
+  \r
+  remove_fail: () ->\r
+    @trigger('remove:fail')\r
+  \r
+  remove_deny: () ->\r
+  \r
+  click_update: () ->\r
+    # do fetch / update item\r
+    Pettanr.cache.refresh(@item)\r
+    @remove()\r
+    @render()\r
   \r
   module: () ->\r
     Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule\r
index 3ef1474..52f652a 100644 (file)
@@ -44,18 +44,5 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColum
     @trigger('http_get', @item.edit_url())\r
   \r
   click_remove: () ->\r
-    return if !confirm('remove?')\r
-    proxy = new Pettanr.Proxy({})\r
-    @listenTo(proxy, 'success', @remove_success)\r
-    @listenTo(proxy, 'fail', @remove_fail)\r
-    @listenTo(proxy, 'deny', @remove_deny)\r
-    proxy.http_post(@item.destroy_url())\r
-  \r
-  remove_success: () ->\r
-    @trigger('remove:success')\r
-  \r
-  remove_fail: () ->\r
-    @trigger('remove:fail')\r
-  \r
-  remove_deny: () ->\r
+    @trigger('remove')\r
   \r
index 9cbfb34..9fca234 100644 (file)
@@ -9,6 +9,8 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColum
   \r
   render: () ->\r
     @listenTo(@view, 'http_get', @http_get)\r
+    @listenTo(@view, 'remove', @click_remove)\r
+    @listenTo(@view, 'update', @click_update)\r
     this.$el.html(@view.render().el)\r
     this\r
   \r
@@ -18,3 +20,9 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColum
   http_get: (url) ->\r
     @trigger('http_get', url)\r
   \r
+  click_remove: () ->\r
+    @trigger('remove')\r
+  \r
+  click_update: () ->\r
+    @trigger('update')\r
+  \r
index 946f982..9cd9c81 100644 (file)
@@ -30,7 +30,7 @@ class Locmare.ListGroupModule.Base extends Backbone.Collection
   \r
   open: (cb) ->\r
     @url = '/' + @action_manifest.url(@params)\r
-    @fetch({cache: true}).done =>\r
+    @fetch().done =>\r
       # @boost(items)\r
       cb()\r
   \r
index 27781b3..4e926fa 100644 (file)
@@ -50,10 +50,11 @@ class Pettanr.Cache
     delete @holds[item.cache_key()]\r
   \r
   refresh: (item) ->\r
-    if item.expire_time\r
-      if Date.now() >= return_items.expire_time\r
-        @sync(item)\r
-    item\r
+    @restore(item.cache_key()).fetch()\r
+    #if item.expire_time\r
+    #  if Date.now() >= return_items.expire_time\r
+    #    @sync(item)\r
+    #item\r
   \r
   sync: (item) ->\r
     item.fetch().done =>\r
index 662422c..e9ea576 100644 (file)
@@ -5,37 +5,41 @@ class Pettanr.Views.OriginalPicture.Publish extends Backbone.View
     @file_item = options.file_item\r
     @my_manifest = options.my_manifest\r
     @item = options.item\r
-    # if item.resource_picture\r
-    # @resource_picture.destroy_url()\r
-    @stop_btn = new Tag.A({\r
-      attr: {href: '/' + @item.destroy_url()}, \r
-      content: I18n.t('original_pictures.index.stop')\r
-    })\r
-    @edit_icon = new Pettanr.Image.SymbolImg({\r
-      attr: {'src': @edit_img_file_name()}, \r
-      half: true\r
-    })\r
-    @edit_btn = new Tag.A({\r
-      attr: {href: '/' + @item.edit_url()}, \r
-      content: @edit_icon.render().el\r
-    })\r
-    @remove_icon = new Pettanr.Image.SymbolImg({\r
-      attr: {'src': @remove_img_file_name()}, \r
-      half: true\r
-    })\r
-    @remove_btn = new Tag.A({\r
-      attr: {href: '/' + @item.destroy_url()}, \r
-      content: @remove_icon.render().el\r
-    })\r
-    @listenTo(@edit_btn, 'click', @click_edit)\r
-    @listenTo(@remove_btn, 'click', @click_remove)\r
   \r
   render: () ->\r
     this.$el.html('')\r
     if @is_own()\r
-      this.$el.append(@stop_btn.render().el)\r
-      this.$el.append(@edit_btn.render().el)\r
-      this.$el.append(@remove_btn.render().el)\r
+      resource_picture_list = @item.has_one('resource_picture')\r
+      resource_picture_list.open(() =>\r
+        @resource_picture = resource_picture_list.items()[0]\r
+        if @resource_picture\r
+          @stop_btn = new Tag.A({\r
+            attr: {href: '/' + @resource_picture.destroy_url()}, \r
+            content: I18n.t('original_pictures.index.stop')\r
+          })\r
+          @listenTo(@stop_btn, 'click', @click_stop)\r
+          this.$el.append(@stop_btn.render().el)\r
+        @edit_icon = new Pettanr.Image.SymbolImg({\r
+          attr: {'src': @edit_img_file_name()}, \r
+          half: true\r
+        })\r
+        @edit_btn = new Tag.A({\r
+          attr: {href: '/' + @item.edit_url()}, \r
+          content: @edit_icon.render().el\r
+        })\r
+        @remove_icon = new Pettanr.Image.SymbolImg({\r
+          attr: {'src': @remove_img_file_name()}, \r
+          half: true\r
+        })\r
+        @remove_btn = new Tag.A({\r
+          attr: {href: '/' + @item.destroy_url()}, \r
+          content: @remove_icon.render().el\r
+        })\r
+        @listenTo(@edit_btn, 'click', @click_edit)\r
+        @listenTo(@remove_btn, 'click', @click_remove)\r
+        this.$el.append(@edit_btn.render().el)\r
+        this.$el.append(@remove_btn.render().el)\r
+      )\r
     this\r
   \r
   is_own: () ->\r
@@ -62,3 +66,25 @@ class Pettanr.Views.OriginalPicture.Publish extends Backbone.View
   remove_img_file_name: () ->\r
     @image_dir() + 'remove.png'\r
   \r
+  click_stop: () ->\r
+    return if !confirm('remove?')\r
+    proxy = new Pettanr.Proxy({})\r
+    @listenTo(proxy, 'success', @remove_success)\r
+    @listenTo(proxy, 'fail', @remove_fail)\r
+    @listenTo(proxy, 'deny', @remove_deny)\r
+    proxy.http_post(@resource_picture.destroy_url())\r
+  \r
+  remove_success: () ->\r
+    @trigger('update')\r
+  \r
+  remove_fail: () ->\r
+    # no update\r
+  \r
+  remove_deny: () ->\r
+  \r
+  click_edit: () ->\r
+    @trigger('http_get', @item.edit_url())\r
+  \r
+  click_remove: () ->\r
+    @trigger('remove')\r
+  \r
index ec165c0..6ac68e6 100644 (file)
@@ -4,26 +4,26 @@ class Pettanr.Views.OriginalPicture.Summary extends Pettanr.Views.Common.Summary
   initialize: (options) ->\r
     super(options)\r
     @item = options.item\r
-    #@item = new Pettanr.OriginalPicture({id: options.item.get('id')}) # with resource_picture\r
     @load()\r
   \r
   load: () ->\r
-    @item.fetch({cache: false}).done =>\r
-      @visible = new Tag.Span({\r
-        class_name: 'state',\r
-        content: I18n.t('original_pictures.' + @item.state())\r
-      })\r
-      if ra = @item.get('resource_picture')\r
-        resource_picture = new Pettanr.ResourcePicture(ra)\r
-        @credit = resource_picture.credit_view(true)\r
-        @listenTo(@credit, 'click:icon', @resource_picture_click)\r
-      @trigger('ready')\r
+    @trigger('ready')\r
   \r
   render: () ->\r
     this.$el.html('')\r
+    @visible = new Tag.Span({\r
+      class_name: 'state',\r
+      content: I18n.t('original_pictures.' + @item.state())\r
+    })\r
     this.$el.append(@visible.render().el)\r
-    if @credit\r
-      this.$el.append(@credit.render().el)\r
+    resource_picture_list = @item.has_one('resource_picture')\r
+    resource_picture_list.open(() =>\r
+      @resource_picture = resource_picture_list.items()[0]\r
+      if @resource_picture\r
+        @credit = @resource_picture.credit_view(true)\r
+        @listenTo(@credit, 'click:icon', @resource_picture_click)\r
+        this.$el.append(@credit.render().el)\r
+    )\r
     rb = new Tag.RowBreak()\r
     this.$el.append(rb.render().el)\r
     this\r
index 96529b6..05289e1 100644 (file)
       show: {\r
         type: 'show',\r
       },\r
+      destroy: {\r
+        type: 'destroy',\r
+      },\r
     },\r
   },\r
   resource_picture_pictures: {\r
index cf5c3a5..437ae21 100644 (file)
@@ -99,7 +99,9 @@ class ResourcePicturesController < ApplicationController
     respond_to do |format|
       if @resource_picture.unpublish
         format.html { redirect_to :controller => '/home', :action => :resource_pictures }
-        format.json { head :ok }
+        format.json {
+          render json: '{}', status: :ok
+        }
       else
         format.html { redirect_to resource_picture_path(@resource_picture) }
         format.json { render json: @resource_picture.errors, status: :unprocessable_entity }
index 23cb8ae..f9e7597 100644 (file)
         },\r
         "show": {\r
           "type": "show"\r
+        },\r
+        "destroy": {\r
+          "type": "destroy"\r
         }\r
       }\r
     },\r