OSDN Git Service

add bucket
authoryasushiito <yas@pen-chan.jp>
Sun, 21 Sep 2014 09:32:20 +0000 (18:32 +0900)
committeryasushiito <yas@pen-chan.jp>
Sun, 21 Sep 2014 09:32:20 +0000 (18:32 +0900)
56 files changed:
app/assets/javascripts/ap.js
app/assets/javascripts/controllers/folders.js.coffee
app/assets/javascripts/local_manifest/bucket/form_field_name.js.coffee
app/assets/javascripts/local_manifest/list_group.js.coffee
app/assets/javascripts/local_manifest/list_group/list.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/list_group/list/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/list_group/list/filter.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/list_group/list/foreign_filter.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/list_group/list/play.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/list_group/list/private.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/list_group/list/public.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/list_group/list/system_resource.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/list_group/list/through_filter.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/local_manifest.js.coffee
app/assets/javascripts/locmare/bucket.js.coffee
app/assets/javascripts/locmare/bucket/form_field_name.js.coffee
app/assets/javascripts/locmare/bucket/member.js.coffee
app/assets/javascripts/locmare/filer.js.coffee
app/assets/javascripts/locmare/filer/body/file_body.js.coffee
app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/account.js.coffee
app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/default.js.coffee
app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/default.js.coffee
app/assets/javascripts/locmare/filer/header.js.coffee
app/assets/javascripts/locmare/filer/pager.js.coffee
app/assets/javascripts/locmare/form.js.coffee
app/assets/javascripts/locmare/form/extend_field.js.coffee
app/assets/javascripts/locmare/form/field.js.coffee
app/assets/javascripts/locmare/form/field/helper/color.js.coffee
app/assets/javascripts/locmare/form/field/helper/size.js.coffee
app/assets/javascripts/locmare/form/field/helper/tail_angle.js.coffee
app/assets/javascripts/locmare/form/field/tag/select.js.coffee
app/assets/javascripts/locmare/list_group.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/list_group/list/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/list_group/list/filter.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/list_group/list/foreign_filter.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/list_group/list/play.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/list_group/list/private.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/list_group/list/public.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/list_group/list/system_resource.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/list_group/list/through_filter.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/profiler/association.js.coffee
app/assets/javascripts/locmare/profiler/association/belongs_to.js.coffee
app/assets/javascripts/main.js.coffee
app/assets/javascripts/manifest/item/base.js.coffee
app/assets/javascripts/models/speech_balloon_template.js.coffee
app/assets/javascripts/pettanr.js.coffee
app/assets/javascripts/pettanr/picture.js.coffee
app/assets/javascripts/tags.js.coffee [moved from app/assets/javascripts/pettanr/tags.js.coffee with 81% similarity]
app/assets/javascripts/views/panel_pictures/element.js.coffee
app/assets/javascripts/views/panels/body.js.coffee
app/assets/javascripts/views/speeches/element.js.coffee
app/assets/javascripts/work/forms.js.coffee.erb
app/assets/stylesheets/test.css.scss
lib/locmare/form.rb
lib/locmare/form/field/tag/select.rb
public/local_manifest.json

index d143c91..091f0a7 100644 (file)
@@ -16,6 +16,7 @@
 //= require backbone-relational
 //= require backbone.paginator
 //= require i18n
+//= require ./tags
 //= require ./manifest_base/manifest_base
 //= require ./manifest_base/base
 //= require ./manifest_base/factory
 //= require ./local_manifest/form/element_field
 //= require ./local_manifest/form/part_field
 //= require ./local_manifest/list_group
-//= require ./local_manifest/list_group/
+//= require ./local_manifest/list_group/list
+//= require ./local_manifest/list_group/list/base
+//= require ./local_manifest/list_group/list/public
+//= require ./local_manifest/list_group/list/private
+//= require ./local_manifest/list_group/list/system_resource
+//= require ./local_manifest/list_group/list/filter
+//= require ./local_manifest/list_group/list/through_filter
+//= require ./local_manifest/list_group/list/foreign_filter
+//= require ./local_manifest/list_group/list/play
 //= require ./local_manifest/bucket
 //= require ./local_manifest/bucket/member
 //= require ./local_manifest/bucket/form_field_name
 //= require ./locmare/form/field/helper/tail_angle
 //= require ./locmare/form/field/helper/color
 //= require ./locmare/form/field/helper/popup
-//  require ./locmare/bucket
-//  require ./locmare/bucket/member
-//  require ./locmare/bucket/form_field_name
+//= require ./locmare/bucket
+//= require ./locmare/list_group
+//= require ./locmare/list_group/list/base
+//= require ./locmare/list_group/list/public
+//= require ./locmare/list_group/list/private
+//= require ./locmare/list_group/list/system_resource
+//= require ./locmare/list_group/list/filter
+//= require ./locmare/list_group/list/through_filter
+//= require ./locmare/list_group/list/foreign_filter
+//= require ./locmare/list_group/list/play
 //= require ./peta/peta
 //= require ./peta/item
 //= require ./peta/owner
 //= require_directory ./addons/plain_speech_balloons
 //= require_directory ./addons/square_speech_balloons
 //= require_directory ./addons/pettanr_simple_format
-//= require ./pettanr/tags
 //= require ./pettanr/picture
 //= require ./pettanr/pettan_imager
 //= require ./pettanr/operator
index c9c3c1a..8282ce0 100644 (file)
@@ -14,13 +14,14 @@ class Pettanr.FoldersController extends Pettanr.AppController
   \r
   children_html: () -> \r
     collection = new Pettanr.Folder.Children({id: @item.get('id')})\r
-    f = new Locmare.Filer({\r
-      item_name: 'folder', \r
-      collection: collection, \r
-      pager: null, \r
-      operators: window.operators\r
-    })\r
-    $("#pettanr").html(f.render().el)\r
+    collection.fetch().done ->\r
+      f = new Locmare.Filer({\r
+        item_name: 'folder', \r
+        items: collection.models, \r
+        pager: null, \r
+        operators: window.operators\r
+      })\r
+      $("#pettanr").html(f.render().el)\r
   \r
   show: () ->\r
     console.log(@params)\r
index 522a612..4bda8c2 100644 (file)
@@ -6,7 +6,7 @@ class LocalManifest.BucketModule.FormFieldName extends ManifestBase.Names
   init: () ->\r
     super()\r
     @form_names = @name.split '.'\r
-    @field_name = @form_names.pop\r
+    @field_name = @form_names.pop()\r
     @form_name = @form_names.join '.'\r
   \r
   bucket_name: () ->\r
index f950e29..e8c316b 100644 (file)
@@ -3,13 +3,14 @@ class LocalManifest.ListGroup extends ManifestBase.Base
   set_default: () ->\r
     super()\r
     @json\r
-    @json.actions ||= {}\r
-    @json.item_name = Manifest.singularize(@name)\r
+    @json.lists ||= {}\r
+    #@json.item_name = Manifest.manifest().inflectors[@name]\r
+    @json.item_name = @name\r
     \r
   init: () ->\r
     super()\r
     @item_name = @json.item_name\r
-    @actions = ManifestBase.load_type_name_args this, @json, 'actions', Manifest.ListGroupModule.ActionFactory\r
+    @lists = ManifestBase.load_type_name_args this, @json, 'lists', LocalManifest.ListGroupModule.ListFactory\r
   \r
   constructor: (manifest, name, json, module_name) ->\r
     super(manifest, name, json, module_name)\r
