OSDN Git Service

mrg
authoryasushiito <yas@pen-chan.jp>
Fri, 19 Sep 2014 06:23:18 +0000 (15:23 +0900)
committeryasushiito <yas@pen-chan.jp>
Fri, 19 Sep 2014 06:23:18 +0000 (15:23 +0900)
48 files changed:
app/assets/javascripts/ap.js
app/assets/javascripts/controllers/artists.js.coffee
app/assets/javascripts/controllers/authors.js.coffee
app/assets/javascripts/controllers/comic_stories.js.coffee
app/assets/javascripts/controllers/comics.js.coffee
app/assets/javascripts/controllers/folders.js.coffee
app/assets/javascripts/controllers/license_groups.js.coffee
app/assets/javascripts/controllers/licenses.js.coffee
app/assets/javascripts/controllers/panels.js.coffee
app/assets/javascripts/controllers/scroll_panels.js.coffee
app/assets/javascripts/controllers/scrolls.js.coffee
app/assets/javascripts/controllers/sheet_panels.js.coffee
app/assets/javascripts/controllers/sheets.js.coffee
app/assets/javascripts/controllers/speech_balloon_templates.js.coffee
app/assets/javascripts/controllers/speech_balloons.js.coffee
app/assets/javascripts/controllers/stories.js.coffee
app/assets/javascripts/controllers/story_sheets.js.coffee
app/assets/javascripts/controllers/system_pictures.js.coffee
app/assets/javascripts/controllers/writing_formats.js.coffee
app/assets/javascripts/local_manifest/form/field.js.coffee
app/assets/javascripts/local_manifest/form/field/label/base.js.coffee
app/assets/javascripts/locmare/bucket.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/bucket/form_field_name.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/bucket/member.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/form.js.coffee
app/assets/javascripts/locmare/form/field.js.coffee
app/assets/javascripts/locmare/form/field/helper.js.coffee
app/assets/javascripts/locmare/form/field/helper/base.js.coffee
app/assets/javascripts/locmare/form/field/helper/color.js.coffee
app/assets/javascripts/locmare/form/field/helper/popup.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/label.js.coffee
app/assets/javascripts/locmare/form/field/label/label.js.coffee
app/assets/javascripts/locmare/form/field/tag.js.coffee
app/assets/javascripts/locmare/form/field/tag/base.js.coffee
app/assets/javascripts/locmare/form/field/tag/hidden.js.coffee
app/assets/javascripts/locmare/form/field/tag/number.js.coffee
app/assets/javascripts/locmare/form/field/tag/select.js.coffee
app/assets/javascripts/locmare/form/field/tag/text.js.coffee
app/assets/javascripts/locmare/form/field/tag/text_area.js.coffee
app/assets/javascripts/main.js.coffee
app/assets/javascripts/manifest/item/base.js.coffee
app/assets/javascripts/peta/item.js.coffee
app/assets/javascripts/pettanr.js.coffee
app/assets/javascripts/pettanr/tags.js.coffee
app/assets/stylesheets/test.css.scss
lib/locmare/form/field/tag/select.rb

index 90bed36..d143c91 100644 (file)
@@ -6,7 +6,7 @@
 //
 //= require jquery
 //= require jquery_ujs
-// require jquery.ui.all
+//= require jquery.ui.all
 //require jquery.validate
 //require additional-methods
 //require jquery.validate.localization/messages_ja
 //= 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 ./peta/peta
 //= require ./peta/item
 //= require ./peta/owner
index 07f9ded..c89eeb8 100644 (file)
@@ -16,8 +16,10 @@ class Pettanr.ArtistsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index 4840e93..ce80ff4 100644 (file)
@@ -16,8 +16,10 @@ class Pettanr.AuthorsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index 1924c8b..bae8ec8 100644 (file)
@@ -25,8 +25,10 @@ class Pettanr.ComicStoriesController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index 4a2df84..f82a22d 100644 (file)
@@ -22,8 +22,10 @@ class Pettanr.ComicsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index 2d5e43d..c9c3c1a 100644 (file)
@@ -45,6 +45,8 @@ class Pettanr.FoldersController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
index cb2d47d..3ce6158 100644 (file)
@@ -16,8 +16,10 @@ class Pettanr.LicenseGroupsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index 3153229..279fcb8 100644 (file)
@@ -22,8 +22,10 @@ class Pettanr.LicensesController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index 78c5307..a645252 100644 (file)
@@ -40,8 +40,10 @@ class Pettanr.PanelsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index b11bfd6..2efc6cf 100644 (file)
@@ -25,8 +25,10 @@ class Pettanr.ScrollPanelsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index ea96672..929c62f 100644 (file)
@@ -22,8 +22,10 @@ class Pettanr.ScrollsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index 246e5ab..8ba848e 100644 (file)
@@ -25,8 +25,10 @@ class Pettanr.SheetPanelsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index 59dfb20..cfa1b67 100644 (file)
@@ -25,8 +25,10 @@ class Pettanr.SheetsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index 75f5b14..485f87b 100644 (file)
@@ -22,8 +22,10 @@ class Pettanr.SpeechBalloonTemplatesController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index 4de1ece..4a7f72f 100644 (file)
@@ -25,8 +25,10 @@ class Pettanr.SpeechBalloonsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index 556cd67..b4602c3 100644 (file)
@@ -25,8 +25,10 @@ class Pettanr.StoriesController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index fa2d5e2..3911c96 100644 (file)
@@ -25,8 +25,10 @@ class Pettanr.StorySheetsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index e9c2e6d..fec4a4a 100644 (file)
@@ -15,10 +15,6 @@ class Pettanr.SystemPicturesController extends Pettanr.AppController
   \r
   count: () ->\r
   \r
