OSDN Git Service

fix: finder
authoryasushiito <yas@pen-chan.jp>
Sat, 4 Jul 2015 02:22:48 +0000 (11:22 +0900)
committeryasushiito <yas@pen-chan.jp>
Sat, 4 Jul 2015 02:22:48 +0000 (11:22 +0900)
40 files changed:
1  2 
app/assets/javascripts/controllers.js.coffee
app/assets/javascripts/controllers/comics.js.coffee
app/assets/javascripts/controllers/sheets.js.coffee
app/assets/javascripts/controllers/stories.js.coffee
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/picture.js.coffee
app/assets/javascripts/locmare/form/field/tag/select.js.coffee
app/assets/javascripts/locmare/profiler/association/has_many.js.coffee
app/assets/javascripts/locmare/profiler/association/has_one.js.coffee
app/assets/javascripts/manifest/controller/action/list.js.coffee
app/assets/javascripts/models/license.js.coffee
app/assets/javascripts/pettanr/finder.js.coffee
app/assets/javascripts/pettanr/remover.js.coffee
app/assets/javascripts/views/artists/show.js.coffee
app/assets/javascripts/views/authors/show.js.coffee
app/assets/javascripts/views/resource_picture_pictures/summary.js.coffee
app/assets/javascripts/views/sheets/play.js.coffee
app/assets/javascripts/views/stories/play.js.coffee
app/assets/javascripts/yasapp.js
app/controllers/balloons_controller.rb
app/controllers/comic_stories_controller.rb
app/controllers/comics_controller.rb
app/controllers/ground_colors_controller.rb
app/controllers/ground_pictures_controller.rb
app/controllers/license_groups_controller.rb
app/controllers/licenses_controller.rb
app/controllers/panel_pictures_controller.rb
app/controllers/panels_controller.rb
app/controllers/pictures_controller.rb
app/controllers/resource_picture_pictures_controller.rb
app/controllers/resource_pictures_controller.rb
app/controllers/scroll_panels_controller.rb
app/controllers/scrolls_controller.rb
app/controllers/sheet_panels_controller.rb
app/controllers/sheets_controller.rb
app/controllers/speech_balloons_controller.rb
app/controllers/speeches_controller.rb
app/controllers/stories_controller.rb
app/controllers/story_sheets_controller.rb
app/controllers/writing_formats_controller.rb
public/manifest.json

@@@ -18,11 -18,11 +18,7 @@@ class Pettanr.AppControlle
      \r
    set_list: () ->\r
      @set_model()\r
--    @my_list_model = Manifest.manifest().models[@my_action.item_name]\r
--    @my_list_model_class = @my_list_model.classify()\r
--    @list = Locmare.ListGroup.list(\r
--      @my_action.path_name(), @my_action.name, @params\r
--    )\r
++    @list = @my_action.find(@params)\r
    \r
    set_show: (render_func) ->\r
      @set_model()\r
    \r
    set_play: (render_func) ->\r
      @set_list()\r
-     retriever = new Pettanr.Cache.Retriever(@my_model_class, @params['id'])\r
-     @listenTo(retriever, 'retrieve', render_func)\r
-     retriever.retrieve()\r
 -    @binder_action = @my_action.original\r
 -    @binder_controller = @binder_action.controller()\r
 -    @binder_model = Manifest.manifest().models[@binder_action.item_name]\r
 -    @binder_model_class = @binder_model.classify()\r
 -    @binder_model_class.retrieve(@params['id'], this, {success: render_func})\r
++    @my_model_class.retrieve(@params['id'], this, {success: render_func})\r
    \r
    show_prof: () ->\r
      @item.boosts 'post'\r
@@@ -40,15 -40,16 +40,16 @@@ class Pettanr.ComicsController extends 
      @set_play(@render_play)\r
    \r
    render_play: (@item) ->\r