diff --git a/app/assets/javascripts/local_manifest/list_group/list.js.coffee b/app/assets/javascripts/local_manifest/list_group/list.js.coffee
new file mode 100644 (file)
index 0000000..5212602
--- /dev/null
@@ -0,0 +1,18 @@
+class LocalManifest.ListGroupModule.ListFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      public: LocalManifest.ListGroupModule.ListModule.PublicList, \r
+      private: LocalManifest.ListGroupModule.ListModule.PrivateList, \r
+      system_resource: LocalManifest.ListGroupModule.ListModule.SystemResourceList,\r
+      filter: LocalManifest.ListGroupModule.ListModule.FilterList, \r
+      through_filter: LocalManifest.ListGroupModule.ListModule.ThroughFilterList, \r
+      foreign_filter: LocalManifest.ListGroupModule.ListModule.ForeignFilterList, \r
+      play: LocalManifest.ListGroupModule.ListModule.PlayList\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'public'\r
+    \r
+class LocalManifest.ListGroupModule.ListModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/list_group/list/base.js.coffee b/app/assets/javascripts/local_manifest/list_group/list/base.js.coffee
new file mode 100644 (file)
index 0000000..1f2c6a7
--- /dev/null
@@ -0,0 +1,18 @@
+class LocalManifest.ListGroupModule.ListModule.Base extends ManifestBase.TypeNameArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+    @model_manifest = Manifest.manifest().models[@item_name()]\r
+    @model_list_manifest = @model_manifest.list\r
+    @model = Manifest.item_name_to_model @item_name()\r
+  \r
+  item_name: () ->\r
+    @parent.item_name\r
+  \r
+  list_group: () ->\r
+    @parent\r
+  \r
+\r
diff --git a/app/assets/javascripts/local_manifest/list_group/list/filter.js.coffee b/app/assets/javascripts/local_manifest/list_group/list/filter.js.coffee
new file mode 100644 (file)
index 0000000..103c79d
--- /dev/null
@@ -0,0 +1,12 @@
+class LocalManifest.ListGroupModule.ListModule.FilterList extends LocalManifest.ListGroupModule.ListModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args.filter_item_name ||= @name.replace(/^by_/, '')\r
+    @args.filter_key ||= @args.filter_item_name + '_id'\r
+    \r
+  init: () ->\r
+    super()\r
+    @filter_item_name = @args.filter_item_name\r
+    @filter_key = @args.filter_key\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/list_group/list/foreign_filter.js.coffee b/app/assets/javascripts/local_manifest/list_group/list/foreign_filter.js.coffee
new file mode 100644 (file)
index 0000000..1469670
--- /dev/null
@@ -0,0 +1,2 @@
+class LocalManifest.ListGroupModule.ListModule.ForeignFilterList extends LocalManifest.ListGroupModule.ListModule.FilterList\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/list_group/list/play.js.coffee b/app/assets/javascripts/local_manifest/list_group/list/play.js.coffee
new file mode 100644 (file)
index 0000000..ef97ba0
--- /dev/null
@@ -0,0 +1,2 @@
+class LocalManifest.ListGroupModule.ListModule.PlayList extends LocalManifest.ListGroupModule.ListModule.Base\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/list_group/list/private.js.coffee b/app/assets/javascripts/local_manifest/list_group/list/private.js.coffee
new file mode 100644 (file)
index 0000000..2ccabc0
--- /dev/null
@@ -0,0 +1,2 @@
+class LocalManifest.ListGroupModule.ListModule.PrivateList extends LocalManifest.ListGroupModule.ListModule.Base\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/list_group/list/public.js.coffee b/app/assets/javascripts/local_manifest/list_group/list/public.js.coffee
new file mode 100644 (file)
index 0000000..0eb34ed
--- /dev/null
@@ -0,0 +1,2 @@
+class LocalManifest.ListGroupModule.ListModule.PublicList extends LocalManifest.ListGroupModule.ListModule.Base\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/list_group/list/system_resource.js.coffee b/app/assets/javascripts/local_manifest/list_group/list/system_resource.js.coffee
new file mode 100644 (file)
index 0000000..7abad84
--- /dev/null
@@ -0,0 +1,2 @@
+class LocalManifest.ListGroupModule.ListModule.SystemResourceList extends LocalManifest.ListGroupModule.ListModule.Base\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/list_group/list/through_filter.js.coffee b/app/assets/javascripts/local_manifest/list_group/list/through_filter.js.coffee
new file mode 100644 (file)
index 0000000..d0ccd36
--- /dev/null
@@ -0,0 +1,9 @@
+class LocalManifest.ListGroupModule.ListModule.ThroughFilterList extends LocalManifest.ListGroupModule.ListModule.FilterList\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+    @through = @args.through\r
+  \r
index 8d6ca66..ee4167c 100644 (file)
@@ -6,7 +6,7 @@ class LocalManifest
     _module_names\r
   \r
   init: () ->\r
-    #@list_groups = LocalManifest.ListGroup.load(this, @local_json, 'list_groups', LocalManifest.ListGroup)\r
+    @list_groups = LocalManifest.ListGroup.load(this, @local_json, 'list_groups', LocalManifest.ListGroup)\r
     @filers = LocalManifest.Filer.load(this, @local_json, 'filers', LocalManifest.Filer)\r
     @profilers = LocalManifest.Profiler.load(this, @local_json, 'profilers', LocalManifest.Profiler)\r
     @forms = LocalManifest.Form.load(this, @local_json, 'forms', LocalManifest.Form)\r
index 6d3fec0..50dd4fe 100644 (file)
@@ -1,63 +1,26 @@
-# form_name_with_sub_form\r
-# item: editing item\r
-# mounted: true/false\r
-# submit: string / 'submit'\r
-# operators: \r
-class Locmare.FormBase extends Backbone.View\r
-  tagName: 'div'\r
-  \r
-  initialize: (options) ->\r
-    @form_name_with_sub_form = options.form_name_with_sub_form\r
-    @item = options.item\r
-    @mounted = options.mounted\r
-    @submit = options.submit\r
-    @operators = options.operators\r
-    if /\./.test(form_name_with_sub_form)\r
-      @sub_form_names = form_name_with_sub_form.split('.')\r
-      @form_name = @sub_form_names.last\r
-      @root_form_name = @sub_form_names.shift\r
-    else\r
-      @sub_form_names = []\r
-      @form_name = @form_name_with_sub_form\r
-      @root_form_name = @form_name\r
-    @manifest = LocalManifest.manifest().forms[@form_name]\r
-    @fields = {}\r
-  \r
-  fold_extend_settings: (params) ->\r
-    @item.my_class().fold_extend_settings params[@item.item_name()]\r
-  \r
-  sub_form_name: () ->\r
-    r = _.map @sub_form_names, (name) ->\r
-      '[' + name + '_attributes' + ']'\r
-    r.join()\r
-  \r
-  form_field_name: (field_name) ->\r
-    @root_form_name + @sub_form_name() + '[' + field_name + ']'\r
-  \r
-  image_dir: () ->\r
-    '/images/'\r
-  \r
 class Locmare.Bucket extends Backbone.View\r
+  tagName: 'form'\r
   \r
-  @factory: (options) ->\r
-    @bucket_name = options.bucket_name\r
-    @item = options.item\r
-    @mounted = options.mounted\r
-    @submit = options.submit\r
-    @operators = options.operators\r
-    \r
+  @factory: (bucket_or_form_name, item, mounted, submit, operators) ->\r
     bucket = LocalManifest.manifest().buckets[bucket_or_form_name]\r
-    c = if bucket and bucket.has_member\r
-      Locmare.Bucket\r
+    if bucket and bucket.has_member\r
+      new Locmare.Bucket({\r
+        bucket_name: bucket_or_form_name, \r
+        item: item, \r
+        mounted: mounted, \r
+        submit: submit, \r
+        operators: operators,\r
+        action: '/' + item.table_name() + '/' + Pettanr.to_s(item.get('id'))\r
+      })\r
     else\r
-      Locmare.Form\r
-    new c({\r
-      bucket_or_form_name\r
-      item\r
-      mounted\r
-      submit, \r
-      operators\r
-    })\r
+      new Locmare.Form({\r
+        form_name: bucket_or_form_name, \r
+        item: item\r
+        mounted: mounted\r
+        submit: submit\r
+        operators: operators,\r
+        action: '/' + item.table_name() + '/' + Pettanr.to_s(item.get('id'))\r
+      })\r
   \r
   initialize: (options) ->\r
     @bucket_name = options.bucket_name\r
@@ -71,42 +34,62 @@ class Locmare.Bucket extends Backbone.View
     @form_fields = []\r
     @forms = {}\r
     @forms[@item.item_name()] = new Locmare.Form({\r
-      @item.item_name, @item, @mounted, false, @operators\r
+      form_name: @item.item_name(), \r
+      item: @item, \r
+      mounted: @mounted, \r
+      submit: false, \r
+      operators: @operators\r
     })\r
-    @init_forms(@item.item_name, @manifest, @item)\r
+    @init_forms(@item.item_name(), @manifest, @item)\r
     @init_fields()\r
+    @render()\r
+  \r
+  render: () ->\r
+    this.$el.html('')\r
+    _this = this\r
+    _.each @form_fields, (form_field) ->\r
+      _this.$el.append(form_field.render().el)\r
+    this\r
   \r
   fold_extend_settings: (params) ->\r
-    @item.class.fold_extend_settings params[@item.item_name]\r
-    self.members_fold_extend_settings @item, params[@item.item_name], @manifest\r
+    @item.my_class().fold_extend_settings params[@item.item_name()]\r
+    @members_fold_extend_settings @item, params[@item.item_name()], @manifest\r
   \r
   members_fold_extend_settings: (fold_item, attr, man) ->\r
-    man.members.each do |member_name, member_manifest|\r
-      member_item = fold_item.__send__ member_name\r
-      member_item.class.fold_extend_settings attr[member_name + '_attributes']\r
-      self.members_fold_extend_settings member_item, attr[member_name + '_attributes'], member_manifest\r
-  \r
-  each_field: () ->\r
-    @form_fields.each do |form_field|\r
-      yield form_field.field_name, form_field\r
+    _this = this\r
+    _.each man.members, (member_manifest, member_name) ->\r
+      member_item = fold_item[member_name]()\r
+      member_item.my_class().fold_extend_settings attr[member_name + '_attributes']\r
+      _this.members_fold_extend_settings member_item, attr[member_name + '_attributes'], member_manifest\r
   \r
   push_form: (key, form_name, item) ->\r
   \r
   init_forms: (key, man, item) ->\r
-    man.members.each do |member_name, member_manifest|\r
+    _this = this\r
+    _.each man.members, (member_manifest, member_name) ->\r
       form_name = member_name   # write exchange function if you want\r
-      member_item = item.__send__(form_name)\r
+      member_item = item[form_name]\r
       new_key = key + '.' + form_name\r
