OSDN Git Service

add js
authoryasushiito <yas@pen-chan.jp>
Fri, 11 Jul 2014 07:10:49 +0000 (16:10 +0900)
committeryasushiito <yas@pen-chan.jp>
Fri, 11 Jul 2014 07:10:49 +0000 (16:10 +0900)
103 files changed:
app/assets/javascripts/ap.js
app/assets/javascripts/local_manifest/bucket.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/bucket/form_field_name.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/bucket/member.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/button.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/button/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/button/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/default/face.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/default/face/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/default/face/column.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/default/face/method.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/default/link.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/default/link/action.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/default/link/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/default/link/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/default/link/url_column.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/caption/template.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/date.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/date/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/date/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/edit.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/edit/account.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/edit/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/edit/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/edit/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/edit/template.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/icon.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/icon/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/icon/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/summary.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/summary/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/summary/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/summary/template.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/default/face.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/default/face/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/default/face/image.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/default/face/picture.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/default/link.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/default/link/action.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/default/link/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/default/link/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/default/link/url_column.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/filer/symbol/template.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/element_field.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/helper.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/helper/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/helper/color.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/helper/popup.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/helper/size.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/helper/tail_angle.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/label.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/label/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/label/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/label/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/tag.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/tag/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/tag/hidden.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/tag/number.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/tag/select.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/tag/text.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/field/tag/text_area.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/form/part_field.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/list_group.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/local_manifest.js.coffee
app/assets/javascripts/local_manifest/profiler.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/association.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/association/belongs_to.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/association/has_many.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/association/has_one.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/column.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/column/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/column/date.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/column/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/column/extend.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/column/json.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/column/source.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/extend_setting.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/extend_setting/column.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/extend_setting/column/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/extend_setting/column/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/local_manifest/profiler/list.js.coffee [new file with mode: 0644]
app/assets/javascripts/main.js.coffee
app/assets/javascripts/manifest/manifest.js.coffee
app/assets/javascripts/manifest/model/association/belongs_to.js.coffee
app/assets/javascripts/manifest/model/association/has_many.js.coffee
app/assets/javascripts/manifest/model/association/has_one.js.coffee
app/assets/javascripts/manifest_base/factory.js.coffee
app/assets/javascripts/manifest_base/manifest_base.js.coffee
app/assets/javascripts/manifest_base/name_values.js.coffee
app/assets/javascripts/manifest_base/names.js.coffee
app/assets/javascripts/manifest_base/type_args.js.coffee
app/assets/javascripts/manifest_base/type_name_args.coffee
app/assets/javascripts/manifest_base/values.js.coffee

index faec4d1..2661cfc 100644 (file)
 //= require ./manifest/model/association/has_one
 //= require ./manifest/model/list
 //= require ./local_manifest/local_manifest
+//= require ./local_manifest/profiler
+//= require ./local_manifest/profiler/column
+//= require ./local_manifest/profiler/column/base
+//= require ./local_manifest/profiler/column/default
+//= require ./local_manifest/profiler/column/date
+//= require ./local_manifest/profiler/column/source
+//= require ./local_manifest/profiler/column/extend
+//= require ./local_manifest/profiler/column/json
+//= require ./local_manifest/profiler/extend_setting
+//= require ./local_manifest/profiler/extend_setting/column
+//= require ./local_manifest/profiler/extend_setting/column/base
+//= require ./local_manifest/profiler/extend_setting/column/default
+//= require ./local_manifest/profiler/list
+//= require ./local_manifest/profiler/association
+//= require ./local_manifest/profiler/association/belongs_to
+//= require ./local_manifest/profiler/association/has_many
+//= require ./local_manifest/profiler/association/has_one
+//= require ./local_manifest/filer
+//= require ./local_manifest/filer/symbol
+//= require ./local_manifest/filer/symbol/base
+//= require ./local_manifest/filer/symbol/default
+//= require ./local_manifest/filer/symbol/default/face
+//= require ./local_manifest/filer/symbol/default/face/base
+//= require ./local_manifest/filer/symbol/default/face/image
+//= require ./local_manifest/filer/symbol/default/face/picture
+//= require ./local_manifest/filer/symbol/default/link
+//= require ./local_manifest/filer/symbol/default/link/base
+//= require ./local_manifest/filer/symbol/default/link/action
+//= require ./local_manifest/filer/symbol/default/link/none
+//= require ./local_manifest/filer/symbol/default/link/url_column
+//= require ./local_manifest/filer/symbol/template
+//= require ./local_manifest/filer/caption
+//= require ./local_manifest/filer/caption/base
+//= require ./local_manifest/filer/caption/default
+//= require ./local_manifest/filer/caption/default/face
+//= require ./local_manifest/filer/caption/default/face/base
+//= require ./local_manifest/filer/caption/default/face/column
+//= require ./local_manifest/filer/caption/default/face/method
+//= require ./local_manifest/filer/caption/default/link
+//= require ./local_manifest/filer/caption/default/link/base
+//= require ./local_manifest/filer/caption/default/link/action
+//= require ./local_manifest/filer/caption/default/link/none
+//= require ./local_manifest/filer/caption/default/link/url_column
+//= require ./local_manifest/filer/caption/none
+//= require ./local_manifest/filer/caption/template
+//= require ./local_manifest/filer/summary
+//= require ./local_manifest/filer/summary/base
+//= require ./local_manifest/filer/summary/template
+//= require ./local_manifest/filer/summary/none
+//= require ./local_manifest/filer/icon
+//= require ./local_manifest/filer/icon/base
+//= require ./local_manifest/filer/icon/default
+//= require ./local_manifest/filer/date
+//= require ./local_manifest/filer/date/base
+//= require ./local_manifest/filer/date/default
+//= require ./local_manifest/filer/edit
+//= require ./local_manifest/filer/edit/base
+//= require ./local_manifest/filer/edit/default
+//= require ./local_manifest/filer/edit/none
+//= require ./local_manifest/filer/edit/template
+//= require ./local_manifest/filer/edit/account
+//= require ./local_manifest/filer/button
+//= require ./local_manifest/filer/button/base
+//= require ./local_manifest/filer/button/default
+//= require ./local_manifest/form
+//= require ./local_manifest/form/field
+//= require ./local_manifest/form/field/tag
+//= require ./local_manifest/form/field/tag/base
+//= require ./local_manifest/form/field/tag/text
+//= require ./local_manifest/form/field/tag/number
+//= require ./local_manifest/form/field/tag/text_area
+//= require ./local_manifest/form/field/tag/select
+//= require ./local_manifest/form/field/tag/hidden
+//= require ./local_manifest/form/field/label
+//= require ./local_manifest/form/field/label/base
+//= require ./local_manifest/form/field/label/default
+//= require ./local_manifest/form/field/label/none
+//= require ./local_manifest/form/field/helper
+//= require ./local_manifest/form/field/helper/base
+//= require ./local_manifest/form/field/helper/size
+//= require ./local_manifest/form/field/helper/tail_angle
+//= require ./local_manifest/form/field/helper/color
+//= require ./local_manifest/form/field/helper/popup
+//= 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/bucket
+//= require ./local_manifest/bucket/member
+//= require ./local_manifest/bucket/form_field_name
 //= require_directory ./views
 //= require main