-  new: () ->\r
-  \r
-  edit: () ->\r
-  \r
   create: () ->\r
   \r
   update: () ->\r
index 4eee0a4..6e46287 100644 (file)
@@ -19,8 +19,10 @@ class Pettanr.WritingFormatsController extends Pettanr.AppController
   count: () ->\r
   \r
   new: () ->\r
+    @form_new()\r
   \r
   edit: () ->\r
+    @form_edit()\r
   \r
   create: () ->\r
   \r
index bf39777..f1c5792 100644 (file)
@@ -25,7 +25,7 @@ class LocalManifest.FormModule.Field extends ManifestBase.NameValues
     @name\r
   \r
   model_name: () ->\r
-    form_name\r
+    @form_name()\r
   \r
   form: () ->\r
     @parent\r
index f4ceca0..a67c204 100644 (file)
@@ -9,14 +9,14 @@ class LocalManifest.FormModule.FieldModule.LabelModule.Base extends ManifestBase
     @row_break = @args['row_break']\r
   \r
   form_name: () ->\r
-    @parent.form_name\r
+    @parent.form_name()\r
   \r
   field_name: () ->\r
     @parent.name\r
   \r
   model_name: () ->\r
-    this.form_name\r
+    @form_name()\r
   \r
   column_name: () ->\r
-    this.field_name\r
+    @field_name()\r
     \r