-      @forms[new_key] = Locmare::Form.new new_key, member_item, @mounted, false, @operators\r
-      self.init_forms new_key, member_manifest, member_item\r
+      _this.forms[new_key] = new Locmare.Form({\r
+        form_name: new_key, \r
+        item: member_item, \r
+        mounted: _this.mounted, \r
+        submit: false, \r
+        operators: _this.operators\r
+      })\r
+      _this.init_forms(new_key, member_manifest, member_item)\r
   \r
   init_fields: () ->\r
-    @manifest.form_field_names.each do |form_field_name|\r
-      r = form_field_name.form_name.blank? ? '' : '.' + form_field_name.form_name\r
-      key = @item.item_name + r\r
-      form = @forms[key]\r
+    _this = this\r
+    _.each @manifest.form_field_names, (form_field_name) ->\r
+      r = if Pettanr.is_blank(form_field_name.form_name)\r
+        ''\r
+      else\r
+        '.' + form_field_name.form_name\r
+      key = _this.item.item_name() + r\r
+      form = _this.forms[key]\r
       field = form.fields[form_field_name.field_name]\r
-      @form_fields << field\r
+      _this.form_fields.push(field)\r
   \r
   image_dir: () ->\r
     '/images/'\r
index 64485c7..8630e8e 100644 (file)
@@ -51,7 +51,7 @@ class Locmare.FormModule.Field extends Backbone.View
   \r
   row_break: () ->\r
     if @field_manifest.row_break\r