diff --git a/app/assets/javascripts/local_manifest/bucket.js.coffee b/app/assets/javascripts/local_manifest/bucket.js.coffee
new file mode 100644 (file)
index 0000000..047bf61
--- /dev/null
@@ -0,0 +1,23 @@
+class LocalManifest.Bucket extends ManifestBase.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @json['members'] ||= {}\r
+    @json['form_field_names'] ||= {}\r
+    \r
+  init: () ->\r
+    super()\r
+    @members = ManifestBase.load_name_values this, @json, 'members', LocalManifest.BucketModule.Member\r
+    @form_field_names = ManifestBase.load_names this, @json, 'form_field_names', LocalManifest.BucketModule.FormFieldName\r
+  \r
+  has_member: () ->\r
+    @members.length > 0\r
+  \r
+  item_name: () ->\r
+    @name\r
+  \r
+  constructor: (manifest, name, json, module_name) ->\r
+    super(manifest, name, json, module_name)\r
+    \r
+class LocalManifest.BucketModule\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/bucket/form_field_name.js.coffee b/app/assets/javascripts/local_manifest/bucket/form_field_name.js.coffee
new file mode 100644 (file)
index 0000000..522a612
--- /dev/null
@@ -0,0 +1,17 @@
+class LocalManifest.BucketModule.FormFieldName extends ManifestBase.Names\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+    @form_names = @name.split '.'\r
+    @field_name = @form_names.pop\r
+    @form_name = @form_names.join '.'\r
+  \r
+  bucket_name: () ->\r
+    @parent.name\r
+  \r
+  bucket_manifest: () ->\r
+    @parent.manifest\r
+\r
diff --git a/app/assets/javascripts/local_manifest/bucket/member.js.coffee b/app/assets/javascripts/local_manifest/bucket/member.js.coffee
new file mode 100644 (file)
index 0000000..3a6fe7b
--- /dev/null
@@ -0,0 +1,11 @@
+class LocalManifest.BucketModule.Member extends ManifestBase.NameValues\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @values['members'] ||= {}\r
+    \r
+  init: () ->\r
+    super()\r
+    @members = ManifestBase.load_name_values self, @values, 'members', LocalManifest.BucketModule.Member\r
+  \r
\r
diff --git a/app/assets/javascripts/local_manifest/filer.js.coffee b/app/assets/javascripts/local_manifest/filer.js.coffee
new file mode 100644 (file)
index 0000000..92d2f24
--- /dev/null
@@ -0,0 +1,34 @@
+class LocalManifest.Filer extends ManifestBase.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @item_class = Manifest.item_name_to_model @name\r
+    @json.symbol ||= {}\r
+    @json.caption ||= {}\r
+    @json.summary ||= {}\r
+    @json.icon ||= {}\r
+    @json.date ||= {}\r
+    @json.edit ||= {}\r
+    @json.button ||= {}\r
+    \r
+  init: () ->\r
+    super()\r
+    @symbol = ManifestBase.load_type_args this, @json, 'symbol', LocalManifest.FilerModule.SymbolFactory\r
+    @caption = ManifestBase.load_type_args this, @json, 'caption', LocalManifest.FilerModule.CaptionFactory\r
+    @summary = ManifestBase.load_type_args this, @json, 'summary', LocalManifest.FilerModule.SummaryFactory\r
+    @icon = ManifestBase.load_type_args this, @json, 'icon', LocalManifest.FilerModule.IconFactory\r
+    @date = ManifestBase.load_type_args this, @json, 'date', LocalManifest.FilerModule.DateFactory\r
+    @edit = ManifestBase.load_type_args this, @json, 'edit', LocalManifest.FilerModule.EditFactory\r
+    @button = ManifestBase.load_type_args this, @json, 'button', LocalManifest.FilerModule.ButtonFactory\r
+  \r
+  item_name: () ->\r
+    @name\r
+  \r
+  filer_name: () ->\r
+    @name\r
+  \r
+  constructor: (manifest, name, json, module_name) ->\r
+    super(manifest, name, json, module_name)\r
+    \r
+class LocalManifest.FilerModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/button.js.coffee b/app/assets/javascripts/local_manifest/filer/button.js.coffee
new file mode 100644 (file)
index 0000000..14374df
--- /dev/null
@@ -0,0 +1,12 @@
+class LocalManifest.FilerModule.ButtonFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': LocalManifest.FilerModule.ButtonModule.Default\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'default'\r
+    \r
+class LocalManifest.FilerModule.ButtonModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/button/base.js.coffee b/app/assets/javascripts/local_manifest/filer/button/base.js.coffee
new file mode 100644 (file)
index 0000000..bfcf013
--- /dev/null
@@ -0,0 +1,19 @@
+class LocalManifest.FilerModule.ButtonModule.Base extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args.item_name ||= @parent.item_name  # not parent.name. follow singularized name\r
+    \r
+  init: () ->\r
+    super()\r
+    @item_name = @args.item_name\r
+  \r
+  filer_name: () ->\r
+    @parent.name\r
+  \r
+  filer: () ->\r
+    @parent\r
+  \r
+  is_visible: () ->\r
+    true\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/button/default.js.coffee b/app/assets/javascripts/local_manifest/filer/button/default.js.coffee
new file mode 100644 (file)
index 0000000..7306442
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FilerModule.ButtonModule.Default extends LocalManifest.FilerModule.ButtonModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    #@args['face'] ||= {}\r
+    \r
+  init: () ->\r
+    super()\r
+    #@face = ManifestBase.load_type_args self, @args, 'face', FaceFactory\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/caption.js.coffee b/app/assets/javascripts/local_manifest/filer/caption.js.coffee
new file mode 100644 (file)
index 0000000..f28423a
--- /dev/null
@@ -0,0 +1,14 @@
+class LocalManifest.FilerModule.CaptionFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': LocalManifest.FilerModule.CaptionModule.Default, \r
+      'template': LocalManifest.FilerModule.CaptionModule.Template, \r
+      'none': LocalManifest.FilerModule.CaptionModule.None\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'default'\r
+    \r
+class LocalManifest.FilerModule.CaptionModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/base.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/base.js.coffee
new file mode 100644 (file)
index 0000000..4647dae
--- /dev/null
@@ -0,0 +1,14 @@
+class LocalManifest.FilerModule.CaptionModule.Base extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  filer_name: () ->\r
+    @parent.name\r
+  \r
+  filer: () ->\r
+    @parent\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/default.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/default.js.coffee
new file mode 100644 (file)
index 0000000..399df63
--- /dev/null
@@ -0,0 +1,16 @@
+class LocalManifest.FilerModule.CaptionModule.Default extends LocalManifest.FilerModule.CaptionModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['face'] ||= {}\r
+    @args['link'] ||= {}\r
+    \r
+  init: () ->\r
+    super()\r
+    @face = ManifestBase.load_type_args this, @args, 'face', LocalManifest.FilerModule.CaptionModule.DefaultModule.FaceFactory\r
+    @link = ManifestBase.load_type_args this, @args, 'link', LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkFactory\r
+  \r
+  is_visible: () ->\r
+    @face.type != 'none'\r
+\r
+class LocalManifest.FilerModule.CaptionModule.DefaultModule\r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/default/face.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/default/face.js.coffee
new file mode 100644 (file)
index 0000000..f7c44d9
--- /dev/null
@@ -0,0 +1,14 @@
+class LocalManifest.FilerModule.CaptionModule.DefaultModule.FaceFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'column': LocalManifest.FilerModule.CaptionModule.DefaultModule.FaceModule.ColumnFace, \r
+      'method': LocalManifest.FilerModule.CaptionModule.DefaultModule.FaceModule.MethodFace, \r
+      'none': LocalManifest.FilerModule.CaptionModule.DefaultModule.FaceModule.NoneFace\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'column'\r
+    \r
+class LocalManifest.FilerModule.CaptionModule.DefaultModule.FaceModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/default/face/base.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/default/face/base.js.coffee
new file mode 100644 (file)
index 0000000..e9bed66
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FilerModule.CaptionModule.DefaultModule.FaceModule.BaseFace extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/default/face/column.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/default/face/column.js.coffee
new file mode 100644 (file)
index 0000000..1e2b8ad
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FilerModule.CaptionModule.DefaultModule.FaceModule.ColumnFace extends LocalManifest.FilerModule.CaptionModule.DefaultModule.FaceModule.BaseFace\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['column_name'] ||= 'caption'\r
+    \r
+  init: () ->\r
+    super()\r
+    @column_name = @args['column_name']\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/default/face/method.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/default/face/method.js.coffee
new file mode 100644 (file)
index 0000000..f336c67
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FilerModule.CaptionModule.DefaultModule.FaceModule.MethodFace extends LocalManifest.FilerModule.CaptionModule.DefaultModule.FaceModule.BaseFace\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['method_name'] ||= 'caption'\r
+    \r
+  init: () ->\r
+    super()\r
+    @method_name = @args['method_name']\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/default/link.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/default/link.js.coffee
new file mode 100644 (file)
index 0000000..47b2852
--- /dev/null
@@ -0,0 +1,14 @@
+class LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'action': LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkModule.ActionLink, \r
+      'none': LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkModule.NoneLink, \r
+      'url_column': LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkModule.UrlColumnLink\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'action'\r
+    \r
+class LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/default/link/action.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/default/link/action.js.coffee
new file mode 100644 (file)
index 0000000..a24e6db
--- /dev/null
@@ -0,0 +1,14 @@
+class LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkModule.ActionLink extends LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['action_name'] ||= 'show'\r
+    \r
+  init: () ->\r
+    super()\r
+    @action_name = @args['action_name']\r
+  \r
+  action_path: () ->\r
+    a = @action_name == 'show' ? '' : @action_name + '/'\r
+    '/' + this.filer.item_class.path_name + '/' + a\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/default/link/base.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/default/link/base.js.coffee
new file mode 100644 (file)
index 0000000..1526ce0
--- /dev/null
@@ -0,0 +1,11 @@
+class LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkModule.BaseLink extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  filer: () ->\r
+    @parent.filer\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/default/link/none.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/default/link/none.js.coffee
new file mode 100644 (file)
index 0000000..f380b3f
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkModule.NoneLink extends LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/default/link/url_column.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/default/link/url_column.js.coffee
new file mode 100644 (file)
index 0000000..ac34a31
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkModule.UrlColumnLink extends LocalManifest.FilerModule.CaptionModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['column_name'] ||= 'url'\r
+    \r
+  init: () ->\r
+    super()\r
+    @column_name = @args['column_name']\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/none.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/none.js.coffee
new file mode 100644 (file)
index 0000000..f024bdd
--- /dev/null
@@ -0,0 +1,11 @@
+class LocalManifest.FilerModule.CaptionModule.None extends LocalManifest.FilerModule.CaptionModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  is_visible: () ->\r
+    false\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/caption/template.js.coffee b/app/assets/javascripts/local_manifest/filer/caption/template.js.coffee
new file mode 100644 (file)
index 0000000..8ad0ab0
--- /dev/null
@@ -0,0 +1,13 @@
+class LocalManifest.FilerModule.CaptionModule.Template extends LocalManifest.FilerModule.CaptionModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['template_name'] ||= 'caption'\r
+    \r
+  init: () ->\r
+    super()\r
+    @template_name = @args['template_name']\r
+  \r
+  is_visible: () ->\r
+    true\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/date.js.coffee b/app/assets/javascripts/local_manifest/filer/date.js.coffee
new file mode 100644 (file)
index 0000000..5fb34ec
--- /dev/null
@@ -0,0 +1,12 @@
+class LocalManifest.FilerModule.DateFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': LocalManifest.FilerModule.DateModule.Default\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'default'\r
+    \r
+class LocalManifest.FilerModule.DateModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/date/base.js.coffee b/app/assets/javascripts/local_manifest/filer/date/base.js.coffee
new file mode 100644 (file)
index 0000000..a91d704
--- /dev/null
@@ -0,0 +1,11 @@
+class LocalManifest.FilerModule.DateModule.Base extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  is_visible: () ->\r
+    true\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/date/default.js.coffee b/app/assets/javascripts/local_manifest/filer/date/default.js.coffee
new file mode 100644 (file)
index 0000000..3d99806
--- /dev/null
@@ -0,0 +1,11 @@
+class LocalManifest.FilerModule.DateModule.Default extends LocalManifest.FilerModule.DateModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  is_visible: () ->\r
+    true\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/edit.js.coffee b/app/assets/javascripts/local_manifest/filer/edit.js.coffee
new file mode 100644 (file)
index 0000000..6118053
--- /dev/null
@@ -0,0 +1,15 @@
+class LocalManifest.FilerModule.EditFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': LocalManifest.FilerModule.EditModule.Default, \r
+      'none': LocalManifest.FilerModule.EditModule.None, \r
+      'template': LocalManifest.FilerModule.EditModule.Template, \r
+      'account': LocalManifest.FilerModule.EditModule.Account\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'default'\r
+    \r
+class LocalManifest.FilerModule.EditModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/edit/account.js.coffee b/app/assets/javascripts/local_manifest/filer/edit/account.js.coffee
new file mode 100644 (file)
index 0000000..c88a2f8
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FilerModule.EditModule.Account extends LocalManifest.FilerModule.EditModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/edit/base.js.coffee b/app/assets/javascripts/local_manifest/filer/edit/base.js.coffee
new file mode 100644 (file)
index 0000000..f37b3c0
--- /dev/null
@@ -0,0 +1,11 @@
+class LocalManifest.FilerModule.EditModule.Base extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  is_visible: () ->\r
+    @type != 'none'\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/edit/default.js.coffee b/app/assets/javascripts/local_manifest/filer/edit/default.js.coffee
new file mode 100644 (file)
index 0000000..6b9ff85
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FilerModule.EditModule.Default extends LocalManifest.FilerModule.EditModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/edit/none.js.coffee b/app/assets/javascripts/local_manifest/filer/edit/none.js.coffee
new file mode 100644 (file)
index 0000000..60eb624
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FilerModule.EditModule.None extends LocalManifest.FilerModule.EditModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/edit/template.js.coffee b/app/assets/javascripts/local_manifest/filer/edit/template.js.coffee
new file mode 100644 (file)
index 0000000..4d59a03
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FilerModule.EditModule.Template extends LocalManifest.FilerModule.EditModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['template_name'] ||= 'edit'\r
+    \r
+  init: () ->\r
+    super()\r
+    @template_name = @args['template_name']\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/icon.js.coffee b/app/assets/javascripts/local_manifest/filer/icon.js.coffee
new file mode 100644 (file)
index 0000000..ad7cdc3
--- /dev/null
@@ -0,0 +1,11 @@
+class LocalManifest.FilerModule.IconFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': LocalManifest.FilerModule.IconModule.Default\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'default'\r
+    \r
+class LocalManifest.FilerModule.IconModule\r
diff --git a/app/assets/javascripts/local_manifest/filer/icon/base.js.coffee b/app/assets/javascripts/local_manifest/filer/icon/base.js.coffee
new file mode 100644 (file)
index 0000000..34e8908
--- /dev/null
@@ -0,0 +1,11 @@
+class LocalManifest.FilerModule.IconModule.Base extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  is_visible: () ->\r
+    true\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/icon/default.js.coffee b/app/assets/javascripts/local_manifest/filer/icon/default.js.coffee
new file mode 100644 (file)
index 0000000..f3ea241
--- /dev/null
@@ -0,0 +1,11 @@
+class LocalManifest.FilerModule.IconModule.Default extends LocalManifest.FilerModule.IconModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  is_visible: () ->\r
+    true\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/summary.js.coffee b/app/assets/javascripts/local_manifest/filer/summary.js.coffee
new file mode 100644 (file)
index 0000000..a4b650c
--- /dev/null
@@ -0,0 +1,13 @@
+class LocalManifest.FilerModule.SummaryFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'none': LocalManifest.FilerModule.SummaryModule.None, \r
+      'template': LocalManifest.FilerModule.SummaryModule.Template\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'template'\r
+    \r
+class LocalManifest.FilerModule.SummaryModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/summary/base.js.coffee b/app/assets/javascripts/local_manifest/filer/summary/base.js.coffee
new file mode 100644 (file)
index 0000000..64a1365
--- /dev/null
@@ -0,0 +1,11 @@
+class LocalManifest.FilerModule.SummaryModule.Base extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  is_visible: () ->\r
+    @type != 'none'\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/summary/none.js.coffee b/app/assets/javascripts/local_manifest/filer/summary/none.js.coffee
new file mode 100644 (file)
index 0000000..cd7e109
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FilerModule.SummaryModule.None extends LocalManifest.FilerModule.SummaryModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/summary/template.js.coffee b/app/assets/javascripts/local_manifest/filer/summary/template.js.coffee
new file mode 100644 (file)
index 0000000..51cc043
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FilerModule.SummaryModule.Template extends LocalManifest.FilerModule.SummaryModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['template_name'] ||= 'summary'\r
+    \r
+  init: () ->\r
+    super()\r
+    @template_name = @args['template_name']\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol.js.coffee
new file mode 100644 (file)
index 0000000..c8534e2
--- /dev/null
@@ -0,0 +1,13 @@
+class LocalManifest.FilerModule.SymbolFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': LocalManifest.FilerModule.SymbolModule.Default, \r
+      'template': LocalManifest.FilerModule.SymbolModule.Template\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'default'\r
+    \r
+class LocalManifest.FilerModule.SymbolModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/base.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/base.js.coffee
new file mode 100644 (file)
index 0000000..09db170
--- /dev/null
@@ -0,0 +1,17 @@
+class LocalManifest.FilerModule.SymbolModule.Base extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  is_visible: () ->\r
+    raise "undefined visible?\n"\r
+  \r
+  filer_name: () ->\r
+    @parent.name\r
+  \r
+  filer: () ->\r
+    @parent\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/default.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/default.js.coffee
new file mode 100644 (file)
index 0000000..3c01382
--- /dev/null
@@ -0,0 +1,16 @@
+class LocalManifest.FilerModule.SymbolModule.Default extends LocalManifest.FilerModule.SymbolModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['face'] ||= {}\r
+    @args['link'] ||= {}\r
+    \r
+  init: () ->\r
+    super()\r
+    @face = ManifestBase.load_type_args this, @args, 'face', LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceFactory\r
+    @link = ManifestBase.load_type_args this, @args, 'link', LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkFactory\r
+  \r
+  is_visible: () ->\r
+    true\r
+\r
+class LocalManifest.FilerModule.SymbolModule.DefaultModule\r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/default/face.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/default/face.js.coffee
new file mode 100644 (file)
index 0000000..e1f5047
--- /dev/null
@@ -0,0 +1,13 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'image': LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.ImageFace, \r
+      'picture': LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.PictureFace\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'image'\r
+    \r
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/default/face/base.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/default/face/base.js.coffee
new file mode 100644 (file)
index 0000000..34fd67e
--- /dev/null
@@ -0,0 +1,13 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.BaseFace extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args.item_name ||= @parent.item_name  # not parent.name. follow singularized name\r
+    \r
+  init: () ->\r
+    super()\r
+    @item_name = @args.item_name\r
+  \r
+  filer: () ->\r
+    @parent.filer\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/default/face/image.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/default/face/image.js.coffee
new file mode 100644 (file)
index 0000000..0e070b3
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.ImageFace extends LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.BaseFace\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['url'] ||= '/images/' + this.filer.item_name + '.gif'\r
+    \r
+  init: () ->\r
+    super()\r
+    @url = @args['url']\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/default/face/picture.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/default/face/picture.js.coffee
new file mode 100644 (file)
index 0000000..5230b43
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.PictureFace extends LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.BaseFace\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['method_name'] ||= 'symbol_option'\r
+    \r
+  init: () ->\r
+    super()\r
+    @method_name = @args['method_name']\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/default/link.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/default/link.js.coffee
new file mode 100644 (file)
index 0000000..0fc584b
--- /dev/null
@@ -0,0 +1,14 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'action': LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.ActionLink, \r
+      'none': LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.NoneLink, \r
+      'url_column': LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.UrlColumnLink\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'action'\r
+    \r
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/default/link/action.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/default/link/action.js.coffee
new file mode 100644 (file)
index 0000000..f792415
--- /dev/null
@@ -0,0 +1,14 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.ActionLink extends LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['action_name'] ||= 'show'\r
+    \r
+  init: () ->\r
+    super()\r
+    @action_name = @args['action_name']\r
+  \r
+  action_path: () ->\r
+    a = @action_name == 'show' ? '' : @action_name + '/'\r
+    '/' + this.filer.item_class.path_name + '/' + a\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/default/link/base.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/default/link/base.js.coffee
new file mode 100644 (file)
index 0000000..2a96ef5
--- /dev/null
@@ -0,0 +1,13 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args.item_name ||= @parent.item_name  # not parent.name. follow singularized name\r
+    \r
+  init: () ->\r
+    super()\r
+    @item_name = @args.item_name\r
+  \r
+  filer: () ->\r
+    @parent.filer\r
+\r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/default/link/none.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/default/link/none.js.coffee
new file mode 100644 (file)
index 0000000..2df9ba5
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.NoneLink extends LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/default/link/url_column.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/default/link/url_column.js.coffee
new file mode 100644 (file)
index 0000000..2c69d55
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.UrlColumnLink extends LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['column_name'] ||= 'url'\r
+    \r
+  init: () ->\r
+    super()\r
+    @column_name = @args['column_name']\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/filer/symbol/template.js.coffee b/app/assets/javascripts/local_manifest/filer/symbol/template.js.coffee
new file mode 100644 (file)
index 0000000..4679df9
--- /dev/null
@@ -0,0 +1,13 @@
+class LocalManifest.FilerModule.SymbolModule.Template extends LocalManifest.FilerModule.SymbolModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['template_name'] ||= 'symbol'\r
+    \r
+  init: () ->\r
+    super()\r
+    @template_name = @args['template_name']\r
+  \r
+  is_visible: () ->\r
+    true\r
+\r
diff --git a/app/assets/javascripts/local_manifest/form.js.coffee b/app/assets/javascripts/local_manifest/form.js.coffee
new file mode 100644 (file)
index 0000000..cdcdad7
--- /dev/null
@@ -0,0 +1,21 @@
+class LocalManifest.Form extends ManifestBase.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @json['fields'] ||= {}\r
+    @json['field_names'] ||= []\r
+    \r
+  init: () ->\r
+    super()\r
+    @fields = ManifestBase.load_name_values this, @json, 'fields', LocalManifest.FormModule.Field\r
+    @field_names = @json['field_names']\r
+  \r
+  each_field: () ->\r
+    _.each @field_names, (field_name) ->\r
+      #yield field_name, @fields[field_name]\r
+  \r
+  constructor: (manifest, name, json, module_name) ->\r
+    super(manifest, name, json, module_name)\r
+    \r
+class LocalManifest.FormModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/form/element_field.js.coffee b/app/assets/javascripts/local_manifest/form/element_field.js.coffee
new file mode 100644 (file)
index 0000000..e23f2b8
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FormModule.ElementField extends LocalManifest.FormModule.Field\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field.js.coffee b/app/assets/javascripts/local_manifest/form/field.js.coffee
new file mode 100644 (file)
index 0000000..bf39777
--- /dev/null
@@ -0,0 +1,33 @@
+class LocalManifest.FormModule.Field extends ManifestBase.NameValues\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @values['label'] ||= {}\r
+    @values['tag'] ||= {}\r
+    @values['helpers'] ||= {}\r
+    @values['row_break'] ||= true\r
+    \r
+  init: () ->\r
+    super()\r
+    @label = ManifestBase.load_type_args this, @values, 'label', LocalManifest.FormModule.FieldModule.LabelFactory\r
+    @tag = ManifestBase.load_type_args this, @values, 'tag', LocalManifest.FormModule.FieldModule.TagFactory\r
+    @helpers = ManifestBase.load_type_name_args this, @values, 'helpers', LocalManifest.FormModule.FieldModule.HelperFactory\r
+    @row_break = @values['row_break']\r
+    # @boost_name = @values['boost_name']\r
+  \r
+  is_part: () ->\r
+    @part_name != null \r
+  \r
+  form_name: () ->\r
+    @parent.name\r
+  \r
+  column_name: () ->\r
+    @name\r
+  \r
+  model_name: () ->\r
+    form_name\r
+  \r
+  form: () ->\r
+    @parent\r
+  \r
+class LocalManifest.FormModule.FieldModule\r
diff --git a/app/assets/javascripts/local_manifest/form/field/helper.js.coffee b/app/assets/javascripts/local_manifest/form/field/helper.js.coffee
new file mode 100644 (file)
index 0000000..4363d81
--- /dev/null
@@ -0,0 +1,16 @@
+class LocalManifest.FormModule.FieldModule.HelperFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'size': LocalManifest.FormModule.FieldModule.HelperModule.Size, \r
+      'tail_angle': LocalManifest.FormModule.FieldModule.HelperModule.TailAngle, \r
+      'color': LocalManifest.FormModule.FieldModule.HelperModule.Color, \r
+      'popup': LocalManifest.FormModule.FieldModule.HelperModule.Popup\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'none'\r
+    \r
+class LocalManifest.FormModule.FieldModule.HelperModule\r
+\r
\r
diff --git a/app/assets/javascripts/local_manifest/form/field/helper/base.js.coffee b/app/assets/javascripts/local_manifest/form/field/helper/base.js.coffee
new file mode 100644 (file)
index 0000000..72eb8e3
--- /dev/null
@@ -0,0 +1,16 @@
+class LocalManifest.FormModule.FieldModule.HelperModule.Base extends ManifestBase.TypeNameArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['file_name'] ||= @type + '_helper'\r
+    \r
+  init: () ->\r
+    super()\r
+    @file_name = @args['file_name']\r
+  \r
+  form_name: () ->\r
+    @parent.form_name\r
+  \r
+  field_name: () ->\r
+    @parent.field_name\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field/helper/color.js.coffee b/app/assets/javascripts/local_manifest/form/field/helper/color.js.coffee
new file mode 100644 (file)
index 0000000..b0db4bf
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FormModule.FieldModule.HelperModule.Color extends LocalManifest.FormModule.FieldModule.HelperModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field/helper/popup.js.coffee b/app/assets/javascripts/local_manifest/form/field/helper/popup.js.coffee
new file mode 100644 (file)
index 0000000..84dd0c8
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FormModule.FieldModule.HelperModule.Popup extends LocalManifest.FormModule.FieldModule.HelperModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field/helper/size.js.coffee b/app/assets/javascripts/local_manifest/form/field/helper/size.js.coffee
new file mode 100644 (file)
index 0000000..58c2603
--- /dev/null
@@ -0,0 +1,9 @@
+class LocalManifest.FormModule.FieldModule.HelperModule.Size extends LocalManifest.FormModule.FieldModule.HelperModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+    @dom_class = @args['dom_class']\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field/helper/tail_angle.js.coffee b/app/assets/javascripts/local_manifest/form/field/helper/tail_angle.js.coffee
new file mode 100644 (file)
index 0000000..8d74e9b
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FormModule.FieldModule.HelperModule.TailAngle extends LocalManifest.FormModule.FieldModule.HelperModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field/label.js.coffee b/app/assets/javascripts/local_manifest/form/field/label.js.coffee
new file mode 100644 (file)
index 0000000..473d72a
--- /dev/null
@@ -0,0 +1,13 @@
+class LocalManifest.FormModule.FieldModule.LabelFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': LocalManifest.FormModule.FieldModule.LabelModule.Default, \r
+      'none': LocalManifest.FormModule.FieldModule.LabelModule.None\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'default'\r
+    \r
+class LocalManifest.FormModule.FieldModule.LabelModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/form/field/label/base.js.coffee b/app/assets/javascripts/local_manifest/form/field/label/base.js.coffee
new file mode 100644 (file)
index 0000000..f4ceca0
--- /dev/null
@@ -0,0 +1,22 @@
+class LocalManifest.FormModule.FieldModule.LabelModule.Base extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['row_break'] ||= false\r
+    \r
+  init: () ->\r
+    super()\r
+    @row_break = @args['row_break']\r
+  \r
+  form_name: () ->\r
+    @parent.form_name\r
+  \r
+  field_name: () ->\r
+    @parent.name\r
+  \r
+  model_name: () ->\r
+    this.form_name\r
+  \r
+  column_name: () ->\r
+    this.field_name\r
+    \r
diff --git a/app/assets/javascripts/local_manifest/form/field/label/default.js.coffee b/app/assets/javascripts/local_manifest/form/field/label/default.js.coffee
new file mode 100644 (file)
index 0000000..3ed15a9
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FormModule.FieldModule.LabelModule.Default extends LocalManifest.FormModule.FieldModule.LabelModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field/label/none.js.coffee b/app/assets/javascripts/local_manifest/form/field/label/none.js.coffee
new file mode 100644 (file)
index 0000000..e1038aa
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FormModule.FieldModule.LabelModule.None extends LocalManifest.FormModule.FieldModule.LabelModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field/tag.js.coffee b/app/assets/javascripts/local_manifest/form/field/tag.js.coffee
new file mode 100644 (file)
index 0000000..cd669d8
--- /dev/null
@@ -0,0 +1,16 @@
+class LocalManifest.FormModule.FieldModule.TagFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'text': LocalManifest.FormModule.FieldModule.TagModule.TextTag, \r
+      'number': LocalManifest.FormModule.FieldModule.TagModule.NumberTag, \r
+      'text_area': LocalManifest.FormModule.FieldModule.TagModule.TextAreaTag, \r
+      'select': LocalManifest.FormModule.FieldModule.TagModule.SelectTag, \r
+      'hidden': LocalManifest.FormModule.FieldModule.TagModule.HiddenTag\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'text'\r
+    \r
+class LocalManifest.FormModule.FieldModule.TagModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/form/field/tag/base.js.coffee b/app/assets/javascripts/local_manifest/form/field/tag/base.js.coffee
new file mode 100644 (file)
index 0000000..7de74a4
--- /dev/null
@@ -0,0 +1,16 @@
+class LocalManifest.FormModule.FieldModule.TagModule.Base extends ManifestBase.TypeArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['options'] ||= {}\r
+    \r
+  init: () ->\r
+    super()\r
+    @options = @args['options']\r
+  \r
+  form_name: () ->\r
+    @parent.form.name\r
+  \r
+  field_name: () ->\r
+    @parent.field_name\r
+\r
diff --git a/app/assets/javascripts/local_manifest/form/field/tag/hidden.js.coffee b/app/assets/javascripts/local_manifest/form/field/tag/hidden.js.coffee
new file mode 100644 (file)
index 0000000..cedee9e
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FormModule.FieldModule.TagModule.HiddenTag extends LocalManifest.FormModule.FieldModule.TagModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field/tag/number.js.coffee b/app/assets/javascripts/local_manifest/form/field/tag/number.js.coffee
new file mode 100644 (file)
index 0000000..f32ddcb
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FormModule.FieldModule.TagModule.NumberTag extends LocalManifest.FormModule.FieldModule.TagModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['options']['size'] ||= 5\r
+    \r
+  init: () ->\r
+    super()\r
+    @size = @options['size']\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field/tag/select.js.coffee b/app/assets/javascripts/local_manifest/form/field/tag/select.js.coffee
new file mode 100644 (file)
index 0000000..7441b39
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.FormModule.FieldModule.TagModule.SelectTag extends LocalManifest.FormModule.FieldModule.TagModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field/tag/text.js.coffee b/app/assets/javascripts/local_manifest/form/field/tag/text.js.coffee
new file mode 100644 (file)
index 0000000..d630f67
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FormModule.FieldModule.TagModule.TextTag extends LocalManifest.FormModule.FieldModule.TagModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['options']['size'] ||= 20\r
+    \r
+  init: () ->\r
+    super()\r
+    @size = @options['size']\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/field/tag/text_area.js.coffee b/app/assets/javascripts/local_manifest/form/field/tag/text_area.js.coffee
new file mode 100644 (file)
index 0000000..d773d10
--- /dev/null
@@ -0,0 +1,10 @@
+class LocalManifest.FormModule.FieldModule.TagModule.TextAreaTag extends LocalManifest.FormModule.FieldModule.TagModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['options']['size'] ||= '45x15'\r
+    \r
+  init: () ->\r
+    super()\r
+    @size = @options['size']\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/form/part_field.js.coffee b/app/assets/javascripts/local_manifest/form/part_field.js.coffee
new file mode 100644 (file)
index 0000000..a32c30e
--- /dev/null
@@ -0,0 +1,13 @@
+class LocalManifest.FormModule.PartField extends LocalManifest.FormModule.Field\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @values['part_name'] ||= @values['model_name']\r
+    \r
+  init: () ->\r
+    super()\r
+    @part_name = @values['part_name']\r
+  \r
+  form_field_name: () ->\r
+    @model_name + '[' + @model_name + '_attributes][' + @column_name + ']'\r
+\r
diff --git a/app/assets/javascripts/local_manifest/list_group.js.coffee b/app/assets/javascripts/local_manifest/list_group.js.coffee
new file mode 100644 (file)
index 0000000..f950e29
--- /dev/null
@@ -0,0 +1,17 @@
+class LocalManifest.ListGroup extends ManifestBase.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @json\r
+    @json.actions ||= {}\r
+    @json.item_name = Manifest.singularize(@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
+  \r
+  constructor: (manifest, name, json, module_name) ->\r
+    super(manifest, name, json, module_name)\r
+    \r
+class LocalManifest.ListGroupModule\r
index 69f6c46..f3a0235 100644 (file)
@@ -1,13 +1,20 @@
 class LocalManifest\r
+  \r
+  _module_names = null\r
+  \r
+  module_names: () ->\r
+    _module_names\r
+  \r
+  init: () ->\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
+    @buckets = LocalManifest.Bucket.load(this, @local_json, 'buckets', LocalManifest.Bucket)\r
+  \r
   constructor: (local_json) ->\r
-    @module_names = []\r
+    _module_names = []\r
     @local_json = local_json || {}\r
   \r
-  init: () ->\r
-    @list_groups = ListGroup.load(self, @local_json, 'list_groups')\r
-    @filers = Filer.load(self, @local_json, 'filers')\r
-    @profilers = Profiler.load(self, @local_json, 'profilers')\r
-    @forms = Form.load(self, @local_json, 'forms')\r
-    @buckets = Bucket.load(self, @local_json, 'buckets')\r
 \r
 @LocalManifest = LocalManifest\r
diff --git a/app/assets/javascripts/local_manifest/profiler.js.coffee b/app/assets/javascripts/local_manifest/profiler.js.coffee
new file mode 100644 (file)
index 0000000..e4b7138
--- /dev/null
@@ -0,0 +1,38 @@
+class LocalManifest.Profiler extends ManifestBase.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @json['columns'] ||= {}\r
+    @json['column_names'] ||= []\r
+    @json['extend_settings'] ||= {}\r
+    @json['lists'] ||= {}\r
+    @json['associations'] ||= {}\r
+    # supply column configures\r
+    @json['column_names'].unshift('id') if not @json['column_names'] in 'id'\r
+    @json['column_names'].push('created_at') if not @json['column_names'] in 'created_at'\r
+    @json['column_names'].push('updated_at') if not @json['column_names'] in 'updated_at'\r
+    @json['columns']['created_at'] = {'type': 'date'}\r
+    @json['columns']['updated_at'] = {'type': 'date'}\r
+    c = @json['columns']\r
+    _.each @json['column_names'], (column_name) -> \r
+      c[column_name]  = {} if not c[column_name]\r
+    \r
+  init: () ->\r
+    super()\r
+    @columns =  ManifestBase.load_type_name_args this, @json, 'columns', LocalManifest.ProfilerModule.ColumnFactory\r
+    @column_names = @json['column_names']\r
+    @extend_settings = ManifestBase.load_name_values this, @json, 'extend_settings', LocalManifest.ProfilerModule.ExtendSetting\r
+    @lists = ManifestBase.load_name_values this, @json, 'lists', LocalManifest.ProfilerModule.List\r
+    @associations = ManifestBase.load_value this, @json, 'associations', LocalManifest.ProfilerModule.Association\r
+  \r
+  item_name: () ->\r
+    @name\r
+  \r
+  each_column: () ->\r
+    @column_names\r
+  \r
+  constructor: (manifest, name, json, module_name) ->\r
+    super(manifest, name, json, module_name)\r
+    \r
+class LocalManifest.ProfilerModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/profiler/association.js.coffee b/app/assets/javascripts/local_manifest/profiler/association.js.coffee
new file mode 100644 (file)
index 0000000..0321c87
--- /dev/null
@@ -0,0 +1,25 @@
+class LocalManifest.ProfilerModule.Association extends ManifestBase.Values\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @values['belongs_to'] ||= []\r
+    @values['has_many'] ||= []\r
+    @values['has_one'] ||= []\r
+    \r
+  init: () ->\r
+    super()\r
+    @belongs_to = ManifestBase.load_names this, @values, 'belongs_to', LocalManifest.ProfilerModule.AssociationModule.BelongsTo\r
+    @has_many = ManifestBase.load_names this, @values, 'has_many', LocalManifest.ProfilerModule.AssociationModule.HasMany\r
+    @has_one = ManifestBase.load_names this, @values, 'has_one', LocalManifest.ProfilerModule.AssociationModule.HasOne\r
+  \r
+  profiler: () ->\r
+    @parent\r
+  \r
+  profiler_name: () ->\r
+    @parent.name\r
+  \r
+  constructor: (parent, json, module_name) ->\r
+    super(parent, json, module_name)\r
+    \r
+class LocalManifest.ProfilerModule.AssociationModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/profiler/association/belongs_to.js.coffee b/app/assets/javascripts/local_manifest/profiler/association/belongs_to.js.coffee
new file mode 100644 (file)
index 0000000..b69bf14
--- /dev/null
@@ -0,0 +1,18 @@
+class LocalManifest.ProfilerModule.AssociationModule.BelongsTo extends ManifestBase.Names\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+    @model_name = @name\r
+  \r
+  model: () ->\r
+    Manifest.item_name_to_model @model_name\r
+  \r
+  association_name: () ->\r
+    @parent.name\r
+  \r
+  constructor: (parent, name, module_name) ->\r
+    super(parent, name, module_name)\r
+    \r
diff --git a/app/assets/javascripts/local_manifest/profiler/association/has_many.js.coffee b/app/assets/javascripts/local_manifest/profiler/association/has_many.js.coffee
new file mode 100644 (file)
index 0000000..2f1c7bb
--- /dev/null
@@ -0,0 +1,37 @@
+class LocalManifest.ProfilerModule.AssociationModule.HasMany extends ManifestBase.Names\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+    if list_manifest = @profiler().lists[@name]\r
+      @model_name = list_manifest.model_name\r
+      @list_name = list_manifest.list_name\r
+    else\r
+      n = @name.split '.'\r
+      if n.length > 1\r
+        @table_name = n[0]\r
+        @model_name = @table_name.singularize\r
+        @list_name = n[1]\r
+      else\r
+        ManifestBase::alert_undefined_message 'list', this.module_message\r
+\r
+  list: () ->\r
+    Locmare::ListGroup.list @model_name, @list_name\r
+  \r
+  model: () ->\r
+    Manifest.item_name_to_model @model_name\r
+  \r
+  association_name: () ->\r
+    @parent.association_name\r
+  \r
+  profiler: () ->\r
+    @parent.profiler()\r
+  \r
+  profiler_manifest: () ->\r
+    @parent.profiler_manifest\r
+  \r
+  constructor: (parent, name, module_name) ->\r
+    super(parent, name, module_name)\r
+    \r
diff --git a/app/assets/javascripts/local_manifest/profiler/association/has_one.js.coffee b/app/assets/javascripts/local_manifest/profiler/association/has_one.js.coffee
new file mode 100644 (file)
index 0000000..3372e7a
--- /dev/null
@@ -0,0 +1,37 @@
+class LocalManifest.ProfilerModule.AssociationModule.HasOne extends ManifestBase.Names\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+    if list_manifest = @profiler().lists[@name]\r
+      @model_name = @parent.model_name\r
+      @list_name = @parent.list_name\r
+    else\r
+      n = @name.split '.'\r
+      if n.length > 1\r
+        @model_name = n[0]\r
+        @list_name = n[1]\r
+      else\r
+        ManifestBase::alert_undefined_message 'list', self.module_message\r
+  \r
+  list: () ->\r
+    Locmare::ListGroup.list @model_name, @list_name\r
+  \r
+  model: () ->\r
+    Manifest.item_name_to_model @model_name\r
+  \r
+  association_name: () ->\r
+    @parent.association_name\r
+  \r
+  profiler: () ->\r
+    @parent.profiler()\r
+  \r
+  profiler_manifest: () ->\r
+    @parent.profiler_manifest\r
+  \r
+  constructor: (parent, name, module_name) ->\r
+    super(parent, name, module_name)\r
+    \r
+  \r
diff --git a/app/assets/javascripts/local_manifest/profiler/column.js.coffee b/app/assets/javascripts/local_manifest/profiler/column.js.coffee
new file mode 100644 (file)
index 0000000..f665490
--- /dev/null
@@ -0,0 +1,16 @@
+class LocalManifest.ProfilerModule.ColumnFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': LocalManifest.ProfilerModule.ColumnModule.DefaultColumn, \r
+      'date': LocalManifest.ProfilerModule.ColumnModule.DateColumn, \r
+      'source': LocalManifest.ProfilerModule.ColumnModule.SourceColumn, \r
+      'extend': LocalManifest.ProfilerModule.ColumnModule.ExtendColumn,\r
+      'json': LocalManifest.ProfilerModule.ColumnModule.JsonColumn\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'default'\r
+    \r
+class LocalManifest.ProfilerModule.ColumnModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/profiler/column/base.js.coffee b/app/assets/javascripts/local_manifest/profiler/column/base.js.coffee
new file mode 100644 (file)
index 0000000..8d29d46
--- /dev/null
@@ -0,0 +1,14 @@
+class LocalManifest.ProfilerModule.ColumnModule.Base extends ManifestBase.TypeNameArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  item_name: () ->\r
+    @parent.item_name\r
+  \r
+  profiler: () ->\r
+    @parent\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/profiler/column/date.js.coffee b/app/assets/javascripts/local_manifest/profiler/column/date.js.coffee
new file mode 100644 (file)
index 0000000..e5bab7d
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.ProfilerModule.ColumnModule.DateColumn extends LocalManifest.ProfilerModule.ColumnModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/profiler/column/default.js.coffee b/app/assets/javascripts/local_manifest/profiler/column/default.js.coffee
new file mode 100644 (file)
index 0000000..fa957fd
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.ProfilerModule.ColumnModule.DefaultColumn extends LocalManifest.ProfilerModule.ColumnModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/profiler/column/extend.js.coffee b/app/assets/javascripts/local_manifest/profiler/column/extend.js.coffee
new file mode 100644 (file)
index 0000000..94bd1c0
--- /dev/null
@@ -0,0 +1,16 @@
+class LocalManifest.ProfilerModule.ColumnModule.ExtendColumn extends LocalManifest.ProfilerModule.ColumnModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @args['boost_name'] ||= @name.replace(/_settings/, '')\r
+    \r
+  init: () ->\r
+    super()\r
+    @boost_name = @args['boost_name']\r
+  \r
+  item_manifest: () ->\r
+    Manifest.manifest.items[this.profiler.name]\r
+  \r
+  boost_manifest: () ->\r
+    this.item_manifest.boost[@boost_name]\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/profiler/column/json.js.coffee b/app/assets/javascripts/local_manifest/profiler/column/json.js.coffee
new file mode 100644 (file)
index 0000000..3a86c24
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.ProfilerModule.ColumnModule.JsonColumn extends LocalManifest.ProfilerModule.ColumnModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/profiler/column/source.js.coffee b/app/assets/javascripts/local_manifest/profiler/column/source.js.coffee
new file mode 100644 (file)
index 0000000..c82eae9
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.ProfilerModule.ColumnModule.SourceColumn extends LocalManifest.ProfilerModule.ColumnModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/profiler/extend_setting.js.coffee b/app/assets/javascripts/local_manifest/profiler/extend_setting.js.coffee
new file mode 100644 (file)
index 0000000..38a9b29
--- /dev/null
@@ -0,0 +1,13 @@
+class LocalManifest.ProfilerModule.ExtendSetting extends ManifestBase.NameValues\r
+  \r
+  set_default: () ->\r
+    super()\r
+    @values['columns'] ||= {}\r
+    @values['column_names'] ||= []\r
+    \r
+  init: () ->\r
+    super()\r
+    @columns =  ManifestBase.load_type_name_args this, @values, 'columns', LocalManifest.ProfilerModule.ExtendSettingModule.ColumnFactory\r
+    @column_names = @values['column_names']\r
+  \r
+class LocalManifest.ProfilerModule.ExtendSettingModule\r
diff --git a/app/assets/javascripts/local_manifest/profiler/extend_setting/column.js.coffee b/app/assets/javascripts/local_manifest/profiler/extend_setting/column.js.coffee
new file mode 100644 (file)
index 0000000..4142132
--- /dev/null
@@ -0,0 +1,12 @@
+class LocalManifest.ProfilerModule.ExtendSettingModule.ColumnFactory extends ManifestBase.Factory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': LocalManifest.ProfilerModule.ExtendSettingModule.ColumnModule.DefaultColumn\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'default'\r
+    \r
+class LocalManifest.ProfilerModule.ExtendSettingModule.ColumnModule\r
+\r
diff --git a/app/assets/javascripts/local_manifest/profiler/extend_setting/column/base.js.coffee b/app/assets/javascripts/local_manifest/profiler/extend_setting/column/base.js.coffee
new file mode 100644 (file)
index 0000000..7de289d
--- /dev/null
@@ -0,0 +1,14 @@
+class LocalManifest.ProfilerModule.ExtendSettingModule.ColumnModule.Base extends ManifestBase.TypeNameArgs\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
+  item_name: () ->\r
+    @parent.item_name\r
+  \r
+  profiler: () ->\r
+    @parent\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/profiler/extend_setting/column/default.js.coffee b/app/assets/javascripts/local_manifest/profiler/extend_setting/column/default.js.coffee
new file mode 100644 (file)
index 0000000..fddc583
--- /dev/null
@@ -0,0 +1,8 @@
+class LocalManifest.ProfilerModule.ExtendSettingModule.ColumnModule.DefaultColumn extends LocalManifest.ProfilerModule.ExtendSettingModule.ColumnModule.Base\r
+  \r
+  set_default: () ->\r
+    super()\r
+    \r
+  init: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/local_manifest/profiler/list.js.coffee b/app/assets/javascripts/local_manifest/profiler/list.js.coffee
new file mode 100644 (file)
index 0000000..fef2a74
--- /dev/null
@@ -0,0 +1,17 @@
+class LocalManifest.ProfilerModule.List extends ManifestBase.NameValues\r
+  \r
+  set_default: () ->\r
+    super()\r
+    ManifestBase.alert_undefined_message "model_name", this.module_message if not @json['model_name']\r
+    ManifestBase.alert_undefined_message "list_name", this.module_message if not @json['list_name']\r
+    \r
+  init: () ->\r
+    super()\r
+    @model_name = @json['model_name']\r
+    @list_name = @json['list_name']\r
+  \r
+  profiler_name: () ->\r
+    @parent.item_name\r
+  \r
+  profiler_manifest: () ->\r
+    @parent.manifest\r
index a483070..0ed4edb 100644 (file)
@@ -4,15 +4,16 @@ $ ->
     evaluate: /\<\&(.+?)\&\>/g\r
   }\r
   loaded_manifest = null\r