-     @list.open(() => \r
-       @trigger('title', @params, @item.get('title'))\r
-       show = new Pettanr.Views.Comic.Play({\r
-         item: @item,\r
-         list: @list,\r
-       })\r
-       show.render()\r
-       @trigger('ready', show)\r
-     )\r
+     @list.open(this, {\r
+       success: (items) => \r
+         @trigger('title', @params, @item.get('title'))\r
+         show = new Pettanr.Views.Comic.Play({\r
+           item: @item,\r
 -          list: items,\r
++          list: @list,\r
+         })\r
+         show.render()\r
+         @trigger('ready', show)\r
+     })\r
      @trigger('done', @params)\r
    \r
    count: () ->\r
@@@ -43,15 -43,16 +43,16 @@@ class Pettanr.SheetsController extends 
      @set_play(@render_play)\r
    \r
    render_play: (@item) ->\r
-     @list.open(() => \r
-       @trigger('title', @params, @item.get('caption'))\r
-       show = new Pettanr.Views.Sheet.Play({\r
-         item: @item,\r
-         list: @list,\r
-       })\r
-       show.render()\r
-       @trigger('ready', show)\r
-     )\r
+     @list.open(this, {\r
+       success: (items) => \r
+         @trigger('title', @params, @item.get('caption'))\r
+         show = new Pettanr.Views.Sheet.Play({\r
+           item: @item,\r
 -          list: items,\r
++          list: @list,\r
+         })\r
+         show.render()\r
+         @trigger('ready', show)\r
+     })\r
      @trigger('done', @params)\r
    \r
    count: () ->\r
@@@ -45,15 -45,16 +45,16 @@@ class Pettanr.StoriesController extend
      @set_play(@render_play)\r
    \r
    render_play: (@item) ->\r
-     @list.open(() => \r
-       @trigger('title', @params, @item.get('title'))\r
-       show = new Pettanr.Views.Story.Play({\r
-         item: @item,\r
-         list: @list,\r
-       })\r
-       show.render()\r
-       @trigger('ready', show)\r
-     )\r
+     @list.open(this, {\r
+       success: (items) => \r
+         @trigger('title', @params, @item.get('title'))\r
+         show = new Pettanr.Views.Story.Play({\r
+           item: @item,\r
 -          list: items,\r
++          list: @list,\r
+         })\r
+         show.render()\r
+         @trigger('ready', show)\r
+     })\r
      @trigger('done', @params)\r
    \r
    count: () ->\r
@@@ -55,12 -55,13 +55,15 @@@ class Locmare.FormModule.FieldModule.Ta
          {id: filter_id}\r
        else\r
          {}\r
--      list = Locmare.ListGroup.list(resource_controller_name, resource_action_name, params)\r
-       list.open((page_status) ->\r
-         members = _.map list.models, (member) ->\r
-           [member.get(caption_name), member.get('id')]\r
-         cb(members)\r
-       )\r
++      controller = Manifest.manifest().controllers[resource_controller_name]\r
++      action = @my_controller.actions[resource_action_name]\r
++      list = action.find(params)\r
+       list.open(this, {\r
+         success: (page_status) ->\r
+           members = _.map list.models, (member) ->\r
+             [member.get(caption_name), member.get('id')]\r
+           cb(members)\r
+       })\r
      else\r
        members = Manifest.manifest().system_resources.select_items[@select_item_name()]\r
        cb(members)\r
@@@ -7,10 -7,10 +7,7 @@@ class Locmare.ProfilerModule.Associatio
      @filer = null\r
      controller = Manifest.manifest().controllers[@has_many_manifest.controller_name]\r
      action = controller.actions[@has_many_manifest.action_name]\r
--    @list = Locmare.ListGroup.list(\r
--      action.path_name(), action.name, \r
--      {id: @item().get('id'), page: 1, page_size: 3}\r
--    )\r
++    @list = action.find({id: @item().get('id'), page: 1, page_size: 3})\r
      @pager = new Locmare.ListGroupModule.LibModule.PagerModule.More({\r
        params: {controller: action.path_name(), action: action.name, id: @item().get('id')}\r
      })\r
@@@ -7,10 -7,10 +7,7 @@@ class Locmare.ProfilerModule.Associatio
      @filer = null\r
      controller = Manifest.manifest().controllers[@has_one_manifest.controller_name]\r
      action = controller.actions[@has_one_manifest.action_name]\r
