OSDN Git Service

fix js filer
authoryasushiito <yas@pen-chan.jp>
Sat, 19 Jul 2014 04:49:56 +0000 (13:49 +0900)
committeryasushiito <yas@pen-chan.jp>
Sat, 19 Jul 2014 04:49:56 +0000 (13:49 +0900)
105 files changed:
app/assets/javascripts/ap.js
app/assets/javascripts/deprecated/content.js.coffee [deleted file]
app/assets/javascripts/deprecated/element.js.coffee [deleted file]
app/assets/javascripts/deprecated/item.js.coffee [deleted file]
app/assets/javascripts/local_manifest/local_manifest.js.coffee
app/assets/javascripts/locmare/filer.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/column.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/method.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/action.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/url_column.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/template.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/date.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/date/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/date/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/date/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/edit.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/account.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/template.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/icon.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/summary.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/template.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/image.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/picture.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/action.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/url_column.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/template.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_header.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_header/base.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_header/none.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/body/file_header/show.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/header.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/pager.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/locmare.js.coffee [new file with mode: 0644]
app/assets/javascripts/main.js.coffee
app/assets/javascripts/manifest/manifest.js.coffee
app/assets/javascripts/models/artist.js.coffee
app/assets/javascripts/models/author.js.coffee
app/assets/javascripts/models/balloon.js.coffee
app/assets/javascripts/models/comic.js.coffee
app/assets/javascripts/models/ground_color.js.coffee
app/assets/javascripts/models/ground_picture.js.coffee
app/assets/javascripts/models/license.js.coffee
app/assets/javascripts/models/license_group.js.coffee
app/assets/javascripts/models/original_picture.js.coffee
app/assets/javascripts/models/original_picture_license.js.coffee [new file with mode: 0644]
app/assets/javascripts/models/original_picture_license_group.js.coffee [new file with mode: 0644]
app/assets/javascripts/models/panel.js.coffee
app/assets/javascripts/models/panel_picture.js.coffee
app/assets/javascripts/models/picture.js.coffee
app/assets/javascripts/models/resource_picture.js.coffee
app/assets/javascripts/models/scroll.js.coffee
app/assets/javascripts/models/scroll_panel.js.coffee
app/assets/javascripts/models/sheet.js.coffee
app/assets/javascripts/models/sheet_panel.js.coffee
app/assets/javascripts/models/speech.js.coffee
app/assets/javascripts/models/speech_balloon.js.coffee
app/assets/javascripts/models/speech_balloon_template.js.coffee
app/assets/javascripts/models/story.js.coffee
app/assets/javascripts/models/story_sheet.js.coffee
app/assets/javascripts/models/system_picture.js.coffee
app/assets/javascripts/models/writing_format.js.coffee
app/assets/javascripts/peta/binder.js.coffee [new file with mode: 0644]
app/assets/javascripts/peta/content.js.coffee [new file with mode: 0644]
app/assets/javascripts/peta/editize.js.coffee [new file with mode: 0644]
app/assets/javascripts/peta/element.js.coffee [new file with mode: 0644]
app/assets/javascripts/peta/element_nestable_content.js.coffee [new file with mode: 0644]
app/assets/javascripts/peta/item.js.coffee [new file with mode: 0644]
app/assets/javascripts/peta/leaf.js.coffee [new file with mode: 0644]
app/assets/javascripts/peta/owner.js.coffee [new file with mode: 0644]
app/assets/javascripts/peta/peta.js.coffee [new file with mode: 0644]
app/assets/javascripts/peta/root.js.coffee [new file with mode: 0644]
app/assets/javascripts/peta/system_resource.js.coffee [new file with mode: 0644]
app/assets/javascripts/peta/template.js.coffee [new file with mode: 0644]
app/assets/javascripts/pettanr.js.coffee [new file with mode: 0644]
app/models/artist.rb
app/views/top/ap.html.erb

index 2661cfc..23d3b9d 100644 (file)
 //= require ./local_manifest/bucket
 //= require ./local_manifest/bucket/member
 //= require ./local_manifest/bucket/form_field_name
+//= require ./locmare/locmare
+//= require ./locmare/filer
+//= require ./locmare/filer/header
+//= require ./locmare/filer/body
+//= require ./locmare/filer/body/file_header
+//= require ./locmare/filer/body/file_header/base
+//= require ./locmare/filer/body/file_header/show
+//= require ./locmare/filer/body/file_header/none
+//= require ./locmare/filer/body/file_body
+//= require ./locmare/filer/body/file_body/file_item
+//= require ./locmare/filer/body/file_body/file_item/symbol
+//= require ./locmare/filer/body/file_body/file_item/symbol/base
+//= require ./locmare/filer/body/file_body/file_item/symbol/default
+//= require ./locmare/filer/body/file_body/file_item/symbol/default/face
+//= require ./locmare/filer/body/file_body/file_item/symbol/default/face/base
+//= require ./locmare/filer/body/file_body/file_item/symbol/default/face/image
+//= require ./locmare/filer/body/file_body/file_item/symbol/default/face/picture
+//= require ./locmare/filer/body/file_body/file_item/symbol/default/link
+//= require ./locmare/filer/body/file_body/file_item/symbol/default/link/base
+//= require ./locmare/filer/body/file_body/file_item/symbol/default/link/action
+//= require ./locmare/filer/body/file_body/file_item/symbol/default/link/url_column
+//= require ./locmare/filer/body/file_body/file_item/symbol/default/link/none
+//= require ./locmare/filer/body/file_body/file_item/symbol/template
+//= require ./locmare/filer/body/file_body/file_item/caption
+//= require ./locmare/filer/body/file_body/file_item/caption/base
+//= require ./locmare/filer/body/file_body/file_item/caption/default
+//= require ./locmare/filer/body/file_body/file_item/caption/default/face
+//= require ./locmare/filer/body/file_body/file_item/caption/default/face/base
+//= require ./locmare/filer/body/file_body/file_item/caption/default/face/column
+//= require ./locmare/filer/body/file_body/file_item/caption/default/face/method
+//= require ./locmare/filer/body/file_body/file_item/caption/default/face/none
+//= require ./locmare/filer/body/file_body/file_item/caption/default/link
+//= require ./locmare/filer/body/file_body/file_item/caption/default/link/base
+//= require ./locmare/filer/body/file_body/file_item/caption/default/link/action
+//= require ./locmare/filer/body/file_body/file_item/caption/default/link/url_column
+//= require ./locmare/filer/body/file_body/file_item/caption/default/link/none
+//= require ./locmare/filer/body/file_body/file_item/caption/template
+//= require ./locmare/filer/body/file_body/file_item/caption/none
+//= require ./locmare/filer/body/file_body/file_item/summary
+//= require ./locmare/filer/body/file_body/file_item/summary/base
+//= require ./locmare/filer/body/file_body/file_item/summary/template
+//= require ./locmare/filer/body/file_body/file_item/summary/none
+//= require ./locmare/filer/body/file_body/file_item/icon
+//= require ./locmare/filer/body/file_body/file_item/icon/base
+//= require ./locmare/filer/body/file_body/file_item/icon/default
+//= require ./locmare/filer/body/file_body/file_item/icon/none
+//= require ./locmare/filer/body/file_body/file_item/date
+//= require ./locmare/filer/body/file_body/file_item/date/base
+//= require ./locmare/filer/body/file_body/file_item/date/default
+//= require ./locmare/filer/body/file_body/file_item/date/none
+//= require ./locmare/filer/body/file_body/file_item/edit
+//= require ./locmare/filer/body/file_body/file_item/edit/base
+//= require ./locmare/filer/body/file_body/file_item/edit/default
+//= require ./locmare/filer/body/file_body/file_item/edit/none
+//= require ./locmare/filer/body/file_body/file_item/edit/account
+//= require ./locmare/filer/body/file_body/file_item/edit/template
+//  require ./locmare/filer/pager
+//= require ./peta/peta
+//= require ./peta/item
+//= require ./peta/owner
+//= require ./peta/system_resource
+//= require ./peta/template
+//= require ./peta/content
+//= require ./peta/element_nestable_content
+//= require ./peta/root
+//= require ./peta/element
+//= require ./peta/binder
+//= require ./peta/leaf
+//= require ./peta/editize
+//= require ./pettanr
+//= require_directory ./models
 //= require_directory ./views
 //= require main