+  loaded_local_manifest = null\r
   $.ajaxSetup({async: false})\r
   $.getJSON('/manifest.json', null, (data) =>\r
     loaded_manifest = new Manifest(data) )\r
   $.getJSON('/local_manifest.json', null, (data) =>\r
-    window.loaded_local_manifest = new LocalManifest(data)\r
+    loaded_local_manifest = new LocalManifest(data)\r
   )\r
   $.ajaxSetup({async: true})\r
   loaded_manifest.init()\r
-  loaded_manifest\r
+  loaded_local_manifest.init()\r
   class Pettanr extends Backbone.View \r
     el: '#pettanr'\r
     initialize: ->\r
index db5c39f..bfd8039 100644 (file)
@@ -11,6 +11,9 @@ class Manifest
     @models = Manifest.Model.load(this, @global_json, 'models', Manifest.Model)\r
     true\r
   \r
+  @item_name_to_model: (item_name) ->\r
+    #item_name.classify.constantize\r
+  \r
   @singularize: (name) ->\r
     name.replace(/es$/, '').replace(/s$/, '')\r
   \r
index abc6bbd..367ac44 100644 (file)
@@ -1,12 +1,4 @@
 class Manifest.ModelModule.AssociationModule.BelongsTo extends ManifestBase.NameValues\r