--    @list = Locmare.ListGroup.list(\r
--      action.path_name(), action.name, \r
--      {id: @item().get('id')}\r
--    )\r
++    @list = action.find({id: @item().get('id')})\r
    \r
    clear: () ->\r
      this.$el.html('')\r
@@@ -12,7 -12,7 +12,11 @@@ class Manifest.ControllerModule.ActionM
      @direction = @args.direction\r
      @default_page_size = @args.default_page_size\r
      @max_page_size = @args.max_page_size\r
++    @return_item_name = @args.return_item_name || @item_name\r
    \r
    a_arg_names: () ->\r
      _.union(super(), ['order', 'direction', 'default_page_size', 'max_page_size'])\r
    \r
++  find: (params = {}) ->\r
++    new Pettanr.Finder(this, params)\r
++  \r
@@@ -10,28 -10,17 +10,17 @@@ class Pettanr.License extends Peta.Syst
      id: null\r
    } \r
    \r
-   license_group: () ->\r
-     new Pettanr.Cache.Retriever(Pettanr.LicenseGroup, @get('license_group_id'))\r
-   \r
-   system_picture: () ->\r
-     new Pettanr.Cache.Retriever(Pettanr.SystemPicture, @get('system_picture_id'))\r
-   \r
-   symbol_option: () ->\r
-     retriever = @system_picture()\r
-     @listenTo(retriever, 'retrieve', @retrieve_symbol)\r
-     retriever.retrieve()\r
-   \r
-   retrieve_symbol: (item) -> \r
-     @trigger('ready:symbol', item.tmb_opt_img_tag())\r
-   \r
-   caption_with_group: () ->\r
-     retriever = @license_group()\r
-     @listenTo(retriever, 'retrieve', @retrieve_license_group)\r
-     retriever.retrieve()\r
-   \r
-   retrieve_license_group: (license_group) -> \r
-     caption = license_group.escape('caption') + '/' + @escape('caption')\r
-     @trigger('ready:caption', caption)\r
+   @trace_routes: () ->\r
+     {\r
+       symbol: ['system_picture']\r
+     }\r
+   \r
 -  caption_with_group: () ->\r
++  caption_with_group: (context, options) ->\r
+     @get_parent('license_group', this, {\r
+       success: (license_group) => \r
+         caption = license_group.escape('caption') + '/' + @escape('caption')\r
 -        @trigger('ready:caption', caption)\r
++        options.success.call(context, caption)\r
+     })\r
    \r
    is_own: () ->\r
      true\r
index 0000000,0000000..f54ca3e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,32 @@@
++class Pettanr.Finder extends Backbone.Collection\r
++  \r
++  initialize: (@action_manifest, @params) ->\r
++    @return_model = Manifest.item_name_to_model @action_manifest.return_item_name\r
++  \r
++  parse: (res) ->\r
++    @page_status = res.page_status\r
++    res.list\r
++  \r
++  items: () ->\r
++    _.map @models, (model) =>\r
++      item = new @return_model(model.attributes)\r
++      Pettanr.cache.store(item)\r
++  \r
++  open: (context, options) ->\r
++    @url = '/' + @action_manifest.url(@params)\r
++    @fetch().done =>\r
++      # @boost(items)\r
++      options.success.call(context, @items())\r
++  \r
++  to_filer: (context, options) ->\r
++    @open(context, {\r
++      success: (items) => \r
++        pager = Locmare.ListGroupModule.LibModule.Pager.factory(@page_status, @params)\r
++        filer = new Locmare.Filer({\r
++          item_name: @action_manifest.return_item_name, \r
++          items: items, \r
++          pager: pager\r
++        })\r
++        options.success.call(context, filer)\r
++    })\r
++  \r
diff --cc app/assets/javascripts/pettanr/remover.js.coffee
index 663af13,663af13..0000000
deleted file mode 100644,100644
+++ /dev/null
@@@ -1,6 -1,6 +1,0 @@@
--class Pettanr.Remover\r
--  \r
--  constructor: (options) ->\r
--    _.extend(this, Backbone.Events)\r
--    @item = options.item\r
--  \r
@@@ -15,19 -15,20 +15,15 @@@ class Pettanr.Views.Artist.ShowModule.R
        controller: 'resource_pictures', action: 'by_artist', id: @item.get('id'),\r
        page_size: 5\r
      }\r