diff --git a/app/assets/javascripts/deprecated/content.js.coffee b/app/assets/javascripts/deprecated/content.js.coffee
deleted file mode 100644 (file)
index eae373a..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-class Content extends Item\r
-  @single: () ->\r
-    'Name'\r
-  \r
-  @plural: () ->\r
-    'Names'\r
-  \r
-  @class_name: () ->\r
-    @single()\r
-  \r
-  @item_name: () ->\r
-    @underscore(@single())\r
-  \r
-  @table_name: () ->\r
-    @underscore(@plural())\r
-  \r
-  @path_name: (with_engine = false) ->\r
-    @table_name()\r
-  \r
-  #>> https://gist.github.com/davidjbeveridge/3813724\r
-  @xeach: (arr, func, index=0) ->\r
-    if index < arr.length then [ func(arr[index], index), @xeach(arr, func, index + 1)... ] else []\r
-  \r
-  @camelize: (input) ->\r
-    pieces = input.split(/[\W_-]/)\r
-    @xeach(pieces, @capitalize).join("")\r
-  \r
-  @capitalize: (input) ->\r
-    input.charAt(0).toUpperCase() + input.slice(1)\r
-  \r
-  @lowercase: (input) ->\r
-    input.toLowerCase()\r
-   \r
-  @underscore: (input) ->\r
-    pieces = input.replace(/([A-Z])/g, '_$1').split(/[\W_-]/).filter (n) -> !!n\r
-    @xeach(pieces, @lowercase ).join("_")\r
-  # <<\r
-  @is_a_string: (str) ->\r
-    if (str instanceof String) or (typeof str == "string")\r
-      true\r
-    else\r
-      false\r
-  \r
-  has_picture: () ->\r
-    false\r
-  \r
-  has_helper: (column_name) ->\r
-    c = @constructor.colum_structures()\r
-    if c[column_name] and c[column_name]['helper']\r
-      true\r
-    else\r
-      false\r
-  \r
-  element_name: () ->\r
-    @constructor.element_name()\r
-  \r
-  extend_column: () ->\r
-    null\r
-  \r
-  extend_element_name: () ->\r
-    if @extend_column()\r
-      @get(@extend_column())\r
-    else\r
-      @element_name()\r
-  \r
-  find_configurations: (hash, key) ->\r
-    if @constructor.is_a_string(hash[key])\r
-      @find_configurations(hash, hash[key])\r
-    else\r
-      return hash[key]\r
-  \r
-  tag_id: (c = null) ->\r
-    'panel' + @tag_panel_id() + @tag_element_type() + @tag_element_id() + c\r
-  \r
-  field_tag_id: (f) ->\r
-    @tag_id() + f\r
-  \r
-  tag_panel_id: () ->\r
-    @get_panel().get('id') || '0'\r
-  \r
-  tag_element_id: () ->\r
-    @get('id') || '0'\r
-  \r
-  tag_element_type: () ->\r
-    @constructor.element_name()\r
-  \r
-  tag_new_index: () ->\r
-    @new_index()\r
-  \r
-  path_name: (with_engine = false) ->\r
-    @constructor.path_name(with_engine)\r
-  \r
-  form_template: (with_engine = false) ->\r
-    @path_name(with_engine) + '/form'\r
-  \r
-  form_helper_template: (column_name) ->\r
-    c = @constructor.colum_structures()\r
-    if @has_helper(column_name)\r
-      c[colum_name]['helper']\r
-    else\r
-      ''\r
-  \r
-  tag_attributes: (column = null, opt = {}) ->\r
-    r = {\r
-      id: @field_tag_id(column), panel_id: @tag_panel_id(), \r
-      element_id: @tag_element_id(), element_type: @tag_element_type()\r
-    }\r
-    _.extend(r, opt)\r
-    r\r
-  \r
-  field_tag_attributes: (column, no_attr, opt = {}) ->\r
-    r = @tag_attributes(column)\r
-    _.extend(r, {column: column, new_index: @tag_new_index(), no_attr: no_attr})\r
-    _.extend(r, opt)\r
-    r\r
-  \r
-  #render element by body\r
-  any_tag_attributes: (name = null, opt = {}) ->\r
-    r = @tag_attributes(name)\r
-    if @new_index()\r
-       _.extend(r, {new_index: @tag_new_index()})\r
-    _.extend(r, opt)\r
-    r\r
-  \r
-  select_tag_attributes: (selected, column, no_attr) ->\r
-    [\r
-      'last', 'first', \r
-      {html: {selected: selected}}, \r
-      @field_tag_attributes(column, no_attr)\r
-    ]\r
-  \r
-  tag_attr: (column = null, opt = {}) ->\r
-    @tag_attributes(column, opt).to_attr\r
-  \r
-  field_tag_attr: (column, no_attr, opt = {}) ->\r
-    @field_tag_attributes(column, no_attr, opt).to_attr\r
-  \r
-  any_tag_attr: (name = null, opt = {}) ->\r
-    @any_tag_attributes(name, opt).to_attr\r
-\r
-@Item = Item\r
diff --git a/app/assets/javascripts/deprecated/element.js.coffee b/app/assets/javascripts/deprecated/element.js.coffee
deleted file mode 100644 (file)
index 24d6d40..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-class Element extends Item\r
-  @single: () ->\r
-    'Name'\r
-  \r
-  @plural: () ->\r
-    'Names'\r
-  \r
-  @class_name: () ->\r
-    @single()\r
-  \r
-  @element_name: () ->\r
-    @underscore(@single())\r
-  \r
-  @table_name: () ->\r
-    @underscore(@plural())\r
-  \r
-  @path_name: (with_engine = false) ->\r
-    @table_name()\r
-  \r
-  @colum_structures: ->\r
-    {}\r
-  \r
-  #>> https://gist.github.com/davidjbeveridge/3813724\r
-  @xeach: (arr, func, index=0) ->\r
-    if index < arr.length then [ func(arr[index], index), @xeach(arr, func, index + 1)... ] else []\r
-  \r
-  @camelize: (input) ->\r
-    pieces = input.split(/[\W_-]/)\r
-    @xeach(pieces, @capitalize).join("")\r
-  \r
-  @capitalize: (input) ->\r
-    input.charAt(0).toUpperCase() + input.slice(1)\r
-  \r
-  @lowercase: (input) ->\r
-    input.toLowerCase()\r
-   \r
-  @underscore: (input) ->\r
-    pieces = input.replace(/([A-Z])/g, '_$1').split(/[\W_-]/).filter (n) -> !!n\r
-    @xeach(pieces, @lowercase ).join("_")\r
-  # <<\r
-  @is_a_string: (str) ->\r
-    if (str instanceof String) or (typeof str == "string")\r
-      true\r
-    else\r
-      false\r
-  \r
-  has_picture: () ->\r
-    false\r
-  \r
-  has_part: () ->\r
-    false\r
-  \r
-  parts: () ->\r
-    @_parts ? @_parts = []\r
-  \r
-  has_helper: (column_name) ->\r
-    c = @constructor.colum_structures()\r
-    if c[column_name] and c[column_name]['helper']\r
-      true\r
-    else\r
-      false\r
-  \r
-  element_name: () ->\r
-    @constructor.element_name()\r
-  \r
-  extend_column: () ->\r
-    null\r
-  \r
-  extend_element_name: () ->\r
-    if @extend_column()\r
-      @get(@extend_column())\r
-    else\r
-      @element_name()\r
-  \r
-  find_configurations: (hash, key) ->\r
-    if @constructor.is_a_string(hash[key])\r
-      @find_configurations(hash, hash[key])\r
-    else\r
-      return hash[key]\r
-  \r
-  new_index: () ->\r
-    @_new_index\r
-  \r
-  set_new_index: (v) ->\r
-    @_new_index = v\r
-  \r
-  get_new_panel: () ->\r
-    @_new_panel\r
-  \r
-  set_new_panel: (v) ->\r
-    @_new_panel = v\r
-  \r
-  set_panel: (v) ->\r
-    @_panel = v\r
-  \r
-  get_panel: () ->\r
-    @_panel || @_new_panel\r
-  \r
-  tag_id: (c = null) ->\r
-    'panel' + @tag_panel_id() + @tag_element_type() + @tag_element_id() + c\r
-  \r
-  field_tag_id: (f) ->\r
-    @tag_id() + f\r
-  \r
-  tag_panel_id: () ->\r
-    @get_panel().get('id') || '0'\r
-  \r
-  tag_element_id: () ->\r
-    @get('id') || '0'\r
-  \r
-  tag_element_type: () ->\r
-    @constructor.element_name()\r
-  \r
-  tag_new_index: () ->\r
-    @new_index()\r
-  \r
-  path_name: (with_engine = false) ->\r
-    @constructor.path_name(with_engine)\r
-  \r
-  form_template: (with_engine = false) ->\r
-    @path_name(with_engine) + '/form'\r
-  \r
-  scenario_template: (with_engine = false) ->\r
-    @path_name(with_engine) + '/scenario'\r
-  \r
-  element_face_template: (with_engine = false) ->\r
-    @path_name(with_engine) + '/element_face'\r
-  \r
-  form_helper_template: (column_name) ->\r
-    c = @constructor.colum_structures()\r
-    if @has_helper(column_name)\r
-      c[colum_name]['helper']\r
-    else\r
-      ''\r
-  \r
-  tag_attributes: (column = null, opt = {}) ->\r
-    r = {\r
-      id: @field_tag_id(column), panel_id: @tag_panel_id(), \r
-      element_id: @tag_element_id(), element_type: @tag_element_type()\r
-    }\r
-    _.extend(r, opt)\r
-    r\r
-  \r
-  field_tag_attributes: (column, no_attr, opt = {}) ->\r
-    r = @tag_attributes(column)\r
-    _.extend(r, {column: column, new_index: @tag_new_index(), no_attr: no_attr})\r
-    _.extend(r, opt)\r
-    r\r
-  \r
-  #render element by body\r
-  any_tag_attributes: (name = null, opt = {}) ->\r
-    r = @tag_attributes(name)\r
-    if @new_index()\r
-       _.extend(r, {new_index: @tag_new_index()})\r
-    _.extend(r, opt)\r
-    r\r
-  \r
-  select_tag_attributes: (selected, column, no_attr) ->\r
-    [\r
-      'last', 'first', \r
-      {html: {selected: selected}}, \r
-      @field_tag_attributes(column, no_attr)\r
-    ]\r
-  \r
-  tag_attr: (column = null, opt = {}) ->\r
-    @tag_attributes(column, opt).to_attr\r
-  \r
-  field_tag_attr: (column, no_attr, opt = {}) ->\r
-    @field_tag_attributes(column, no_attr, opt).to_attr\r
-  \r
-  any_tag_attr: (name = null, opt = {}) ->\r
-    @any_tag_attributes(name, opt).to_attr\r
-\r
-@Element = Element\r
diff --git a/app/assets/javascripts/deprecated/item.js.coffee b/app/assets/javascripts/deprecated/item.js.coffee
deleted file mode 100644 (file)
index 130f241..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-class Item extends Backbone.Model\r
-  @singular: () ->\r
-    'Name'\r
-  \r
-  @plural: () ->\r
-    'Names'\r
-  \r
-  @class_name: () ->\r
-    @single()\r
-  \r
-  @item_name: () ->\r
-    @underscore(@single())\r
-  \r
-  @table_name: () ->\r
-    @underscore(@plural())\r
-  \r
-  @path_name: (with_engine = false) ->\r
-    @table_name()\r
-  \r
-  #>> https://gist.github.com/davidjbeveridge/3813724\r
-  @xeach: (arr, func, index=0) ->\r
-    if index < arr.length then [ func(arr[index], index), @xeach(arr, func, index + 1)... ] else []\r
-  \r
-  @camelize: (input) ->\r
-    pieces = input.split(/[\W_-]/)\r
-    @xeach(pieces, @capitalize).join("")\r
-  \r
-  @capitalize: (input) ->\r
-    input.charAt(0).toUpperCase() + input.slice(1)\r
-  \r
-  @lowercase: (input) ->\r
-    input.toLowerCase()\r
-   \r
-  @underscore: (input) ->\r
-    pieces = input.replace(/([A-Z])/g, '_$1').split(/[\W_-]/).filter (n) -> !!n\r
-    @xeach(pieces, @lowercase ).join("_")\r
-  # <<\r
-  @is_a_string: (str) ->\r
-    if (str instanceof String) or (typeof str == "string")\r
-      true\r
-    else\r
-      false\r
-  \r
-  has_picture: () ->\r
-    false\r
-  \r
-  has_helper: (column_name) ->\r
-    c = @constructor.colum_structures()\r
-    if c[column_name] and c[column_name]['helper']\r
-      true\r
-    else\r
-      false\r
-  \r
-  element_name: () ->\r
-    @constructor.element_name()\r
-  \r
-  extend_column: () ->\r
-    null\r
-  \r
-  extend_element_name: () ->\r
-    if @extend_column()\r
-      @get(@extend_column())\r
-    else\r
-      @element_name()\r
-  \r
-  find_configurations: (hash, key) ->\r
-    if @constructor.is_a_string(hash[key])\r
-      @find_configurations(hash, hash[key])\r
-    else\r
-      return hash[key]\r
-  \r
-  tag_id: (c = null) ->\r
-    'panel' + @tag_panel_id() + @tag_element_type() + @tag_element_id() + c\r
-  \r
-  field_tag_id: (f) ->\r
-    @tag_id() + f\r
-  \r
-  tag_panel_id: () ->\r
-    @get_panel().get('id') || '0'\r
-  \r
-  tag_element_id: () ->\r
-    @get('id') || '0'\r
-  \r
-  tag_element_type: () ->\r
-    @constructor.element_name()\r
-  \r
-  tag_new_index: () ->\r
-    @new_index()\r
-  \r
-  path_name: (with_engine = false) ->\r
-    @constructor.path_name(with_engine)\r
-  \r
-  form_template: (with_engine = false) ->\r
-    @path_name(with_engine) + '/form'\r
-  \r
-  form_helper_template: (column_name) ->\r
-    c = @constructor.colum_structures()\r
-    if @has_helper(column_name)\r
-      c[colum_name]['helper']\r
-    else\r
-      ''\r
-  \r
-  tag_attributes: (column = null, opt = {}) ->\r
-    r = {\r
-      id: @field_tag_id(column), panel_id: @tag_panel_id(), \r
-      element_id: @tag_element_id(), element_type: @tag_element_type()\r
-    }\r
-    _.extend(r, opt)\r
-    r\r
-  \r
-  field_tag_attributes: (column, no_attr, opt = {}) ->\r
-    r = @tag_attributes(column)\r
-    _.extend(r, {column: column, new_index: @tag_new_index(), no_attr: no_attr})\r
-    _.extend(r, opt)\r
-    r\r
-  \r
-  #render element by body\r
-  any_tag_attributes: (name = null, opt = {}) ->\r
-    r = @tag_attributes(name)\r
-    if @new_index()\r
-       _.extend(r, {new_index: @tag_new_index()})\r
-    _.extend(r, opt)\r
-    r\r
-  \r
-  select_tag_attributes: (selected, column, no_attr) ->\r
-    [\r
-      'last', 'first', \r
-      {html: {selected: selected}}, \r
-      @field_tag_attributes(column, no_attr)\r
-    ]\r
-  \r
-  tag_attr: (column = null, opt = {}) ->\r
-    @tag_attributes(column, opt).to_attr\r
-  \r
-  field_tag_attr: (column, no_attr, opt = {}) ->\r
-    @field_tag_attributes(column, no_attr, opt).to_attr\r
-  \r
-  any_tag_attr: (name = null, opt = {}) ->\r
-    @any_tag_attributes(name, opt).to_attr\r
-\r
-@Item = Item\r
index f3a0235..8d6ca66 100644 (file)
@@ -12,6 +12,12 @@ class LocalManifest
     @forms = LocalManifest.Form.load(this, @local_json, 'forms', LocalManifest.Form)\r
     @buckets = LocalManifest.Bucket.load(this, @local_json, 'buckets', LocalManifest.Bucket)\r
   \r
+  @manifest: () ->\r
+    @mani\r
+  \r
+  @set_manifest: (manifest) ->\r
+    @mani = manifest\r
+  \r
   constructor: (local_json) ->\r
     _module_names = []\r
     @local_json = local_json || {}\r