diff --git a/app/assets/javascripts/locmare/bucket.js.coffee b/app/assets/javascripts/locmare/bucket.js.coffee
new file mode 100644 (file)
index 0000000..6d3fec0
--- /dev/null
@@ -0,0 +1,123 @@
+# 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
+  \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
+    bucket = LocalManifest.manifest().buckets[bucket_or_form_name]\r
+    c = if bucket and bucket.has_member\r
+      Locmare.Bucket\r
+    else\r
+      Locmare.Form\r
+    new c({\r
+      bucket_or_form_name, \r
+      item, \r
+      mounted, \r
+      submit, \r
+      operators\r
+    })\r
+  \r
+  initialize: (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
+    @item.boosts 'post'\r
+    @manifest = LocalManifest.manifest().buckets[@bucket_name]\r
+    @form_fields = []\r
+    @forms = {}\r
+    @forms[@item.item_name()] = new Locmare.Form({\r
+      @item.item_name, @item, @mounted, false, @operators\r
+    })\r
+    @init_forms(@item.item_name, @manifest, @item)\r
+    @init_fields()\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
+  \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
+  \r
+  push_form: (key, form_name, item) ->\r
+  \r
+  init_forms: (key, man, item) ->\r
+    man.members.each do |member_name, member_manifest|\r
+      form_name = member_name   # write exchange function if you want\r
+      member_item = item.__send__(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
+  \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
+      field = form.fields[form_field_name.field_name]\r
+      @form_fields << field\r
+  \r
+  image_dir: () ->\r
+    '/images/'\r
+  \r
+  submit_name: () ->\r
+    if @item.isNew()\r
+      @item.table_name() + '.submit.new'\r
+    else\r
+      @item.table_name() + '.submit.edit'\r
\r
+  form_name: () ->\r
+    @bucket_name\r
+  \r
+class Locmare.BucketModule\r
diff --git a/app/assets/javascripts/locmare/bucket/form_field_name.js.coffee b/app/assets/javascripts/locmare/bucket/form_field_name.js.coffee
new file mode 100644 (file)
index 0000000..64485c7
--- /dev/null
@@ -0,0 +1,126 @@
+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.FormModule.FieldModule\r
+module Locmare\r
+  module BucketModule\r
+    class FieldName\r
+      attr :bucket, :field_name, :field_manifest, \r
+        :label, :tag, :helpers, :options\r
+  def initialize bucket, field_name, field_manifest\r
+    @bucket = bucket\r
+    @field_name = field_name\r
+    @field_manifest = field_manifest\r
+    @label = LabelFactory.factory self, @field_manifest.label\r
+    @tag = TagFactory.factory self, @field_manifest.tag\r
+    @helpers = {}\r
+    @field_manifest.helpers.each {|helper_name, helper_manifest|\r
+      @helpers[helper_name] = HelperFactory.factory self, helper_manifest\r
+    }\r
+    @options = {'data-model' => @field_manifest.form_name}\r
+  end\r
+  \r
+  def item\r
+    @form.item\r
+  end\r
+  \r
+  def form_field_name\r
+    self.form_name + '[' + @field_name + ']'\r
+  end\r
+  \r
+  def form_name\r
+    @form.form_name\r
+  end\r
+  \r
+  def template_dir\r
+    @form.template_dir + 'field/'\r
+  end\r
+  \r
+  def template_file_name\r
+    'default'\r
+  end\r
+  \r
+  def template_name\r
+    self.template_dir + self.template_file_name\r
+  end\r
+  \r
+  def template_option\r
+    {:field => self}\r
+  end\r
+  \r
+  def row_break_template_dir\r
+    @form.template_dir + 'row_break/'\r
+  end\r
+  \r
+  def row_break_template_file_name\r
+    if @field_manifest.row_break\r
+      'br'\r
+    else\r
+      'no_break'\r
+    end\r
+  end\r
+  \r
+  def row_break_template_name\r
+    self.row_break_template_dir + self.row_break_template_file_name\r
+  end\r
+  \r
+end\r
+end\r
+end\r
diff --git a/app/assets/javascripts/locmare/bucket/member.js.coffee b/app/assets/javascripts/locmare/bucket/member.js.coffee
new file mode 100644 (file)
index 0000000..f9249ce
--- /dev/null
@@ -0,0 +1,120 @@
+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
+  \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_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
index 78f5dc9..bb545af 100644 (file)
@@ -4,21 +4,21 @@
 # submit: string / 'submit'\r
 # operators: \r
 class Locmare.FormBase extends Backbone.View\r
-  tagName: 'div'\r
+  tagName: 'form'\r
   \r
   initialize: (options) ->\r
-    @form_name_with_sub_form = options.form_name_with_sub_form\r
+    @form_name = 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
+    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
     else\r
       @sub_form_names = []\r
-      @form_name = @form_name_with_sub_form\r
+      #@form_name = @form_name\r
       @root_form_name = @form_name\r
     @manifest = LocalManifest.manifest().forms[@form_name]\r
     @fields = {}\r
@@ -38,13 +38,27 @@ class Locmare.FormBase extends Backbone.View
     '/images/'\r
   \r
 class Locmare.Form extends Locmare.FormBase\r
+  events: {\r
+    'submit': 'post'\r
+  }\r
+  \r
   initialize: (options) ->\r
     super(options)\r
     @submit = options.submit\r
+    @action = options.action\r
     @item.boosts 'post'\r
     @init_fields()\r
   \r
   render: () ->\r
+    m = if @item.isNew()\r
+      'post'\r
+    else\r
+      'put'\r
+    @attr = {\r
+      method: m,\r
+      action: @action\r
+    }\r
+    this.$el.attr(@attr)\r
     this.$el.html('')\r
     @error_explanation = null\r
     @div_fields = new Locmare.FormModule.Fields({\r
@@ -85,12 +99,6 @@ class Locmare.Form extends Locmare.FormBase
           field_manifest: field_manifest\r
         })\r
   \r
-  submit_name: () ->\r
-    if @item.isNew()\r
-      @item.table_name() + '.submit.new'\r
-    else\r
-      @item.table_name() + '.submit.edit'\r
-  \r
   submits: () ->\r
     {\r
       default: Locmare.FormModule.SubmitModule.Default\r
@@ -99,16 +107,23 @@ class Locmare.Form extends Locmare.FormBase
   submit_class: () ->\r
     @submits()[@submit]\r
   \r
+  post: () ->\r
+    attr = {}\r
+    _this = this\r
+    _.each @fields, (field) ->\r
+      _this.item.set(field.field_name, field.val())\r
+    if @item.save()\r
+      window.router.navigate('/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id')), true)\r
+      return false\r
+    else\r
+      alert('invalid')\r
+  \r
 class Locmare.ExtendForm extends Locmare.FormBase\r
   \r
   initialize: (options) ->\r
     @parent = options.parent\r
-    @form_name = options.form_name\r
-    @item = options.item\r
-    @mounted = options.mounted\r
-    @operators = options.operators\r
     @field_name = options.field_name\r
-    super(@form_name, @item, @mounted, @operators)\r
+    super(options)\r
     @field = new Locmare.FormModule.Field({\r
       form: @parent, \r
       field_name: @field_name, \r
@@ -144,6 +159,7 @@ class Locmare.FormModule.Fields extends Backbone.View
     _this = this\r
     _.each @fields, (field) ->\r
       _this.$el.append(field.render().el)\r
+      _this.$el.append(field.rb.render().el) if field.rb\r
     this\r
   \r
 class Locmare.FormModule.SubmitModule\r
@@ -155,6 +171,13 @@ class Locmare.FormModule.SubmitModule.Default extends Backbone.View
     @form = options.form\r
   \r
   render: () ->\r
-    this.$el.html('<input type="submit" name="commit" class="submit" value="' + @form.submit_name() + '"></input>')\r
+    caption = I18n.t(@submit_name())\r
+    this.$el.html('<input type="submit" name="commit" class="submit" value="' + caption + '"></input>')\r
     this\r
   \r
+  submit_name: () ->\r
+    if @form.item.isNew()\r
+      @form.item.table_name() + '.submit.new'\r
+    else\r
+      @form.item.table_name() + '.submit.edit'\r
+  \r
index 42d340b..f004079 100644 (file)
@@ -8,10 +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 = {}\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
+    @helpers = new Locmare.FormModule.FieldModule.Fields({field: this, field_manifest: @field_manifest})\r
     @rb = @row_break()\r
     @options = {'data-model': @field_manifest.form_name}\r
   \r
@@ -19,10 +16,7 @@ class Locmare.FormModule.Field extends Backbone.View
     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.$el.append(@helpers.render().el)\r
     this\r
   \r
   mounted: () ->\r
@@ -37,8 +31,11 @@ class Locmare.FormModule.Field extends Backbone.View
   item: () ->\r
     @form.item\r
   \r
+  val: () ->\r
+    @tag.$el.val()\r
+  \r
   value: () ->\r
-    @item().get(@field_manifest.column_name)\r
+    @item().get(@field_manifest.column_name())\r
   \r
   options: (tag_options = {}) ->\r
     tag_options\r
@@ -51,11 +48,26 @@ class Locmare.FormModule.Field extends Backbone.View
   \r
   row_break: () ->\r
     if @field_manifest.row_break\r
-      new Pettanr.Tag.Div({\r
-        content: null,\r
-        class_name: 'row_break'\r
-      })\r
+      new Pettanr.Tag.RowBreak()\r
     else\r
       null\r
   \r
 class Locmare.FormModule.FieldModule\r
+class Locmare.FormModule.FieldModule.Fields extends Backbone.View\r
+  tagName: 'span'\r
+  \r
+  initialize: (options) ->\r
+    @field = options.field\r
+    @field_manifest = options.field_manifest\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.field, helper_manifest)\r
+  \r
+  render: () ->\r
+    this.$el.html('')\r
+    _this = this\r
+    _.each @helpers, (helper) ->\r
+      _this.$el.append(helper.render().el)\r
+    this\r
+  \r
index 99ce8de..88a328c 100644 (file)
@@ -11,6 +11,6 @@ class Locmare.FormModule.FieldModule.HelperFactory
     type = my_manifest.type\r
     my_class = @types()[type]\r
     console.log "undefined class for local view forms > #{field.form_name} > fields > #{field.field_name} > helper > #{type}\n" if not my_class\r
-    new my_class({field: field, my_manifest: my_manifest})\r
+    new my_class({field: field, helper_manifest: my_manifest})\r
   \r
 class Locmare.FormModule.FieldModule.HelperModule\r
index 8266123..95b0b34 100644 (file)
@@ -1,7 +1,7 @@
 class Locmare.FormModule.FieldModule.HelperModule.Base extends Backbone.View\r
-  tagName: 'input'\r
+  tagName: 'span'\r
   \r
   initialize: (options) ->\r
     @field = options.field\r
-    @tag_manifest = options.tag_manifest\r
+    @helper_manifest = options.helper_manifest\r
   \r
index 2b8e0f1..63bb8c4 100644 (file)
@@ -1,7 +1,212 @@
 class Locmare.FormModule.FieldModule.HelperModule.Color extends Locmare.FormModule.FieldModule.HelperModule.Base\r
-  tagName: 'input'\r
+  tagName: 'div'\r
+  className: 'code-wrap'\r
+  \r
+  # wrapper\r
+  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
+  \r
+  render: () ->\r
+    @attr = {\r
+      style: 'display: block'\r
+    }\r
+    this.$el.attr(@attr)\r
+    this.$el.html('')\r
+    this.$el.append(@picker.render().el)\r
+    this.$el.append(@swatch.render().el)\r
+    this.$el.append(@status.render().el)\r
+    this.$el.append(@rb.render().el)\r
+    this\r
+  \r
+class Locmare.FormModule.FieldModule.HelperModule.ColorModule\r
+class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider extends Pettanr.Tag.Div\r
+  events: {\r
+    slidechange: 'color_slider_change'\r
+  }\r
+  \r
+  color_slider_change: (trace) -> \r
+    alert('lide')\r
+  \r
+class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Picker extends Backbone.View\r
+  tagName: 'div'\r
+  className: 'colorpickers'\r
+  \r
+  initialize: (options) ->\r
+    @field = options.field\r
+    @red = new Locmare.FormModule.FieldModule.HelperModule.ColorModule.Slider({\r
+      class_name: 'colorpicker'\r
+    })\r
+    @green = new Pettanr.Tag.Div({\r
+      class_name: 'colorpicker'\r
+    })\r
+    @blue = new Pettanr.Tag.Div({\r
+      class_name: 'colorpicker'\r
+    })\r
+    r = (@field.value() >> 16) & 0xFF\r
+    g = (@field.value() >> 8) & 0xFF\r
+    b = @field.value() & 0xFF\r
+    @red.$el.slider {\r
+      orientation: 'horizontal',\r
+      range: 'min',\r
+      max: 255,\r
+      value: r \r
+    }\r
+    @green.$el.slider {\r
+      orientation: 'horizontal',\r
+      range: 'min',\r
+      max: 255,\r
+      value: g \r
+    }\r
+    @blue.$el.slider {\r
+      orientation: 'horizontal',\r
+      range: 'min',\r
+      max: 255,\r
+      value: b \r
+    }\r
+  \r
+  render: () ->\r
+    @attr = {\r
+      style: 'float: left;'\r
+    }\r
+    this.$el.attr(@attr)\r
+    this.$el.html('')\r
+    this.$el.append(@red.render().el)\r
+    this.$el.append(@green.render().el)\r
+    this.$el.append(@blue.render().el)\r
+    this\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
+    this.$el.addClass('ui-widget-content')\r
+    this.$el.addClass('ui-corner-all')\r
   \r
   render: () ->\r
+    @attr = {\r
+      style: 'float: left;'\r
+    }\r
+    this.$el.attr(@attr)\r
     this.$el.html('')\r
     this\r
   \r
+  click: () -> \r
+    w = -@field.val()\r
+    @field.tag.$el.val(w)\r
+    @field.render()\r
+    return false\r
+  \r
+class Locmare.FormModule.FieldModule.HelperModule.ColorModule.Status extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @field = options.field\r
+  \r
+  render: () ->\r
+    @attr = {\r
+      style: 'float: left;'\r
+    }\r
+    this.$el.attr(@attr)\r
+    phex = "000000" + @field.value().toString(16)\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
+    this.$el.html('')\r
+    this.$el.append(@hex.render().el)\r
+    this.$el.append(@rgb.render().el)\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
+  \r
index 0f3473f..86e061c 100644 (file)
@@ -1,5 +1,4 @@
 class Locmare.FormModule.FieldModule.HelperModule.Popup extends Locmare.FormModule.FieldModule.HelperModule.Base\r
-  tagName: 'textarea'\r
   \r
   render: () ->\r
     this.$el.html('')\r
index 19ae606..f15ad44 100644 (file)
@@ -1,6 +1,92 @@
 class Locmare.FormModule.FieldModule.HelperModule.Size extends Locmare.FormModule.FieldModule.HelperModule.Base\r
   \r
+  initialize: (options) ->\r
+    super(options)\r
+    this.$el.addClass(@helper_manifest.dom_class)\r
+    @reverse = new Locmare.FormModule.FieldModule.HelperModule.SizeModule.Reverse({field: @field})\r
+    @double = new Locmare.FormModule.FieldModule.HelperModule.SizeModule.Double({field: @field})\r
+    @half = new Locmare.FormModule.FieldModule.HelperModule.SizeModule.Half({field: @field})\r
+  \r
   render: () ->\r
     this.$el.html('')\r
+    this.$el.append(@reverse.render().el)\r
+    this.$el.append(@double.render().el)\r
+    this.$el.append(@half.render().el)\r
+    this\r
+  \r
+class Locmare.FormModule.FieldModule.HelperModule.SizeModule\r
+class Locmare.FormModule.FieldModule.HelperModule.SizeModule.Reverse extends Backbone.View\r
+  tagName: 'button'\r
+  className: 'reverse'\r
+  events: {\r
+    'click': 'click'\r
+  }\r
+  \r
+  initialize: (options) ->\r
+    @field = options.field\r
+  \r
+  render: () ->\r
+    this.$el.html('Rev')\r
+    this\r
+  \r
+  click: () -> \r
+    w = -@field.val()\r
+    @field.tag.$el.val(w)\r
+    @field.render()\r
+    return false\r
+  \r
+class Locmare.FormModule.FieldModule.HelperModule.SizeModule.Double extends Backbone.View\r
+  tagName: 'button'\r
+  className: 'double'\r
+  events: {\r
+    'click': 'click'\r
+  }\r
+  \r
+  initialize: (options) ->\r
+    @field = options.field\r
+  \r
+  render: () ->\r
+    this.$el.html('x2')\r
+    this\r
+  \r
+  click: () -> \r
+    w = @field.val() * 2\r
+    @field.tag.$el.val(w)\r
+    @field.render()\r
+    return false\r
+  \r
+class Locmare.FormModule.FieldModule.HelperModule.SizeModule.Half extends Backbone.View\r
+  tagName: 'button'\r
+  className: 'half'\r
+  events: {\r
+    'click': 'click'\r
+  }\r
+  \r
+  initialize: (options) ->\r
+    @field = options.field\r
+  \r
+  render: () ->\r
+    this.$el.html('/2')\r
     this\r
   \r
+  click: () -> \r
+    w = @field.val() / 2\r
+    @field.tag.$el.val(w)\r
+    @field.render()\r
+    return false\r
+  \r
+class PettanrPictureSizeHelper\r
+  @refresh_picture = (e, w, h)  ->\r
+    if w and h\r
+      sd = ''\r
+      if h < 0\r
+        sd += 'v'\r
+      if w < 0\r
+        sd += 'h'\r
+      if sd.length > 0\r
+        sd += '/'\r
+      pid = parseInt(e.attr('picture_id')).toString()\r
+      ext = e.attr('ext')\r
+      src = '/pictures/' + sd + pid + '.' + ext\r
+      e.attr('src', src)\r
+  \r
index 25d280c..741cbc5 100644 (file)
@@ -1,5 +1,4 @@
 class Locmare.FormModule.FieldModule.HelperModule.TailAngle extends Locmare.FormModule.FieldModule.HelperModule.Base\r
-  tagName: 'select'\r
   \r
   render: () ->\r
     this.$el.html('')\r
index 785db58..7b9be1a 100644 (file)
@@ -9,6 +9,6 @@ class Locmare.FormModule.FieldModule.LabelFactory
     type = my_manifest.type\r
     my_class = @types()[type]\r
     console.log "undefined class for local view forms > #{field.form_name} > fields > #{field.field_name} > label > #{type}\n" if not my_class\r
-    new my_class({field: field, my_manifest: my_manifest})\r
+    new my_class({field: field, label_manifest: my_manifest})\r
   \r
 class Locmare.FormModule.FieldModule.LabelModule\r
index acee74f..06d2d1c 100644 (file)
@@ -35,17 +35,23 @@ class Locmare.FormModule.FieldModule.LabelModule.Base extends Backbone.View
   \r
 class Locmare.FormModule.FieldModule.LabelModule.Default extends Locmare.FormModule.FieldModule.LabelModule.Base\r
   \r
+  initialize: (options) ->\r
+    super(options)\r
+  \r
   label_name: () ->\r
     'activerecord.attributes.' + @item_name() + '.' +  @column_name()\r
   \r
   render: () ->\r
     this.$el.html('')\r
-    this.$el.append(label_name())\r
+    this.$el.append(I18n.t(@label_name()))\r
     this.$el.append(@rb) if @rb\r
     this\r
   \r
 class Locmare.FormModule.FieldModule.LabelModule.None extends Locmare.FormModule.FieldModule.LabelModule.Base\r
   \r
+  initialize: (options) ->\r
+    super(options)\r
+  \r
   hidden: () ->\r
     true\r
   \r
index 49fbc57..2cfed4a 100644 (file)
@@ -12,6 +12,6 @@ class Locmare.FormModule.FieldModule.TagFactory
     type = my_manifest.type\r
     my_class = @types()[type]\r
     console.log "undefined class for local view forms > #{field.form_name} > fields > #{field.field_name} > tag > #{type}\n" if not my_class\r
-    new my_class({field: field, my_manifest: my_manifest})\r
+    new my_class({field: field, tag_manifest: my_manifest})\r
   \r
 class Locmare.FormModule.FieldModule.TagModule\r
index 4847cd3..743f80a 100644 (file)
@@ -8,6 +8,9 @@ class Locmare.FormModule.FieldModule.TagModule.Base extends Backbone.View
   form_field_name: () ->\r
     @field.form_field_name()\r
   \r
+  val: () ->\r
+    this.$el.val()\r
+  \r
   value: () ->\r
     @field.value()\r
   \r
index 3f9bf96..fe8da64 100644 (file)
@@ -1,4 +1,4 @@
-class Locmare.FormModule.FieldModule.TagModule.Hidden extends Locmare.FormModule.FieldModule.TagModule.Base\r
+class Locmare.FormModule.FieldModule.TagModule.HiddenTag extends Locmare.FormModule.FieldModule.TagModule.Base\r
   \r
   render: () ->\r
     this.$el.html('')\r
index 1cb97e6..a55ae71 100644 (file)
@@ -1,4 +1,4 @@
-class Locmare.FormModule.FieldModule.TagModule.Number extends Locmare.FormModule.FieldModule.TagModule.Base\r
+class Locmare.FormModule.FieldModule.TagModule.NumberTag extends Locmare.FormModule.FieldModule.TagModule.Base\r
   \r
   render: () ->\r
     this.$el.html('')\r
index ecffc19..5bdb03e 100644 (file)
@@ -1,4 +1,4 @@
-class Locmare.FormModule.FieldModule.TagModule.Select extends Locmare.FormModule.FieldModule.TagModule.Base\r
+class Locmare.FormModule.FieldModule.TagModule.SelectTag extends Locmare.FormModule.FieldModule.TagModule.Base\r
   tagName: 'select'\r
   \r
   render: () ->\r
@@ -8,25 +8,26 @@ class Locmare.FormModule.FieldModule.TagModule.Select extends Locmare.FormModule
     }\r
     _.extend(@attr, @options())\r
     this.$el.attr(@attr)\r
+    _this = this\r
     _.each @select_values(), (member) ->\r
-      selected = if @is_selected(member)\r
+      selected = if _this.is_selected(member)\r
         ' selected'\r
       else\r
         ''\r
-      _this.$el.append('<option value="' + @select_value() + '"' + selected + '></option>')\r
+      _this.$el.append('<option value="' + member[1] + '"' + selected + '>' + member[0] + '</option>')\r
     this\r
   \r
   model_manifest: () ->\r
     Manifest.manifest().models[@field.field_manifest.model_name()]\r
   \r
   model_attribute_manifest: () ->\r
-    @model_manifest().get(@field.field_manifest.column_name())\r
+    @model_manifest().attributes[@field.field_manifest.column_name()]\r
   \r
   select_item_name: () ->\r
     @model_attribute_manifest().source.select_item_name\r
   \r
   items: () ->\r
-    if @model_attribute_manifest().source.type == 'model'\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
@@ -53,5 +54,5 @@ class Locmare.FormModule.FieldModule.TagModule.Select extends Locmare.FormModule
     if @source_by_model()\r
       @items()\r
     else\r
-      Pettanr.t_select_items(@items())\r
+      Pettanr.AppHelper.t_select_items(@items())\r
   \r
index 06be50b..073b195 100644 (file)
@@ -1,5 +1,8 @@
-class Locmare.FormModule.FieldModule.TagModule.Text extends Locmare.FormModule.FieldModule.TagModule.Base\r
+class Locmare.FormModule.FieldModule.TagModule.TextTag extends Locmare.FormModule.FieldModule.TagModule.Base\r
   tagName: 'input'\r
+  events: {\r
+    'change': 'change'\r
+  }\r
   \r
   render: () ->\r
     this.$el.html('')\r
@@ -12,3 +15,8 @@ class Locmare.FormModule.FieldModule.TagModule.Text extends Locmare.FormModule.F
     this.$el.attr(@attr)\r
     this\r
   \r
+  change: () ->\r
+    console.log this.$el.val()\r
+    @item().set(@field.field_name, this.$el.attr('value'))\r
+    console.log @item().attributes\r
+  \r
index 0ff0767..2f7fe13 100644 (file)
@@ -1,4 +1,4 @@
-class Locmare.FormModule.FieldModule.TagModule.TextArea extends Locmare.FormModule.FieldModule.TagModule.Base\r
+class Locmare.FormModule.FieldModule.TagModule.TextAreaTag extends Locmare.FormModule.FieldModule.TagModule.Base\r
   tagName: 'textarea'\r
   \r
   render: () ->\r
index 2c646db..9cc0c16 100644 (file)
@@ -24,8 +24,20 @@ $ ->
   loaded_local_manifest.init()\r
   \r
   window.router = new Pettanr.Router()\r
-  Backbone.history.start({pushState: true})\r
-  window.router.navigate('', true)\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
   \r
   test_router: () ->\r
     window.router.navigate('folders/98', true)\r
index ca2aecc..c1ad5a9 100644 (file)
@@ -13,14 +13,16 @@ class Manifest.ItemModule.BasePeta extends ManifestBase.TypeNameArgs
     @parent_model_name != null\r
   \r
   find_boost_name: (column_name) -> \r
+    r = null\r
     _.each @boost, (boost_name, boost_manifest) ->\r
-      return boost_name if boost_manifest.settings_column_name == column_name\r
-    null\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
-      return true if boost_manifest.extend_column_name == column_name\r
-    false\r
+      r = true if boost_manifest.extend_column_name == column_name\r
+    r\r
   \r
   supply_defaults: (item) ->\r
     _.each @boost, (name, manifest) ->\r
index a14d036..2d5391a 100644 (file)
@@ -64,10 +64,10 @@ class Peta.Item extends Backbone.Model
     'id'\r
   \r
   @find_boost_name: (column_name) ->\r
-    my_peta().find_boost_name column_name\r
\r
+    @my_peta().find_boost_name column_name\r
+  \r
   @is_extend_column: (column_name) -> \r
-    my_peta().is_extend_column column_name\r
+    @my_peta().is_extend_column column_name\r
   \r
   @fold_extend_settings: (attr) ->\r
     _.each my_peta().boost, (name, manifest) ->\r
index 035da1e..f5f098f 100644 (file)
@@ -70,7 +70,7 @@ class Pettanr
       \r
     @t_select_items: (items) ->\r
       _.map items, (i) ->\r
-        [t(i[0]), i[1]]\r
+        [I18n.t(i[0]), i[1]]\r
     \r
     @t_selected_item: (name, index) ->\r
       I18n.t(Manifest.manifest().system_resources.select_items[name][index][0])\r
@@ -149,7 +149,39 @@ class Pettanr
         item: @item, \r
         operators: @operators\r
       })\r