-  _model_name = null\r
-  _id_column = null\r
-  \r
-  model_name: () ->\r
-    _model_name\r
-  \r
-  id_column: () ->\r
-    _id_column\r
   \r
   set_default: () ->\r
     super()\r
@@ -15,12 +7,12 @@ class Manifest.ModelModule.AssociationModule.BelongsTo extends ManifestBase.Name
     \r
   init: () ->\r
     super()\r
-    _model_name = @values['model_name']\r
-    _id_column = @values['id_column']\r
+    @model_name = @values['model_name']\r
+    @id_column = @values['id_column']\r
   \r
   model: () ->\r
-    Manifest.item_name_to_model _model_name\r
+    Manifest.item_name_to_model @model_name\r
   \r
   association_name: () ->\r
-    _parent.association_name\r
+    @parent.association_name\r
   \r
index aa3de9b..1920f35 100644 (file)
@@ -1,34 +1,22 @@
 class Manifest.ModelModule.AssociationModule.HasMany extends ManifestBase.NameValues\r
-  _model_name = null\r
-  _foreign_key = null\r
-  _through = null\r
-  \r
-  model_name: () ->\r
-    _model_name\r
-  \r
-  foreign_key: () ->\r
-    _foreign_key\r
-  \r
-  through: () ->\r
-    _through\r
   \r
   set_default: () ->\r
     super()\r