--    @list = Locmare.ListGroup.list(\r
--      params['controller'], params['action'], params\r
-     )\r
-     @list.open(() =>\r
-       pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, params)\r
-       filer = new Locmare.Filer({\r
-         item_name: @list.item_name, \r
-         items: @list.items(), \r
-         pager: pager\r
-       })\r
-       @listenTo(filer, 'http_get', @http_get)\r
-       this.$el.append(filer.render().el)\r
--    )\r
 -    @list.open(this, {\r
 -      success: (items) => \r
++    controller = Manifest.manifest().controllers[params['controller']]\r
++    action = controller.actions[params['action']]\r
++    @list = action.find(params)\r
++    @list.to_filer(this, {\r
++      success: (filer) => \r
+         pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, params)\r
 -        filer = new Locmare.Filer({\r
 -          item_name: @list.item_name, \r
 -          items: items, \r
 -          pager: pager\r
 -        })\r
+         @listenTo(filer, 'http_get', @http_get)\r
+         this.$el.append(filer.render().el)\r
+     })\r
      this\r
    \r
    http_get: (url) ->\r
@@@ -15,19 -15,20 +15,15 @@@ class Pettanr.Views.Author.ShowModule.S
        controller: 'scrolls', action: 'by_author', id: @item.get('id'),\r
        page_size: 5\r
      }\r
