From: yasushiito Date: Thu, 23 Apr 2015 23:19:55 +0000 (+0900) Subject: fix:new elm X-Git-Url: http://git.osdn.net/view?p=pettanr%2Fpettanr.git;a=commitdiff_plain;h=1e8400d0a3d373483cfd9fe342ca05179554bc9b fix:new elm --- diff --git a/app/assets/javascripts/locmare/form/field/helper/color.js.coffee b/app/assets/javascripts/locmare/form/field/helper/color.js.coffee index 974c32ce..5d3794ce 100644 --- a/app/assets/javascripts/locmare/form/field/helper/color.js.coffee +++ b/app/assets/javascripts/locmare/form/field/helper/color.js.coffee @@ -144,6 +144,8 @@ class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Status extends Bac initialize: (options) -> @field = options.field @helper = options.helper + @hex = new Tag.Div({}) + @rgb = new Tag.Div({}) render: () -> @attr = { @@ -151,8 +153,6 @@ class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Status extends Bac } this.$el.attr(@attr) - @hex = new Tag.Div({}) - @rgb = new Tag.Div({}) this.$el.html('') this.$el.append(@hex.render().el) this.$el.append(@rgb.render().el) diff --git a/app/assets/javascripts/manifest/model/association/has_one.js.coffee b/app/assets/javascripts/manifest/model/association/has_one.js.coffee index 8dc758f4..5cb1b6b3 100644 --- a/app/assets/javascripts/manifest/model/association/has_one.js.coffee +++ b/app/assets/javascripts/manifest/model/association/has_one.js.coffee @@ -4,14 +4,19 @@ class Manifest.ModelModule.AssociationModule.HasOne extends ManifestBase.NameVal super() @values['item_name'] ||= @name @values['foreign_key'] ||= @parent.item_name() + '_id' + @values['list_action_name'] ||= 'by_' + @parent.item_name() init: () -> super() @item_name = @values['item_name'] @foreign_key = @values['foreign_key'] + @list_action_name = @values['list_action_name'] is_through: () -> - !@through + if @through + true + else + false model: () -> Manifest.item_name_to_model @item_name diff --git a/app/assets/javascripts/models/ground_color.js.coffee b/app/assets/javascripts/models/ground_color.js.coffee index bc36e98e..eff28006 100644 --- a/app/assets/javascripts/models/ground_color.js.coffee +++ b/app/assets/javascripts/models/ground_color.js.coffee @@ -9,9 +9,20 @@ class Pettanr.GroundColor extends Peta.Element defaults: { id: null, - code: 0, + code: 0xeeeeee, + orientation: 0 } + @pick_item_name: () -> + 'ground_color' + + @traceable_item_names: () -> + [] + + pick: (picked_item) -> + { + } + @has_picture: () -> false diff --git a/app/assets/javascripts/peta/item.js.coffee b/app/assets/javascripts/peta/item.js.coffee index 5dbdfb35..aac9f2d1 100644 --- a/app/assets/javascripts/peta/item.js.coffee +++ b/app/assets/javascripts/peta/item.js.coffee @@ -118,9 +118,10 @@ class Peta.Item extends Backbone.Model has_one: (has_one_name) -> has_one_manifest = @my_class().my_manifest().associations.has_one[has_one_name] + controller_name = has_one_manifest.model().table_name() action_name = has_one_manifest.list_action_name Locmare.ListGroup.list( - has_one_name, action_name, {id: @get('id')} + controller_name, action_name, {id: @get('id')} ) boosts: (level) -> diff --git a/app/assets/javascripts/views/ground_colors/new_element.js.coffee b/app/assets/javascripts/views/ground_colors/new_element.js.coffee index c1827b66..5b24cbcf 100644 --- a/app/assets/javascripts/views/ground_colors/new_element.js.coffee +++ b/app/assets/javascripts/views/ground_colors/new_element.js.coffee @@ -5,30 +5,42 @@ class Pettanr.Views.GroundColor.NewElement extends Backbone.View initialize: (options) -> @parent = options.parent @target_model = options.target_model - @pick_model = @target_model.pick_model() clear: () -> - this.$el.html('new or inspire') + this.$el.html('') + @pick_icon = new Pettanr.Views.Common.PickIcon({name: 'pick'}) + @inspire_icon = new Pettanr.Views.Common.PickIcon({name: 'inspire'}) + @listenTo(@pick_icon, 'click', @pick_click) + @listenTo(@inspire_icon, 'click', @inspire_click) + this.$el.append(@pick_icon.render().el) + this.$el.append(@inspire_icon.render().el) this - render: (form) -> - this.$el.html('') - this.$el.append(@form.render().el) + render: () -> this + pick_click: () -> + model = @target_model + new_item = new model() + # new_item.set({}, {silent: true}) + @success(new_item) + + inspire_click: () -> + params = { + controller: @target_model.path_name(), action: 'index', + page_size: 6, format: 'html' + } + @dialog().start(@target_model, params, null) + @listenTo(@dialog(), 'pick', @pick) + pick: (item) -> - if item.item_name() == @target_model.item_name() - # Inspire - new_item = new @target_model(item.attributes) - else if @target_model.is_traceable(item.item_name()) - # Trace - n = @target_model['trace_from_' + item.item_name()] - n() - else if item.item_name() == @target_model.pick_item_name() - # Pick - model = @target_model.pick_model() - new_item = new model() + new_item = new @target_model(item.attributes) + new_item.unset('id', {silent: true}) + new_item.set({panel_id: @editor().item.get('id')}, {silent: true}) @dialog().stop() + @success(new_item) + + success: (new_item) -> @set_form(new_item) @trigger('pick', new_item) diff --git a/app/assets/javascripts/views/ground_colors/symbol.js.coffee b/app/assets/javascripts/views/ground_colors/symbol.js.coffee index 352ee799..4c0b64f1 100644 --- a/app/assets/javascripts/views/ground_colors/symbol.js.coffee +++ b/app/assets/javascripts/views/ground_colors/symbol.js.coffee @@ -14,7 +14,7 @@ class Pettanr.Views.GroundColor.Symbol extends Backbone.View render: () -> this.$el.addClass(@class_name) - this.$el.html(@fore_color()) + this.$el.html(@bg_color()) attr = { style: Pettanr.to_style(@style()) } diff --git a/app/assets/javascripts/views/ground_pictures/new_element.js.coffee b/app/assets/javascripts/views/ground_pictures/new_element.js.coffee index cd6b0ee8..d6691e4a 100644 --- a/app/assets/javascripts/views/ground_pictures/new_element.js.coffee +++ b/app/assets/javascripts/views/ground_pictures/new_element.js.coffee @@ -25,6 +25,8 @@ class Pettanr.Views.GroundPicture.NewElement extends Backbone.View if item.item_name() == @target_model.item_name() # Inspire new_item = new @target_model(item.attributes) + new_item.unset('id', {silent: true}) + new_item.set({panel_id: @editor().item.get('id')}, {silent: true}) else if @target_model.is_traceable(item.item_name()) # Trace n = @target_model['trace_from_' + item.item_name()] diff --git a/app/assets/javascripts/views/panel_pictures/new_element.js.coffee b/app/assets/javascripts/views/panel_pictures/new_element.js.coffee index 3a131304..b8106603 100644 --- a/app/assets/javascripts/views/panel_pictures/new_element.js.coffee +++ b/app/assets/javascripts/views/panel_pictures/new_element.js.coffee @@ -25,6 +25,8 @@ class Pettanr.Views.PanelPicture.NewElement extends Backbone.View if item.item_name() == @target_model.item_name() # Inspire new_item = new @target_model(item.attributes) + new_item.unset('id', {silent: true}) + new_item.set({panel_id: @editor().item.get('id')}, {silent: true}) else if @target_model.is_traceable(item.item_name()) # Trace n = @target_model['trace_from_' + item.item_name()] diff --git a/app/assets/javascripts/views/speech_balloons/new_element.js.coffee b/app/assets/javascripts/views/speech_balloons/new_element.js.coffee index 351ab8c5..c3a7455c 100644 --- a/app/assets/javascripts/views/speech_balloons/new_element.js.coffee +++ b/app/assets/javascripts/views/speech_balloons/new_element.js.coffee @@ -25,8 +25,26 @@ class Pettanr.Views.SpeechBalloon.NewElement extends Backbone.View @listenTo(this, 'ready', @ready) if item.item_name() == @target_model.item_name() # Inspire - new_item = new @target_model(item.attributes) - @trigger('ready', new_item) + balloon_list = item.has_one('balloon') + speech_list = item.has_one('speech') + balloon_list.open(() => + balloon = balloon_list.items()[0] + speech_list.open(() => + speech = speech_list.items()[0] + new_item = new @target_model(item.attributes) + new_item.unset('id', {silent: true}) + new_item.set({panel_id: @editor().item.get('id')}, {silent: true}) + balloon.unset('id', {silent: true}) + balloon.unset('speech_balloon_id', {silent: true}) + speech.unset('id', {silent: true}) + speech.unset('speech_balloon_id', {silent: true}) + new_item.boosts 'post' + balloon.boosts 'post' + speech.boosts 'post' + new_item.set({balloon: balloon, speech: speech}, {silent: true}) + @trigger('ready', new_item) + ) + ) else if @target_model.is_traceable(item.item_name()) # Trace n = @target_model['trace_from_' + item.item_name()] diff --git a/app/models/ground_picture.rb b/app/models/ground_picture.rb index b1f13f01..ab5a2445 100644 --- a/app/models/ground_picture.rb +++ b/app/models/ground_picture.rb @@ -61,7 +61,7 @@ class GroundPicture < Peta::Element 'position' => 'absolute', 'top' => '0px', 'left' => '0px', 'z-index' => self.z, 'background-image' => "url(#{self.picture.url})", 'background-repeat' => self.repeat_text, - 'background-position' => "#{self.x}px #{self.attr_y}px" + 'background-position' => "#{self.x}px #{self.y}px" } self.merge_opacity(r, opacity) if spot and spot != self r