-    @values['model_name'] ||= Manifest.singularize @name()\r
+    @values['model_name'] ||= Manifest.singularize @name\r
     @values['foreign_key'] ||= @parent.model_name + '_id'\r
     \r
   init: () ->\r
     super()\r
-    _model_name = @values['model_name']\r
-    _foreign_key = @values['foreign_key']\r
-    _through = @values['through']\r
+    @model_name = @values['model_name']\r
+    @foreign_key = @values['foreign_key']\r
+    @through = @values['through']\r
   \r
   is_through: () ->\r
-    !_through\r
+    !@through\r
   \r
   model: () ->\r
-    Manifest.item_name_to_model _model_name\r
+    Manifest.item_name_to_model @model_name\r
   \r
   association_name: () ->\r
-    _parent.association_name\r
+    @parent.association_name\r
   \r
index a5fe34c..8c33c79 100644 (file)
@@ -1,12 +1,4 @@
 class Manifest.ModelModule.AssociationModule.HasOne extends ManifestBase.NameValues\r
-  _model_name = null\r
-  _foreign_key = null\r
-  \r
-  model_name: () ->\r
-    _model_name\r
-  \r
-  foreign_key: () ->\r
-    _foreign_key\r
   \r
   set_default: () ->\r
     super()\r
@@ -15,12 +7,12 @@ class Manifest.ModelModule.AssociationModule.HasOne extends ManifestBase.NameVal
     \r
   init: () ->\r
     super()\r
