OSDN Git Service

fix:balloon r
[pettanr/pettanr.git] / app / assets / javascripts / locmare / form / field / tag / select.js.coffee
index 0a1eec3..5a15566 100644 (file)
@@ -1,21 +1,27 @@
 class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormModule.FieldModule.TagModule.Base\r
   tagName: 'select'\r
+  events: {\r
+    'change': 'change'\r
+  }\r
   \r
   render: () ->\r
-    this.$el.html('')\r
-    @attr = {\r
-      name: @form_field_name(),\r
-    }\r
-    _.extend(@attr, @options())\r
-    this.$el.attr(@attr)\r
-    _this = this\r
-    @select_values((members) ->\r
-      _.each members, (member) ->\r
-        selected = if _this.is_selected(member)\r
+    @select_values((members) =>\r
+      values = if @model_attribute_manifest().source.translate()\r
+        Pettanr.AppHelper.t_select_items(members)\r
+      else\r
+        members\r
+      this.$el.html('')\r
+      @attr = {\r
+        name: @form_field_name(),\r
+      }\r
+      _.extend(@attr, @options())\r
+      this.$el.attr(@attr)\r
+      _.each values, (member) =>\r
+        selected = if @is_selected(member)\r
           ' selected'\r
         else\r
           ''\r
-        _this.$el.append('<option value="' + member[1] + '"' + selected + '>' + member[0] + '</option>')\r
+        this.$el.append('<option value="' + member[1] + '"' + selected + '>' + member[0] + '</option>')\r
     )\r
     this\r
   \r
@@ -52,14 +58,16 @@ class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormMod
         {id: filter_id}\r
       else\r
         {}\r
-      list = Locmare.ListGroup.list(resource_model_name, resource_list_name, @form().operators, {})\r
+      list = Locmare.ListGroup.list(resource_controller_name, resource_action_name, {})\r
       list.open((page_status) ->\r
         members = _.map list.models, (member) ->\r
           [member.get(caption_name), member.get('id')]\r
         cb(members)\r
       )\r
     else\r
-      s = Manifest.manifest().system_resources.select_items[@select_item_name()]\r
-      members = Pettanr.AppHelper.t_select_items(s)\r
+      members = Manifest.manifest().system_resources.select_items[@select_item_name()]\r
       cb(members)\r
   \r
+  change: () ->\r
+    @field.trigger('change')\r
+  \r