OSDN Git Service

fix: show's destroy button
[pettanr/pettanr.git] / app / assets / javascripts / locmare / form.js.coffee
index c294c1f..4e55865 100644 (file)
@@ -59,11 +59,7 @@ class Locmare.Form extends Locmare.FormBase
     @init_fields()\r
   \r
   render: () ->\r
-    @attr = {\r
-      method: @method_type(),\r
-      action: @action_url()\r
-    }\r
-    this.$el.attr(@attr)\r
+    this.$el.attr(@form_attr())\r
     this.$el.html('')\r
     @error_explanation = null\r
     @div_fields = new Locmare.FormModule.Fields({\r
@@ -79,6 +75,12 @@ class Locmare.Form extends Locmare.FormBase
       @delegateEvents({'submit': @method_type()})\r
     this\r
   \r
+  form_attr: () ->\r
+    {\r
+      method: @method_type(),\r
+      action: @action_url()\r
+    }\r
+  \r
   refresh: () ->\r
     _.each @fields, (field) =>\r
       field.refresh()\r
@@ -187,6 +189,7 @@ class Locmare.Form extends Locmare.FormBase
   success: (model, response) ->\r
     if !Pettanr.cache.restore(model.cache_key())\r
       # item is new\r
+      model.url = model.default_url()\r
       Pettanr.cache.store(model)\r
     else\r
       @item.fix()\r
@@ -242,11 +245,12 @@ class Locmare.ExtendForm extends Locmare.FormBase
   \r
   render: () ->\r
     this.$el.html('')\r
-    this.$el.append(@label.render().el) if not @label.hidden()\r
-    @div_fields = new Locmare.FormModule.Fields({\r
-      fields: @fields\r
-    })\r
-    this.$el.append(@div_fields.render().el)\r
+    if !@is_hidden()\r
+      this.$el.append(@label.render().el) if not @label.hidden()\r
+      @div_fields = new Locmare.FormModule.Fields({\r
+        fields: @fields\r
+      })\r
+      this.$el.append(@div_fields.render().el)\r
     this\r
   \r
   refresh: () ->\r
@@ -267,6 +271,9 @@ class Locmare.ExtendForm extends Locmare.FormBase
   val: () ->\r
     JSON.stringify(@item.attributes)\r
   \r
+  is_hidden: () ->\r
+    _.isEmpty(@manifest.field_names)\r
+  \r
   init_fields: () ->\r
     _.each @manifest.field_names, (field_name) =>\r
       field_manifest = @manifest.fields[field_name]\r