-    _model_name = @values['model_name']\r
-    _foreign_key = @values['foreign_key']\r
+    @model_name = @values['model_name']\r
+    @foreign_key = @values['foreign_key']\r
   \r
   is_through: () ->\r
-    !_through\r
+    !@through\r
   \r
   model: () ->\r
-    Manifest.item_name_to_model _model_name\r
+    Manifest.item_name_to_model @model_name\r
   \r
index 1990d2e..46cb59e 100644 (file)
@@ -16,7 +16,7 @@ class ManifestBase.Factory
   \r
   @factory_type_args: (parent, json, module_name, klass) ->\r
     module_message = ManifestBase.module_message(parent.module_names(), [module_name])\r
-    json['type'] ||= ManifestBase.Factory.default_type()\r
+    json['type'] ||= klass.default_type()\r
     type = json['type']\r
     ManifestBase.alert_undefined_message('type', module_message) if not type\r
     my_class = klass.types()[type]\r
index 3b418c9..fa12bfe 100644 (file)
@@ -27,6 +27,7 @@ class ManifestBase
   \r
   @load_type_name_args: (_self, jsons, module_name, klass) ->\r
     hash = {}\r
+    ha = jsons[module_name]\r
     _.each jsons[module_name], (_json, _name) ->\r
       hash[_name] = new klass.factory(_self, _name, _json, module_name, klass)\r
     hash\r