diff --git a/app/assets/javascripts/locmare/filer.js.coffee b/app/assets/javascripts/locmare/filer.js.coffee
new file mode 100644 (file)
index 0000000..e2a8a36
--- /dev/null
@@ -0,0 +1,43 @@
+class Locmare.Filer extends Backbone.View\r
+  tagName: 'div'\r
+  initialize: (options) ->\r
+    @item_name = options.item_name\r
+    @collection = options.collection\r
+    @list_result = options.list_result\r
+    @pager_type = options.pager_type\r
+    @operators = options.operators\r
+    @manifest = LocalManifest.manifest().filers[@item_name]\r
+    @template_dir = 'templates-filer-'\r
+    @header = new Locmare.FilerModule.Header({'filer': this})\r
+    @body = new Locmare.FilerModule.Body({'filer': this})\r
+    #@init_pager\r
+  \r
+  render: () ->\r
+    template = _.template($("#" + @template_name()).html())\r
+    this.$el.html(template({'filer': this}))\r
+    this\r
+  \r
+  init_pager: () ->\r
+    @pager = self.class.pager[@pager_type].new self\r
+  \r
+  @pager: () ->\r
+    {'none': NonePager, 'default': DefaultPager, 'more': MorePager}\r
+  \r
+  model: () ->\r
+    Manifest.item_name_to_model @item_name\r
+  \r
+  # switch body class for dialog\r
+  mybody: () ->\r
+    Locmare.FilerModule.Body\r
+  \r
+  template_file_name: () ->\r
+    "filer"\r
+  \r
+  template_name: () ->\r
+    @template_dir + @template_file_name()\r
+  \r
+  image_dir: () ->\r
+    '/images/'\r
+  \r
+class Locmare.FilerModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body.js.coffee b/app/assets/javascripts/locmare/filer/body.js.coffee
new file mode 100644 (file)
index 0000000..c2b90cd
--- /dev/null
@@ -0,0 +1,43 @@
+class Locmare.FilerModule.Body extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @filer = options.filer\r
+    @file_header = new Locmare.FilerModule.BodyModule.FileHeader({'body': this})\r
+    @file_body = new Locmare.FilerModule.BodyModule.FileBody({'body': this})\r
+  \r
+  render: () ->\r
+    args = {'header': this, 'body': this}\r
+    template = _.template($("#" + @template_name()).html())\r
+    this.$el.html(template(args))\r
+    this\r
+  \r
+  file_header_class: () ->\r
+    Locmare.FilerModule.BodyModule.FileHeader\r
\r
+  file_body_class: () ->\r
+    Locmare.FilerModule.BodyModule.FileBody\r
\r
+  manifest: () ->\r
+    @filer.manifest\r
\r
+  item_name: () ->\r
+    @filer.item_name\r
\r
+  model: () ->\r
+    @filer.model()\r
\r
+  items: () ->\r
+    @filer.items\r
\r
+  template_dir: () ->\r
+    @filer.template_dir\r
\r
+  template_file_name: () ->\r
+    "body"\r
\r
+  template_name: () ->\r
+    @template_dir() + @template_file_name()\r
+  \r
+class Locmare.FilerModule.BodyModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body.js.coffee
new file mode 100644 (file)
index 0000000..e54d2fa
--- /dev/null
@@ -0,0 +1,45 @@
+class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @body = options.body\r
+    _this = this\r
+    @file_items = @collection().fetch({}).done(() -> _this.render())\r
+  \r
+  render: () ->\r
+    _this = this\r
+    _.each @collection(), (item) ->\r
+      file_item = new _this.file_item_class()({'file_body': _this, 'item ':item})\r
+      args = {'file_body': _this}\r
+      template = _.template($("#" + file_item.template_name()).html())\r
+      _this.$el.append(template(args))\r
+    this\r
+  \r
+  file_item_class: () ->\r
+    Locmare.FilerModule.BodyModule.FileBodyModule.FileItem\r
+  \r
+  filer: () ->\r
+    @body.filer\r
+  \r
+  manifest: () ->\r
+    @filer().manifest\r
+  \r
+  item_name: () ->\r
+    @filer().item_name\r
+  \r
+  model: () ->\r
+    @filer().model\r
+  \r
+  collection: () ->\r
+    @filer().collection\r
+  \r
+  template_dir: () ->\r
+    @filer().template_dir\r
+  \r
+  template_file_name: () ->\r
+    "file_body"\r
+  \r
+  template_name: () ->\r
+    @template_dir() + @template_file_name()\r
+  \r
+class Locmare.FilerModule.BodyModule.FileBodyModule\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item.js.coffee
new file mode 100644 (file)
index 0000000..826c0e7
--- /dev/null
@@ -0,0 +1,47 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItem extends Backbone.View\r
+  tagName: 'li'\r
+  id: ""\r
+  class: "filer-item filer-item-<%= file_item.item_name -%>"\r
+  \r
+  initialize: (options) ->\r
+    @file_body = options.file_body\r
+    @item = options.item\r
+    @symbol = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnFactory.factory this, @manifest().symbol, @item\r
+    @caption = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnFactory.factory this, @manifest().caption, @item\r
+    @summary = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnFactory.factory this, @manifest().manifest.summary, @item\r
+    @icon = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnFactory.factory this, @manifest().icon, @item\r
+    @date = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnFactory.factory this, @manifest().date, @item\r
+    @edit = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnFactory.factory this, @manifest().edit, @item\r
+  \r
+  render: () ->\r
+    args = {'header': this}\r
+    template = _.template($("#" + @template_name()).html())\r
+    this.$el.html(template(args))\r
+    this\r
+  \r
+  filer: () ->\r
+    @file_body.filer()\r
+  \r
+  manifest: () ->\r
+    @filer().manifest\r
+  \r
+  item_name: () ->\r
+    @filer().item_name\r
+  \r
+  model: () ->\r
+    @filer().model\r
+  \r
+  items: () ->\r
+    @filer().items\r
+  \r
+  template_dir: () ->\r
+    @filer().template_dir\r
+  \r
+  template_file_name: () ->\r
+    "file_item"\r
+  \r
+  template_name: () ->\r
+    @template_dir() + @template_file_name()\r
+  \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption.js.coffee
new file mode 100644 (file)
index 0000000..3f8154b
--- /dev/null
@@ -0,0 +1,20 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnFactory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Default, \r
+      'template': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Template, \r
+      'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.None\r
+    }\r
+  \r
+  @factory: (file_item, my_manifest, item) ->\r
+    type = my_manifest.type\r
+    if not type\r
+      alert_message "undefined type", "local view filers > #{file_item.item_name} > caption > default > face\n"\r
+    my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnFactory.types()[type]\r
+    if not my_class\r
+      alert_message "undefined class", "local view filers > #{file_item.item_name} > caption > default > face > #{type}\n"\r
+    new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item})\r
+  \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/base.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/base.js.coffee
new file mode 100644 (file)
index 0000000..a4165c7
--- /dev/null
@@ -0,0 +1,36 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Base extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @file_item = options.file_item\r
+    @date_manifest = options.my_manifest\r
+    @item = options.item\r
+    @column_name = 'caption'\r
+  \r
+  filer: () ->\r
+    @file_item.filer()\r
+  \r
+  manifest: () ->\r
+    @filer().manifest\r
+  \r
+  item_name: () ->\r
+    @filer().item_name\r
+  \r
+  column_template_dir: () ->\r
+    @filer().template_dir() + 'item_column-'\r
+  \r
+  column_template_file_name: () ->\r
+    raise "undefined column_template_file_name\n"\r
+  \r
+  column_template_name: () ->\r
+    @column_template_dir() + @column_template_file_name()\r
+  \r
+  item_template_dir: () ->\r
+    @filer().template_dir() + 'caption-'\r
+  \r
+  item_template_file_name: () ->\r
+    raise "undefined item_template_file_name\n"\r
+  \r
+  item_template_name: () ->\r
+    @item_template_dir() + @item_template_file_name()\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default.js.coffee
new file mode 100644 (file)
index 0000000..906c971
--- /dev/null
@@ -0,0 +1,18 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Default extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Base\r
+  \r
+  initialize: (options) ->\r
+    super(options)\r
+    @face = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceFactory.factory this, @my_manifest.face, @item\r
+    @link = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkFactory.factory this, @my_manifest.link, @item\r
+  \r
+  column_template_file_name: () ->\r
+    'show'\r
+  \r
+  item_template_file_name: () ->\r
+    if @my_manifest.link.type() == 'none'\r
+      'default_without_link'\r
+    else\r
+      'default'\r
+  \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face.js.coffee
new file mode 100644 (file)
index 0000000..23128cf
--- /dev/null
@@ -0,0 +1,20 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceFactory\r
+  \r
+  @types: () ->\r
+    {\r
+      'column': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.ColumnFace, \r
+      'method': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.MethodFace, \r
+      'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.NoneFace\r
+    }\r
+  \r
+  @factory: (file_item, my_manifest, item) ->\r
+    type = my_manifest.type\r
+    if not type\r
+      alert_message "undefined type for local view filers > #{file_item.item_name} > caption > face\n"\r
+    my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceFactory.types()[type]\r
+    if not my_class\r
+      alert_message "undefined class for local view filers > #{file_item.item_name} > caption > face > #{type}\n"\r
+    new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item})\r
+  \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/base.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/base.js.coffee
new file mode 100644 (file)
index 0000000..19bedfb
--- /dev/null
@@ -0,0 +1,27 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.BaseFace extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @file_item = options.file_item\r
+    @default_caption = options.my_manifest\r
+    @item = options.item\r
+  \r
+  filer: () ->\r
+    @default_caption.filer()\r
+  \r
+  manifest: () ->\r
+    @filer().manifest\r
+  \r
+  item_name: () ->\r
+    @filer().item_name\r
+  \r
+  template_dir: () ->\r
+    @filer().template_dir + "caption_face-"\r
+  \r
+  template_file_name: () ->\r
+    raise "undefined template_file_name\n"\r
+  \r
+  template_name: () ->\r
+    @template_dir() + @template_file_name()\r
+  \r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/column.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/column.js.coffee
new file mode 100644 (file)
index 0000000..6effeae
--- /dev/null
@@ -0,0 +1,11 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.ColumnFace extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.BaseFace\r
+  \r
+  template_file_name: () ->\r
+    if @face.is_blank()\r
+      'empty'\r
+    else\r
+      'column'\r
+  \r
+  face: () ->\r
+    @item.get(@my_manifest.column_name())\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/method.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/method.js.coffee
new file mode 100644 (file)
index 0000000..1de23d9
--- /dev/null
@@ -0,0 +1,11 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.MethodFace extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.BaseFace\r
+  \r
+  @template_file_name: () ->\r
+    if @face.is_blank()\r
+      'empty'\r
+    else\r
+      'column'\r
+  \r
+  face: () ->\r
+    @item[@face_manifest.method_name()]()\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/none.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/none.js.coffee
new file mode 100644 (file)
index 0000000..ae72d84
--- /dev/null
@@ -0,0 +1,5 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.NoneFace extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.BaseFace\r
+  \r
+  template_file_name: () ->\r
+    'none'\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link.js.coffee
new file mode 100644 (file)
index 0000000..714b061
--- /dev/null
@@ -0,0 +1,21 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkFactory\r
+  \r
+  @types: () ->\r
+    {\r
+      'action': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.ActionLink, \r
+      'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.NoneLink, \r
+      'url_column': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.UrlColumnLink\r
+    }\r
+  \r
+  @factory: (file_item, my_manifest, item) ->\r
+    type = my_manifest.type\r
+    if not type\r
+      alert_message "undefined type for local view filers > #{file_item.item_name} > caption > link\n"\r
+    my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkFactory.types()[type]\r
+    if not my_class\r
+      alert_message "undefined class for local view filers > #{file_item.item_name} > caption > link > #{type}\n"\r
+    new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item})\r
+  \r
+    \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/action.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/action.js.coffee
new file mode 100644 (file)
index 0000000..fc35293
--- /dev/null
@@ -0,0 +1,5 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.ActionLink extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  url: () ->\r
+    @my_manifest.action_path() + @item.get('id').toString()\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/base.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/base.js.coffee
new file mode 100644 (file)
index 0000000..a2e8e75
--- /dev/null
@@ -0,0 +1,11 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.BaseLink extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @file_item = options.file_item\r
+    @default_caption = options.my_manifest\r
+    @item = options.item\r
+  \r
+  url: () ->\r
+    raise "undefined url\n"\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/none.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/none.js.coffee
new file mode 100644 (file)
index 0000000..12a5a22
--- /dev/null
@@ -0,0 +1,5 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.NoneLink extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  url: () ->\r
+    null\r
+    \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/url_column.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/url_column.js.coffee
new file mode 100644 (file)
index 0000000..24631e5
--- /dev/null
@@ -0,0 +1,5 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.UrlColumnLink extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  url: () ->\r
+    @item.get(@my_manifest.column_name())\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/none.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/none.js.coffee
new file mode 100644 (file)
index 0000000..80340b1
--- /dev/null
@@ -0,0 +1,5 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.None extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Base\r
+  \r
+  column_template_file_name: () ->\r
+    'none'\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/template.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/template.js.coffee
new file mode 100644 (file)
index 0000000..bcda9c7
--- /dev/null
@@ -0,0 +1,4 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Template extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Base\r
+  \r
+  template_file_name: () ->\r
+    @my_manifest.template_name()\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/date.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/date.js.coffee
new file mode 100644 (file)
index 0000000..448923d
--- /dev/null
@@ -0,0 +1,19 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnFactory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.Default, \r
+      'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.None\r
+    }\r
+  \r
+  @factory: (file_item, my_manifest, item) ->\r
+    type = my_manifest.type\r
+    if not type\r
+      alert_message "undefined type", "local view filers > #{file_item.item_name} > date\n"\r
+    my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnFactory.types()[type]\r
+    if not my_class\r
+      alert_message "undefined class", "local view filers > #{file_item.item_name} > date > #{type}\n"\r
+    new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item})\r
+  \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/date/base.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/date/base.js.coffee
new file mode 100644 (file)
index 0000000..0db33a3
--- /dev/null
@@ -0,0 +1,36 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.Base extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @file_item = options.file_item\r
+    @date_manifest = options.my_manifest\r
+    @item = options.item\r
+    @column_name = 'date'\r
+  \r
+  filer: () ->\r
+    @file_item.filer()\r
+  \r
+  manifest: () ->\r
+    @filer.manifest\r
+  \r
+  item_name: () ->\r
+    @filer.item_name\r
+  \r
+  column_template_dir: () ->\r
+    @filer.template_dir + 'item_column-'\r
+  \r
+  column_template_file_name: () ->\r
+    raise "undefined column_template_file_name\n"\r
+  \r
+  column_template_name: () ->\r
+    @column_template_dir() + @column_template_file_name()\r
+  \r
+  item_template_dir: () ->\r
+    @filer.template_dir + 'date-'\r
+  \r
+  item_template_file_name: () ->\r
+    raise "undefined item_template_file_name\n"\r
+  \r
+  item_template_name: () ->\r
+    @item_template_dir() + @item_template_file_name()\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/date/default.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/date/default.js.coffee
new file mode 100644 (file)
index 0000000..b8972d0
--- /dev/null
@@ -0,0 +1,8 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.Default extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.Base\r
+  \r
+  column_template_file_name: () ->\r
+    'show'\r
+  \r
+  item_template_file_name: () ->\r
+    'default'\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/date/none.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/date/none.js.coffee
new file mode 100644 (file)
index 0000000..15a3789
--- /dev/null
@@ -0,0 +1,5 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.None extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.Base\r
+  \r
+  column_template_file_name: () ->\r
+    'none'\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit.js.coffee
new file mode 100644 (file)
index 0000000..b39b162
--- /dev/null
@@ -0,0 +1,21 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnFactory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Default, \r
+      'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.None, \r
+      'account': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Account, \r
+      'template': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Template\r
+    }\r
+  \r
+  @factory: (file_item, my_manifest, item) ->\r
+    type = my_manifest.type\r
+    if not type\r
+      alert_message "undefined type","local view filers > #{file_item.item_name} > edit\n"\r
+    my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnFactory.types()[type]\r
+    if not my_class\r
+      alert_message "undefined class", "local view filers > #{file_item.item_name} > edit > #{type}\n"\r
+    new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item})\r
+  \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/account.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/account.js.coffee
new file mode 100644 (file)
index 0000000..fc5e555
--- /dev/null
@@ -0,0 +1,23 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Account extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Base\r
+  \r
+  column_template_file_name: () ->\r
+    'show'\r
+  \r
+  item_template_file_name: () ->\r
+    if @item.is_own(@filer().operators)\r
+      'account'\r
+    else\r
+      'none'\r
+   \r
+  edit_img_file_name: () ->\r
+    @image_dir() + 'edit.png'\r
+   \r
+  img_opt: () ->\r
+    {\r
+      'width': Manifest.manifest.magic_numbers['thumbnail_width'] / 2, \r
+      'height': Manifest.manifest.magic_numbers['thumbnail_height'] / 2\r
+    }\r
+  \r
+  edit_img_opt: () ->\r
+    _.extend(@img_opt(), {'src': @edit_img_file_name()})\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/base.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/base.js.coffee
new file mode 100644 (file)
index 0000000..43ebcd8
--- /dev/null
@@ -0,0 +1,39 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Base extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @file_item = options.file_item\r
+    @date_manifest = options.my_manifest\r
+    @item = options.item\r
+    @column_name = 'edit'\r
+  \r
+  filer: () ->\r
+    @file_item.filer()\r
+  \r
+  manifest: () ->\r
+    @filer().manifest\r
+  \r
+  item_name: () ->\r
+    @filer().item_name\r
+  \r
+  image_dir: () ->\r
+    @filer().image_dir\r
+  \r
+  column_template_dir: () ->\r
+    @filer().template_dir + 'item_column/'\r
+  \r
+  column_template_file_name: () ->\r
+    raise "undefined column_template_file_name\n"\r
+  \r
+  column_template_name: () ->\r
+    @column_template_dir() + @column_template_file_name()\r
+  \r
+  item_template_dir: () ->\r
+    @filer().template_dir + 'edit/'\r
+  \r
+  item_template_file_name: () ->\r
+    raise "undefined item_template_file_name\n"\r
+  \r
+  item_template_name: () ->\r
+    @item_template_dir() + @item_template_file_name()\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/default.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/default.js.coffee
new file mode 100644 (file)
index 0000000..b837813
--- /dev/null
@@ -0,0 +1,29 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Default extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Base\r
+  \r
+  column_template_file_name: () ->\r
+    'show'\r
+  \r
+  item_template_file_name: () ->\r
+    if @item.is_own(@filer().operators)\r
+      'default'\r
+    else\r
+      'none'\r
+   \r
+  edit_img_file_name: () ->\r
+    @image_dir() + 'edit.png'\r
+  \r
+  remove_img_file_name: () ->\r
+    @image_dir() + 'remove.png'\r
+  \r
+  img_opt: () ->\r
+    {\r
+      'width': Manifest.manifest().magic_numbers['thumbnail_width'] / 2, \r
+      'height': Manifest.manifest().magic_numbers['thumbnail_height'] / 2\r
+    }\r
+  \r
+  edit_img_opt: () ->\r
+    _.extend(@img_opt(), {'src': @edit_img_file_name()})\r
+  \r
+  remove_img_opt: () ->\r
+    _.extend(@img_opt(), {'src': @remove_img_file_name()})\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/none.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/none.js.coffee
new file mode 100644 (file)
index 0000000..f6be2f8
--- /dev/null
@@ -0,0 +1,5 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.None extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Base\r
+  \r
+  column_template_file_name: () ->\r
+    'none'\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/template.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/template.js.coffee
new file mode 100644 (file)
index 0000000..4764054
--- /dev/null
@@ -0,0 +1,17 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Template extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Base\r
+  \r
+  column_template_file_name: () ->\r
+    'show'\r
+  \r
+  item_template_file_name: () ->\r
+    'template'\r
+  \r
+  template_dir: () ->\r
+    @item.path_name() + '/'\r
+  \r
+  template_file_name: () ->\r
+    @my_manifest.template_name()\r
+  \r
+  template_name: () ->\r
+    @template_dir() + @template_file_name()\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon.js.coffee
new file mode 100644 (file)
index 0000000..2f821f9
--- /dev/null
@@ -0,0 +1,19 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnFactory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.Default, \r
+      'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.None\r
+    }\r
+  \r
+  @factory: (file_item, my_manifest, item) ->\r
+    type = my_manifest.type\r
+    if not type\r
+      alert_message "undefined type", "local view filers > #{file_item.item_name} > icon\n"\r
+    my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnFactory.types()[type]\r
+    if not my_class\r
+      alert_message "undefined class", "local view filers > #{file_item.item_name} > icon > #{type}\n"\r
+    new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item})\r
+  \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/base.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/base.js.coffee
new file mode 100644 (file)
index 0000000..e4207e5
--- /dev/null
@@ -0,0 +1,36 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.Base extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @file_item = options.file_item\r
+    @date_manifest = options.my_manifest\r
+    @item = options.item\r
+    @column_name = 'icon'\r
+  \r
+  filer: () ->\r
+    @file_item.filer()\r
+  \r
+  manifest: () ->\r
+    @filer().manifest\r
+  \r
+  item_name: () ->\r
+    @filer().item_name\r
+  \r
+  column_template_dir: () ->\r
+    @filer().template_dir() + 'item_column-'\r
+  \r
+  column_template_file_name: () ->\r
+    raise "undefined column_template_file_name\n"\r
+  \r
+  column_template_name: () ->\r
+    @column_template_dir() + @column_template_file_name()\r
+  \r
+  item_template_dir: () ->\r
+    @filer().template_dir() + 'icon-'\r
+  \r
+  item_template_file_name: () ->\r
+    raise "undefined item_template_file_name\n"\r
+  \r
+  item_template_name: () ->\r
+    @item_template_dir() + @item_template_file_name()\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/default.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/default.js.coffee
new file mode 100644 (file)
index 0000000..6a1a0bd
--- /dev/null
@@ -0,0 +1,14 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.Default extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.Base\r
+  \r
+  column_template_file_name: () ->\r
+    'show'\r
+  \r
+  item_template_file_name: () ->\r
+    'default'\r
+  \r
+  icon_file_name: () ->\r
+    '/images/prof.gif'\r
+   \r
+  icon_size: () ->\r
+    Manifest.manifest().magic_numbers['thumbnail_width']\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/none.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/none.js.coffee
new file mode 100644 (file)
index 0000000..c36869a
--- /dev/null
@@ -0,0 +1,5 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.None extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.Base\r
+  \r
+  column_template_file_name: () ->\r
+    'none'\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary.js.coffee
new file mode 100644 (file)
index 0000000..a3b5d10
--- /dev/null
@@ -0,0 +1,19 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnFactory\r
+  \r
+  @types: () ->\r
+    {\r
+      'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.None, \r
+      'template': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.Template\r
+    }\r
+  \r
+  @factory: (file_item, my_manifest, item) ->\r
+    type = my_manifest.type\r
+    if not type\r
+      alert_message "undefined type", "local view filers > #{file_item.item_name} > summary\n"\r
+    my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.types()[type]\r
+    if not my_class\r
+      alert_message "undefined class", "local view filers > #{file_item.item_name} > summary > #{type}\n"\r
+    new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item})\r
+  \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/base.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/base.js.coffee
new file mode 100644 (file)
index 0000000..cf91ad9
--- /dev/null
@@ -0,0 +1,36 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.Base extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @file_item = options.file_item\r
+    @date_manifest = options.my_manifest\r
+    @item = options.item\r
+    @column_name = 'summary'\r
+  \r
+  filer: () ->\r
+    @file_item.filer()\r
+  \r
+  manifest: () ->\r
+    @filer().manifest\r
+  \r
+  item_name: () ->\r
+    @filer().item_name\r
+  \r
+  column_template_dir: () ->\r
+    @filer().template_dir() + 'item_column-'\r
+  \r
+  column_template_file_name: () ->\r
+    raise "undefined column_template_file_name\n"\r
+  \r
+  column_template_name: () ->\r
+    @column_template_dir() + @column_template_file_name()\r
+  \r
+  item_template_dir: () ->\r
+    @filer().template_dir + 'summary-'\r
+  \r
+  item_template_file_name: () ->\r
+    raise "undefined item_template_file_name\n"\r
+  \r
+  item_template_name: () ->\r
+    @item_template_dir() + @item_template_file_name()\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/none.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/none.js.coffee
new file mode 100644 (file)
index 0000000..5aaba75
--- /dev/null
@@ -0,0 +1,5 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.None extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.Base\r
+  \r
+  column_template_file_name: () ->\r
+    "none"\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/template.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/template.js.coffee
new file mode 100644 (file)
index 0000000..cf2fede
--- /dev/null
@@ -0,0 +1,17 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.Template extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.Base\r
+  \r
+  column_template_file_name: () ->\r
+    'show'\r
+  \r
+  item_template_file_name: () ->\r
+    'template'\r
+  \r
+  template_dir: () ->\r
+    @item.path_name() + '-'\r
+  \r
+  template_file_name: () ->\r
+    @my_manifest.template_name()\r
+  \r
+  template_name: () ->\r
+    @template_dir() + @template_file_name()\r
\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol.js.coffee
new file mode 100644 (file)
index 0000000..4643e20
--- /dev/null
@@ -0,0 +1,19 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnFactory\r
+  \r
+  @types: () ->\r
+    {\r
+      'default': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.Default, \r
+      'template': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.Template\r
+    }\r
+  \r
+  @factory: (file_item, my_manifest, item) ->\r
+    type = my_manifest.type\r
+    if not type\r
+      alert_message "undefined type", "local view filers > #{file_item.item_name} > symbol\n"\r
+    my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnFactory.types()[type]\r
+    if not my_class\r
+      alert_message "undefined class", "local view filers > #{file_item.item_name} > symbol > #{type}\n"\r
+    new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item})\r
+  \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/base.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/base.js.coffee
new file mode 100644 (file)
index 0000000..653b863
--- /dev/null
@@ -0,0 +1,17 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.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/locmare/filer/body/file_body/file_item/symbol/default.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default.js.coffee
new file mode 100644 (file)
index 0000000..4228c40
--- /dev/null
@@ -0,0 +1,16 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.Default extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.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', Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.FaceFactory\r
+    @link = ManifestBase.load_type_args this, @args, 'link', Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkFactory\r
+  \r
+  is_visible: () ->\r
+    true\r
+\r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face.js.coffee
new file mode 100644 (file)
index 0000000..a986480
--- /dev/null
@@ -0,0 +1,13 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.FaceFactory\r
+  \r
+  @types: () ->\r
+    {\r
+      'image': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.FaceModule.ImageFace, \r
+      'picture': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.FaceModule.PictureFace\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'image'\r
+    \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.FaceModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/base.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/base.js.coffee
new file mode 100644 (file)
index 0000000..72f81a0
--- /dev/null
@@ -0,0 +1,26 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.BaseFace extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @file_item = options.file_item\r
+    @default_symbol = options.my_manifest\r
+    @item = options.item\r
+  \r
+  filer: () ->\r
+    @default_symbol.filer\r
+  \r
+  manifest: () ->\r
+    @filer().manifest\r
+  \r
+  item_name: () ->\r
+    @filer().item_name\r
+  \r
+  template_dir: () ->\r
+    @filer().template_dir + "symbol_face-"\r
+  \r
+  template_file_name: () ->\r
+    raise "undefined template_file_name\n"\r
+  \r
+  template_name: () ->\r
+    @template_dir() + @template_file_name()\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/image.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/image.js.coffee
new file mode 100644 (file)
index 0000000..234dc5c
--- /dev/null
@@ -0,0 +1,11 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.ImageFace extends LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.BaseFace\r
+  \r
+  template_file_name: () ->\r
+    'image'\r
+  \r
+  url: () ->\r
+    @face_manifest.url\r
+  \r
+  tag_opt: () ->\r
+    {'src': @url(), 'width': Manifest.manifest().magic_numbers['thumbnail_width'], 'height': Manifest.manifest().magic_numbers['thumbnail_height']}\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/picture.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/picture.js.coffee
new file mode 100644 (file)
index 0000000..181015f
--- /dev/null
@@ -0,0 +1,15 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.PictureFace extends LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.BaseFace\r
+  \r
+  template_file_name: () ->\r
+    'picture'\r
+  \r
+  method_name: () ->\r
+    @face_manifest.method_name()\r
+  \r
+  tag_opt: () ->\r
+    if @item.methods(true).is_include(@method_name())\r
+      @item[@method_name()]()\r
+    else\r
+      {'src': '/images/error.png', 'width': Manifest.manifest().magic_numbers['thumbnail_width'], 'height': Manifest.manifest().magic_numbers['thumbnail_height']}\r
+  \r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link.js.coffee
new file mode 100644 (file)
index 0000000..df9ec75
--- /dev/null
@@ -0,0 +1,14 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkFactory\r
+  \r
+  @types: () ->\r
+    {\r
+      'action': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkModule.ActionLink, \r
+      'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkModule.NoneLink, \r
+      'url_column': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkModule.UrlColumnLink\r
+    }\r
+  \r
+  @default_type: () ->\r
+    'action'\r
+    \r
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/action.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/action.js.coffee
new file mode 100644 (file)
index 0000000..c6cb976
--- /dev/null
@@ -0,0 +1,6 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.ActionLink extends LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  url: () ->\r
+    @link_manifest.action_path() + @item.get('id').toString()\r
+  \r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/base.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/base.js.coffee
new file mode 100644 (file)
index 0000000..c6d1fe1
--- /dev/null
@@ -0,0 +1,12 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @file_item = options.file_item\r
+    @default_symbol = options.my_manifest\r
+    @item = options.item\r
+  \r
+  url: () ->\r
+    raise "undefined url\n"\r
+  \r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/none.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/none.js.coffee
new file mode 100644 (file)
index 0000000..f403e74
--- /dev/null
@@ -0,0 +1,5 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.NoneLink extends LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  url: () ->\r
+    null\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/url_column.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/url_column.js.coffee
new file mode 100644 (file)
index 0000000..a014c4f
--- /dev/null
@@ -0,0 +1,5 @@
+class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.UrlColumnLink extends LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink\r
+  \r
+  url: () ->\r
+    @item.get(@link_manifest.column_name())\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/template.js.coffee b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/template.js.coffee
new file mode 100644 (file)
index 0000000..60215b9
--- /dev/null
@@ -0,0 +1,13 @@
+class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.Template extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.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/locmare/filer/body/file_header.js.coffee b/app/assets/javascripts/locmare/filer/body/file_header.js.coffee
new file mode 100644 (file)
index 0000000..6007bde
--- /dev/null
@@ -0,0 +1,70 @@
+class Locmare.FilerModule.BodyModule.FileHeader extends Backbone.View\r
+  tagName: 'li'\r
+  id: ''\r
+  class: 'filer-head filer-head- file_header.item_name'\r
+  \r
+  initialize: (options) ->\r
+    @body = options.body\r
+    c = if @manifest().symbol.is_visible()\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.Show\r
+    else\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.None\r
+    @symbol = new c({'file_header': this, 'column_name': 'symbol'})\r
+    c = if @manifest().caption.is_visible()\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.Show\r
+    else\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.None\r
+    @caption = new c({'file_header': this, 'column_name': 'caption'})\r
+    c = if @manifest().summary.is_visible()\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.Show\r
+    else\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.None\r
+    @summary = new c({'file_header': this, 'column_name': 'summary'})\r
+    c = if @manifest().icon.is_visible()\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.Show\r
+    else\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.None\r
+    @icon = new c({'file_header': this, 'column_name': 'icon'})\r
+    c = if @manifest().date.is_visible()\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.Show\r
+    else\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.None\r
+    @date = new c({'file_header': this, 'column_name': 'date'})\r
+    c = if @manifest().edit.is_visible()\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.Show\r
+    else\r
+      Locmare.FilerModule.BodyModule.FileHeaderModule.None\r
+    @edit = new c({'file_header': this, 'column_name': 'edit'})\r
+  \r
+  render: () ->\r
+    args = {'file_header': this}\r
+    template = _.template($("#" + @template_name()).html())\r
+    this.$el.html(template(args))\r
+    this\r
+  \r
+  filer: () ->\r
+    @body.filer\r
+  \r
+  manifest: () ->\r
+    @filer().manifest\r
+  \r
+  item_name: () ->\r
+    @filer().item_name\r
+  \r
+  model: () ->\r
+    @filer.model()\r
+  \r
+  items: () ->\r
+    @filer.items\r
+  \r
+  template_dir: () ->\r
+    @body.template_dir()\r
+  \r
+  template_file_name: () ->\r
+    "file_header"\r
+  \r
+  template_name: () ->\r
+    @template_dir() + @template_file_name()\r
+  \r
+class Locmare.FilerModule.BodyModule.FileHeaderModule\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/body/file_header/base.js.coffee b/app/assets/javascripts/locmare/filer/body/file_header/base.js.coffee
new file mode 100644 (file)
index 0000000..0bf8133
--- /dev/null
@@ -0,0 +1,36 @@
+class Locmare.FilerModule.BodyModule.FileHeaderModule.Base extends Backbone.View\r
+  \r
+  initialize: (options) ->\r
+    @file_header = options.file_header\r
+    @column_name = options.column_name\r
+  \r
+  render: () ->\r
+    args = {'header_column': this}\r
+    template = _.template($("#" + @template_name()).html())\r
+    this.$el.html(template(args))\r
+    this\r
+  \r
+  filer: () ->\r
+    @file_header.filer()\r
+  \r
+  manifest: () ->\r
+    @filer().manifest\r
+  \r
+  item_name: () ->\r
+    @filer().item_name\r
+  \r
+  model: () ->\r
+    @filer().model()\r
+  \r
+  items: () ->\r
+    @filer().items\r
+  \r
+  template_dir: () ->\r
+    @filer().template_dir + 'header_column-'\r
+  \r
+  template_file_name: () ->\r
+    "show"\r
+  \r
+  template_name: () ->\r
+    @template_dir() + @template_file_name()\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_header/none.js.coffee b/app/assets/javascripts/locmare/filer/body/file_header/none.js.coffee
new file mode 100644 (file)
index 0000000..ce1c943
--- /dev/null
@@ -0,0 +1,8 @@
+class Locmare.FilerModule.BodyModule.FileHeaderModule.None extends Locmare.FilerModule.BodyModule.FileHeaderModule.Base\r
+  \r
+  render: () ->\r
+    this\r
+  \r
+  template_file_name: () ->\r
+    "none"\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/body/file_header/show.js.coffee b/app/assets/javascripts/locmare/filer/body/file_header/show.js.coffee
new file mode 100644 (file)
index 0000000..9c9000e
--- /dev/null
@@ -0,0 +1,8 @@
+class Locmare.FilerModule.BodyModule.FileHeaderModule.Show extends Locmare.FilerModule.BodyModule.FileHeaderModule.Base\r
+  tagName: 'li'\r
+  id: ''\r
+  class: 'filer-head filer-head- file_header.item_name'\r
+  \r
+  template_file_name: () ->\r
+    "show"\r
+\r
diff --git a/app/assets/javascripts/locmare/filer/header.js.coffee b/app/assets/javascripts/locmare/filer/header.js.coffee
new file mode 100644 (file)
index 0000000..01a6aa5
--- /dev/null
@@ -0,0 +1,33 @@
+class Locmare.FilerModule.Header extends Backbone.View\r
+  tagName: 'div'\r
+  \r
+  initialize: (options) ->\r
+    @filer = options.filer\r
+  \r
+  render: () ->\r
+    args = {'header': this}\r
+    template = _.template($("#" + @template_name()).html())\r
+    this.$el.html(template(args))\r
+    this\r
+  \r
+  model: () ->\r
+    @filer.model()\r
+  \r
+  icon_name: () ->\r
+    @model().singular()\r
+  \r
+  icon_size: () ->\r
+    Manifest.manifest().magic_numbers['thumbnail_width'] / 2\r
+  \r
+  human_name: () ->\r
+    @model.model_name.human\r
+  \r
+  template_dir: () ->\r
+    @filer.template_dir\r
+  \r
+  template_file_name: () ->\r
+    "header"\r
+  \r
+  template_name: () ->\r
+    @template_dir() + @template_file_name()\r
+  \r
diff --git a/app/assets/javascripts/locmare/filer/pager.js.coffee b/app/assets/javascripts/locmare/filer/pager.js.coffee
new file mode 100644 (file)
index 0000000..70bd301
--- /dev/null
@@ -0,0 +1,84 @@
+class Locmare.FilerModule.Pager\r
+  \r
+      def initialize filer\r
+        @filer = filer\r
+      end\r
+      \r
+      def list_result\r
+        @filer.list_result\r
+      end\r
+      \r
+      def api_path\r
+        list_result.path\r
+      end\r
+      \r
+      def template_dir\r
+        @filer.template_dir + "pager/"\r
+      end\r
+      \r
+      def template_name\r
+        self.template_dir + self.template_file_name\r
+      end\r
+      \r
+    end\r
+    \r
+    class NonePager < Pager\r
+      def template_file_name\r
+        "none"\r
+      end\r
+      \r
+    end\r
+    \r
+    class DefaultPager < Pager\r
+      def template_file_name\r
+        "default"\r
+      end\r
+      \r
+      def paginate\r
+        list_result.paginate\r
+      end\r
+      \r
+    end\r
+    \r
+    class MorePager < Pager\r
+      def template_file_name\r
+        "more"\r
+      end\r
+      \r
+    end\r
+   init_pager: () ->\r
+    @pager = self.class.pager[@pager_type].new self\r
+  \r
+  @pager: () ->\r
+    {'none' => NonePager, 'default' => DefaultPager, 'more' => MorePager}\r
+  \r
+  model: () ->\r
+    Manifest.item_name_to_model @item_name\r
+  \r
+  # switch body class for dialog\r
+  mybody: () ->\r
+    Body\r
+  \r
+  template_file_name: () ->\r
+    "filer"\r
+  \r
+  template_name: () ->\r
+    @template_dir + @template_file_name\r
+  \r
+  image_dir: () ->\r
+    '/images/'\r
+  \r
+  constructor: (@item_name, @items, @list_result, @pager_type, @operators) ->\r
+    @manifest = LocalManifest.manifest().filers[@item_name]\r
+    @template_dir = 'templates/r/filer/'\r
+    @header = new Header(self)\r
+    @body = new @mybody(self)\r
+    @init_pager\r
+    \r
+class Locmare.FilerModule\r
+\r
+require_dependency "locmare/filer/header"\r
+require_dependency "locmare/filer/body"\r
+require_dependency "locmare/filer/pager"\r
+module\r
+     \r
diff --git a/app/assets/javascripts/locmare/locmare.js.coffee b/app/assets/javascripts/locmare/locmare.js.coffee
new file mode 100644 (file)
index 0000000..8eb7adc
--- /dev/null
@@ -0,0 +1,4 @@
+class Locmare\r
+\r
+\r
+@Locmare =Locmare\r
index 0ed4edb..2539178 100644 (file)
@@ -12,14 +12,40 @@ $ ->
     loaded_local_manifest = new LocalManifest(data)\r
   )\r
   $.ajaxSetup({async: true})\r