-  \r
+    \r
+    set_new: () ->\r
+      @set_model()\r
+      @item = new @my_model_class({id: @params['id']})\r
+      @item.boosts 'post'\r
+      @item.supply_default()\r
+    \r
+    set_edit: () ->\r
+      @set_model()\r
+      @item = new @my_model_class({id: @params['id']})\r
+      _this = this\r
+      @item.fetch().done ->\r
+        _this.item.boosts 'post'\r
+        _this.render_form()\r
+    \r
+    render_form: () ->\r
+      @form = new Locmare.Form({\r
+        form_name: @item.item_name(), \r
+        item: @item, \r
+        mounted: true, \r
+        submit: 'default', \r
+        operators: @operators,\r
+        action: '/' + @item.table_name() + '/' + Pettanr.to_s(@item.get('id'))\r
+      })\r
+      $("#pettanr").html(@form.render().el)\r
+    \r
+    form_new: () ->\r
+      @set_new()\r
+      @render_form()\r
+    \r
+    form_edit: () ->\r
+      @set_edit()\r
+    \r
   class Pettanr.FilerRender\r
     constructor: (item_name, list_result, pager_type, operators) ->\r
       @item_name = item_name\r
index 0c7e2f8..97248d6 100644 (file)
@@ -6,19 +6,19 @@ class Pettanr.Tag.Img extends Backbone.View
   # attr: {src: '/hoge', width: 80, ...}\r
   # class_name: 'El-Class'\r
   initialize: (options) ->\r