index f58643c..79b8ce9 100644 (file)
@@ -1,43 +1,22 @@
 class ManifestBase.NameValues\r
-  _parent = null\r
-  _name = null\r
-  _json = null\r
-  _module_name = null\r
-  \r
-  parent: () ->\r
-    _parent\r
-  \r
-  name: () ->\r
-    _name\r
-  \r
-  json: () ->\r
-    _json\r
-  \r
-  module_name: () ->\r
-    _module_name\r
-  \r
   set_default: () ->\r
-    @values = _json\r
+    @values = @json\r
   \r
   init: () ->\r
   \r
   module_names: () ->\r
-    @parent().module_names().concat([_module_name, _name])\r
+    @parent.module_names().concat([@module_name, @name])\r
   \r
   module_message: () ->\r
     ManifestBase.module_message(@module_names)\r
   \r
   parent_name: () ->\r
-    _parent.name\r
+    @parent.name\r
   \r
   parent_json: () ->\r
-    _parent.json\r
+    @parent.json\r
   \r
-  constructor: (parent, name, json, module_name) ->\r
-    _parent = parent\r
-    _name = name\r
-    _json = json\r
-    _module_name = module_name\r
+  constructor: (@parent, @name, @json, @module_name) ->\r
     @set_default()\r
     @init()\r
     \r