+  Manifest.set_manifest(loaded_manifest)\r
+  LocalManifest.set_manifest(loaded_local_manifest)\r
   loaded_manifest.init()\r
   loaded_local_manifest.init()\r
-  class Pettanr extends Backbone.View \r
-    el: '#pettanr'\r
+  class FilerButton extends Backbone.View \r
+    events: {\r
+        "click .btn":"on_open"\r
+    } \r
     initialize: ->\r
+    on_open: () ->\r
+      @render()\r
     render: () ->\r
-      $(@el).append(@template())\r
-    template: () ->\r
-      'asd'\r
-  pettanr = new Pettanr()\r
-  pettanr.render()\r
+      class ArCol extends Backbone.Collection\r
+        model: Pettanr.Artist\r
+        url: '/artists'\r
+      cc = new ArCol({})\r
+      cc.fetch({})\r
+  class ArtistCollection extends Backbone.Collection\r
+    model: Pettanr.Artist\r
+    url: '/artists'\r
+  cc = new ArtistCollection({})\r
+  cc.fetch({})\r
+  list_result = null\r
+  operators = null\r
+  v = new Locmare.Filer({\r
+    item_name: 'artist', \r
+    collection: cc, \r
+    list_result: list_result, \r
+    pager_type: 'default', \r
+    operators: operators\r
+  })\r
+  a=v.render()\r
+  b=a.el\r
+  c=v.header.render()\r
+  d=c.el\r
+  $("#pettanr").html(v.render().el)\r
+  \r
index bfd8039..9e7c228 100644 (file)
@@ -12,7 +12,7 @@ class Manifest
     true\r
   \r
   @item_name_to_model: (item_name) ->\r
