From 6d09b21c6587732677ca4369b2ceede4e5eeb9fa Mon Sep 17 00:00:00 2001 From: yasushiito Date: Sun, 8 Mar 2015 10:37:17 +0900 Subject: [PATCH] fix form save & done event --- app/assets/javascripts/controllers.js.coffee | 3 ++ .../javascripts/controllers/artists.js.coffee | 8 +++-- .../javascripts/controllers/authors.js.coffee | 8 +++-- .../javascripts/controllers/balloons.js.coffee | 8 ++--- .../controllers/comic_stories.js.coffee | 7 ++++ .../javascripts/controllers/comics.js.coffee | 10 ++++-- .../javascripts/controllers/folders.js.coffee | 9 +++-- .../controllers/ground_colors.js.coffee | 8 ++--- .../controllers/ground_pictures.js.coffee | 8 ++--- app/assets/javascripts/controllers/home.js.coffee | 16 +++++++++ .../controllers/license_groups.js.coffee | 4 +++ .../javascripts/controllers/licenses.js.coffee | 6 ++++ .../controllers/original_pictures.js.coffee | 3 ++ .../controllers/panel_pictures.js.coffee | 8 ++--- .../javascripts/controllers/panels.js.coffee | 23 ++++++++++--- .../javascripts/controllers/pictures.js.coffee | 3 ++ .../controllers/resource_pictures.js.coffee | 5 +++ .../controllers/scroll_panels.js.coffee | 11 +++--- .../javascripts/controllers/scrolls.js.coffee | 7 ++++ .../javascripts/controllers/sheet_panels.js.coffee | 7 ++++ .../javascripts/controllers/sheets.js.coffee | 7 ++++ .../controllers/speech_balloon_templates.js.coffee | 6 ++++ .../controllers/speech_balloons.js.coffee | 13 +++---- .../javascripts/controllers/speeches.js.coffee | 8 ++--- .../javascripts/controllers/stories.js.coffee | 11 ++++-- .../javascripts/controllers/story_sheets.js.coffee | 7 ++++ .../controllers/system_pictures.js.coffee | 2 ++ .../controllers/writing_formats.js.coffee | 5 +++ .../javascripts/editor/panel_editor.js.coffee | 26 ++++++++------ .../javascripts/editor/panel_editor/dock.js.coffee | 22 ++++-------- app/assets/javascripts/locmare/form.js.coffee | 36 ++++++++++++------- .../locmare/form/extend_field.js.coffee | 40 +++++++++++++--------- .../javascripts/locmare/form/field.js.coffee | 3 ++ app/assets/javascripts/models/license.js.coffee | 3 +- app/assets/javascripts/models/panel.js.coffee | 14 ++++++-- app/assets/javascripts/peta/item.js.coffee | 3 ++ app/assets/javascripts/peta/root.js.coffee | 2 +- app/assets/javascripts/pettanr/proxy.js.coffee | 5 ++- app/assets/javascripts/views/history.js.coffee | 5 ++- 39 files changed, 272 insertions(+), 108 deletions(-) diff --git a/app/assets/javascripts/controllers.js.coffee b/app/assets/javascripts/controllers.js.coffee index c1be8b74..bee7d7b9 100644 --- a/app/assets/javascripts/controllers.js.coffee +++ b/app/assets/javascripts/controllers.js.coffee @@ -66,6 +66,7 @@ class Pettanr.AppController profiler.render() @trigger('ready', profiler) @trigger('title', @params) + @trigger('done', @params) set_new: () -> @set_model() @@ -73,12 +74,14 @@ class Pettanr.AppController @item.boosts 'post' # Backbone.Model has defaults property #@item.supply_default() + Pettanr.History.lock_url = @item.new_url() set_edit: () -> @set_model() @item = new @my_model_class({id: @params['id']}) @item.fetch({cache: true}).done => @item.boosts 'post' + Pettanr.History.lock_url = @item.edit_url() @render_form() render_form: () -> diff --git a/app/assets/javascripts/controllers/artists.js.coffee b/app/assets/javascripts/controllers/artists.js.coffee index ca3317d3..f4fd833d 100644 --- a/app/assets/javascripts/controllers/artists.js.coffee +++ b/app/assets/javascripts/controllers/artists.js.coffee @@ -3,6 +3,7 @@ class Pettanr.ArtistsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -13,6 +14,7 @@ class Pettanr.ArtistsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -26,11 +28,13 @@ class Pettanr.ArtistsController extends Pettanr.AppController new: () -> @trigger('title', @params) - @form_new(@create) + @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) - @form_edit(@update) + @form_new() + @trigger('done', @params) create: () -> @listenTo(@form, 'success', @post_success) diff --git a/app/assets/javascripts/controllers/authors.js.coffee b/app/assets/javascripts/controllers/authors.js.coffee index 01cbdc58..631cb877 100644 --- a/app/assets/javascripts/controllers/authors.js.coffee +++ b/app/assets/javascripts/controllers/authors.js.coffee @@ -3,6 +3,7 @@ class Pettanr.AuthorsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -13,6 +14,7 @@ class Pettanr.AuthorsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -26,11 +28,13 @@ class Pettanr.AuthorsController extends Pettanr.AppController new: () -> @trigger('title', @params) - @form_new(@create) + @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) - @form_edit(@update) + @form_edit() + @trigger('done', @params) create: () -> @listenTo(@form, 'success', @post_success) diff --git a/app/assets/javascripts/controllers/balloons.js.coffee b/app/assets/javascripts/controllers/balloons.js.coffee index 3a734354..1f8539f2 100644 --- a/app/assets/javascripts/controllers/balloons.js.coffee +++ b/app/assets/javascripts/controllers/balloons.js.coffee @@ -3,14 +3,17 @@ class Pettanr.BalloonsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_speech_balloon: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @trigger('title', @params) @@ -21,6 +24,7 @@ class Pettanr.BalloonsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -32,7 +36,3 @@ class Pettanr.BalloonsController extends Pettanr.AppController count: () -> - new: () -> - - edit: () -> - diff --git a/app/assets/javascripts/controllers/comic_stories.js.coffee b/app/assets/javascripts/controllers/comic_stories.js.coffee index 1960a7a1..6ef36ffb 100644 --- a/app/assets/javascripts/controllers/comic_stories.js.coffee +++ b/app/assets/javascripts/controllers/comic_stories.js.coffee @@ -3,18 +3,22 @@ class Pettanr.ComicStoriesController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_comic: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_story: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @trigger('title', @params) @@ -25,6 +29,7 @@ class Pettanr.ComicStoriesController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -39,10 +44,12 @@ class Pettanr.ComicStoriesController extends Pettanr.AppController new: () -> @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) @form_edit() + @trigger('done', @params) create: () -> @form.item.overwrite(@operators) diff --git a/app/assets/javascripts/controllers/comics.js.coffee b/app/assets/javascripts/controllers/comics.js.coffee index 3d1ffc22..85c805ac 100644 --- a/app/assets/javascripts/controllers/comics.js.coffee +++ b/app/assets/javascripts/controllers/comics.js.coffee @@ -3,14 +3,17 @@ class Pettanr.ComicsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_story: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -21,6 +24,7 @@ class Pettanr.ComicsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -34,11 +38,13 @@ class Pettanr.ComicsController extends Pettanr.AppController new: () -> @trigger('title', @params) - @form_new(@create) + @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) - @form_edit(@update) + @form_edit() + @trigger('done', @params) create: () -> @form.item.overwrite({operators: @operators}) diff --git a/app/assets/javascripts/controllers/folders.js.coffee b/app/assets/javascripts/controllers/folders.js.coffee index e0c6132c..7e327381 100644 --- a/app/assets/javascripts/controllers/folders.js.coffee +++ b/app/assets/javascripts/controllers/folders.js.coffee @@ -3,12 +3,14 @@ class Pettanr.FoldersController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) root: () -> @set_model() @item = new Pettanr.Folder.Root() @item.fetch({cache: true}).done => @children_html() + @trigger('done', @params) show_html_format: (format) -> @@ -23,6 +25,7 @@ class Pettanr.FoldersController extends Pettanr.AppController operators: @operators }) @trigger('ready', filer) + @trigger('done', @params) show: () -> if @params['format'] == 'prof' @@ -46,10 +49,12 @@ class Pettanr.FoldersController extends Pettanr.AppController new: () -> @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) @form_edit() + @trigger('done', @params) # for remote folder refresh: (view) -> @@ -58,6 +63,6 @@ class Pettanr.FoldersController extends Pettanr.AppController title: (params, str) -> @trigger('title', params, str) - done: (url) -> - @trigger('done', url) + done: (params) -> + @trigger('done', params) diff --git a/app/assets/javascripts/controllers/ground_colors.js.coffee b/app/assets/javascripts/controllers/ground_colors.js.coffee index 02cc6a08..4fc6fe9b 100644 --- a/app/assets/javascripts/controllers/ground_colors.js.coffee +++ b/app/assets/javascripts/controllers/ground_colors.js.coffee @@ -3,14 +3,17 @@ class Pettanr.GroundColorsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_panel: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -21,6 +24,7 @@ class Pettanr.GroundColorsController extends Pettanr.AppController }) # show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -32,7 +36,3 @@ class Pettanr.GroundColorsController extends Pettanr.AppController count: () -> - new: () -> - - edit: () -> - diff --git a/app/assets/javascripts/controllers/ground_pictures.js.coffee b/app/assets/javascripts/controllers/ground_pictures.js.coffee index 7be455bb..fca4bd5a 100644 --- a/app/assets/javascripts/controllers/ground_pictures.js.coffee +++ b/app/assets/javascripts/controllers/ground_pictures.js.coffee @@ -3,14 +3,17 @@ class Pettanr.GroundPicturesController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_panel: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @trigger('title', @params) @@ -22,6 +25,7 @@ class Pettanr.GroundPicturesController extends Pettanr.AppController }) # show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -33,7 +37,3 @@ class Pettanr.GroundPicturesController extends Pettanr.AppController count: () -> - new: () -> - - edit: () -> - diff --git a/app/assets/javascripts/controllers/home.js.coffee b/app/assets/javascripts/controllers/home.js.coffee index 74c444c8..91b5e61c 100644 --- a/app/assets/javascripts/controllers/home.js.coffee +++ b/app/assets/javascripts/controllers/home.js.coffee @@ -11,66 +11,82 @@ class Pettanr.HomeController extends Pettanr.AppController scrolls: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) scroll_panels: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) comics: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) comic_stories: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) stories: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) story_sheets: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) sheets: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) sheet_panels: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) panels: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) panel_pictures: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) speech_balloons: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) balloons: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) speeches: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) ground_pictures: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) ground_colors: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) resource_pictures: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) scrolls_count: () -> @list_count() diff --git a/app/assets/javascripts/controllers/license_groups.js.coffee b/app/assets/javascripts/controllers/license_groups.js.coffee index d30c628d..eda7909b 100644 --- a/app/assets/javascripts/controllers/license_groups.js.coffee +++ b/app/assets/javascripts/controllers/license_groups.js.coffee @@ -3,6 +3,7 @@ class Pettanr.LicenseGroupsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -13,6 +14,7 @@ class Pettanr.LicenseGroupsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -27,8 +29,10 @@ class Pettanr.LicenseGroupsController extends Pettanr.AppController new: () -> @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) @form_edit() + @trigger('done', @params) diff --git a/app/assets/javascripts/controllers/licenses.js.coffee b/app/assets/javascripts/controllers/licenses.js.coffee index 84752e25..ede3ff10 100644 --- a/app/assets/javascripts/controllers/licenses.js.coffee +++ b/app/assets/javascripts/controllers/licenses.js.coffee @@ -3,14 +3,17 @@ class Pettanr.LicensesController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_icense_group: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_system_picture: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -21,6 +24,7 @@ class Pettanr.LicensesController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -35,10 +39,12 @@ class Pettanr.LicensesController extends Pettanr.AppController new: () -> @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) @form_edit() + @trigger('done', @params) create: () -> @listenTo(@form, 'success', @post_success) diff --git a/app/assets/javascripts/controllers/original_pictures.js.coffee b/app/assets/javascripts/controllers/original_pictures.js.coffee index d9e7f84f..39cbf0ba 100644 --- a/app/assets/javascripts/controllers/original_pictures.js.coffee +++ b/app/assets/javascripts/controllers/original_pictures.js.coffee @@ -3,10 +3,12 @@ class Pettanr.OriginalPicturesController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) history: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @trigger('title', @params) @@ -17,6 +19,7 @@ class Pettanr.OriginalPicturesController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() diff --git a/app/assets/javascripts/controllers/panel_pictures.js.coffee b/app/assets/javascripts/controllers/panel_pictures.js.coffee index 1ecc26f0..5d9c24a6 100644 --- a/app/assets/javascripts/controllers/panel_pictures.js.coffee +++ b/app/assets/javascripts/controllers/panel_pictures.js.coffee @@ -3,14 +3,17 @@ class Pettanr.PanelPicturesController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_panel: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -21,6 +24,7 @@ class Pettanr.PanelPicturesController extends Pettanr.AppController }) # show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -32,7 +36,3 @@ class Pettanr.PanelPicturesController extends Pettanr.AppController count: () -> - new: () -> - - edit: () -> - diff --git a/app/assets/javascripts/controllers/panels.js.coffee b/app/assets/javascripts/controllers/panels.js.coffee index ffea9840..6d8819dc 100644 --- a/app/assets/javascripts/controllers/panels.js.coffee +++ b/app/assets/javascripts/controllers/panels.js.coffee @@ -3,22 +3,27 @@ class Pettanr.PanelsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_scroll: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_sheet: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_speech_balloon_template: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item = new Pettanr.Panel.WithElements({id: @item.get('id')}) # retake panel for 'with_elements' mode @@ -31,6 +36,7 @@ class Pettanr.PanelsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) false show: () -> @@ -46,7 +52,9 @@ class Pettanr.PanelsController extends Pettanr.AppController new: () -> @trigger('title', @params) @set_new() + Pettanr.History.lock_url = @item.new_url() @editor() + @trigger('done', @params) edit: () -> @trigger('title', @params) @@ -54,20 +62,25 @@ class Pettanr.PanelsController extends Pettanr.AppController panel = new Pettanr.Panel({id: @params['id']}) @item = panel.with_elements() @item.fetch({cache: false}).done => - editor = new Editor.PanelEditor({root_item: @item, operators: @operators}) - #editor.render() - @trigger('ready', editor) + Pettanr.History.lock_url = @item.edit_url() + @editor() + @trigger('done', @params) editor: () -> + editor = new Editor.PanelEditor({root_item: @item, operators: @operators}) + editor.render() + @trigger('ready', editor) create: () -> - @form.item.overwrite({operators: @operators}) + # @form is editor + @form.panel.overwrite({operators: @operators}) @listenTo(@form, 'success', @post_success) @listenTo(@form, 'fail', @post_fail) @form.save() update: () -> - @form.item.overwrite({operators: @operators}) + # @form is editor + @form.panel.overwrite({operators: @operators}) @listenTo(@form, 'success', @post_success) @listenTo(@form, 'fail', @post_fail) @form.save() diff --git a/app/assets/javascripts/controllers/pictures.js.coffee b/app/assets/javascripts/controllers/pictures.js.coffee index 8d81b95d..365aa3f8 100644 --- a/app/assets/javascripts/controllers/pictures.js.coffee +++ b/app/assets/javascripts/controllers/pictures.js.coffee @@ -3,10 +3,12 @@ class Pettanr.PicturesController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_artist: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @trigger('title', @params) @@ -17,6 +19,7 @@ class Pettanr.PicturesController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() diff --git a/app/assets/javascripts/controllers/resource_pictures.js.coffee b/app/assets/javascripts/controllers/resource_pictures.js.coffee index 98c8f74f..be46b2da 100644 --- a/app/assets/javascripts/controllers/resource_pictures.js.coffee +++ b/app/assets/javascripts/controllers/resource_pictures.js.coffee @@ -3,18 +3,22 @@ class Pettanr.ResourcePicturesController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_artist: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_license_group: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_license: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @trigger('title', @params) @@ -25,6 +29,7 @@ class Pettanr.ResourcePicturesController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() diff --git a/app/assets/javascripts/controllers/scroll_panels.js.coffee b/app/assets/javascripts/controllers/scroll_panels.js.coffee index a4329d39..db47b98f 100644 --- a/app/assets/javascripts/controllers/scroll_panels.js.coffee +++ b/app/assets/javascripts/controllers/scroll_panels.js.coffee @@ -3,18 +3,22 @@ class Pettanr.ScrollPanelsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_scroll: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_panel: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @trigger('title', @params) @@ -25,6 +29,7 @@ class Pettanr.ScrollPanelsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -34,19 +39,17 @@ class Pettanr.ScrollPanelsController extends Pettanr.AppController when 'html' @show_html() - play: () -> - @set_play() - @play_list() - count: () -> new: () -> @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) @form_edit() + @trigger('done', @params) create: () -> @form.item.overwrite(@operators) diff --git a/app/assets/javascripts/controllers/scrolls.js.coffee b/app/assets/javascripts/controllers/scrolls.js.coffee index 09068d40..35c6ee51 100644 --- a/app/assets/javascripts/controllers/scrolls.js.coffee +++ b/app/assets/javascripts/controllers/scrolls.js.coffee @@ -3,14 +3,17 @@ class Pettanr.ScrollsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_panel: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -21,6 +24,7 @@ class Pettanr.ScrollsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -43,14 +47,17 @@ class Pettanr.ScrollsController extends Pettanr.AppController show.render() @trigger('ready', show) ) + @trigger('done', @params) new: () -> @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) @form_edit() + @trigger('done', @params) create: () -> @form.item.overwrite({operators: @operators}) diff --git a/app/assets/javascripts/controllers/sheet_panels.js.coffee b/app/assets/javascripts/controllers/sheet_panels.js.coffee index 74d673fd..46230fa8 100644 --- a/app/assets/javascripts/controllers/sheet_panels.js.coffee +++ b/app/assets/javascripts/controllers/sheet_panels.js.coffee @@ -3,18 +3,22 @@ class Pettanr.SheetPanelsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_sheet: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_panel: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @trigger('title', @params) @@ -25,6 +29,7 @@ class Pettanr.SheetPanelsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -39,10 +44,12 @@ class Pettanr.SheetPanelsController extends Pettanr.AppController new: () -> @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) @form_edit() + @trigger('done', @params) create: () -> @form.item.overwrite(@operators) diff --git a/app/assets/javascripts/controllers/sheets.js.coffee b/app/assets/javascripts/controllers/sheets.js.coffee index 59e1a8e6..d0b3c9e3 100644 --- a/app/assets/javascripts/controllers/sheets.js.coffee +++ b/app/assets/javascripts/controllers/sheets.js.coffee @@ -3,18 +3,22 @@ class Pettanr.SheetsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_story: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_panel: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -25,6 +29,7 @@ class Pettanr.SheetsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -39,10 +44,12 @@ class Pettanr.SheetsController extends Pettanr.AppController new: () -> @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) @form_edit() + @trigger('done', @params) create: () -> @form.item.overwrite({operators: @operators}) diff --git a/app/assets/javascripts/controllers/speech_balloon_templates.js.coffee b/app/assets/javascripts/controllers/speech_balloon_templates.js.coffee index 72a9be84..c1bdb8dd 100644 --- a/app/assets/javascripts/controllers/speech_balloon_templates.js.coffee +++ b/app/assets/javascripts/controllers/speech_balloon_templates.js.coffee @@ -3,14 +3,17 @@ class Pettanr.SpeechBalloonTemplatesController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_panel: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_system_picture: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -21,6 +24,7 @@ class Pettanr.SpeechBalloonTemplatesController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -35,10 +39,12 @@ class Pettanr.SpeechBalloonTemplatesController extends Pettanr.AppController new: () -> @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) @form_edit() + @trigger('done', @params) create: () -> @listenTo(@form, 'success', @post_success) diff --git a/app/assets/javascripts/controllers/speech_balloons.js.coffee b/app/assets/javascripts/controllers/speech_balloons.js.coffee index 0207dea5..ea01d4ed 100644 --- a/app/assets/javascripts/controllers/speech_balloons.js.coffee +++ b/app/assets/javascripts/controllers/speech_balloons.js.coffee @@ -3,18 +3,22 @@ class Pettanr.SpeechBalloonsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_panel: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_speech_balloon_template: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -25,6 +29,7 @@ class Pettanr.SpeechBalloonsController extends Pettanr.AppController }) # show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -36,11 +41,3 @@ class Pettanr.SpeechBalloonsController extends Pettanr.AppController count: () -> - new: () -> - @trigger('title', @params) - @form_new() - - edit: () -> - @trigger('title', @params) - @form_edit() - diff --git a/app/assets/javascripts/controllers/speeches.js.coffee b/app/assets/javascripts/controllers/speeches.js.coffee index ff659df6..ee7715a2 100644 --- a/app/assets/javascripts/controllers/speeches.js.coffee +++ b/app/assets/javascripts/controllers/speeches.js.coffee @@ -3,14 +3,17 @@ class Pettanr.SpeechesController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_speech_balloon: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @trigger('title', @params) @@ -21,6 +24,7 @@ class Pettanr.SpeechesController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -32,7 +36,3 @@ class Pettanr.SpeechesController extends Pettanr.AppController count: () -> - new: () -> - - edit: () -> - diff --git a/app/assets/javascripts/controllers/stories.js.coffee b/app/assets/javascripts/controllers/stories.js.coffee index d4fc2c50..8b613b62 100644 --- a/app/assets/javascripts/controllers/stories.js.coffee +++ b/app/assets/javascripts/controllers/stories.js.coffee @@ -3,18 +3,22 @@ class Pettanr.StoriesController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_comic: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_sheet: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -25,6 +29,7 @@ class Pettanr.StoriesController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -38,11 +43,13 @@ class Pettanr.StoriesController extends Pettanr.AppController new: () -> @trigger('title', @params) - @form_new(@create) + @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) - @form_edit(@update) + @form_edit() + @trigger('done', @params) create: () -> @form.item.overwrite({operators: @operators}) diff --git a/app/assets/javascripts/controllers/story_sheets.js.coffee b/app/assets/javascripts/controllers/story_sheets.js.coffee index a460b622..999d5a9b 100644 --- a/app/assets/javascripts/controllers/story_sheets.js.coffee +++ b/app/assets/javascripts/controllers/story_sheets.js.coffee @@ -3,18 +3,22 @@ class Pettanr.StorySheetsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_author: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_story: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_sheet: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @trigger('title', @params) @@ -25,6 +29,7 @@ class Pettanr.StorySheetsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -39,10 +44,12 @@ class Pettanr.StorySheetsController extends Pettanr.AppController new: () -> @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) @form_edit() + @trigger('done', @params) create: () -> @form.item.overwrite(@operators) diff --git a/app/assets/javascripts/controllers/system_pictures.js.coffee b/app/assets/javascripts/controllers/system_pictures.js.coffee index 473b745e..0a86f0cf 100644 --- a/app/assets/javascripts/controllers/system_pictures.js.coffee +++ b/app/assets/javascripts/controllers/system_pictures.js.coffee @@ -3,6 +3,7 @@ class Pettanr.SystemPicturesController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @trigger('title', @params) @@ -13,6 +14,7 @@ class Pettanr.SystemPicturesController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() diff --git a/app/assets/javascripts/controllers/writing_formats.js.coffee b/app/assets/javascripts/controllers/writing_formats.js.coffee index fc4370a8..fd1593e5 100644 --- a/app/assets/javascripts/controllers/writing_formats.js.coffee +++ b/app/assets/javascripts/controllers/writing_formats.js.coffee @@ -3,10 +3,12 @@ class Pettanr.WritingFormatsController extends Pettanr.AppController index: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) by_system_picture: () -> @trigger('title', @params) @filer_list() + @trigger('done', @params) show_html: () -> @item.fetch({cache: true}).done => @@ -17,6 +19,7 @@ class Pettanr.WritingFormatsController extends Pettanr.AppController }) show.render() @trigger('ready', show) + @trigger('done', @params) show: () -> @set_show() @@ -31,10 +34,12 @@ class Pettanr.WritingFormatsController extends Pettanr.AppController new: () -> @trigger('title', @params) @form_new() + @trigger('done', @params) edit: () -> @trigger('title', @params) @form_edit() + @trigger('done', @params) create: () -> @listenTo(@form, 'success', @post_success) diff --git a/app/assets/javascripts/editor/panel_editor.js.coffee b/app/assets/javascripts/editor/panel_editor.js.coffee index 826a8cba..24fbd6a8 100644 --- a/app/assets/javascripts/editor/panel_editor.js.coffee +++ b/app/assets/javascripts/editor/panel_editor.js.coffee @@ -5,6 +5,7 @@ class Editor.PanelEditor extends Backbone.View initialize: (options) -> @panel = options.root_item @operators = options.operators + @item = @panel @dialog = new Editor.PanelEditor.Dialog({ parent: this }) @@ -21,8 +22,7 @@ class Editor.PanelEditor extends Backbone.View element.fetch({cache: true}).done => @add_element(element) @body.on('panel:resize', @panel_resize) - @listenTo(@dock, 'put', @put) - Pettanr.History.lock_url = @panel.edit_url() + @listenTo(@dock, 'http_post', @http_post) add_element: (element) -> panel_element_view = @body.add_element(element) @@ -54,7 +54,6 @@ class Editor.PanelEditor extends Backbone.View rb = new Tag.RowBreak() this.$el.append(rb.render().el) @dock.init_tabs() - window.editor = this # enable leave cancel flag on unsave @dock.$el.tabs() this @@ -69,15 +68,22 @@ class Editor.PanelEditor extends Backbone.View @dialog.$el.dialog('destroy') Pettanr.History.lock_url = null # release editor - put: () -> - success = (data, textStatus) => - Pettanr.History.lock_url = null # release editor - @dock.valid() - error = (data, textStatus) => - @dock.invalid() - @dock.save({success: success, error: error}) + http_post: (url, dock) -> + @trigger('http_post', url, this) # send editor + + save: () -> + @listenTo(@panel, 'save:success', @post_success) + @listenTo(@panel, 'save:fail', @post_fail) + @panel.save(@dock.save_data()) false + post_success: (model, response) -> + Pettanr.History.lock_url = null # release editor + @trigger('success', model, response) + + post_fail: (model, response) -> + @trigger('fail', response) + root_item: () -> @panel diff --git a/app/assets/javascripts/editor/panel_editor/dock.js.coffee b/app/assets/javascripts/editor/panel_editor/dock.js.coffee index 5a702564..63f6ee34 100644 --- a/app/assets/javascripts/editor/panel_editor/dock.js.coffee +++ b/app/assets/javascripts/editor/panel_editor/dock.js.coffee @@ -40,7 +40,7 @@ class Editor.PanelEditor.Dock extends Editor.EditorModule.DockBase parent: @scenario_bay }) ) - @listenTo(@root_bay.body, 'put', @put) + @listenTo(@root_bay.body, 'http_post', @http_post) render: () -> this.$el.html('') @@ -76,25 +76,15 @@ class Editor.PanelEditor.Dock extends Editor.EditorModule.DockBase dom_labels_class: () -> @dom_class() + '-labels' - put: () -> - @trigger('put') + http_post: (url, root_form) -> + @trigger('http_post', url, this) # send dock false - save: (options) -> - attrs = @save_data() - @root_bay.body.form.save(attrs, options) - save_data: () -> attrs = @root_bay.save_data() _.extend(attrs, @element_bay.save_data()) attrs - valid: () -> - @root_bay.body.form.valid() - - invalid: () -> - @root_bay.body.form.invalid() - class Editor.EditorModule.DockModule.RootBay extends Editor.EditorModule.DockModule.SimpleBay render: () -> @@ -118,7 +108,7 @@ class Editor.EditorModule.DockModule.TabModule.RootBayBody extends Editor.Editor operators: @dock().editor().operators, action: '/' + @root_item().table_name() + '/' + Pettanr.to_s(@root_item().get('id')) }) - @listenTo(@form, 'put', @put) + @listenTo(@form, 'http_post', @http_post) render: () -> super() @@ -135,8 +125,8 @@ class Editor.EditorModule.DockModule.TabModule.RootBayBody extends Editor.Editor root_item: () -> @dock().root_item() - put: () -> - @trigger('put') + http_post: (url, root_form) -> + @trigger('http_post', url, root_form) false class Editor.EditorModule.DockModule.ElementBay extends Editor.EditorModule.DockModule.BoardBay diff --git a/app/assets/javascripts/locmare/form.js.coffee b/app/assets/javascripts/locmare/form.js.coffee index 33bc7c21..419fbbeb 100644 --- a/app/assets/javascripts/locmare/form.js.coffee +++ b/app/assets/javascripts/locmare/form.js.coffee @@ -146,6 +146,7 @@ class Locmare.Form extends Locmare.FormBase post: () -> _.each @fields, (field) => + field.fold() if field.is_extend() @item.set(field.field_name, field.val()) @item.unset('id') # isNew use flag that id attr set @trigger('http_post', @item.create_url(), this) @@ -153,17 +154,15 @@ class Locmare.Form extends Locmare.FormBase put: () -> _.each @fields, (field) => + field.fold() if field.is_extend() @item.set(field.field_name, field.val()) @trigger('http_post', @item.update_url(), this) return false - save: (attrs = null, options = null) -> + save: () -> @listenTo(@item, 'save:success', @success) @listenTo(@item, 'save:fail', @fail) - if attrs - @item.save(attrs, options) - else - @item.save() + @item.save() success: (model, response) -> @trigger('success', model, response) @@ -171,13 +170,6 @@ class Locmare.Form extends Locmare.FormBase fail: (model, response) -> @trigger('fail', response) - valid: () -> - window.router.navigate('/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id')), true) - return false - - invalid: () -> - alert('invalid') - save_data: () -> @item.my_class().child_models() attrs = {} @@ -202,6 +194,7 @@ class Locmare.ExtendForm extends Locmare.FormBase @parent = options.parent @field_name = options.field_name super(options) + @listenTo(@item, 'input', @input) @field = new Locmare.FormModule.Field({ form: @parent, field_name: @field_name, @@ -212,6 +205,7 @@ class Locmare.ExtendForm extends Locmare.FormBase render: () -> this.$el.html('') + this.$el.append(@label.render().el) if not @label.hidden() @div_fields = new Locmare.FormModule.Fields({ fields: @fields }) @@ -221,6 +215,21 @@ class Locmare.ExtendForm extends Locmare.FormBase refresh: () -> @field.refresh() + input: (field) -> + a = {} + a[@field_name] = @val() + @parent.item.set(a, {silent: true}) + @parent.item.trigger('input:' + @field_name + ':' + field) + @parent.item.trigger('input:' + @field_name) + @parent.item.trigger('input') + + fold: () -> + _.each @fields, (field) => + @item.set(field.field_name, field.val()) + + val: () -> + JSON.stringify(@item.attributes) + init_fields: () -> _.each @manifest.field_names, (field_name) => field_manifest = @manifest.fields[field_name] @@ -234,6 +243,9 @@ class Locmare.ExtendForm extends Locmare.FormBase # parent is field @parent.form_field_name(@field_name) + '[' + extend_field_name + ']' + is_extend: () -> + true + class Locmare.FormModule class Locmare.FormModule.Fields extends Backbone.View tagName: 'div' diff --git a/app/assets/javascripts/locmare/form/extend_field.js.coffee b/app/assets/javascripts/locmare/form/extend_field.js.coffee index 4f450d26..4ac2a05a 100644 --- a/app/assets/javascripts/locmare/form/extend_field.js.coffee +++ b/app/assets/javascripts/locmare/form/extend_field.js.coffee @@ -8,35 +8,43 @@ class Locmare.FormModule.ExtendField extends Backbone.View @field_manifest = options.field_manifest @label = Locmare.FormModule.FieldModule.LabelFactory.factory this, @field_manifest.label @tag = Locmare.FormModule.FieldModule.TagFactory.factory this, @field_manifest.tag - @helpers = {} - _.each @field_manifest.helpers, (helper_manifest, helper_name) => - @helpers[helper_name] = Locmare.FormModule.FieldModule.HelperFactory.factory(this, helper_manifest) + @helpers = new Locmare.FormModule.FieldModule.Helpers({field: this, field_manifest: @field_manifest}) @rb = @row_break() - @options = {'data-model': @field_manifest.item_name()} + @on('change', @change) + item = @item() + @listenTo(item, 'resize', @refresh) + @listenTo(item, 'move', @refresh) + @listenTo(item, 'sort', @refresh) render: () -> this.$el.html('') this.$el.append(@label.render().el) if not @label.hidden() this.$el.append(@tag.render().el) - _.each @helpers, (helper) => - this.$el.append(helper.render().el) - this.$el.append(@rb.render().el) if @rb + this.$el.append(@helpers.render().el) this - mounted: () -> - if @form.mounted - 0 - else - 1 - - mount_option: () -> - {'mount': @mounted()} + refresh: () -> + @tag.render() + @helpers.refresh() + change: () -> + @set(@val(), {silent: true}) + @item().trigger('input:' + @field_name) + @item().trigger('input', this) + item: () -> @form.item + val: () -> + @tag.val() + value: () -> - @item().get(@field_manifest.column_name) + @item().get(@field_manifest.column_name()) + + set: (v, opt = null) -> + a = {} + a[@field_manifest.column_name()] = v + @item().set(a, opt) options: (tag_options = {}) -> tag_options diff --git a/app/assets/javascripts/locmare/form/field.js.coffee b/app/assets/javascripts/locmare/form/field.js.coffee index eb5f552a..3795c026 100644 --- a/app/assets/javascripts/locmare/form/field.js.coffee +++ b/app/assets/javascripts/locmare/form/field.js.coffee @@ -33,6 +33,9 @@ class Locmare.FormModule.Field extends Backbone.View @item().trigger('input:' + @field_name) @item().trigger('input') + is_extend: () -> + false + mounted: () -> if @form.mounted 0 diff --git a/app/assets/javascripts/models/license.js.coffee b/app/assets/javascripts/models/license.js.coffee index d01e3b4b..6d888e6a 100644 --- a/app/assets/javascripts/models/license.js.coffee +++ b/app/assets/javascripts/models/license.js.coffee @@ -27,7 +27,8 @@ class Pettanr.License extends Peta.SystemResource i.fetch({cache: true}).done => caption = i.escape('caption') + '/' + @escape('caption') @trigger('ready:caption', caption) - + is_own: () -> + true initialize: () -> if @id @url = @url + @id diff --git a/app/assets/javascripts/models/panel.js.coffee b/app/assets/javascripts/models/panel.js.coffee index 834bf3f2..5c489b85 100644 --- a/app/assets/javascripts/models/panel.js.coffee +++ b/app/assets/javascripts/models/panel.js.coffee @@ -9,6 +9,8 @@ class Pettanr.Panel extends Peta.Root defaults: { id: null, + width: 500, + height: 300, border: 2, publish: 0 } @@ -77,14 +79,20 @@ class Pettanr.Panel.WithElements extends Pettanr.Panel @url = @my_url() + '?with_elements=true' super(options) - save: (attrs, options = {}) -> + save: (attrs) -> @url = @my_url() - options.attrs = {panel: attrs} method = if @isNew() 'create' else 'update' - xhr = @sync(method, this, options) + _this = this + xhr = @sync(method, this, { + attrs: {panel: attrs}, + success: (model, response, options) => + _this.trigger('save:success', _this, response) + error: (model, response, options) => + _this.trigger('save:fail', _this, response) + }) xhr destroy: (options) -> diff --git a/app/assets/javascripts/peta/item.js.coffee b/app/assets/javascripts/peta/item.js.coffee index bce93d94..ac4a1006 100644 --- a/app/assets/javascripts/peta/item.js.coffee +++ b/app/assets/javascripts/peta/item.js.coffee @@ -160,6 +160,9 @@ class Peta.Item extends Backbone.Model prof_url: () -> Pettanr.url(@table_name(), 'show', {id: @get('id'), format: 'prof'}) + new_url: () -> + Pettanr.url(@table_name(), 'new', {}) + create_url: () -> Pettanr.url(@table_name(), 'create', {}) diff --git a/app/assets/javascripts/peta/root.js.coffee b/app/assets/javascripts/peta/root.js.coffee index ebc55226..766c0383 100644 --- a/app/assets/javascripts/peta/root.js.coffee +++ b/app/assets/javascripts/peta/root.js.coffee @@ -4,7 +4,7 @@ class Peta.Root extends Peta.ElementNestableContent r = [] _.each @my_class().child_models(), (k) => l = @element_items(k) - r = r.concat(l) + r = r.concat(l || []) r zorderd_elements: () -> diff --git a/app/assets/javascripts/pettanr/proxy.js.coffee b/app/assets/javascripts/pettanr/proxy.js.coffee index f9f64659..ca85d266 100644 --- a/app/assets/javascripts/pettanr/proxy.js.coffee +++ b/app/assets/javascripts/pettanr/proxy.js.coffee @@ -18,9 +18,9 @@ class Pettanr.Proxy controller = Pettanr.AppController.new2(params, form, @operators) @listenTo(controller, 'ready', @ready) @listenTo(controller, 'title', @title) + @listenTo(controller, 'done', @done) action_name = params['action'] controller[action_name]() - @trigger('done', params) ready: (view) -> @trigger('ready', view) @@ -28,6 +28,9 @@ class Pettanr.Proxy title: (params, str) -> @trigger('title', params, str) + done: (params) -> + @trigger('done', params) + deny: (params, form, safe_url) -> @trigger('deny', params, form, safe_url) diff --git a/app/assets/javascripts/views/history.js.coffee b/app/assets/javascripts/views/history.js.coffee index 6225c48e..8c280dbd 100644 --- a/app/assets/javascripts/views/history.js.coffee +++ b/app/assets/javascripts/views/history.js.coffee @@ -103,6 +103,7 @@ class Pettanr.Views.History.List extends Backbone.View @buttons.push( new Pettanr.Views.History.List.Log({params: params, options: options}) ) + @buttons.shift() if @buttons.length > 10 @cursor = @buttons.length - 1 @render() @@ -130,7 +131,9 @@ class Pettanr.Views.History.List.Log extends Backbone.View @options = options.options # get caption and icon @item_name = Manifest.manifest().singularize(@params['controller']) - @model = Manifest.item_name_to_model(@item_name) + @controller = Manifest.manifest().controllers[@params['controller']] + @action = @controller.actions[@params['action']] + @model = Manifest.manifest().models[@action.item_name].classify() render: () -> this.$el.html('') -- 2.11.0