index 1cbf2f6..35565b0 100644 (file)
@@ -1,37 +1,21 @@
 class ManifestBase.Names\r
-  _parent = null\r
-  _name = null\r
-  _module_name = null\r
-  \r
-  parent: () ->\r
-    _parent\r
-  \r
-  name: () ->\r
-    _name\r
-  \r
-  module_name: () ->\r
-    _module_name\r
-  \r
   set_default: () ->\r
   \r
   init: () ->\r
   \r
   module_names: () ->\r
-    _parent.module_names + [_module_name, _name]\r
+    @parent.module_names().concat([@module_name, @name])\r
   \r
   module_message: () ->\r
     ManifestBase.module_message(@module_names)\r
   \r
   parent_name: () ->\r
-    _parent.name\r
+    @parent.name\r
   \r
   parent_json: () ->\r
-    _parent.json\r
+    @parent.json\r
   \r
-  constructor: (parent, name, module_name) ->\r
-    _parent = parent\r
-    _name = name\r
-    _module_name = module_name\r
+  constructor: (@parent, @name, @module_name) ->\r
     @set_default()\r
     @init()\r
   \r
index 58e355d..063529f 100644 (file)
@@ -1,44 +1,25 @@
 class ManifestBase.TypeArgs\r
-  _parent = null\r
-  _json = null\r
-  _module_name = null\r
-  _type = null\r
-  \r
-  parent: () ->\r
-    _parent\r
-  \r
-  json: () ->\r
-    _json\r
-  \r
-  module_name: () ->\r
-    _module_name\r
-  \r
-  type: () ->\r
-    _type\r
   \r
   set_default: () ->\r
-    _json['args'] ||= {}\r
-    _type = _json['type']\r
-    @args = _json['args']\r
+    @json['args'] ||= {}\r
+    @type = @json['type']\r
+    @args = @json['args']\r
   \r
   init: () ->\r
   \r
   module_names: () ->\r
-    _parent.module_names + [_module_name]\r
+    @parent.module_names().concat([@module_name])\r
   \r
   module_message: () ->\r
     ManifestBase.module_message(@module_names)\r
   \r
   parent_name: () ->\r
-    _parent.name\r
+    @parent.name\r
   \r
   parent_json: () ->\r
-    _parent.json\r
+    @parent.json\r
   \r
-  constructor: (parent, json, module_name) ->\r
-    _parent = parent\r
-    _json = json\r
-    _module_name = module_name\r
+  constructor: (@parent, @json, @module_name) ->\r
     @set_default()\r
     @init()\r
     \r
index 30e2b97..0456b8f 100644 (file)
@@ -1,8 +1,4 @@
 class ManifestBase.TypeNameArgs\r
-  _module_name = null\r
-  \r
-  module_name: () ->\r
-    _module_name\r
   \r
   set_default: () ->\r
     @json['args'] ||= {}\r
@@ -12,13 +8,12 @@ class ManifestBase.TypeNameArgs
   init: () ->\r
   \r
   module_names: () ->\r
-    _parent.module_names + [_module_name, _name]\r
+    @parent.module_names().concat([@module_name, @name])\r
   \r
   module_message: () ->\r
     ManifestBase.module_message(@module_names)\r
   \r
   constructor: (@parent, @name, @json, module_name) ->\r
-    _module_name = module_name\r
     @set_default()\r
     @init()\r
   \r
index a6233f9..599b28d 100644 (file)
@@ -6,7 +6,7 @@ class ManifestBase.Values
   init: () ->\r
   \r
   module_names: () ->\r
-    @parent.module_names + [@module_name]\r
+    @parent.module_names().concat([@module_name])\r
   \r
   module_message: () ->\r
     ManifestBase.module_message(@module_names)\r