-    #item_name.classify.constantize\r
+    Pettanr[Pettanr.capitalize(item_name)]\r
   \r
   @singularize: (name) ->\r
     name.replace(/es$/, '').replace(/s$/, '')\r
@@ -20,6 +20,12 @@ class Manifest
   @pluralize: (name) ->\r
     name.pluralize\r
   \r
+  @manifest: () ->\r
+    @mani\r
+  \r
+  @set_manifest: (manifest) ->\r
+    @mani = manifest\r
+  \r
   constructor: (global_json) ->\r
     _module_names = []\r
     @global_json = global_json || {}\r
index e548ce0..051e898 100644 (file)
@@ -1,25 +1,15 @@
-class Artist extends Item\r
-  @single: () ->\r
+class Pettanr.Artist extends Peta.Owner\r
+  @singular: () ->\r
     'Artist'\r
   \r
   @plural: () ->\r
     'Artists'\r
   \r
   defaults: {\r
-    id: 11\r
+    id: null,\r
+    name: 'no name'\r
   } \r
   \r
   initialize: () ->\r
-    confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index 80d12c9..2db7564 100644 (file)
@@ -1,25 +1,15 @@
-class Author extends Item\r
-  @single: () ->\r
+class Pettanr.Author extends Peta.Owner\r
+  @singular: () ->\r
     'Author'\r
   \r
   @plural: () ->\r
     'Authors'\r
   \r
   defaults: {\r
-    id: 11\r
+    id: null,\r
+    name: 'no name'\r
   } \r
   \r
   initialize: () ->\r