-    @attr = options.attr\r
+    @attr = options.attr || {}\r
     @class_name = options.class_name\r
   \r
   render: () ->\r
     this.$el.attr(@attr)\r
-    this.$el.addClass(@class_name)\r
+    this.$el.addClass(@class_name) if @class_name\r
     this\r
 \r
 class Pettanr.Tag.A extends Backbone.View\r
   tagName: 'a'\r
   \r
   initialize: (options) ->\r
-    @attr = options.attr\r
+    @attr = options.attr || {}\r
     @handler_name = options.handler_name\r
     @content = options.content\r
     @class_name = options.class_name\r
@@ -27,7 +27,7 @@ class Pettanr.Tag.A extends Backbone.View
   \r
   render: () ->\r
     this.$el.attr(@attr)\r
-    @el.className = @class_name\r
+    @el.className = @class_name if @class_name\r
     this.$el.html(@content)\r
     this\r
   \r
@@ -44,8 +44,13 @@ class Pettanr.Tag.Div extends Backbone.View
     @class_name = options.class_name\r
   \r
   render: () ->\r
+    @el.className = @class_name if @class_name\r
     this.$el.attr(@attr)\r
-    @el.className = @class_name\r
     this.$el.html(@content)\r
     this\r
     \r
+class Pettanr.Tag.RowBreak extends Pettanr.Tag.Div\r
+  initialize: (options) ->\r
+    @content = null\r
+    @class_name = 'row_break'\r
+  \r
index c01c9ef..c8aef35 100644 (file)
@@ -1,3 +1,9 @@
+/*
+ * This is a manifest file that'll automatically include all the stylesheets available in this directory
+ * and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
+ * the top of the compiled file, but it's generally better to create a new file per style scope.
+ *= require_directory ./base
+*/
 table.no-border {
   border: none;
 }