-      new Pettanr.Tag.Div({\r
+      new Tag.Div({\r
         content: null,\r
         class_name: 'row_break'\r
       })\r
index f9249ce..d95da6b 100644 (file)
@@ -1,63 +1,3 @@
-class Locmare.FormModule.Field extends Backbone.View\r
-  tagName: 'div'\r
-  className: 'field'\r
-  \r
-  initialize: (options) ->\r
-    @form = options.form\r
-    @field_name = options.field_name\r
-    @field_manifest = options.field_manifest\r
-    @label = Locmare.FormModule.FieldModule.LabelFactory.factory this, @field_manifest.label\r
-    @tag = Locmare.FormModule.FieldModule.TagFactory.factory this, @field_manifest.tag\r
-    @helpers = {}\r
-    _this = this\r
-    _.each @field_manifest.helpers, (helper_manifest, helper_name) ->\r
-      _this.helpers[helper_name] = Locmare.FormModule.FieldModule.HelperFactory.factory(_this, helper_manifest)\r
-    @rb = @row_break()\r
-    @options = {'data-model': @field_manifest.form_name}\r
-  \r
-  render: () ->\r
-    this.$el.html('')\r
-    this.$el.append(@label.render().el) if not @label.hidden()\r
-    this.$el.append(@tag.render().el)\r
-    _this = this\r
-    _.each @helpers, (helper) ->\r
-      _this.$el.append(helper.render().el)\r
-    this.$el.append(@rb.render().el) if @rb\r
-    this\r
-  \r
-  mounted: () ->\r
-    if @form.mounted\r
-      0\r
-    else\r
-      1\r
-  \r
-  mount_option: () ->\r
-    {'mount': @mounted()}\r
-  \r
-  item: () ->\r
-    @form.item\r
-  \r
-  value: () ->\r
-    @item().get(@field_manifest.column_name)\r
-  \r
-  options: (tag_options = {}) ->\r
-    tag_options\r
-  \r
-  form_field_name: () ->\r
-    @form.form_field_name @field_name\r
-  \r
-  form_name: () ->\r
-    @form.form_name\r
-  \r
-  row_break: () ->\r
-    if @field_manifest.row_break\r
-      new Pettanr.Tag.Div({\r
-        content: null,\r
-        class_name: 'row_break'\r
-      })\r
-    else\r
-      null\r
-  \r
 class Locmare.BucketModule.Member\r
   tagName: 'div'\r
   className: 'field'\r
@@ -111,7 +51,7 @@ class Locmare.BucketModule.Member
   \r
   row_break: () ->\r
     if @field_manifest.row_break\r
-      new Pettanr.Tag.Div({\r
+      new Tag.Div({\r
         content: null,\r
         class_name: 'row_break'\r
       })\r
index e566b43..5a8a04c 100644 (file)
@@ -2,7 +2,7 @@ class Locmare.Filer extends Backbone.View
   tagName: 'div'\r
   initialize: (options) ->\r
     @item_name = options.item_name\r
-    @collection = options.collection\r
+    @items = options.items\r
     @pager = options.pager\r
     @operators = options.operators\r
     @manifest = LocalManifest.manifest().filers[@item_name]\r
index a5ec778..bb143f2 100644 (file)
@@ -5,17 +5,11 @@ class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View
     @body = options.body\r
     @file_items = []\r
     _this = this\r
-    c = @filer().collection\r
-    c.fetch().done ->\r
-      items = if c['singular']  # type of model?\r
-        [c]\r
-      else\r
-        c.models\r
-      _this.file_items = _.map items, (item) ->\r
-        fi = _this.file_item_class()\r
-        new fi({'file_body': _this, 'item': item})\r
-      _this.render()\r
-  \r
+    @file_items = _.map @filer().items, (item) ->\r
+      fi = _this.file_item_class()\r
+      new fi({'file_body': _this, 'item': item})\r
+    _this.render()\r
+\r
   render: () ->\r
     _this = this\r
     this.$el.html('')\r
index a4daba8..631736f 100644 (file)
@@ -6,7 +6,7 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColum
       attr: {'src': @edit_img_file_name()}, \r
       half: true\r
     })\r
-    @edit_btn = new Pettanr.Tag.A({\r
+    @edit_btn = new Tag.A({\r
       attr: {href: '/home/configure'}, \r
       content: @edit_icon.render().el\r
     })\r
index 2be01d8..bc94ccd 100644 (file)
@@ -7,7 +7,7 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColum
       half: true\r
     })\r
     url = Pettanr.url(@item.table_name(), 'edit', {id: @item.get('id')})\r
-    @edit_btn = new Pettanr.Tag.A({\r
+    @edit_btn = new Tag.A({\r
       attr: {href: '/' + url}, \r
       handler_name: url,\r
       content: @edit_icon.render().el\r
@@ -17,7 +17,7 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColum
       half: true\r
     })\r
     url = Pettanr.url(@item.table_name(), 'destroy', {id: @item.get('id')})\r
-    @remove_btn = new Pettanr.Tag.A({\r
+    @remove_btn = new Tag.A({\r
       attr: {href: '/' + url}, \r
       handler_name: url,\r
       content: @remove_icon.render().el\r
index 2c2495e..ec7f406 100644 (file)
@@ -10,7 +10,7 @@ class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColum
         src: @icon_file_name()\r
       }\r
     })\r
-    a = new Pettanr.Tag.A({\r
+    a = new Tag.A({\r
       attr: {href: @path_name()}, \r
       content: icon.render().el\r
     })\r
index 9f9da03..5e4f29f 100644 (file)
@@ -9,10 +9,10 @@ class Locmare.FilerModule.Header extends Backbone.View
     icon = new Pettanr.Image.Icon({item: @model(), half: true})\r
     caption = Pettanr.AppHelper.t_m(@model().singular())\r
     url = Pettanr.url(@model().table_name(), 'index', {})\r
-    linked_icon = new Pettanr.Tag.A({\r
+    linked_icon = new Tag.A({\r
       attr: {href: '/' + url}, handler_name: url, content: icon.render().el\r
     })\r
-    linked_caption = new Pettanr.Tag.A({\r
+    linked_caption = new Tag.A({\r
       attr: {href: '/' + url}, handler_name: url, content: caption\r
     })\r
     this.$el.append(linked_icon.render().el)\r
index a1aab69..8016c5d 100644 (file)
@@ -4,18 +4,16 @@ class Locmare.FilerModule.DefaultPager extends Backbone.View
   \r
   initialize: (options) ->\r
     @page_status = options.page_status\r
-    @counter = @page_status.counter\r
+    @count = @page_status.count\r
     @current_page = @page_status.current_page\r
     @per_page = @page_status.per_page\r
     @window_size = @page_status.window_size\r
     @params = @page_status.params\r
     @parts = []\r
-    _this = this\r
-    @counter.fetch().done ->\r
-      _this.total = _this.counter.get('count')\r
-      _this.total_page = Math.floor(_this.total / _this.per_page) + 1\r
-      if _this.total_page > 1\r
-        _this.render()\r
+    @total = @count\r
+    @total_page = Math.floor(@total / @per_page) + 1\r
+    if @total_page > 1\r
+      @render()\r
   \r
   render: () ->\r
     @parts = []\r
@@ -24,7 +22,7 @@ class Locmare.FilerModule.DefaultPager extends Backbone.View
     this.$el.html('')\r
     _.each @parts, (part) ->\r
       _this.$el.append(part.render().el)\r
-    rb = new Pettanr.Tag.Div({class_name: 'row_break', content: ''})\r
+    rb = new Tag.RowBreak()\r
     this.$el.append(rb.render().el)\r
     this\r
   \r
@@ -72,7 +70,7 @@ class Locmare.FilerModule.DefaultPager.FirstPage extends Backbone.View
     _.extend(my_params, @params)\r
     my_params['page'] = 1\r
     url = Pettanr.url(my_params['controller'], my_params['action'], my_params)\r
-    linked_caption = new Pettanr.Tag.A({\r
+    linked_caption = new Tag.A({\r
       attr: {href: '/' + url}, \r
       handler_name: url,\r
       content: '<<'\r
@@ -94,7 +92,7 @@ class Locmare.FilerModule.DefaultPager.PrevPage extends Backbone.View
     _.extend(my_params, @params)\r
     my_params['page'] = @current_page - 1\r
     url = Pettanr.url(my_params['controller'], my_params['action'], my_params)\r
-    linked_caption = new Pettanr.Tag.A({\r
+    linked_caption = new Tag.A({\r
       attr: {href: '/' + url}, \r
       handler_name: url,\r
       content: '<'\r
@@ -125,7 +123,7 @@ class Locmare.FilerModule.DefaultPager.Page extends Backbone.View
     _.extend(my_params, @params)\r
     my_params['page'] = @page\r
     url = Pettanr.url(my_params['controller'], my_params['action'], my_params)\r
-    linked_caption = new Pettanr.Tag.A({\r
+    linked_caption = new Tag.A({\r
       attr: {href: '/' + url}, \r
       handler_name: url,\r
       content: @page\r
@@ -147,7 +145,7 @@ class Locmare.FilerModule.DefaultPager.NextPage extends Backbone.View
     _.extend(my_params, @params)\r
     my_params['page'] = @current_page + 1\r
     url = Pettanr.url(my_params['controller'], my_params['action'], my_params)\r
-    linked_caption = new Pettanr.Tag.A({\r
+    linked_caption = new Tag.A({\r
       attr: {href: '/' + url}, \r
       handler_name: url,\r
       content: '>'\r
@@ -169,7 +167,7 @@ class Locmare.FilerModule.DefaultPager.LastPage extends Backbone.View
     _.extend(my_params, @params)\r
     my_params['page'] = @pager.total_page\r
     url = Pettanr.url(my_params['controller'], my_params['action'], my_params)\r
-    linked_caption = new Pettanr.Tag.A({\r
+    linked_caption = new Tag.A({\r
       attr: {href: '/' + url}, \r
       handler_name: url,\r
       content: '>>'\r
index bb545af..7bff35d 100644 (file)
@@ -14,8 +14,8 @@ class Locmare.FormBase extends Backbone.View
     @operators = options.operators\r
     if /\./.test(@form_name)\r
       @sub_form_names = @form_name.split('.')\r
-      @form_name = @sub_form_names.last\r
-      @root_form_name = @sub_form_names.shift\r
+      @form_name = @sub_form_names.pop()\r
+      @root_form_name = @sub_form_names.shift()\r
     else\r
       @sub_form_names = []\r
       #@form_name = @form_name\r
@@ -82,8 +82,8 @@ class Locmare.Form extends Locmare.FormBase
       else\r
         null\r
       if boost_name and extend_model # field is extend setting AND template has a extend model\r
-        extend_form_name = @item.boosters[boost_name].model_name\r
-        extend_item = @item.boosters[boost_name].extend_item\r
+        extend_form_name = _this.item.boosters[boost_name].model_name()\r
+        extend_item = _this.item.boosters[boost_name].extend_item()\r
         _this.fields[field_name] = new Locmare.ExtendForm({\r
           parent: _this, \r
           form_name: extend_form_name, \r
@@ -119,6 +119,8 @@ class Locmare.Form extends Locmare.FormBase
       alert('invalid')\r
   \r
 class Locmare.ExtendForm extends Locmare.FormBase\r
+  tagName: 'div'\r
+  className: 'fields'\r
   \r
   initialize: (options) ->\r
     @parent = options.parent\r
@@ -132,6 +134,14 @@ class Locmare.ExtendForm extends Locmare.FormBase
     @label = @field.label\r
     @init_fields()\r
   \r
+  render: () ->\r
+    this.$el.html('')\r
+    @div_fields = new Locmare.FormModule.Fields({\r
+      fields: @fields\r
+    })\r
+    this.$el.append(@div_fields.render().el)\r
+    this\r
+  \r
   init_fields: () ->\r
     _this = this\r
     _.each _this.manifest.field_names, (field_name) ->\r
@@ -142,9 +152,9 @@ class Locmare.ExtendForm extends Locmare.FormBase
         field_manifest: field_manifest\r
       })\r
   \r
-  form_field_name: (field_name) ->\r
+  form_field_name: (extend_field_name) ->\r
     # parent is field\r
-    @parent.form_field_name(field_name)  + '[' + field_name + ']'\r
+    @parent.form_field_name(@field_name)  + '[' + extend_field_name + ']'\r
   \r
 class Locmare.FormModule\r
 class Locmare.FormModule.Fields extends Backbone.View\r
index b8742ba..99f1507 100644 (file)
@@ -51,7 +51,7 @@ class Locmare.FormModule.ExtendField extends Backbone.View
   \r
   row_break: () ->\r
     if @field_manifest.row_break\r
-      new Pettanr.Tag.Div({\r
+      new Tag.Div({\r
         content: null,\r
         class_name: 'row_break'\r
       })\r
index f004079..d3a3f26 100644 (file)
@@ -8,7 +8,7 @@ class Locmare.FormModule.Field extends Backbone.View
     @field_manifest = options.field_manifest\r
     @label = Locmare.FormModule.FieldModule.LabelFactory.factory this, @field_manifest.label\r
     @tag = Locmare.FormModule.FieldModule.TagFactory.factory this, @field_manifest.tag\r
-    @helpers = new Locmare.FormModule.FieldModule.Fields({field: this, field_manifest: @field_manifest})\r
+    @helpers = new Locmare.FormModule.FieldModule.Helpers({field: this, field_manifest: @field_manifest})\r
     @rb = @row_break()\r
     @options = {'data-model': @field_manifest.form_name}\r
   \r
@@ -37,6 +37,9 @@ class Locmare.FormModule.Field extends Backbone.View
   value: () ->\r
     @item().get(@field_manifest.column_name())\r
   \r
+  set: (v) ->\r
+    @item().set(@field_manifest.column_name(), v)\r
+  \r
   options: (tag_options = {}) ->\r
     tag_options\r
   \r
@@ -48,12 +51,12 @@ class Locmare.FormModule.Field extends Backbone.View
   \r
   row_break: () ->\r
     if @field_manifest.row_break\r
-      new Pettanr.Tag.RowBreak()\r
+      new Tag.RowBreak()\r
     else\r
       null\r
   \r
 class Locmare.FormModule.FieldModule\r
-class Locmare.FormModule.FieldModule.Fields extends Backbone.View\r
+class Locmare.FormModule.FieldModule.Helpers extends Backbone.View\r
   tagName: 'span'\r
   \r
   initialize: (options) ->\r
index 63bb8c4..9549c75 100644 (file)
@@ -6,10 +6,10 @@ class Locmare.FormModule.FieldModule.HelperModule.Color extends Locmare.FormModu
   initialize: (options) ->\r
     super(options)\r
     this.$el.addClass(@helper_manifest.dom_class)\r
-    @picker = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Picker({field: @field})\r
-    @swatch = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Swatch({field: @field})\r
-    @status = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Status({field: @field})\r
-    @rb = new Pettanr.Tag.RowBreak()\r
+    @picker = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Picker({field: @field, helper: this})\r
+    @swatch = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Swatch({field: @field, helper: this})\r
+    @status = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Status({field: @field, helper: this})\r
+    @rb = new Tag.RowBreak()\r
   \r
   render: () ->\r
     @attr = {\r
@@ -23,14 +23,40 @@ class Locmare.FormModule.FieldModule.HelperModule.Color extends Locmare.FormModu
     this.$el.append(@rb.render().el)\r
     this\r
   \r
+  h: () -> \r
+    h = "000000" + @field.value().toString(16)\r
+    h.substring(h.length - 6)\r
+  \r
+  slider_change: () -> \r
+    red = @picker.red.$el.slider('value')\r
+    green = @picker.green.$el.slider('value')\r
+    blue = @picker.blue.$el.slider('value')\r
+    code = (red << 16) + (green << 8) + (blue)\r
+    @field.tag.$el.val(code)\r
+    @field.set(code)\r
+    @swatch.refresh()\r
+    @status.refresh()\r
+  \r
 class Locmare.FormModule.FieldModule.HelperModule.ColorModule\r
-class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider extends Pettanr.Tag.Div\r
+class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider extends Tag.Div\r
+  className: 'colorpicker'\r
   events: {\r
-    slidechange: 'color_slider_change'\r
+    slidechange: 'slider_change'\r
   }\r
   \r
-  color_slider_change: (trace) -> \r
-    alert('lide')\r
+  initialize: (options) ->\r
+    @field = options.field\r
+    @helper = options.helper\r
+    @shift = options.shift\r
+    @name = options.name\r
+    super({})\r
+    this.$el.addClass('colorpicker-' + @name)\r
+  \r
+  slider_change: (trace) -> \r
+    @helper.slider_change()\r
+  \r
+  volume: () ->\r
+    (@field.value() >> @shift) & 0xFF\r
   \r
 class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Picker extends Backbone.View\r
   tagName: 'div'\r
@@ -38,14 +64,15 @@ class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Picker extends Bac
   \r
   initialize: (options) ->\r
     @field = options.field\r
+    @helper = options.helper\r
     @red = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider({\r
-      class_name: 'colorpicker'\r
+      field: @field, helper: @helper, shift: 16, name: 'red'\r
     })\r
-    @green = new Pettanr.Tag.Div({\r
-      class_name: 'colorpicker'\r
+    @green = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider({\r
+      field: @field, helper: @helper, shift: 8, name: 'green'\r
     })\r
-    @blue = new Pettanr.Tag.Div({\r
-      class_name: 'colorpicker'\r
+    @blue = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider({\r
+      field: @field, helper: @helper, shift: 0, name: 'blue'\r
     })\r
     r = (@field.value() >> 16) & 0xFF\r
     g = (@field.value() >> 8) & 0xFF\r
@@ -80,12 +107,15 @@ class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Picker extends Bac
     this.$el.append(@blue.render().el)\r
     this\r
   \r
+  refresh: () -> \r
+  \r
 class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Swatch extends Backbone.View\r
   tagName: 'div'\r
   className: 'code_swatch'\r
   \r
   initialize: (options) ->\r
     @field = options.field\r
+    @helper = options.helper\r
     this.$el.addClass('ui-widget-content')\r
     this.$el.addClass('ui-corner-all')\r
   \r
@@ -95,118 +125,44 @@ class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Swatch extends Bac
     }\r
     this.$el.attr(@attr)\r
     this.$el.html('')\r
+    @refresh()\r
     this\r
   \r
-  click: () -> \r
-    w = -@field.val()\r
-    @field.tag.$el.val(w)\r
-    @field.render()\r
-    return false\r
+  refresh: () -> \r
+    this.$el.css('background-color', '#' + @helper.h())\r
   \r
 class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Status extends Backbone.View\r
   tagName: 'div'\r
   \r
   initialize: (options) ->\r
     @field = options.field\r
+    @helper = options.helper\r
   \r
   render: () ->\r
     @attr = {\r
       style: 'float: left;'\r
     }\r
     this.$el.attr(@attr)\r
-    phex = "000000" + @field.value().toString(16)\r
+    \r
     hex = @field.value().toString(16)\r
-    h = phex.substring(phex.length - 6)\r
-    @hex = new Pettanr.Tag.Div({\r
-      content: 'HEX: #' + h\r
-    })\r
-    @rgb = new Pettanr.Tag.Div({\r
-      content: 'RGB: ('\r
-    })\r
+    @hex = new Tag.Div({})\r
+    @rgb = new Tag.Div({})\r
     this.$el.html('')\r
     this.$el.append(@hex.render().el)\r
     this.$el.append(@rgb.render().el)\r
+    @refresh()\r
     this\r
   \r
-  click: () -> \r
-    w = -@field.val()\r
-    @field.tag.$el.val(w)\r
-    @field.render()\r
-    return false\r
-  \r
-class PettanrColorHelper\r
-  confirm_confirm_confirm = () ->\r
-    confirm(  )\r
-  @WritingFormat = window.PettanrWritingFormat\r
-  \r
-  @color_slider_change = (trace) -> \r
-    red = $(trace + 'code_red').slider('value')\r
-    green = $(trace + 'code_green').slider('value')\r
-    blue = $(trace + 'code_blue').slider('value')\r
-    code = (red << 16) + (green << 8) + (blue)\r
-    phex = "000000" + code.toString(16)\r
-    hex = code.toString(16)\r
-    h = phex.substring(phex.length - 6)\r
-    $(trace + 'code_swatch').css('background-color', '#' + h)\r
-    $(trace + 'code_hex').html('HEX: #' + h)\r
-    $(trace + 'code_rgb').html('RGB: (' + red + ',' + green + ',' +blue + ')')\r
-    v = '#' + h\r
-    if $(trace).attr('element_type') == 'ground_color'\r
-      $(trace + 'code').val(code)\r
-      $(trace).css('background-color', v)\r
-    else\r
-      $(trace + 'fore_color').val(code)\r
-      $(trace).css('color', v)\r
-  \r
-  @add_helper = (wrapper, column) ->\r
-    editor = window.PettanrEditor\r
-    wrapper.map -> \r
-      $(@).css('display', 'block')\r
-    \r
-    $('.colorpicker', wrapper).map -> \r
-      if editor.is_element_part($(@))\r
-        code_picker_trace = editor.element_part_tag_id($(@))\r
-      else\r
-        code_picker_trace = editor.element_tag_id($(@))\r
-      code = parseInt($(code_picker_trace + column).val())\r
-      red = (code >> 16) & 0xFF\r
-      green = (code >> 8) & 0xFF\r
-      blue = code & 0xFF\r
-      $(code_picker_trace + 'code_red').slider {\r
-        orientation: 'horizontal',\r
-        range: 'min',\r
-        max: 255,\r
-        value: red,\r
-        change: ( event, ui ) ->\r
-          if editor.is_element_part($(@).parent())\r
-            trace = editor.element_part_tag_id($(@).parent())\r
-          else\r
-            trace = editor.element_tag_id($(@).parent())\r
-          PettanrColorHelper.color_slider_change(trace)\r
-      }\r
-      $(code_picker_trace + 'code_green').slider {\r
-        orientation: 'horizontal',\r
-        range: 'min',\r
-        max: 255,\r
-        value: green,\r
-        change: ( event, ui ) ->\r
-          if editor.is_element_part($(@).parent())\r
-            trace = editor.element_part_tag_id($(@).parent())\r
-          else\r
-            trace = editor.element_tag_id($(@).parent())\r
-          PettanrColorHelper.color_slider_change(trace)\r
-      }\r
-      $(code_picker_trace + 'code_blue').slider {\r
-        orientation: 'horizontal',\r
-        range: 'min',\r
-        max: 255,\r
-        value: blue,\r
-        change: ( event, ui ) ->\r
-          if editor.is_element_part($(@).parent())\r
-            trace = editor.element_part_tag_id($(@).parent())\r
-          else\r
-            trace = editor.element_tag_id($(@).parent())\r
-          PettanrColorHelper.color_slider_change(trace)\r
-      }\r
-      PettanrColorHelper.color_slider_change(code_picker_trace)\r
+  refresh: () -> \r
+    @hex.$el.html('HEX: #' + @helper.h())\r
+    @rgb.$el.html('RGB: (' + @r()  + ',' + @g()  + ',' + @b()  + ')' )\r
+  \r
+  r: () -> \r
+    @helper.picker.red.volume().toString()\r
+  \r
+  g: () -> \r
+    @helper.picker.green.volume().toString()\r
+  \r
+  b: () -> \r
+    @helper.picker.blue.volume().toString()\r
   \r
index f15ad44..16784fe 100644 (file)
@@ -32,7 +32,7 @@ class Locmare.FormModule.FieldModule.HelperModule.SizeModule.Reverse extends Bac
   click: () -> \r
     w = -@field.val()\r
     @field.tag.$el.val(w)\r
-    @field.render()\r
+    @field.set(w)\r
     return false\r
   \r
 class Locmare.FormModule.FieldModule.HelperModule.SizeModule.Double extends Backbone.View\r
@@ -52,7 +52,7 @@ class Locmare.FormModule.FieldModule.HelperModule.SizeModule.Double extends Back
   click: () -> \r
     w = @field.val() * 2\r
     @field.tag.$el.val(w)\r
-    @field.render()\r
+    @field.set(w)\r
     return false\r
   \r
 class Locmare.FormModule.FieldModule.HelperModule.SizeModule.Half extends Backbone.View\r
@@ -70,9 +70,9 @@ class Locmare.FormModule.FieldModule.HelperModule.SizeModule.Half extends Backbo
     this\r
   \r
   click: () -> \r
-    w = @field.val() / 2\r
+    w = Math.floor(@field.val() / 2)\r
     @field.tag.$el.val(w)\r
-    @field.render()\r
+    @field.set(w)\r
     return false\r
   \r
 class PettanrPictureSizeHelper\r
index 741cbc5..b4ee5e7 100644 (file)
@@ -1,6 +1,138 @@
 class Locmare.FormModule.FieldModule.HelperModule.TailAngle extends Locmare.FormModule.FieldModule.HelperModule.Base\r
+  className: 'r-wrap'\r
+  \r
+  # wrapper\r
+  initialize: (options) ->\r
+    super(options)\r
+    @down = new Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Down({field: @field, helper: this})\r
+    @up = new Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Up({field: @field, helper: this})\r
+    @reset = new Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Reset({field: @field, helper: this})\r
+    @speech_balloon_template = new Pettanr.SpeechBalloonTemplate({\r
+      id: @field.item().get('speech_balloon_template_id')\r
+    })\r
+    _this = this\r
+    @speech_balloon_template.fetch().done ->\r
+      _this.r_step = _this._r_step()\r
   \r
   render: () ->\r
+    @attr = {\r
+      style: 'display: block'\r
+    }\r
+    this.$el.attr(@attr)\r
     this.$el.html('')\r
+    this.$el.append(@down.render().el)\r
+    this.$el.append(@up.render().el)\r
+    this.$el.append(@reset.render().el)\r
+    this\r
+  \r
+  settings: () ->\r
+    @speech_balloon_template.parsed_settings()\r
+  \r
+  _r_step: () ->\r
+    settings = @settings()\r
+    settings['speech_balloon']['r_step']\r
+  \r
+  system_picture_id: (idx) ->\r
+    settings = @settings()\r
+    settings[idx]['balloon']['system_picture_id']\r
+  \r
+  # balloon r helper\r
+  \r
+  balloon_next_index: (d)  ->\r
+    r_val = @field.val()\r
+    v = parseInt(r_val) + @r_step * d\r
+    tr = v % 360\r
+    tr = 360 + tr if tr < 0\r
+    offset = @r_step / 2.0\r
+    idx = Math.floor(((tr + offset) % 360) / @r_step)\r
+    if idx == 0\r
+      ir = 0\r
+    else\r
+      if v < 0\r
+        ir = Math.floor(idx * @r_step) - 360\r
+      else\r
+        ir = Math.floor(idx * @r_step)\r
+    @field.set(ir)\r
+    @field.tag.$el.val(ir)\r
+    idx\r
+  \r
+  balloon_index: ()  ->\r
+    v = parseInt(@field.val())\r
+    tr = v % 360\r
+    tr = 360 + tr if tr < 0\r
+    offset = @r_step / 2.0\r
+    idx = Math.floor(((tr + offset) % 360) / @r_step)\r
+    idx\r
+  \r
+  refresh_balloon: (idx)  ->\r
+    return\r
+    sp_id = @system_picture_id(idx)\r
+    fn = '/system_pictures/' + String(sp_id) + '.png'\r
+    ofn = bln.attr('src')\r
+    if fn == ofn\r
+    else\r
+      if bln.attr('src')\r
+        bln.attr('src', fn) \r
+        $(balloon_trace + 'system_picture_id').val(sp_id)\r
+  \r
+class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule\r
+class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Down extends Backbone.View\r
+  tagName: 'button'\r
+  className: 'r-down'\r
+  events: {\r
+    'click': 'click'\r
+  }\r
+  \r
+  initialize: (options) ->\r
+    @field = options.field\r
+    @helper = options.helper\r
+  \r
+  render: () ->\r
+    this.$el.html('<')\r
     this\r
   \r
+  click: () -> \r
+    idx = @helper.balloon_next_index(-1)\r
+    @helper.refresh_balloon(idx)\r
+    false\r
+    \r
+class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Up extends Backbone.View\r
+  tagName: 'button'\r
+  className: 'r-up'\r
+  events: {\r
+    'click': 'click'\r
+  }\r
+  \r
+  initialize: (options) ->\r
+    @field = options.field\r
+    @helper = options.helper\r
+  \r
+  render: () ->\r
+    this.$el.html('>')\r
+    this\r
+  \r
+  click: () -> \r
+    idx = @helper.balloon_next_index(1)\r
+    @helper.refresh_balloon(idx)\r
+    false\r
+  \r
+class Locmare.FormModule.FieldModule.HelperModule.TailAngleModule.Reset extends Backbone.View\r
+  tagName: 'button'\r
+  className: 'r-reset'\r
+  events: {\r
+    'click': 'click'\r
+  }\r
+  \r
+  initialize: (options) ->\r
+    @field = options.field\r
+    @helper = options.helper\r
+  \r
+  render: () ->\r
+    this.$el.html('reset')\r
+    this\r
+  \r
+  click: () -> \r
+    @field.tag.$el.val(0)\r
+    @helper.refresh_balloon(0)\r
+    false\r
+  \r
index 5bdb03e..7e8d76a 100644 (file)
@@ -9,12 +9,14 @@ class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormMod
     _.extend(@attr, @options())\r
     this.$el.attr(@attr)\r
     _this = this\r
-    _.each @select_values(), (member) ->\r
-      selected = if _this.is_selected(member)\r
-        ' selected'\r
-      else\r
-        ''\r
-      _this.$el.append('<option value="' + member[1] + '"' + selected + '>' + member[0] + '</option>')\r
+    @select_values((members) ->\r
+      _.each members, (member) ->\r
+        selected = if _this.is_selected(member)\r
+          ' selected'\r
+        else\r
+          ''\r
+        _this.$el.append('<option value="' + member[1] + '"' + selected + '>' + member[0] + '</option>')\r
+    )\r
     this\r
   \r
   model_manifest: () ->\r
@@ -26,18 +28,6 @@ class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormMod
   select_item_name: () ->\r
     @model_attribute_manifest().source.select_item_name\r
   \r
-  items: () ->\r
-    if @model_attribute_manifest().source.type == 'magic_number'\r
-      Manifest.manifest().system_resources.select_items[@select_item_name()]\r
-    else\r
-      resource_model_name = @model_attribute_manifest().source.resource_model_name\r
-      resource_list_name = @model_attribute_manifest().source.resource_list_name\r
-      filter_column_name = @model_attribute_manifest().source.filter_column_name\r
-      filter_id = @form().item().get(filter_column_name)\r
-      list = Locmare.ListGroup.list resource_model_name, resource_list_name\r
-      _.map list.items(null, {id: filter_id}), (i) ->\r
-        [i.caption, i.id]\r
-  \r
   source_by_model: () ->\r
     switch @model_attribute_manifest().source.type\r
       when 'model', 'filter'\r
@@ -50,9 +40,17 @@ class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormMod
   is_selected: (member) ->\r
     @value() == member[1]\r
   \r
-  select_values: () ->\r
+  select_values: (cb) ->\r
     if @source_by_model()\r
-      @items()\r
+      resource_model_name = @model_attribute_manifest().source.resource_model_name\r
+      resource_list_name = @model_attribute_manifest().source.resource_list_name\r
+      filter_column_name = @model_attribute_manifest().source.filter_column_name\r
+      filter_id = @form().item.get(filter_column_name)\r
+      list = Locmare.ListGroup.list resource_model_name, resource_list_name\r
+      @select_values = _.map list.items(null, {id: filter_id}), (i) ->\r
+        [i.caption, i.id]\r
     else\r
-      Pettanr.AppHelper.t_select_items(@items())\r
+      s = Manifest.manifest().system_resources.select_items[@select_item_name()]\r
+      members = Pettanr.AppHelper.t_select_items(s)\r
+      cb(members)\r
   \r
diff --git a/app/assets/javascripts/locmare/list_group.js.coffee b/app/assets/javascripts/locmare/list_group.js.coffee
new file mode 100644 (file)
index 0000000..ace81d7
--- /dev/null
@@ -0,0 +1,19 @@
+class Locmare.ListGroup\r
+  @types: () ->\r
+    {\r
+      public: Locmare.ListGroupModule.PublicList, \r
+      private: Locmare.ListGroupModule.PrivateList, \r
+      system_resource: Locmare.ListGroupModule.SystemResourceList,\r
+      filter: Locmare.ListGroupModule.FilterList, \r
+      through_filter: Locmare.ListGroupModule.ThroughFilterList, \r
+      foreign_filter: Locmare.ListGroupModule.ForeignFilterList, \r
+      play: Locmare.ListGroupModule.PlayList\r
+    }\r
+  \r
+  @list: (item_name, list_name) ->\r
+    list_group_manifest = LocalManifest.manifest().list_groups[item_name]\r
+    list_manifest = list_group_manifest.lists[list_name]\r
+    c = Locmare.ListGroup.types()[list_manifest.type]\r
+    new c({item_name: item_name, list_name: list_name})\r
+  \r
+class Locmare.ListGroupModule\r
diff --git a/app/assets/javascripts/locmare/list_group/list/base.js.coffee b/app/assets/javascripts/locmare/list_group/list/base.js.coffee
new file mode 100644 (file)
index 0000000..a2a0d3c
--- /dev/null
@@ -0,0 +1,58 @@
+class Locmare.ListGroupModule.Base extends Backbone.Collection\r
+  \r
+  initialize: (options) ->\r
+    @item_name = options.item_name\r
+    @list_name = options.list_name\r
+    @list_group_manifest = LocalManifest.manifest().list_groups[@item_name]\r
+    @list_manifest = @list_group_manifest.lists[@list_name]\r
+    @model_manifest = Manifest.manifest().models[@item_name]\r
+    @model_list_manifest = @model_manifest.list\r
+    @model = Manifest.item_name_to_model @item_name\r
+    @table_name = @model.table_name\r
+  \r
+  page_number: (prm = null) ->\r
+    page = Pettanr.to_i(parseInt(prm))\r
+    page = 1 if page < 1\r
+    page\r
+  \r
+  page_size: (prm) ->\r
+    page_size = Pettanr.to_i(parseInt(prm))\r
+    page_size = @max_page_size() if page_size > @max_page_size()\r
+    page_size = @default_page_size() if page_size < 1\r
+    page_size\r
+  \r
+  default_page_size: () ->\r
+    @model_list_manifest.default_page_size\r
+  \r
+  max_page_size: () ->\r
+    @model_list_manifest.max_page_size\r
+  \r
+  count: (operators, params, action) ->\r
+    new Pettanr.CounterModel({}, {url: '/' + action.counter_url(params)})\r
+  \r
+  open: (operators, params, action, options, cb) ->\r
+    page = @page_number(params['page']) \r
+    page_size = @page_size(params['page_size'])\r
+    #offset = (page - 1) * page_size\r
+    #items = @items(operators, params, offset, page_size, action)\r
+    @url = '/' + action.url(params)\r
+    _this = this\r
+    counter = new Locmare.ListGroupModule.Counter({}, {url: '/' + action.counter_url(params)})\r
+    counter.fetch().done ->\r
+      page_status = new Locmare.ListGroupModule.PageStatus(page, page_size, counter.count())\r
+      _this.fetch(options).done ->\r
+        #_this.boost(items)\r
+        cb(page_status)\r
+  \r
+class Locmare.ListGroupModule.Counter extends Backbone.Model\r
+  initialize: (attr, options) ->\r
+    @url = options['url']\r
+  \r
+  count: () ->\r
+    @get('count')\r
+  \r
+class Locmare.ListGroupModule.PageStatus\r
+  \r
+  constructor: (@current_page, @per_page, @count) ->\r
+    @window_size = 3\r
+  \r
diff --git a/app/assets/javascripts/locmare/list_group/list/filter.js.coffee b/app/assets/javascripts/locmare/list_group/list/filter.js.coffee
new file mode 100644 (file)
index 0000000..d996003
--- /dev/null
@@ -0,0 +1,2 @@
+class Locmare.ListGroupModule.FilterList extends Locmare.ListGroupModule.Base\r
+  \r
diff --git a/app/assets/javascripts/locmare/list_group/list/foreign_filter.js.coffee b/app/assets/javascripts/locmare/list_group/list/foreign_filter.js.coffee
new file mode 100644 (file)
index 0000000..73bdacb
--- /dev/null
@@ -0,0 +1,2 @@
+class Locmare.ListGroupModule.ForeignFilterList extends Locmare.ListGroupModule.Base\r
+  \r
diff --git a/app/assets/javascripts/locmare/list_group/list/play.js.coffee b/app/assets/javascripts/locmare/list_group/list/play.js.coffee
new file mode 100644 (file)
index 0000000..92c18d9
--- /dev/null
@@ -0,0 +1,2 @@
+class Locmare.ListGroupModule.PlayList extends Locmare.ListGroupModule.Base\r
+  \r
diff --git a/app/assets/javascripts/locmare/list_group/list/private.js.coffee b/app/assets/javascripts/locmare/list_group/list/private.js.coffee
new file mode 100644 (file)
index 0000000..51a6109
--- /dev/null
@@ -0,0 +1,2 @@
+class Locmare.ListGroupModule.PrivateList extends Locmare.ListGroupModule.Base\r
+  \r
diff --git a/app/assets/javascripts/locmare/list_group/list/public.js.coffee b/app/assets/javascripts/locmare/list_group/list/public.js.coffee
new file mode 100644 (file)
index 0000000..1cf9e3e
--- /dev/null
@@ -0,0 +1,2 @@
+class Locmare.ListGroupModule.PublicList extends Locmare.ListGroupModule.Base\r
+  \r
diff --git a/app/assets/javascripts/locmare/list_group/list/system_resource.js.coffee b/app/assets/javascripts/locmare/list_group/list/system_resource.js.coffee
new file mode 100644 (file)
index 0000000..b8b8550
--- /dev/null
@@ -0,0 +1,2 @@
+class Locmare.ListGroupModule.SystemResourceList extends Locmare.ListGroupModule.Base\r
+  \r
diff --git a/app/assets/javascripts/locmare/list_group/list/through_filter.js.coffee b/app/assets/javascripts/locmare/list_group/list/through_filter.js.coffee
new file mode 100644 (file)
index 0000000..212733a
--- /dev/null
@@ -0,0 +1,2 @@
+class Locmare.ListGroupModule.ThroughFilterList extends Locmare.ListGroupModule.Base\r
+  \r
index 2793b23..3dedcf4 100644 (file)
@@ -15,17 +15,17 @@ class Locmare.ProfilerModule.Association extends Backbone.View
   render: () ->\r
     this.$el.html('')\r
     _this = this\r
-    caption = new Pettanr.Tag.Div({class_name: 'caption', content: 'associations'})\r
+    caption = new Tag.Div({class_name: 'caption', content: 'associations'})\r
     this.$el.append(caption.render().el)\r
-    caption = new Pettanr.Tag.Div({class_name: 'caption', content: 'belongs_to'})\r
+    caption = new Tag.Div({class_name: 'caption', content: 'belongs_to'})\r
     this.$el.append(caption.render().el)\r
     _.each @belongs_to, (f) ->\r
       _this.$el.append(f.render().el)\r
-    caption = new Pettanr.Tag.Div({class_name: 'caption', content: 'has_many'})\r
+    caption = new Tag.Div({class_name: 'caption', content: 'has_many'})\r
     this.$el.append(caption.render().el)\r
     _.each @has_many, (f) ->\r
       _this.$el.append(f.render().el)\r
-    caption = new Pettanr.Tag.Div({class_name: 'caption', content: 'has_one'})\r
+    caption = new Tag.Div({class_name: 'caption', content: 'has_one'})\r
     this.$el.append(caption.render().el)\r
     _.each @has_one, (f) ->\r
       _this.$el.append(f.render().el)\r
index e4c2850..c739787 100644 (file)
@@ -6,15 +6,18 @@ class Locmare.ProfilerModule.AssociationModule.BelongsTo extends Backbone.View
     @belongs_to_manifest = options.belongs_to_manifest\r
     pm = @parent_model()\r
     m = new pm({id: @parent_id()})\r
-    @filer = new Locmare.Filer({\r
-      item_name: @parent_model().item_name(), \r
-      collection: m, \r
-      pager: null, \r
-      operators: @profiler().operators\r
-    })\r
+    _this = this\r
+    m.fetch().done ->\r
+      _this.filer = new Locmare.Filer({\r
+        item_name: _this.parent_model().item_name(), \r
+        items: m, \r
+        pager: null, \r
+        operators: _this.profiler().operators\r
+      })\r
+      _this.render()\r
   \r
   render: () ->\r
-    this.$el.html(@filer.el)\r
+    this.$el.html(@filer.el) if @filer\r
     this\r
   \r
   item: () ->\r
index 9cc0c16..5d8f1d4 100644 (file)
@@ -24,20 +24,31 @@ $ ->
   loaded_local_manifest.init()\r
   \r
   window.router = new Pettanr.Router()\r
-  #Backbone.history.start({pushState: true})\r
-  #window.router.navigate('', true)\r
-  i = new Pettanr.GroundColor({id: 1})\r
-  #i = new Pettanr.PanelPicture({id: 21})\r
-  i.fetch().done ->\r
-    form = new Locmare.Form({\r
-      form_name: i.item_name(), \r
-      item: i, \r
-      mounted: true, \r
-      submit: 'default', \r
-      operators: window.operators,\r
-      action: '/' + i.table_name() + '/' + Pettanr.to_s(i.get('id'))\r
-    })\r
-    $("#pettanr").html(form.render().el)\r
+  Backbone.history.start({pushState: true})\r
+  window.router.navigate('', true)\r
+  \r
+  t: ()->\r
+    #i = new Pettanr.Balloon({id: 1})\r
+    #i = new Pettanr.GroundColor({id: 1})\r
+    #i = new Pettanr.PanelPicture({id: 21})\r
+    #i = new Pettanr.License({id: 4})\r
+    i = new Pettanr.SpeechBalloon({id: 49})\r
+    i.fetch().done ->\r
+      b = new Pettanr.Balloon({id: 49})\r
+      b.fetch().done ->\r
+        s = new Pettanr.Speech({id: 49})\r
+        s.fetch().done ->\r
+          i.speech = s\r
+          i.balloon= b\r
+          form = new Locmare.Bucket.factory(\r
+            i.item_name(), \r
+            i, \r
+            true, \r
+            'default', \r
+            window.operators,\r
+            '/' + i.table_name() + '/' + Pettanr.to_s(i.get('id'))\r
+          )\r
+          $("#pettanr").html(form.render().el)\r
   \r
   test_router: () ->\r
     window.router.navigate('folders/98', true)\r
index c1ad5a9..27b7048 100644 (file)
@@ -14,22 +14,22 @@ class Manifest.ItemModule.BasePeta extends ManifestBase.TypeNameArgs
   \r
   find_boost_name: (column_name) -> \r
     r = null\r
-    _.each @boost, (boost_name, boost_manifest) ->\r
+    _.each @boost, (boost_manifest, boost_name) ->\r
       r = boost_name if boost_manifest.settings_column_name == column_name\r
     r\r
   \r
   is_extend_column: (column_name) ->\r
     r = false\r
-    _.each @boost, (boost_name, boost_manifest) ->\r
+    _.each @boost, (boost_manifest, boost_name) ->\r
       r = true if boost_manifest.extend_column_name == column_name\r
     r\r
   \r
   supply_defaults: (item) ->\r
-    _.each @boost, (name, manifest) ->\r
+    _.each @boost, (manifest, name) ->\r
       manifest.supply_default item\r
   \r
   overwrites: (item) ->\r
-    _.each @boost, (name, manifest) ->\r
+    _.each @boost, (manifest, name) ->\r
       manifest.overwrite item\r
   \r
   model: () ->\r
index d85de45..32759bf 100644 (file)
@@ -19,6 +19,9 @@ class Pettanr.SpeechBalloonTemplate extends Peta.Template
     i.fetch().done ->\r
       cb(i.tmb_opt_img_tag())\r
   \r
+  parsed_settings: () ->\r
+    JSON.parse(@get('settings'))\r
+  \r
   initialize: () ->\r
     if @id\r
       @url = @url + @id\r
index f5f098f..c20f1f5 100644 (file)
@@ -78,23 +78,6 @@ class Pettanr
     @distance_of_time_in_words_to_now: (datetime) ->\r
       datetime\r
   \r
-  class Pettanr.CounterModel extends Backbone.Model\r
-    initialize: (attr, options) ->\r
-      @url = options['url']\r
-    \r
-    count: () ->\r
-      @get('count')\r
-    \r
-  class Pettanr.PageStatus\r
-    \r
-    constructor: (options) ->\r
-      @action = options['action']\r
-      @params = options['params']\r
-      @current_page = parseInt(@params['page']) || 1\r
-      @per_page = @params['page_size'] || 25\r
-      @window_size = 3\r
-      @counter = new Pettanr.CounterModel({}, {url: '/' + @action.counter_url(@params)})\r
-  \r
   class Pettanr.FilerCollection extends Backbone.Collection\r
     \r
     initialize: (models, options) ->\r
@@ -119,13 +102,7 @@ class Pettanr
       @set_model()\r
       @my_list_model = Manifest.manifest().models[@my_action.item_name]\r
       @my_list_model_class = @my_list_model.classify()\r
-      @list_options = {\r
-        model: @my_list_model_class, \r
-        action: @my_action, \r
-        params: @params\r
-      }\r
-      @page_status = new Pettanr.PageStatus(@list_options)\r
-      @list = new Pettanr.FilerCollection({}, @list_options)\r
+      @list = Locmare.ListGroup.list(@my_action.item_name, @my_action.list_name)\r
     \r
     set_show: () ->\r
       @set_model()\r
@@ -133,14 +110,17 @@ class Pettanr
     \r
     filer_list: () ->\r
       @set_list()\r
-      @pager = new Locmare.FilerModule.DefaultPager({page_status: @page_status})\r
-      f = new Locmare.Filer({\r
-        el: "#pettanr",\r
-        item_name: @my_list_model_class.item_name(), \r
-        collection: @list, \r
-        pager: @pager, \r
-        operators: @operators\r
-      })\r
+      _this = this\r
+      @list.open(@operators, @params, @my_action, {}, (page_status) ->\r
+        pager = new Locmare.FilerModule.DefaultPager({page_status: page_status})\r
+        f = new Locmare.Filer({\r
+          el: "#pettanr",\r
+          item_name: _this.my_list_model_class.item_name(), \r
+          items: _this.list.models, \r
+          pager: pager, \r
+          operators: _this.operators\r
+        })\r
+      )\r
     \r
     show_prof: () ->\r
       profiler = new Locmare.Profiler({\r
index 39667d1..7fb42b0 100644 (file)
@@ -1,6 +1,6 @@
 class Pettanr.Image\r
 \r
-class Pettanr.Image.Icon extends Pettanr.Tag.Img\r
+class Pettanr.Image.Icon extends Tag.Img\r
   \r
   # attr: {any_attr: 'hoge', ...}\r
   # class_name: 'El-Class'\r
@@ -32,7 +32,7 @@ class Pettanr.Image.Icon extends Pettanr.Tag.Img
     }\r
     super(opt)\r
   \r
-class Pettanr.Image.SymbolPicture extends Pettanr.Tag.Img\r
+class Pettanr.Image.SymbolPicture extends Tag.Img\r
   # show picture as symbol size\r
   \r
   # attr: {src: '/2.png', alt: 'title', ...}\r
@@ -58,7 +58,7 @@ class Pettanr.Image.SymbolPicture extends Pettanr.Tag.Img
     }\r
     super(opt)\r
   \r
-class Pettanr.Image.SymbolImg extends Pettanr.Tag.Img\r
+class Pettanr.Image.SymbolImg extends Tag.Img\r
   # show image file as symbol size\r
   \r
   # attr: {src: '/2.png', alt: 'title', ...}\r
similarity index 81%
rename from app/assets/javascripts/pettanr/tags.js.coffee
rename to app/assets/javascripts/tags.js.coffee
index 97248d6..8ed7f77 100644 (file)
@@ -1,6 +1,6 @@
-class Pettanr.Tag\r
+class Tag\r
 \r
-class Pettanr.Tag.Img extends Backbone.View\r
+class Tag.Img extends Backbone.View\r
   tagName: 'img'\r
   \r
   # attr: {src: '/hoge', width: 80, ...}\r
@@ -14,7 +14,7 @@ class Pettanr.Tag.Img extends Backbone.View
     this.$el.addClass(@class_name) if @class_name\r
     this\r
 \r
-class Pettanr.Tag.A extends Backbone.View\r
+class Tag.A extends Backbone.View\r
   tagName: 'a'\r
   \r
   initialize: (options) ->\r
@@ -35,7 +35,7 @@ class Pettanr.Tag.A extends Backbone.View
     window.router.navigate(@handler_name, true)\r
     return false\r
   \r
-class Pettanr.Tag.Div extends Backbone.View\r
+class Tag.Div extends Backbone.View\r
   tagName: 'div'\r
   \r
   initialize: (options) ->\r
@@ -49,8 +49,10 @@ class Pettanr.Tag.Div extends Backbone.View
     this.$el.html(@content)\r
     this\r
     \r
-class Pettanr.Tag.RowBreak extends Pettanr.Tag.Div\r
+class Tag.RowBreak extends Tag.Div\r
   initialize: (options) ->\r
+    @attr = {}\r
     @content = null\r
     @class_name = 'row_break'\r
   \r
+@Tag = Tag\r
index 9be19a8..f979d25 100644 (file)
@@ -10,7 +10,7 @@ class Pettanr.Views.PanelPicture.Element extends Backbone.View
   render: () ->\r
     @attr = {style: Pettanr.to_style(@opt_div_style())}\r
     this.$el.attr(@attr)\r
-    @img = new Pettanr.Tag.Img({\r
+    @img = new Tag.Img({\r
       attr: @opt_img_tag(@spot)\r
     })\r
     this.$el.html(@img.render().el)\r
index b47f12f..d23ea44 100644 (file)
@@ -21,7 +21,7 @@ class Pettanr.Views.Panel.Body extends Backbone.View
         tag = new c({element: element, root: _this.panel, spot: _this.spot})\r
         _this.$el.append(tag.render().el)\r
     else\r
-      tag = new Pettanr.Tag.Div({\r
+      tag = new Tag.Div({\r
         content: I18n.t('panels.hidden'), \r
         class_name: 'hidden'\r
       })\r
index 873e022..cf7110a 100644 (file)
@@ -9,7 +9,7 @@ class Pettanr.Views.Speech.Element extends Backbone.View
   \r
   render: () ->\r
     attr = {style: Pettanr.to_style(@outer_style())}\r
-    @div = new Pettanr.Tag.Div({\r
+    @div = new Tag.Div({\r
       attr: {\r
         style: Pettanr.to_style(@inner_style())\r
       }, \r
index 017fd19..83871c9 100644 (file)
         },\r
         helpers: {\r
           tail_angle: {\r
-            type: 'size',\r
+            type: 'tail_angle',\r
             args: {\r
             },\r
           },\r
index c8aef35..e1f3494 100644 (file)
@@ -241,9 +241,6 @@ font-family : monospace;
     width: 256px;
     margin: 3px 10px;
   }
-  .colorpicker .ui-slider-range {
-    background: #ef2929;
-  }
 
 .tsort-box {
   float: left;
index 71eb6cf..041854a 100644 (file)
@@ -130,9 +130,9 @@ module Locmare
       end
     end
     
-    def form_field_name field_name
+    def form_field_name extend_field_name
       # parent is field
-      @parent.form_field_name(@field_name)  + '[' + field_name + ']'
+      @parent.form_field_name(@field_name)  + '[' + extend_field_name + ']'
     end
     
     def template_file_name
index 7419c65..f487816 100644 (file)
@@ -20,7 +20,7 @@ module Locmare
           end
           
           def items
-            if self.model_attribute_manifest.source.type == 'magic_number'
+            if self.source_by_model?
               ::Manifest.manifest.system_resources.select_items[self.select_item_name]
             else
               resource_model_name = self.model_attribute_manifest.source.resource_model_name
index 3f97d6a..790af74 100644 (file)
           },\r
           "helpers": {\r
             "tail_angle": {\r
-              "type": "size",\r
+              "type": "tail_angle",\r
               "args": {}\r
             }\r
           },\r