-    confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index 9b03bf7..918997c 100644 (file)
@@ -1,70 +1,2 @@
-class Balloon extends Element\r
-  @single: () ->\r
-    'Balloon'\r
-  \r
-  @plural: () ->\r
-    'Balloons'\r
-  \r
-  @colum_structures: ->\r
-    {}\r
-  \r
-  defaults: {\r
-    x: 11\r
-  } \r
-  \r
-  initialize: () ->\r
-    confirm("Welcome to this world")\r
-  \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    confirm( @path_name() )\r
-    confirm( @colum_structures() )\r
-    \r
-  has_picture: () ->\r
-    true\r
-  \r
-  has_part: () ->\r
-    false\r
-  \r
-  extend_column: () ->\r
-    null\r
-  \r
-  test: () ->\r
-    confirm( @has_picture() )\r
-    confirm( @has_part() )\r
-    confirm( @parts() )\r
-    confirm( @has_helper('column_name') )\r
-    confirm( @element_name() )\r
-    confirm( @extend_column() )\r
-    confirm( @extend_element_name() )\r
-    confirm( @find_configurations(window.configurations,'v') )\r
-    confirm( @new_index() )\r
-    confirm( @set_new_index(3) )\r
-    confirm( @set_new_panel('v') )\r
-    confirm( @get_new_panel() )\r
-    confirm( '@get_panel()' )\r
-    confirm( @get_panel() )\r
-    confirm( @tag_id('c') )\r
-    confirm( @field_tag_id('f') )\r
-    confirm( @tag_panel_id() )\r
-    confirm( @tag_element_id() )\r
-    confirm( @tag_element_type() )\r
-    confirm( @tag_new_index() )\r
-    confirm( @path_name() )\r
-    confirm( @form_template() )\r
-    confirm( @scenario_template() )\r
-    confirm( @element_face_template() )\r
-    confirm( @form_helper_template('colum_name') )\r
-    confirm( @tag_attributes('column') )\r
-    confirm( @field_tag_attributes('column', 0, {}) )\r
-    confirm( @any_tag_attributes('name', {}) )\r
-    confirm( @select_tag_attributes(true, 'column', 0) )\r
-    confirm( @tag_attr('column', {}) )\r
-    confirm( @field_tag_attr('column', 1, {}) )\r
-    confirm( @any_tag_attr('name', {}) )\r
+class Pettanr.Balloon extends Peta.Element\r
 \r
-@PanelPicture = PanelPicture\r
index 4291d53..4dc49b7 100644 (file)
@@ -1,4 +1,4 @@
-class Comic extends Item\r
+class Pettanr.Comic extends Peta.Binder\r
   @single: () ->\r
     'Comic'\r
   \r
@@ -12,14 +12,4 @@ class Comic extends Item
   initialize: () ->\r
     confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index eaca96d..74aae4e 100644 (file)
@@ -1,70 +1,2 @@
-class GroundColor extends Element\r
-  @single: () ->\r
-    'GroundColor'\r
-  \r
-  @plural: () ->\r
-    'GroundColors'\r
-  \r
-  @colum_structures: ->\r
-    {}\r
-  \r
-  defaults: {\r
-    x: 11\r
-  } \r
-  \r
-  initialize: () ->\r
-    confirm("Welcome to this world")\r
-  \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    confirm( @path_name() )\r
-    confirm( @colum_structures() )\r
-    \r
-  has_picture: () ->\r
-    true\r
-  \r
-  has_part: () ->\r
-    false\r
-  \r
-  extend_column: () ->\r
-    null\r
-  \r
-  test: () ->\r
-    confirm( @has_picture() )\r
-    confirm( @has_part() )\r
-    confirm( @parts() )\r
-    confirm( @has_helper('column_name') )\r
-    confirm( @element_name() )\r
-    confirm( @extend_column() )\r
-    confirm( @extend_element_name() )\r
-    confirm( @find_configurations(window.configurations,'v') )\r
-    confirm( @new_index() )\r
-    confirm( @set_new_index(3) )\r
-    confirm( @set_new_panel('v') )\r
-    confirm( @get_new_panel() )\r
-    confirm( '@get_panel()' )\r
-    confirm( @get_panel() )\r
-    confirm( @tag_id('c') )\r
-    confirm( @field_tag_id('f') )\r
-    confirm( @tag_panel_id() )\r
-    confirm( @tag_element_id() )\r
-    confirm( @tag_element_type() )\r
-    confirm( @tag_new_index() )\r
-    confirm( @path_name() )\r
-    confirm( @form_template() )\r
-    confirm( @scenario_template() )\r
-    confirm( @element_face_template() )\r
-    confirm( @form_helper_template('colum_name') )\r
-    confirm( @tag_attributes('column') )\r
-    confirm( @field_tag_attributes('column', 0, {}) )\r
-    confirm( @any_tag_attributes('name', {}) )\r
-    confirm( @select_tag_attributes(true, 'column', 0) )\r
-    confirm( @tag_attr('column', {}) )\r
-    confirm( @field_tag_attr('column', 1, {}) )\r
-    confirm( @any_tag_attr('name', {}) )\r
+class Pettanr.GroundColor extends Peta.Element\r
 \r
-@PanelPicture = PanelPicture\r
index d5820fa..3e984b7 100644 (file)
@@ -1,4 +1,4 @@
-class GroundPicture extends Element\r
+class Pettanr.GroundPicture extends Peta.Element\r
   @single: () ->\r
     'GroundPicture'\r
   \r
@@ -12,59 +12,4 @@ class GroundPicture extends Element
     x: 11\r
   } \r
   \r
-  initialize: () ->\r
-    confirm("Welcome to this world")\r
-  \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    confirm( @path_name() )\r
-    confirm( @colum_structures() )\r
-    \r
-  has_picture: () ->\r
-    true\r
-  \r
-  has_part: () ->\r
-    false\r
-  \r
-  extend_column: () ->\r
-    null\r
-  \r
-  test: () ->\r
-    confirm( @has_picture() )\r
-    confirm( @has_part() )\r
-    confirm( @parts() )\r
-    confirm( @has_helper('column_name') )\r
-    confirm( @element_name() )\r
-    confirm( @extend_column() )\r
-    confirm( @extend_element_name() )\r
-    confirm( @find_configurations(window.configurations,'v') )\r
-    confirm( @new_index() )\r
-    confirm( @set_new_index(3) )\r
-    confirm( @set_new_panel('v') )\r
-    confirm( @get_new_panel() )\r
-    confirm( '@get_panel()' )\r
-    confirm( @get_panel() )\r
-    confirm( @tag_id('c') )\r
-    confirm( @field_tag_id('f') )\r
-    confirm( @tag_panel_id() )\r
-    confirm( @tag_element_id() )\r
-    confirm( @tag_element_type() )\r
-    confirm( @tag_new_index() )\r
-    confirm( @path_name() )\r
-    confirm( @form_template() )\r
-    confirm( @scenario_template() )\r
-    confirm( @element_face_template() )\r
-    confirm( @form_helper_template('colum_name') )\r
-    confirm( @tag_attributes('column') )\r
-    confirm( @field_tag_attributes('column', 0, {}) )\r
-    confirm( @any_tag_attributes('name', {}) )\r
-    confirm( @select_tag_attributes(true, 'column', 0) )\r
-    confirm( @tag_attr('column', {}) )\r
-    confirm( @field_tag_attr('column', 1, {}) )\r
-    confirm( @any_tag_attr('name', {}) )\r
 \r
-@PanelPicture = PanelPicture\r
index 19e5b94..214c4ac 100644 (file)
@@ -1,4 +1,4 @@
-class License extends Item\r
+class Pettanr.License extends Peta.SystemResource\r
   @single: () ->\r
     'License'\r
   \r
@@ -12,14 +12,4 @@ class License extends Item
   initialize: () ->\r
     confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index db6e759..b097b38 100644 (file)
@@ -1,4 +1,4 @@
-class LicenseGroup extends Item\r
+class Pettanr.LicenseGroup extends Peta.Template\r
   @single: () ->\r
     'LicenseGroup'\r
   \r
@@ -12,14 +12,4 @@ class LicenseGroup extends Item
   initialize: () ->\r
     confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index cb58ca3..b1f95aa 100644 (file)
@@ -1,4 +1,4 @@
-class OriginalPicture extends Item\r
+class Pettanr.OriginalPicture extends Peta.Content\r
   @single: () ->\r
     'OriginalPicture'\r
   \r
@@ -12,14 +12,4 @@ class OriginalPicture extends Item
   initialize: () ->\r
     confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
diff --git a/app/assets/javascripts/models/original_picture_license.js.coffee b/app/assets/javascripts/models/original_picture_license.js.coffee
new file mode 100644 (file)
index 0000000..8fc98a4
--- /dev/null
@@ -0,0 +1,15 @@
+class Pettanr.OriginalPictureLicense extends Peta.Item\r
+  @single: () ->\r
+    'OriginalPictureLicense'\r
+  \r
+  @plural: () ->\r
+    'OriginalPictureLicenses'\r
+  \r
+  defaults: {\r
+    id: 11\r
+  } \r
+  \r
+  initialize: () ->\r
+    confirm("Welcome to Panel")\r
+  \r
+\r
diff --git a/app/assets/javascripts/models/original_picture_license_group.js.coffee b/app/assets/javascripts/models/original_picture_license_group.js.coffee
new file mode 100644 (file)
index 0000000..cdd907a
--- /dev/null
@@ -0,0 +1,15 @@
+class Pettanr.OriginalPictureLicenseGroup extends Peta.Item\r
+  @single: () ->\r
+    'OriginalPictureLicenseGroup'\r
+  \r
+  @plural: () ->\r
+    'OriginalPictureLicenseGroups'\r
+  \r
+  defaults: {\r
+    id: 11\r
+  } \r
+  \r
+  initialize: () ->\r
+    confirm("Welcome to Panel")\r
+  \r
+\r
index 1e476e1..8b5dfc6 100644 (file)
@@ -1,4 +1,4 @@
-class Panel extends Item\r
+class Pettanr.Panel extends Peta.Root\r
   @single: () ->\r
     'Panel'\r
   \r
@@ -12,14 +12,4 @@ class Panel extends Item
   initialize: () ->\r
     confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index 1dcb93e..86d9642 100644 (file)
@@ -1,4 +1,4 @@
-class PanelPicture extends Element\r
+class Pettanr.PanelPicture extends Peta.Element\r
   @single: () ->\r
     'PanelPicture'\r
   \r
@@ -15,56 +15,4 @@ class PanelPicture extends Element
   initialize: () ->\r
     confirm("Welcome to this world")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    confirm( @path_name() )\r
-    confirm( @colum_structures() )\r
-    \r
-  has_picture: () ->\r
-    true\r
-  \r
-  has_part: () ->\r
-    false\r
-  \r
-  extend_column: () ->\r
-    null\r
-  \r
-  test: () ->\r
-    confirm( @has_picture() )\r
-    confirm( @has_part() )\r
-    confirm( @parts() )\r
-    confirm( @has_helper('column_name') )\r
-    confirm( @element_name() )\r
-    confirm( @extend_column() )\r
-    confirm( @extend_element_name() )\r
-    confirm( @find_configurations(window.configurations,'v') )\r
-    confirm( @new_index() )\r
-    confirm( @set_new_index(3) )\r
-    confirm( @set_new_panel('v') )\r
-    confirm( @get_new_panel() )\r
-    confirm( '@get_panel()' )\r
-    confirm( @get_panel() )\r
-    confirm( @tag_id('c') )\r
-    confirm( @field_tag_id('f') )\r
-    confirm( @tag_panel_id() )\r
-    confirm( @tag_element_id() )\r
-    confirm( @tag_element_type() )\r
-    confirm( @tag_new_index() )\r
-    confirm( @path_name() )\r
-    confirm( @form_template() )\r
-    confirm( @scenario_template() )\r
-    confirm( @element_face_template() )\r
-    confirm( @form_helper_template('colum_name') )\r
-    confirm( @tag_attributes('column') )\r
-    confirm( @field_tag_attributes('column', 0, {}) )\r
-    confirm( @any_tag_attributes('name', {}) )\r
-    confirm( @select_tag_attributes(true, 'column', 0) )\r
-    confirm( @tag_attr('column', {}) )\r
-    confirm( @field_tag_attr('column', 1, {}) )\r
-    confirm( @any_tag_attr('name', {}) )\r
 \r