@@ -214,6 +220,31 @@ font-family : monospace;
 .colorpicker-hex, #colorpicker-rgb {
   margin: 5px;
 }
+.ui-slider .ui-slider-handle {
+  width: 1em;
+  height: 1em;
+}
+.ui-slider-horizontal {
+  height: 0.6em;
+}
+  // for ap
+  .code-wrap {
+      border: 1px solid #d0d0d0;
+      border-radius: 10px;
+      padding: 10px 5px;
+      background: #fafafa;
+      display: none;
+  }
+  .colorpicker {
+    float: left;
+    clear: left;
+    width: 256px;
+    margin: 3px 10px;
+  }
+  .colorpicker .ui-slider-range {
+    background: #ef2929;
+  }
+
 .tsort-box {
   float: left;
   font-size: 12px;
@@ -262,13 +293,6 @@ font-family : monospace;
     font-size: 12px;
     cursor: move;
 }
-.ui-slider .ui-slider-handle {
-       width: 1em;
-  height: 1em;
-}
-.ui-slider-horizontal {
-       height: 0.6em;
-}
 #elements-tabs {
     font-size: 12px;
 }
index 42700d4..7419c65 100644 (file)
@@ -20,7 +20,7 @@ module Locmare
           end
           
           def items
-            if self.model_attribute_manifest.source.type == 'model'
+            if self.model_attribute_manifest.source.type == 'magic_number'
               ::Manifest.manifest.system_resources.select_items[self.select_item_name]
             else
               resource_model_name = self.model_attribute_manifest.source.resource_model_name