--    @list = Locmare.ListGroup.list(\r
--      params['controller'], params['action'], params\r
-     )\r
-     @list.open(() =>\r
-       pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, params)\r
-       filer = new Locmare.Filer({\r
-         item_name: @list.item_name, \r
-         items: @list.items(), \r
-         pager: pager\r
-       })\r
-       @listenTo(filer, 'http_get', @http_get)\r
-       this.$el.append(filer.render().el)\r
--    )\r
 -    @list.open(this, {\r
 -      success: (items) => \r
++    controller = Manifest.manifest().controllers[params['controller']]\r
++    action = controller.actions[params['action']]\r
++    @list = action.find(params)\r
++    @list.to_filer(this, {\r
++      success: (filer) => \r
+         pager = Locmare.ListGroupModule.LibModule.Pager.factory(@list.page_status, params)\r
 -        filer = new Locmare.Filer({\r
 -          item_name: @list.item_name, \r
 -          items: items, \r
 -          pager: pager\r
 -        })\r
+         @listenTo(filer, 'http_get', @http_get)\r
+         this.$el.append(filer.render().el)\r
+     })\r
      this\r
    \r
    http_get: (url) ->\r
@@@ -6,10 -6,10 +6,11 @@@ class Pettanr.Views.ResourcePicturePict
      @load()\r
    \r
    load: () ->\r
--    @picture = @item.picture()\r
--    @picture.fetch({cache: true}).done =>\r
--      @credit = @picture.credit_view(false)\r
--      @trigger('ready')\r
++    @item.get_parent('picture', this, {\r
++      success: (@picture) =>\r
++        @credit = @picture.credit_view(false)\r
++        @trigger('ready')\r
++    })\r
    \r
    render: () ->\r
      this.$el.html('')\r
@@@ -131,7 -106,7 +106,7 @@@ class Pettanr.Views.Sheet.PlayModule.Bo
    render: () ->\r
      this.$el.html('')\r
      # paginate(@pager)\r
--    credits = new Pettanr.Views.Sheet.PlayModule.Credits({parent: this})\r
++    credits = new Pettanr.Views.Common.Credits({parent: this})\r
      panels = new Pettanr.Views.Sheet.PlayModule.Panels({\r
        parent: this,\r
        items: @items,\r
@@@ -76,14 -51,14 +51,17 @@@ class Pettanr.Views.Story.PlayModule.Sh
    \r
    render: () ->\r
      this.$el.html('')\r
--    body = new Pettanr.Views.Sheet.PlayModule.Body({\r
--      parent: this,\r
--      list: [], # list of sheets/by_story/1\r
++    @sheet.get_children('panel', this, {\r
++      success: (panels) => \r
++        body = new Pettanr.Views.Sheet.PlayModule.Body({\r
++          parent: this,\r
++          list: [], # list of sheets/by_story/1\r
++        })\r
++        this.$el.append(body.render().el)\r
      })\r
--    this.$el.append(body.render().el)\r
      this\r
    \r
- class Pettanr.Views.Story.PlayModule.Sheets extends Backbone.View\r
+ class Pettanr.Views.Story.PlayModule.Sheets extends Pettanr.View\r
    tagName: 'div'\r
    \r
    initialize: (options) ->\r
  //= require ./pettanr/proxy
  //= require ./pettanr/cache
  //= require ./pettanr/inspire
+ //= require ./pettanr/tg
++//= require ./pettanr/finder
  //= require ./backbone.fetch-cache
  //= require main
@@@ -16,19 -16,19 +16,19 @@@ class BalloonsController < ApplicationC
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_speech_balloon
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_speech_balloon_template
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_system_picture
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -15,15 -15,15 +15,15 @@@ class ComicStoriesController < Applicat
    end
    
    def by_story
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_comic
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show
@@@ -15,11 -15,11 +15,11 @@@ class ComicsController < ApplicationCon
    end
    
    def by_story
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -15,11 -15,11 +15,11 @@@ class GroundColorsController < Applicat
    end
    
    def by_panel
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -15,11 -15,11 +15,11 @@@ class GroundPicturesController < Applic
    end
    
    def by_panel
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -12,7 -12,7 +12,7 @@@ class LicenseGroupsController < Applica
    end
    
    def by_resource_picture
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -13,7 -13,7 +13,7 @@@ class LicensesController < ApplicationC
    end
    
    def by_system_picture
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -30,7 -30,7 +30,7 @@@
        show_json_format format
      end
    end
--
++  
    def search
      @licenses = License.list_by_name(params[:name])
      
@@@ -15,11 -15,11 +15,11 @@@ class PanelPicturesController < Applica
    end
    
    def by_panel
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -32,19 -32,19 +32,19 @@@ class PanelsController < ApplicationCon
    end
    
    def by_scroll
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_sheet
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_speech_balloon_template
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -16,7 -16,7 +16,7 @@@ class PicturesController < ApplicationC
    end
    
    def by_artist
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -11,15 -11,15 +11,15 @@@ class ResourcePicturePicturesControlle
    end
    
    def by_original_picture
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_resource_picture
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_picture
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show
@@@ -16,19 -16,19 +16,19 @@@ class ResourcePicturesController < Appl
    end
    
    def by_original_picture
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_license_group
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_license
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_artist
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -15,15 -15,15 +15,15 @@@ class ScrollPanelsController < Applicat
    end
    
    def by_panel
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_scroll
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show
@@@ -15,11 -15,11 +15,11 @@@ class ScrollsController < ApplicationCo
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_panel
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -15,15 -15,15 +15,15 @@@ class SheetPanelsController < Applicati
    end
    
    def by_sheet
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_panel
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show
@@@ -15,15 -15,15 +15,15 @@@ class SheetsController < ApplicationCon
    end
    
    def by_story
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_panel
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -15,15 -15,15 +15,15 @@@ class SpeechBalloonsController < Applic
    end
    
    def by_panel
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_speech_balloon_template
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -17,19 -17,19 +17,19 @@@ class SpeechesController < ApplicationC
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_speech_balloon
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_speech_balloon_template
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_writing_format
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -15,15 -15,15 +15,15 @@@ class StoriesController < ApplicationCo
    end
    
    def by_comic
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_sheet
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
@@@ -15,15 -15,15 +15,15 @@@ class StorySheetsController < Applicati
    end
    
    def by_story
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_sheet
--    filer_list
++    filer_list param: params[:id]
    end
    
    def by_author
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show
@@@ -14,7 -14,7 +14,7 @@@ class WritingFormatsController < Applic
    end
    
    def by_system_picture
--    filer_list
++    filer_list param: params[:id]
    end
    
    def show_html_format format
Simple merge