-@PanelPicture = PanelPicture\r
index 295cb85..27503a8 100644 (file)
@@ -1,4 +1,4 @@
-class Picture extends Item\r
+class Pettanr.Picture extends Peta.Content\r
   @single: () ->\r
     'Picture'\r
   \r
@@ -11,15 +11,4 @@ class Picture extends Item
   \r
   initialize: () ->\r
     confirm("Welcome to Panel")\r
-  \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index 1853af3..0a531b3 100644 (file)
@@ -1,4 +1,4 @@
-class ResourcePicture extends Item\r
+class Pettanr.ResourcePicture extends Peta.Content\r
   @single: () ->\r
     'ResourcePicture'\r
   \r
@@ -12,14 +12,4 @@ class ResourcePicture extends Item
   initialize: () ->\r
     confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index 52f9581..f26e2d8 100644 (file)
@@ -1,25 +1,2 @@
-class Scroll extends Item\r
-  @single: () ->\r
-    'Scroll'\r
-  \r
-  @plural: () ->\r
-    'Scrolls'\r
-  \r
-  defaults: {\r
-    id: 11\r
-  } \r
-  \r
-  initialize: () ->\r
-    confirm("Welcome to Panel")\r
-  \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
+class Pettanr.Scroll extends Peta.Binder\r
 \r
-@Panel = Panel\r
index f5b289c..059d2dc 100644 (file)
@@ -1,4 +1,4 @@
-class ScrollPanel extends Item\r
+class Pettanr.ScrollPanel extends Peta.Leaf\r
   @single: () ->\r
     'ScrollPanel'\r
   \r
@@ -12,14 +12,4 @@ class ScrollPanel extends Item
   initialize: () ->\r
     confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index d4ee92d..28cc944 100644 (file)
@@ -1,4 +1,4 @@
-class Sheet extends Item\r
+class Pettanr.Sheet extends Peta.Root\r
   @single: () ->\r
     'Sheet'\r
   \r
@@ -12,14 +12,4 @@ class Sheet extends Item
   initialize: () ->\r
     confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index ed3c1b1..4e75dd3 100644 (file)
@@ -1,4 +1,4 @@
-class SheetPanel extends Item\r
+class Pettanr.SheetPanel extends Peta.Leaf\r
   @single: () ->\r
     'SheetPanel'\r
   \r
@@ -12,14 +12,4 @@ class SheetPanel extends Item
   initialize: () ->\r
     confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index bf3fb39..4e26b4f 100644 (file)
@@ -1,4 +1,4 @@
-class SpeechBalloon extends Element\r
+class Pettanr.SpeechBalloon extends Peta.Element\r
   @single: () ->\r
     'Speech'\r
   \r
@@ -15,56 +15,4 @@ class SpeechBalloon extends Element
   initialize: () ->\r
     confirm("Welcome to this world")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    confirm( @path_name() )\r
-    confirm( @colum_structures() )\r
-    \r
-  has_picture: () ->\r
-    true\r
-  \r
-  has_part: () ->\r
-    false\r
-  \r
-  extend_column: () ->\r
-    null\r
-  \r
-  test: () ->\r
-    confirm( @has_picture() )\r
-    confirm( @has_part() )\r
-    confirm( @parts() )\r
-    confirm( @has_helper('column_name') )\r
-    confirm( @element_name() )\r
-    confirm( @extend_column() )\r
-    confirm( @extend_element_name() )\r
-    confirm( @find_configurations(window.configurations,'v') )\r
-    confirm( @new_index() )\r
-    confirm( @set_new_index(3) )\r
-    confirm( @set_new_panel('v') )\r
-    confirm( @get_new_panel() )\r
-    confirm( '@get_panel()' )\r
-    confirm( @get_panel() )\r
-    confirm( @tag_id('c') )\r
-    confirm( @field_tag_id('f') )\r
-    confirm( @tag_panel_id() )\r
-    confirm( @tag_element_id() )\r
-    confirm( @tag_element_type() )\r
-    confirm( @tag_new_index() )\r
-    confirm( @path_name() )\r
-    confirm( @form_template() )\r
-    confirm( @scenario_template() )\r
-    confirm( @element_face_template() )\r
-    confirm( @form_helper_template('colum_name') )\r
-    confirm( @tag_attributes('column') )\r
-    confirm( @field_tag_attributes('column', 0, {}) )\r
-    confirm( @any_tag_attributes('name', {}) )\r
-    confirm( @select_tag_attributes(true, 'column', 0) )\r
-    confirm( @tag_attr('column', {}) )\r
-    confirm( @field_tag_attr('column', 1, {}) )\r
-    confirm( @any_tag_attr('name', {}) )\r
 \r
-@PanelPicture = PanelPicture\r
index 4a28202..1d0f0a5 100644 (file)
@@ -1,4 +1,4 @@
-class SpeechBalloon extends Element\r
+class Pettanr.SpeechBalloon extends Peta.Element\r
   @single: () ->\r
     'SpeechBalloon'\r
   \r
@@ -15,56 +15,4 @@ class SpeechBalloon extends Element
   initialize: () ->\r
     confirm("Welcome to this world")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    confirm( @path_name() )\r
-    confirm( @colum_structures() )\r
-    \r
-  has_picture: () ->\r
-    true\r
-  \r
-  has_part: () ->\r
-    false\r
-  \r
-  extend_column: () ->\r
-    null\r
-  \r
-  test: () ->\r
-    confirm( @has_picture() )\r
-    confirm( @has_part() )\r
-    confirm( @parts() )\r
-    confirm( @has_helper('column_name') )\r
-    confirm( @element_name() )\r
-    confirm( @extend_column() )\r
-    confirm( @extend_element_name() )\r
-    confirm( @find_configurations(window.configurations,'v') )\r
-    confirm( @new_index() )\r
-    confirm( @set_new_index(3) )\r
-    confirm( @set_new_panel('v') )\r
-    confirm( @get_new_panel() )\r
-    confirm( '@get_panel()' )\r
-    confirm( @get_panel() )\r
-    confirm( @tag_id('c') )\r
-    confirm( @field_tag_id('f') )\r
-    confirm( @tag_panel_id() )\r
-    confirm( @tag_element_id() )\r
-    confirm( @tag_element_type() )\r
-    confirm( @tag_new_index() )\r
-    confirm( @path_name() )\r
-    confirm( @form_template() )\r
-    confirm( @scenario_template() )\r
-    confirm( @element_face_template() )\r
-    confirm( @form_helper_template('colum_name') )\r
-    confirm( @tag_attributes('column') )\r
-    confirm( @field_tag_attributes('column', 0, {}) )\r
-    confirm( @any_tag_attributes('name', {}) )\r
-    confirm( @select_tag_attributes(true, 'column', 0) )\r
-    confirm( @tag_attr('column', {}) )\r
-    confirm( @field_tag_attr('column', 1, {}) )\r
-    confirm( @any_tag_attr('name', {}) )\r
 \r
-@PanelPicture = PanelPicture\r
index 0416833..dcf4c9f 100644 (file)
@@ -1,25 +1,2 @@
-class SpeechBalloonTemplate extends Item\r
-  @single: () ->\r
-    'SpeechBalloonTemplate'\r
-  \r
-  @plural: () ->\r
-    'SpeechBalloonTemplates'\r
-  \r
-  defaults: {\r
-    id: 11\r
-  } \r
-  \r
-  initialize: () ->\r
-    confirm("Welcome to Panel")\r
-  \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
+class Pettanr.SpeechBalloonTemplate extends Peta.Template\r
 \r
-@Panel = Panel\r
index d635ff7..6ab4cf1 100644 (file)
@@ -1,4 +1,4 @@
-class Story extends Item\r
+class Pettanr.Story extends Peta.Binder\r
   @single: () ->\r
     'Story'\r
   \r
@@ -12,14 +12,4 @@ class Story extends Item
   initialize: () ->\r
     confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index 95f4b2c..6e055f9 100644 (file)
@@ -1,4 +1,4 @@
-class StorySheet extends Item\r
+class Pettanr.StorySheet extends Peta.Leaf\r
   @single: () ->\r
     'StorySheet'\r
   \r
@@ -12,14 +12,4 @@ class StorySheet extends Item
   initialize: () ->\r
     confirm("Welcome to Panel")\r
   \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
 \r
-@Panel = Panel\r
index 628870b..6e08cac 100644 (file)
@@ -1,25 +1 @@
-class SystemPicture extends Item\r
-  @single: () ->\r
-    'SystemPicture'\r
-  \r
-  @plural: () ->\r
-    'SystemPictures'\r
-  \r
-  defaults: {\r
-    id: 11\r
-  } \r
-  \r
-  initialize: () ->\r
-    confirm("Welcome to Panel")\r
-  \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
-\r
-@Panel = Panel\r
+class Pettanr.SystemPicture extends Peta.SystemResource\r
index 620b331..bd85d8e 100644 (file)
@@ -1,25 +1,2 @@
-class WritingFormat extends Item\r
-  @single: () ->\r
-    'WritingFormat'\r
-  \r
-  @plural: () ->\r
-    'WritingFormats'\r
-  \r
-  defaults: {\r
-    id: 11\r
-  } \r
-  \r
-  initialize: () ->\r
-    confirm("Welcome to Panel")\r
-  \r
-  @test: () ->\r
-    confirm( @single())\r
-    confirm( @plural() )\r
-    confirm( @class_name() )\r
-    confirm( @element_name() )\r
-    confirm( @table_name() )\r
-    \r
-  \r
-  test: () ->\r
+class Pettanr.WritingFormat extends Peta.Template\r
 \r
-@Panel = Panel\r
diff --git a/app/assets/javascripts/peta/binder.js.coffee b/app/assets/javascripts/peta/binder.js.coffee
new file mode 100644 (file)
index 0000000..1aa35a0
--- /dev/null
@@ -0,0 +1,21 @@
+class Peta.Binder extends Peta.Content\r
+  # Instance Methods\r
+  leaf_items: (leaf_model) ->\r
+    this[@my_class().my_manifest().associations.child_element_name(leaf_model)]()\r
+  \r
+  leafs_items: () ->\r
+    l = _.map @my_class().child_models(), (child_model) ->\r
+      @leaf_items(child_model())\r
+    l.flatten\r
+  \r
+  # Class Methods\r
+  \r
+  # Instance Methods\r
+  \r
+  \r
+  @test: () ->\r
+    super()\r
+  \r
+  test: () ->\r
+    super()\r
+  \r
diff --git a/app/assets/javascripts/peta/content.js.coffee b/app/assets/javascripts/peta/content.js.coffee
new file mode 100644 (file)
index 0000000..8777ccb
--- /dev/null
@@ -0,0 +1,55 @@
+class Peta.Content extends Peta.Item\r
+  # Dynamic Methods\r
+  \r
+  # Class Methods\r
+  @is_content: () ->\r
+    @my_class().my_manifest().content_model()\r
+  \r
+  @owner_type: () ->\r
+    @my_class().my_manifest().owner_type()\r
+  \r
+  @owner_model: () -> \r
+    @parent_model()\r
+  \r
+  @owner_column: () ->\r
+    @owner_type().toString() + '_id'\r
+  \r
+  # Instance Methods\r
+  \r
+  # Class Methods\r
+  \r
+  @operator: (operators) ->\r
+    return null if not @owner_type()\r
+    operators[@owner_type()]()\r
+  \r
+  # Instance Methods\r
+  \r
+  owner_model: () ->\r
+    if @my_class().owner_model()\r
+      this[@my_class().owner_model().item_name()]()\r
+    else\r
+      this\r
+  \r
+  # super return if my item\r
+  is_visible: (operators) ->\r
+    super()\r
+    return null if @owner_model().is_own(operators)\r
+    true\r
+  \r
+  is_own: (operators) ->\r
+    operator = self.class.operator operators\r
+    return false if not operator\r
+    @owner_model().get(@my_class().owner_column()) == operator.id\r
+\r
+  @test: () ->\r
+    super()\r
+    console.log(@is_content())\r
+    console.log(@owner_type())\r
+    console.log(@owner_model())\r
+    console.log(@owner_column())\r
+    console.log()\r
+  \r
+  test: () ->\r
+    super()\r
+    console.log()\r
+  \r
diff --git a/app/assets/javascripts/peta/editize.js.coffee b/app/assets/javascripts/peta/editize.js.coffee
new file mode 100644 (file)
index 0000000..6c39399
--- /dev/null
@@ -0,0 +1 @@
+class Peta.Editize\r
diff --git a/app/assets/javascripts/peta/element.js.coffee b/app/assets/javascripts/peta/element.js.coffee
new file mode 100644 (file)
index 0000000..9f16a8e
--- /dev/null
@@ -0,0 +1 @@
+class Peta.Element extends Peta.ElementNestableContent\r
diff --git a/app/assets/javascripts/peta/element_nestable_content.js.coffee b/app/assets/javascripts/peta/element_nestable_content.js.coffee
new file mode 100644 (file)
index 0000000..be93633
--- /dev/null
@@ -0,0 +1 @@
+class Peta.ElementNestableContent extends Peta.Content\r
diff --git a/app/assets/javascripts/peta/item.js.coffee b/app/assets/javascripts/peta/item.js.coffee
new file mode 100644 (file)
index 0000000..248c0e3
--- /dev/null
@@ -0,0 +1,185 @@
+class Peta.Item extends Backbone.Model\r
+  @child_models: () ->\r
+    @my_manifest().child_models()\r
+  \r
+  @child_element_names: () ->\r
+    @my_manifest().child_element_names()\r
+  \r
+  # ClassMethods\r
+  \r
+  my_class: () ->\r
+    Pettanr[@constructor.name]\r
+  \r
+  @my_peta: () ->\r
+    return null if not Manifest.manifest().items\r
+    Manifest.manifest().items[@item_name()]\r
+  \r
+  @my_manifest: () ->\r
+    return null if not Manifest.manifest().models\r
+    Manifest.manifest().models[@item_name()]\r
+  \r
+  @singular: () ->\r
+    'Name'\r
+  \r
+  @plural: () ->\r
+    'Names'\r
+  \r
+  @class_name: () ->\r
+    @singular()\r
+  \r
+  @model_name: () ->\r
+    @class_name()\r
+  \r
+  @item_name: () ->\r
+    Pettanr.underscore(@singular())\r
+  \r
+  @table_name: () ->\r
+    Pettanr.underscore(@plural())\r
+  \r
+  @is_item: () ->\r
+    true\r
+  \r
+  @is_content: () ->\r
+    false\r
+  \r
+  @is_element: () ->\r
+    false\r
+  \r
+  @is_root: () ->\r
+    false\r
\r
+  @parent_model: () ->\r
+    null\r
+  \r
+  @path_name: (with_engine = false) ->\r
+    @table_name()\r
+  \r
+  @pickup_item_name: () ->\r
+    @item_name()\r
+  \r
+  @pickup_column_name: () ->\r
+    'id'\r
+  \r
+  @find_boost_name: (column_name) ->\r
+    my_peta().find_boost_name column_name\r
\r
+  @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
+      my_settings = attr[manifest.settings_column_name]\r
+      if my_settings\r
+        attr[manifest.settings_column_name] = my_settings.to_json\r
+  \r
+  #InstanceMethods\r
+  \r
+  item_name: () ->\r
+    @my_class().item_name()\r
+  \r
+  model_name: () ->\r
+    @item_name()\r
+  \r
+  table_name: () ->\r
+    @my_class().table_name()\r
+  \r
+  path_name: (with_engine = false) ->\r
+    @my_class().path_name(with_engine)\r
+  \r
+  pickup_item_name: () ->\r
+    @my_class().pickup_item_name()\r
+  \r
+  pickup_column_name: () ->\r
+    @my_class().pickup_column_name()\r
+  \r
+  pickup_id: () ->\r
+    @get(pickup_column_name())\r
+  \r
+  form_template: (with_engine = false) ->\r
+    @path_name(with_engine) + '/form'\r
+  \r
+  form_name: () ->\r
+    if @extend_column()\r
+      @get(@extend_column())\r
+    else\r
+      @item_name()\r
+  \r
+  boosts: (level) ->\r
+    _.each @my_class().my_peta().boost, (boost_name, boost_manifest) ->\r
+      next if level == 'read' and boost_manifest.level == 'post'\r
+      @boost boost_manifest\r
+  \r
+  boost: (boost_manifest) ->\r
+    @boosters ||= {}\r
+    @boosters[boost_manifest.name] ||= new Locmare.Booster(boost_manifest, this)\r
+  \r
+  boosters: () ->\r
+    @boosters ||= {}\r
+  \r
+  is_extend_column: (column_name) ->\r
+    @is_extend_column column_name\r
+  \r
+  is_user_visible: (operators) ->\r
+    if Manifest.manifest.magic_numbers['run_mode'] == 0\r
+      return false if not operators.is_guest\r
+    else\r
+      return false if not operators.is_resource_reader\r
+    true\r
+  \r
+  is_visible: (operators) ->\r
+    return false if not @is_user_visible(operators)\r
+    true\r
+  \r
+  is_editize: () ->\r
+    @editor\r
+  \r
+  dom_id: () ->\r
+    (@get('id') || '').toString()\r
+  \r
+  dom_pool_type: () ->\r
+    @new_record ? 'stored' : 'new'\r
+  \r
+  merge_dom_item_id: (attr, name = null) ->\r
+    if @is_editize()\r
+      _.extend(attr, {'id': @dom_item_id(name)})\r
+    else\r
+      attr\r
+  \r
+  tag_attributes: (name = null, opt = {}) ->\r
+    r = {\r
+      'data-pool_type': @dom_pool_type(), 'data-id': @dom_id(), \r
+      'data-item_name': @item_name()\r
+    }\r
+    r = @merge_dom_item_id(r, name)\r
+    _.extend(r, opt)\r
+    r\r
+  \r
+  field_tag_attributes: (column_name, opt = {}) ->\r
+    r = @tag_attributes(column_name, opt)\r
+    _.extend(r, {'data-column_name': column_name})\r
+    r\r
+  \r
+  post_attribute_key: () ->\r
+    @dom_id\r
+  \r
+  @test: () ->\r
+    console.log(@child_models())\r
+    console.log(@child_element_names())\r
+    console.log(@my_peta())\r
+    console.log(@my_manifest())\r
+    console.log()\r
+    console.log()\r
+  \r
+  test: () ->\r
+    console.log(@my_class())\r
+    console.log(@item_name())\r
+    console.log(@model_name())\r
+    console.log(@table_name())\r
+    console.log(@path_name())\r
+    console.log(@pickup_item_name())\r
+    console.log(@pickup_column_name())\r
+    console.log(@dom_id())\r
+    console.log(@dom_pool_type())\r
+    console.log(@tag_attributes())\r
+    console.log(@field_tag_attributes('id'))\r
+    console.log(@post_attribute_key())\r
diff --git a/app/assets/javascripts/peta/leaf.js.coffee b/app/assets/javascripts/peta/leaf.js.coffee
new file mode 100644 (file)
index 0000000..6ac0c08
--- /dev/null
@@ -0,0 +1 @@
+class Peta.Leaf extends Peta.Content\r
diff --git a/app/assets/javascripts/peta/owner.js.coffee b/app/assets/javascripts/peta/owner.js.coffee
new file mode 100644 (file)
index 0000000..d7edd4b
--- /dev/null
@@ -0,0 +1,6 @@
+class Peta.Owner extends Peta.Item\r
+  \r
+  is_own: (operators) ->\r
+    return false if not operators.user\r
+    @user_id == operators.user.id\r
+\r
diff --git a/app/assets/javascripts/peta/peta.js.coffee b/app/assets/javascripts/peta/peta.js.coffee
new file mode 100644 (file)
index 0000000..3c2a1e0
--- /dev/null
@@ -0,0 +1,3 @@
+class Peta\r
+  \r
+@Peta = Peta\r
diff --git a/app/assets/javascripts/peta/root.js.coffee b/app/assets/javascripts/peta/root.js.coffee
new file mode 100644 (file)
index 0000000..58ca3e7
--- /dev/null
@@ -0,0 +1 @@
+class Peta.Root extends Peta.ElementNestableContent\r
diff --git a/app/assets/javascripts/peta/system_resource.js.coffee b/app/assets/javascripts/peta/system_resource.js.coffee
new file mode 100644 (file)
index 0000000..1f24398
--- /dev/null
@@ -0,0 +1 @@
+class Peta.SystemResource extends Peta.Item\r
diff --git a/app/assets/javascripts/peta/template.js.coffee b/app/assets/javascripts/peta/template.js.coffee
new file mode 100644 (file)
index 0000000..05e093c
--- /dev/null
@@ -0,0 +1,2 @@
+class Peta.Template extends Peta.SystemResource\r
+  \r
diff --git a/app/assets/javascripts/pettanr.js.coffee b/app/assets/javascripts/pettanr.js.coffee
new file mode 100644 (file)
index 0000000..82d1128
--- /dev/null
@@ -0,0 +1,41 @@
+class Pettanr\r
+  class Pettanr.AppHelper\r
+    \r
+    @icon_tag: (name, opt = {}) ->\r
+      title = if opt['object']\r
+        name + ' ID:' + opt['object'].get(id).toString()\r
+      else\r
+        name\r
+      size = if opt['size']\r
+        parseInt(opt['size'])\r
+      else\r
+        35\r
+      "<img src=\"" + '/images/' + Pettanr.underscore(name) + '.gif' + "\" width=" + size.toString() + " height=" + size.toString() + " alt=\"" + name + ' Icon' + "title=\"" + title + ">"\r
+\r
+  class Pettanr.AppController\r
+\r
+  #>> https://gist.github.com/davidjbeveridge/3813724\r
+  @xeach: (arr, func, index=0) ->\r
+    if index < arr.length then [ func(arr[index], index), @xeach(arr, func, index + 1)... ] else []\r
+  \r
+  @camelize: (input) ->\r
+    pieces = input.split(/[\W_-]/)\r
+    @xeach(pieces, @capitalize).join("")\r
+  \r
+  @capitalize: (input) ->\r
+    input.charAt(0).toUpperCase() + input.slice(1)\r
+  \r
+  @lowercase: (input) ->\r
+    input.toLowerCase()\r
+   \r
+  @underscore: (input) ->\r
+    pieces = input.replace(/([A-Z])/g, '_$1').split(/[\W_-]/).filter (n) -> !!n\r
+    @xeach(pieces, @lowercase ).join("_")\r
+  # <<\r
+  @is_a_string: (str) ->\r
+    if (str instanceof String) or (typeof str == "string")\r
+      true\r
+    else\r
+      false\r
+  \r
+@Pettanr = Pettanr\r
index d305292..83ecf69 100644 (file)
@@ -7,7 +7,7 @@ class Artist < Peta::Owner
   
   validates :name, :presence => true, :length => {:maximum => 30}
   validates :user_id, :numericality => true, :existence => {:both => false}
-  #validates :provider, :numericality => {:allow_nil => true}
+  validates :provider_id, :numericality => {:allow_nil => true}
   
   def supply_default
     self.name = 'no name' if self.name.blank?
@@ -19,7 +19,7 @@ class Artist < Peta::Owner
   end
   
   def self.list_where
-    'artists.provider is null'
+    'artists.provider_id is null'
   end
   
   def self.show_opt
index 440e23b..405081d 100644 (file)
@@ -1,6 +1,56 @@
 <div id="pettanr">\r
 </div>\r
+<div id="f1">\r
+  <a href="#" class="btn">filer</a>\r
+</div>\r
 <script type="text/javascript" id="manifest">\r
 </script>\r
 <script type="text/javascript" id="local-manifest">\r
 </script>\r
+<script type="text/template" id="templates-filer-filer">\r
+  <&= filer.header.render().el.innerHTML &>\r
+  <&= filer.body.render().el.innerHTML &>\r
+</script>\r
+<script type="text/template" id="templates-filer-header">\r
+  <&= Pettanr.AppHelper.icon_tag(header.icon_name(), {'size': header.icon_size()}) &>\r
+  <a href="#" class="model_name_human">\r
+    <&= header.model().model_name() &>\r
+  </a>\r
+</script>\r
+<script type="text/template" id="templates-filer-body">\r
+  <ul class="filer-body">\r
+    <&= body.file_header.render().el.innerHTML &>\r
+    <&= body.file_body.render().el.innerHTML &>\r
+  </ul>\r
+  <div class="row_break">\r
+  </div>\r
+</script>\r
+<script type="text/template" id="templates-filer-file_header">\r
+  <&= file_header.symbol.render().el.innerHTML &>\r
+  <&= file_header.caption.render().el.innerHTML &>\r
+  <&= file_header.summary.render().el.innerHTML &>\r
+  <&= file_header.icon.render().el.innerHTML &>\r
+  <&= file_header.date.render().el.innerHTML &>\r
+  <&= file_header.edit.render().el.innerHTML &>\r
+</script>\r
+<script type="text/template" id="templates-filer-file_body">\r
+  <&= file_body.file_item.render().el.innerHTML &>\r
+</script>\r
+<script type="text/template" id="templates-filer-header_column-show">\r
+  <&= 'filer.header.' + header_column.column_name &>\r
+</script>\r
+<script type="text/template" id="templates-filer-header_column-none">\r
+</script>\r
+<script type="text/template" id="templates-filer-file_item">\r
+  <&= file_item.symbol.render_column().el.innerHTML &>\r
+  <&= file_item.caption.render_column().el.innerHTML &>\r
+  <&= file_item.summary.render_column().el.innerHTML &>\r
+  <&= file_item.icon.render_column().el.innerHTML &>\r
+  <&= file_item.date.render_column().el.innerHTML &>\r
+  <&= file_item.edit.render_column().el.innerHTML &>\r
+</script>\r
+<script type="text/template" id="templates-filer-item_column-show">\r
+  <%= render item_column.item_template_name, :item_column => item_column %>\r
+</script>\r
+<script type="text/template" id="templates-filer-item_column-none">\r
+</script>\r