From 70027b80e56b5fbea8d63d520fbbf92050959f28 Mon Sep 17 00:00:00 2001 From: yasushiito Date: Sat, 19 Jul 2014 13:49:56 +0900 Subject: [PATCH] fix js filer --- app/assets/javascripts/ap.js | 71 ++++++++ .../javascripts/deprecated/content.js.coffee | 141 ---------------- .../javascripts/deprecated/element.js.coffee | 174 ------------------- app/assets/javascripts/deprecated/item.js.coffee | 141 ---------------- .../local_manifest/local_manifest.js.coffee | 6 + app/assets/javascripts/locmare/filer.js.coffee | 43 +++++ .../javascripts/locmare/filer/body.js.coffee | 43 +++++ .../locmare/filer/body/file_body.js.coffee | 45 +++++ .../filer/body/file_body/file_item.js.coffee | 47 ++++++ .../body/file_body/file_item/caption.js.coffee | 20 +++ .../file_body/file_item/caption/base.js.coffee | 36 ++++ .../file_body/file_item/caption/default.js.coffee | 18 ++ .../file_item/caption/default/face.js.coffee | 20 +++ .../file_item/caption/default/face/base.js.coffee | 27 +++ .../caption/default/face/column.js.coffee | 11 ++ .../caption/default/face/method.js.coffee | 11 ++ .../file_item/caption/default/face/none.js.coffee | 5 + .../file_item/caption/default/link.js.coffee | 21 +++ .../caption/default/link/action.js.coffee | 5 + .../file_item/caption/default/link/base.js.coffee | 11 ++ .../file_item/caption/default/link/none.js.coffee | 5 + .../caption/default/link/url_column.js.coffee | 5 + .../file_body/file_item/caption/none.js.coffee | 5 + .../file_body/file_item/caption/template.js.coffee | 4 + .../filer/body/file_body/file_item/date.js.coffee | 19 +++ .../body/file_body/file_item/date/base.js.coffee | 36 ++++ .../file_body/file_item/date/default.js.coffee | 8 + .../body/file_body/file_item/date/none.js.coffee | 5 + .../filer/body/file_body/file_item/edit.js.coffee | 21 +++ .../file_body/file_item/edit/account.js.coffee | 23 +++ .../body/file_body/file_item/edit/base.js.coffee | 39 +++++ .../file_body/file_item/edit/default.js.coffee | 29 ++++ .../body/file_body/file_item/edit/none.js.coffee | 5 + .../file_body/file_item/edit/template.js.coffee | 17 ++ .../filer/body/file_body/file_item/icon.js.coffee | 19 +++ .../body/file_body/file_item/icon/base.js.coffee | 36 ++++ .../file_body/file_item/icon/default.js.coffee | 14 ++ .../body/file_body/file_item/icon/none.js.coffee | 5 + .../body/file_body/file_item/summary.js.coffee | 19 +++ .../file_body/file_item/summary/base.js.coffee | 36 ++++ .../file_body/file_item/summary/none.js.coffee | 5 + .../file_body/file_item/summary/template.js.coffee | 17 ++ .../body/file_body/file_item/symbol.js.coffee | 19 +++ .../body/file_body/file_item/symbol/base.js.coffee | 17 ++ .../file_body/file_item/symbol/default.js.coffee | 16 ++ .../file_item/symbol/default/face.js.coffee | 13 ++ .../file_item/symbol/default/face/base.js.coffee | 26 +++ .../file_item/symbol/default/face/image.js.coffee | 11 ++ .../symbol/default/face/picture.js.coffee | 15 ++ .../file_item/symbol/default/link.js.coffee | 14 ++ .../file_item/symbol/default/link/action.js.coffee | 6 + .../file_item/symbol/default/link/base.js.coffee | 12 ++ .../file_item/symbol/default/link/none.js.coffee | 5 + .../symbol/default/link/url_column.js.coffee | 5 + .../file_body/file_item/symbol/template.js.coffee | 13 ++ .../locmare/filer/body/file_header.js.coffee | 70 ++++++++ .../locmare/filer/body/file_header/base.js.coffee | 36 ++++ .../locmare/filer/body/file_header/none.js.coffee | 8 + .../locmare/filer/body/file_header/show.js.coffee | 8 + .../javascripts/locmare/filer/header.js.coffee | 33 ++++ .../javascripts/locmare/filer/pager.js.coffee | 84 ++++++++++ app/assets/javascripts/locmare/locmare.js.coffee | 4 + app/assets/javascripts/main.js.coffee | 40 ++++- app/assets/javascripts/manifest/manifest.js.coffee | 8 +- app/assets/javascripts/models/artist.js.coffee | 18 +- app/assets/javascripts/models/author.js.coffee | 18 +- app/assets/javascripts/models/balloon.js.coffee | 70 +------- app/assets/javascripts/models/comic.js.coffee | 12 +- .../javascripts/models/ground_color.js.coffee | 70 +------- .../javascripts/models/ground_picture.js.coffee | 57 +------ app/assets/javascripts/models/license.js.coffee | 12 +- .../javascripts/models/license_group.js.coffee | 12 +- .../javascripts/models/original_picture.js.coffee | 12 +- .../models/original_picture_license.js.coffee | 15 ++ .../original_picture_license_group.js.coffee | 15 ++ app/assets/javascripts/models/panel.js.coffee | 12 +- .../javascripts/models/panel_picture.js.coffee | 54 +----- app/assets/javascripts/models/picture.js.coffee | 13 +- .../javascripts/models/resource_picture.js.coffee | 12 +- app/assets/javascripts/models/scroll.js.coffee | 25 +-- .../javascripts/models/scroll_panel.js.coffee | 12 +- app/assets/javascripts/models/sheet.js.coffee | 12 +- .../javascripts/models/sheet_panel.js.coffee | 12 +- app/assets/javascripts/models/speech.js.coffee | 54 +----- .../javascripts/models/speech_balloon.js.coffee | 54 +----- .../models/speech_balloon_template.js.coffee | 25 +-- app/assets/javascripts/models/story.js.coffee | 12 +- .../javascripts/models/story_sheet.js.coffee | 12 +- .../javascripts/models/system_picture.js.coffee | 26 +-- .../javascripts/models/writing_format.js.coffee | 25 +-- app/assets/javascripts/peta/binder.js.coffee | 21 +++ app/assets/javascripts/peta/content.js.coffee | 55 ++++++ app/assets/javascripts/peta/editize.js.coffee | 1 + app/assets/javascripts/peta/element.js.coffee | 1 + .../peta/element_nestable_content.js.coffee | 1 + app/assets/javascripts/peta/item.js.coffee | 185 +++++++++++++++++++++ app/assets/javascripts/peta/leaf.js.coffee | 1 + app/assets/javascripts/peta/owner.js.coffee | 6 + app/assets/javascripts/peta/peta.js.coffee | 3 + app/assets/javascripts/peta/root.js.coffee | 1 + .../javascripts/peta/system_resource.js.coffee | 1 + app/assets/javascripts/peta/template.js.coffee | 2 + app/assets/javascripts/pettanr.js.coffee | 41 +++++ app/models/artist.rb | 4 +- app/views/top/ap.html.erb | 50 ++++++ 105 files changed, 1698 insertions(+), 1077 deletions(-) delete mode 100644 app/assets/javascripts/deprecated/content.js.coffee delete mode 100644 app/assets/javascripts/deprecated/element.js.coffee delete mode 100644 app/assets/javascripts/deprecated/item.js.coffee create mode 100644 app/assets/javascripts/locmare/filer.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/base.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/base.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/column.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/method.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/none.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/action.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/base.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/none.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/url_column.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/none.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/template.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/date.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/date/base.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/date/default.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/date/none.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/edit.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/account.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/base.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/default.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/none.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/template.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/icon.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/base.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/default.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/none.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/summary.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/base.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/none.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/template.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/base.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/base.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/image.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/picture.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/action.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/base.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/none.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/url_column.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/template.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_header.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_header/base.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_header/none.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/body/file_header/show.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/header.js.coffee create mode 100644 app/assets/javascripts/locmare/filer/pager.js.coffee create mode 100644 app/assets/javascripts/locmare/locmare.js.coffee create mode 100644 app/assets/javascripts/models/original_picture_license.js.coffee create mode 100644 app/assets/javascripts/models/original_picture_license_group.js.coffee create mode 100644 app/assets/javascripts/peta/binder.js.coffee create mode 100644 app/assets/javascripts/peta/content.js.coffee create mode 100644 app/assets/javascripts/peta/editize.js.coffee create mode 100644 app/assets/javascripts/peta/element.js.coffee create mode 100644 app/assets/javascripts/peta/element_nestable_content.js.coffee create mode 100644 app/assets/javascripts/peta/item.js.coffee create mode 100644 app/assets/javascripts/peta/leaf.js.coffee create mode 100644 app/assets/javascripts/peta/owner.js.coffee create mode 100644 app/assets/javascripts/peta/peta.js.coffee create mode 100644 app/assets/javascripts/peta/root.js.coffee create mode 100644 app/assets/javascripts/peta/system_resource.js.coffee create mode 100644 app/assets/javascripts/peta/template.js.coffee create mode 100644 app/assets/javascripts/pettanr.js.coffee diff --git a/app/assets/javascripts/ap.js b/app/assets/javascripts/ap.js index 2661cfc8..23d3b9d8 100644 --- a/app/assets/javascripts/ap.js +++ b/app/assets/javascripts/ap.js @@ -148,5 +148,76 @@ //= 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 index eae373ad..00000000 --- a/app/assets/javascripts/deprecated/content.js.coffee +++ /dev/null @@ -1,141 +0,0 @@ -class Content extends Item - @single: () -> - 'Name' - - @plural: () -> - 'Names' - - @class_name: () -> - @single() - - @item_name: () -> - @underscore(@single()) - - @table_name: () -> - @underscore(@plural()) - - @path_name: (with_engine = false) -> - @table_name() - - #>> https://gist.github.com/davidjbeveridge/3813724 - @xeach: (arr, func, index=0) -> - if index < arr.length then [ func(arr[index], index), @xeach(arr, func, index + 1)... ] else [] - - @camelize: (input) -> - pieces = input.split(/[\W_-]/) - @xeach(pieces, @capitalize).join("") - - @capitalize: (input) -> - input.charAt(0).toUpperCase() + input.slice(1) - - @lowercase: (input) -> - input.toLowerCase() - - @underscore: (input) -> - pieces = input.replace(/([A-Z])/g, '_$1').split(/[\W_-]/).filter (n) -> !!n - @xeach(pieces, @lowercase ).join("_") - # << - @is_a_string: (str) -> - if (str instanceof String) or (typeof str == "string") - true - else - false - - has_picture: () -> - false - - has_helper: (column_name) -> - c = @constructor.colum_structures() - if c[column_name] and c[column_name]['helper'] - true - else - false - - element_name: () -> - @constructor.element_name() - - extend_column: () -> - null - - extend_element_name: () -> - if @extend_column() - @get(@extend_column()) - else - @element_name() - - find_configurations: (hash, key) -> - if @constructor.is_a_string(hash[key]) - @find_configurations(hash, hash[key]) - else - return hash[key] - - tag_id: (c = null) -> - 'panel' + @tag_panel_id() + @tag_element_type() + @tag_element_id() + c - - field_tag_id: (f) -> - @tag_id() + f - - tag_panel_id: () -> - @get_panel().get('id') || '0' - - tag_element_id: () -> - @get('id') || '0' - - tag_element_type: () -> - @constructor.element_name() - - tag_new_index: () -> - @new_index() - - path_name: (with_engine = false) -> - @constructor.path_name(with_engine) - - form_template: (with_engine = false) -> - @path_name(with_engine) + '/form' - - form_helper_template: (column_name) -> - c = @constructor.colum_structures() - if @has_helper(column_name) - c[colum_name]['helper'] - else - '' - - tag_attributes: (column = null, opt = {}) -> - r = { - id: @field_tag_id(column), panel_id: @tag_panel_id(), - element_id: @tag_element_id(), element_type: @tag_element_type() - } - _.extend(r, opt) - r - - field_tag_attributes: (column, no_attr, opt = {}) -> - r = @tag_attributes(column) - _.extend(r, {column: column, new_index: @tag_new_index(), no_attr: no_attr}) - _.extend(r, opt) - r - - #render element by body - any_tag_attributes: (name = null, opt = {}) -> - r = @tag_attributes(name) - if @new_index() - _.extend(r, {new_index: @tag_new_index()}) - _.extend(r, opt) - r - - select_tag_attributes: (selected, column, no_attr) -> - [ - 'last', 'first', - {html: {selected: selected}}, - @field_tag_attributes(column, no_attr) - ] - - tag_attr: (column = null, opt = {}) -> - @tag_attributes(column, opt).to_attr - - field_tag_attr: (column, no_attr, opt = {}) -> - @field_tag_attributes(column, no_attr, opt).to_attr - - any_tag_attr: (name = null, opt = {}) -> - @any_tag_attributes(name, opt).to_attr - -@Item = Item diff --git a/app/assets/javascripts/deprecated/element.js.coffee b/app/assets/javascripts/deprecated/element.js.coffee deleted file mode 100644 index 24d6d40a..00000000 --- a/app/assets/javascripts/deprecated/element.js.coffee +++ /dev/null @@ -1,174 +0,0 @@ -class Element extends Item - @single: () -> - 'Name' - - @plural: () -> - 'Names' - - @class_name: () -> - @single() - - @element_name: () -> - @underscore(@single()) - - @table_name: () -> - @underscore(@plural()) - - @path_name: (with_engine = false) -> - @table_name() - - @colum_structures: -> - {} - - #>> https://gist.github.com/davidjbeveridge/3813724 - @xeach: (arr, func, index=0) -> - if index < arr.length then [ func(arr[index], index), @xeach(arr, func, index + 1)... ] else [] - - @camelize: (input) -> - pieces = input.split(/[\W_-]/) - @xeach(pieces, @capitalize).join("") - - @capitalize: (input) -> - input.charAt(0).toUpperCase() + input.slice(1) - - @lowercase: (input) -> - input.toLowerCase() - - @underscore: (input) -> - pieces = input.replace(/([A-Z])/g, '_$1').split(/[\W_-]/).filter (n) -> !!n - @xeach(pieces, @lowercase ).join("_") - # << - @is_a_string: (str) -> - if (str instanceof String) or (typeof str == "string") - true - else - false - - has_picture: () -> - false - - has_part: () -> - false - - parts: () -> - @_parts ? @_parts = [] - - has_helper: (column_name) -> - c = @constructor.colum_structures() - if c[column_name] and c[column_name]['helper'] - true - else - false - - element_name: () -> - @constructor.element_name() - - extend_column: () -> - null - - extend_element_name: () -> - if @extend_column() - @get(@extend_column()) - else - @element_name() - - find_configurations: (hash, key) -> - if @constructor.is_a_string(hash[key]) - @find_configurations(hash, hash[key]) - else - return hash[key] - - new_index: () -> - @_new_index - - set_new_index: (v) -> - @_new_index = v - - get_new_panel: () -> - @_new_panel - - set_new_panel: (v) -> - @_new_panel = v - - set_panel: (v) -> - @_panel = v - - get_panel: () -> - @_panel || @_new_panel - - tag_id: (c = null) -> - 'panel' + @tag_panel_id() + @tag_element_type() + @tag_element_id() + c - - field_tag_id: (f) -> - @tag_id() + f - - tag_panel_id: () -> - @get_panel().get('id') || '0' - - tag_element_id: () -> - @get('id') || '0' - - tag_element_type: () -> - @constructor.element_name() - - tag_new_index: () -> - @new_index() - - path_name: (with_engine = false) -> - @constructor.path_name(with_engine) - - form_template: (with_engine = false) -> - @path_name(with_engine) + '/form' - - scenario_template: (with_engine = false) -> - @path_name(with_engine) + '/scenario' - - element_face_template: (with_engine = false) -> - @path_name(with_engine) + '/element_face' - - form_helper_template: (column_name) -> - c = @constructor.colum_structures() - if @has_helper(column_name) - c[colum_name]['helper'] - else - '' - - tag_attributes: (column = null, opt = {}) -> - r = { - id: @field_tag_id(column), panel_id: @tag_panel_id(), - element_id: @tag_element_id(), element_type: @tag_element_type() - } - _.extend(r, opt) - r - - field_tag_attributes: (column, no_attr, opt = {}) -> - r = @tag_attributes(column) - _.extend(r, {column: column, new_index: @tag_new_index(), no_attr: no_attr}) - _.extend(r, opt) - r - - #render element by body - any_tag_attributes: (name = null, opt = {}) -> - r = @tag_attributes(name) - if @new_index() - _.extend(r, {new_index: @tag_new_index()}) - _.extend(r, opt) - r - - select_tag_attributes: (selected, column, no_attr) -> - [ - 'last', 'first', - {html: {selected: selected}}, - @field_tag_attributes(column, no_attr) - ] - - tag_attr: (column = null, opt = {}) -> - @tag_attributes(column, opt).to_attr - - field_tag_attr: (column, no_attr, opt = {}) -> - @field_tag_attributes(column, no_attr, opt).to_attr - - any_tag_attr: (name = null, opt = {}) -> - @any_tag_attributes(name, opt).to_attr - -@Element = Element diff --git a/app/assets/javascripts/deprecated/item.js.coffee b/app/assets/javascripts/deprecated/item.js.coffee deleted file mode 100644 index 130f241b..00000000 --- a/app/assets/javascripts/deprecated/item.js.coffee +++ /dev/null @@ -1,141 +0,0 @@ -class Item extends Backbone.Model - @singular: () -> - 'Name' - - @plural: () -> - 'Names' - - @class_name: () -> - @single() - - @item_name: () -> - @underscore(@single()) - - @table_name: () -> - @underscore(@plural()) - - @path_name: (with_engine = false) -> - @table_name() - - #>> https://gist.github.com/davidjbeveridge/3813724 - @xeach: (arr, func, index=0) -> - if index < arr.length then [ func(arr[index], index), @xeach(arr, func, index + 1)... ] else [] - - @camelize: (input) -> - pieces = input.split(/[\W_-]/) - @xeach(pieces, @capitalize).join("") - - @capitalize: (input) -> - input.charAt(0).toUpperCase() + input.slice(1) - - @lowercase: (input) -> - input.toLowerCase() - - @underscore: (input) -> - pieces = input.replace(/([A-Z])/g, '_$1').split(/[\W_-]/).filter (n) -> !!n - @xeach(pieces, @lowercase ).join("_") - # << - @is_a_string: (str) -> - if (str instanceof String) or (typeof str == "string") - true - else - false - - has_picture: () -> - false - - has_helper: (column_name) -> - c = @constructor.colum_structures() - if c[column_name] and c[column_name]['helper'] - true - else - false - - element_name: () -> - @constructor.element_name() - - extend_column: () -> - null - - extend_element_name: () -> - if @extend_column() - @get(@extend_column()) - else - @element_name() - - find_configurations: (hash, key) -> - if @constructor.is_a_string(hash[key]) - @find_configurations(hash, hash[key]) - else - return hash[key] - - tag_id: (c = null) -> - 'panel' + @tag_panel_id() + @tag_element_type() + @tag_element_id() + c - - field_tag_id: (f) -> - @tag_id() + f - - tag_panel_id: () -> - @get_panel().get('id') || '0' - - tag_element_id: () -> - @get('id') || '0' - - tag_element_type: () -> - @constructor.element_name() - - tag_new_index: () -> - @new_index() - - path_name: (with_engine = false) -> - @constructor.path_name(with_engine) - - form_template: (with_engine = false) -> - @path_name(with_engine) + '/form' - - form_helper_template: (column_name) -> - c = @constructor.colum_structures() - if @has_helper(column_name) - c[colum_name]['helper'] - else - '' - - tag_attributes: (column = null, opt = {}) -> - r = { - id: @field_tag_id(column), panel_id: @tag_panel_id(), - element_id: @tag_element_id(), element_type: @tag_element_type() - } - _.extend(r, opt) - r - - field_tag_attributes: (column, no_attr, opt = {}) -> - r = @tag_attributes(column) - _.extend(r, {column: column, new_index: @tag_new_index(), no_attr: no_attr}) - _.extend(r, opt) - r - - #render element by body - any_tag_attributes: (name = null, opt = {}) -> - r = @tag_attributes(name) - if @new_index() - _.extend(r, {new_index: @tag_new_index()}) - _.extend(r, opt) - r - - select_tag_attributes: (selected, column, no_attr) -> - [ - 'last', 'first', - {html: {selected: selected}}, - @field_tag_attributes(column, no_attr) - ] - - tag_attr: (column = null, opt = {}) -> - @tag_attributes(column, opt).to_attr - - field_tag_attr: (column, no_attr, opt = {}) -> - @field_tag_attributes(column, no_attr, opt).to_attr - - any_tag_attr: (name = null, opt = {}) -> - @any_tag_attributes(name, opt).to_attr - -@Item = Item diff --git a/app/assets/javascripts/local_manifest/local_manifest.js.coffee b/app/assets/javascripts/local_manifest/local_manifest.js.coffee index f3a0235f..8d6ca669 100644 --- a/app/assets/javascripts/local_manifest/local_manifest.js.coffee +++ b/app/assets/javascripts/local_manifest/local_manifest.js.coffee @@ -12,6 +12,12 @@ class LocalManifest @forms = LocalManifest.Form.load(this, @local_json, 'forms', LocalManifest.Form) @buckets = LocalManifest.Bucket.load(this, @local_json, 'buckets', LocalManifest.Bucket) + @manifest: () -> + @mani + + @set_manifest: (manifest) -> + @mani = manifest + constructor: (local_json) -> _module_names = [] @local_json = local_json || {} diff --git a/app/assets/javascripts/locmare/filer.js.coffee b/app/assets/javascripts/locmare/filer.js.coffee new file mode 100644 index 00000000..e2a8a365 --- /dev/null +++ b/app/assets/javascripts/locmare/filer.js.coffee @@ -0,0 +1,43 @@ +class Locmare.Filer extends Backbone.View + tagName: 'div' + initialize: (options) -> + @item_name = options.item_name + @collection = options.collection + @list_result = options.list_result + @pager_type = options.pager_type + @operators = options.operators + @manifest = LocalManifest.manifest().filers[@item_name] + @template_dir = 'templates-filer-' + @header = new Locmare.FilerModule.Header({'filer': this}) + @body = new Locmare.FilerModule.Body({'filer': this}) + #@init_pager + + render: () -> + template = _.template($("#" + @template_name()).html()) + this.$el.html(template({'filer': this})) + this + + init_pager: () -> + @pager = self.class.pager[@pager_type].new self + + @pager: () -> + {'none': NonePager, 'default': DefaultPager, 'more': MorePager} + + model: () -> + Manifest.item_name_to_model @item_name + + # switch body class for dialog + mybody: () -> + Locmare.FilerModule.Body + + template_file_name: () -> + "filer" + + template_name: () -> + @template_dir + @template_file_name() + + image_dir: () -> + '/images/' + +class Locmare.FilerModule + diff --git a/app/assets/javascripts/locmare/filer/body.js.coffee b/app/assets/javascripts/locmare/filer/body.js.coffee new file mode 100644 index 00000000..c2b90cdd --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body.js.coffee @@ -0,0 +1,43 @@ +class Locmare.FilerModule.Body extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @filer = options.filer + @file_header = new Locmare.FilerModule.BodyModule.FileHeader({'body': this}) + @file_body = new Locmare.FilerModule.BodyModule.FileBody({'body': this}) + + render: () -> + args = {'header': this, 'body': this} + template = _.template($("#" + @template_name()).html()) + this.$el.html(template(args)) + this + + file_header_class: () -> + Locmare.FilerModule.BodyModule.FileHeader + + file_body_class: () -> + Locmare.FilerModule.BodyModule.FileBody + + manifest: () -> + @filer.manifest + + item_name: () -> + @filer.item_name + + model: () -> + @filer.model() + + items: () -> + @filer.items + + template_dir: () -> + @filer.template_dir + + template_file_name: () -> + "body" + + template_name: () -> + @template_dir() + @template_file_name() + +class Locmare.FilerModule.BodyModule + 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 index 00000000..e54d2fa4 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body.js.coffee @@ -0,0 +1,45 @@ +class Locmare.FilerModule.BodyModule.FileBody extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @body = options.body + _this = this + @file_items = @collection().fetch({}).done(() -> _this.render()) + + render: () -> + _this = this + _.each @collection(), (item) -> + file_item = new _this.file_item_class()({'file_body': _this, 'item ':item}) + args = {'file_body': _this} + template = _.template($("#" + file_item.template_name()).html()) + _this.$el.append(template(args)) + this + + file_item_class: () -> + Locmare.FilerModule.BodyModule.FileBodyModule.FileItem + + filer: () -> + @body.filer + + manifest: () -> + @filer().manifest + + item_name: () -> + @filer().item_name + + model: () -> + @filer().model + + collection: () -> + @filer().collection + + template_dir: () -> + @filer().template_dir + + template_file_name: () -> + "file_body" + + template_name: () -> + @template_dir() + @template_file_name() + +class Locmare.FilerModule.BodyModule.FileBodyModule 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 index 00000000..826c0e72 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item.js.coffee @@ -0,0 +1,47 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItem extends Backbone.View + tagName: 'li' + id: "" + class: "filer-item filer-item-<%= file_item.item_name -%>" + + initialize: (options) -> + @file_body = options.file_body + @item = options.item + @symbol = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnFactory.factory this, @manifest().symbol, @item + @caption = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnFactory.factory this, @manifest().caption, @item + @summary = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnFactory.factory this, @manifest().manifest.summary, @item + @icon = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnFactory.factory this, @manifest().icon, @item + @date = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnFactory.factory this, @manifest().date, @item + @edit = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnFactory.factory this, @manifest().edit, @item + + render: () -> + args = {'header': this} + template = _.template($("#" + @template_name()).html()) + this.$el.html(template(args)) + this + + filer: () -> + @file_body.filer() + + manifest: () -> + @filer().manifest + + item_name: () -> + @filer().item_name + + model: () -> + @filer().model + + items: () -> + @filer().items + + template_dir: () -> + @filer().template_dir + + template_file_name: () -> + "file_item" + + template_name: () -> + @template_dir() + @template_file_name() + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule + 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 index 00000000..3f8154b2 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption.js.coffee @@ -0,0 +1,20 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnFactory + + @types: () -> + { + 'default': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Default, + 'template': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Template, + 'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.None + } + + @factory: (file_item, my_manifest, item) -> + type = my_manifest.type + if not type + alert_message "undefined type", "local view filers > #{file_item.item_name} > caption > default > face\n" + my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnFactory.types()[type] + if not my_class + alert_message "undefined class", "local view filers > #{file_item.item_name} > caption > default > face > #{type}\n" + new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item}) + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule + 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 index 00000000..a4165c7c --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/base.js.coffee @@ -0,0 +1,36 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Base extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @file_item = options.file_item + @date_manifest = options.my_manifest + @item = options.item + @column_name = 'caption' + + filer: () -> + @file_item.filer() + + manifest: () -> + @filer().manifest + + item_name: () -> + @filer().item_name + + column_template_dir: () -> + @filer().template_dir() + 'item_column-' + + column_template_file_name: () -> + raise "undefined column_template_file_name\n" + + column_template_name: () -> + @column_template_dir() + @column_template_file_name() + + item_template_dir: () -> + @filer().template_dir() + 'caption-' + + item_template_file_name: () -> + raise "undefined item_template_file_name\n" + + item_template_name: () -> + @item_template_dir() + @item_template_file_name() + 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 index 00000000..906c9718 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default.js.coffee @@ -0,0 +1,18 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Default extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Base + + initialize: (options) -> + super(options) + @face = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceFactory.factory this, @my_manifest.face, @item + @link = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkFactory.factory this, @my_manifest.link, @item + + column_template_file_name: () -> + 'show' + + item_template_file_name: () -> + if @my_manifest.link.type() == 'none' + 'default_without_link' + else + 'default' + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule + 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 index 00000000..23128cf4 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face.js.coffee @@ -0,0 +1,20 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceFactory + + @types: () -> + { + 'column': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.ColumnFace, + 'method': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.MethodFace, + 'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.NoneFace + } + + @factory: (file_item, my_manifest, item) -> + type = my_manifest.type + if not type + alert_message "undefined type for local view filers > #{file_item.item_name} > caption > face\n" + my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceFactory.types()[type] + if not my_class + alert_message "undefined class for local view filers > #{file_item.item_name} > caption > face > #{type}\n" + new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item}) + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule + 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 index 00000000..19bedfbd --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/base.js.coffee @@ -0,0 +1,27 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.BaseFace extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @file_item = options.file_item + @default_caption = options.my_manifest + @item = options.item + + filer: () -> + @default_caption.filer() + + manifest: () -> + @filer().manifest + + item_name: () -> + @filer().item_name + + template_dir: () -> + @filer().template_dir + "caption_face-" + + template_file_name: () -> + raise "undefined template_file_name\n" + + template_name: () -> + @template_dir() + @template_file_name() + + 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 index 00000000..6effeae0 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/column.js.coffee @@ -0,0 +1,11 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.ColumnFace extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.BaseFace + + template_file_name: () -> + if @face.is_blank() + 'empty' + else + 'column' + + face: () -> + @item.get(@my_manifest.column_name()) + 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 index 00000000..1de23d9b --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/method.js.coffee @@ -0,0 +1,11 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.MethodFace extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.BaseFace + + @template_file_name: () -> + if @face.is_blank() + 'empty' + else + 'column' + + face: () -> + @item[@face_manifest.method_name()]() + 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 index 00000000..ae72d844 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/face/none.js.coffee @@ -0,0 +1,5 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.NoneFace extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.FaceModule.BaseFace + + template_file_name: () -> + 'none' + 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 index 00000000..714b0617 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link.js.coffee @@ -0,0 +1,21 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkFactory + + @types: () -> + { + 'action': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.ActionLink, + 'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.NoneLink, + 'url_column': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.UrlColumnLink + } + + @factory: (file_item, my_manifest, item) -> + type = my_manifest.type + if not type + alert_message "undefined type for local view filers > #{file_item.item_name} > caption > link\n" + my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkFactory.types()[type] + if not my_class + alert_message "undefined class for local view filers > #{file_item.item_name} > caption > link > #{type}\n" + new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item}) + + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule + 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 index 00000000..fc35293c --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/action.js.coffee @@ -0,0 +1,5 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.ActionLink extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.BaseLink + + url: () -> + @my_manifest.action_path() + @item.get('id').toString() + 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 index 00000000..a2e8e75d --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/base.js.coffee @@ -0,0 +1,11 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.BaseLink extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @file_item = options.file_item + @default_caption = options.my_manifest + @item = options.item + + url: () -> + raise "undefined url\n" + 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 index 00000000..12a5a22f --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/none.js.coffee @@ -0,0 +1,5 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.NoneLink extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.BaseLink + + url: () -> + null + 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 index 00000000..24631e5e --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/default/link/url_column.js.coffee @@ -0,0 +1,5 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.UrlColumnLink extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.DefaultModule.LinkModule.BaseLink + + url: () -> + @item.get(@my_manifest.column_name()) + 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 index 00000000..80340b1b --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/none.js.coffee @@ -0,0 +1,5 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.None extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Base + + column_template_file_name: () -> + 'none' + 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 index 00000000..bcda9c73 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/caption/template.js.coffee @@ -0,0 +1,4 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Template extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.CaptionItemColumnModule.Base + + template_file_name: () -> + @my_manifest.template_name() 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 index 00000000..448923d7 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/date.js.coffee @@ -0,0 +1,19 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnFactory + + @types: () -> + { + 'default': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.Default, + 'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.None + } + + @factory: (file_item, my_manifest, item) -> + type = my_manifest.type + if not type + alert_message "undefined type", "local view filers > #{file_item.item_name} > date\n" + my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnFactory.types()[type] + if not my_class + alert_message "undefined class", "local view filers > #{file_item.item_name} > date > #{type}\n" + new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item}) + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule + 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 index 00000000..0db33a34 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/date/base.js.coffee @@ -0,0 +1,36 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.Base extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @file_item = options.file_item + @date_manifest = options.my_manifest + @item = options.item + @column_name = 'date' + + filer: () -> + @file_item.filer() + + manifest: () -> + @filer.manifest + + item_name: () -> + @filer.item_name + + column_template_dir: () -> + @filer.template_dir + 'item_column-' + + column_template_file_name: () -> + raise "undefined column_template_file_name\n" + + column_template_name: () -> + @column_template_dir() + @column_template_file_name() + + item_template_dir: () -> + @filer.template_dir + 'date-' + + item_template_file_name: () -> + raise "undefined item_template_file_name\n" + + item_template_name: () -> + @item_template_dir() + @item_template_file_name() + 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 index 00000000..b8972d09 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/date/default.js.coffee @@ -0,0 +1,8 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.Default extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.Base + + column_template_file_name: () -> + 'show' + + item_template_file_name: () -> + 'default' + 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 index 00000000..15a37899 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/date/none.js.coffee @@ -0,0 +1,5 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.None extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.DateItemColumnModule.Base + + column_template_file_name: () -> + 'none' + 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 index 00000000..b39b1624 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit.js.coffee @@ -0,0 +1,21 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnFactory + + @types: () -> + { + 'default': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Default, + 'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.None, + 'account': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Account, + 'template': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Template + } + + @factory: (file_item, my_manifest, item) -> + type = my_manifest.type + if not type + alert_message "undefined type","local view filers > #{file_item.item_name} > edit\n" + my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnFactory.types()[type] + if not my_class + alert_message "undefined class", "local view filers > #{file_item.item_name} > edit > #{type}\n" + new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item}) + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule + 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 index 00000000..fc5e555c --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/account.js.coffee @@ -0,0 +1,23 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Account extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Base + + column_template_file_name: () -> + 'show' + + item_template_file_name: () -> + if @item.is_own(@filer().operators) + 'account' + else + 'none' + + edit_img_file_name: () -> + @image_dir() + 'edit.png' + + img_opt: () -> + { + 'width': Manifest.manifest.magic_numbers['thumbnail_width'] / 2, + 'height': Manifest.manifest.magic_numbers['thumbnail_height'] / 2 + } + + edit_img_opt: () -> + _.extend(@img_opt(), {'src': @edit_img_file_name()}) + 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 index 00000000..43ebcd82 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/base.js.coffee @@ -0,0 +1,39 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Base extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @file_item = options.file_item + @date_manifest = options.my_manifest + @item = options.item + @column_name = 'edit' + + filer: () -> + @file_item.filer() + + manifest: () -> + @filer().manifest + + item_name: () -> + @filer().item_name + + image_dir: () -> + @filer().image_dir + + column_template_dir: () -> + @filer().template_dir + 'item_column/' + + column_template_file_name: () -> + raise "undefined column_template_file_name\n" + + column_template_name: () -> + @column_template_dir() + @column_template_file_name() + + item_template_dir: () -> + @filer().template_dir + 'edit/' + + item_template_file_name: () -> + raise "undefined item_template_file_name\n" + + item_template_name: () -> + @item_template_dir() + @item_template_file_name() + 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 index 00000000..b8378135 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/default.js.coffee @@ -0,0 +1,29 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Default extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Base + + column_template_file_name: () -> + 'show' + + item_template_file_name: () -> + if @item.is_own(@filer().operators) + 'default' + else + 'none' + + edit_img_file_name: () -> + @image_dir() + 'edit.png' + + remove_img_file_name: () -> + @image_dir() + 'remove.png' + + img_opt: () -> + { + 'width': Manifest.manifest().magic_numbers['thumbnail_width'] / 2, + 'height': Manifest.manifest().magic_numbers['thumbnail_height'] / 2 + } + + edit_img_opt: () -> + _.extend(@img_opt(), {'src': @edit_img_file_name()}) + + remove_img_opt: () -> + _.extend(@img_opt(), {'src': @remove_img_file_name()}) + 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 index 00000000..f6be2f8f --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/none.js.coffee @@ -0,0 +1,5 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.None extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Base + + column_template_file_name: () -> + 'none' + 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 index 00000000..4764054a --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/edit/template.js.coffee @@ -0,0 +1,17 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Template extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.EditItemColumnModule.Base + + column_template_file_name: () -> + 'show' + + item_template_file_name: () -> + 'template' + + template_dir: () -> + @item.path_name() + '/' + + template_file_name: () -> + @my_manifest.template_name() + + template_name: () -> + @template_dir() + @template_file_name() + 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 index 00000000..2f821f9d --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon.js.coffee @@ -0,0 +1,19 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnFactory + + @types: () -> + { + 'default': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.Default, + 'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.None + } + + @factory: (file_item, my_manifest, item) -> + type = my_manifest.type + if not type + alert_message "undefined type", "local view filers > #{file_item.item_name} > icon\n" + my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnFactory.types()[type] + if not my_class + alert_message "undefined class", "local view filers > #{file_item.item_name} > icon > #{type}\n" + new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item}) + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule + 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 index 00000000..e4207e52 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/base.js.coffee @@ -0,0 +1,36 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.Base extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @file_item = options.file_item + @date_manifest = options.my_manifest + @item = options.item + @column_name = 'icon' + + filer: () -> + @file_item.filer() + + manifest: () -> + @filer().manifest + + item_name: () -> + @filer().item_name + + column_template_dir: () -> + @filer().template_dir() + 'item_column-' + + column_template_file_name: () -> + raise "undefined column_template_file_name\n" + + column_template_name: () -> + @column_template_dir() + @column_template_file_name() + + item_template_dir: () -> + @filer().template_dir() + 'icon-' + + item_template_file_name: () -> + raise "undefined item_template_file_name\n" + + item_template_name: () -> + @item_template_dir() + @item_template_file_name() + 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 index 00000000..6a1a0bdc --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/default.js.coffee @@ -0,0 +1,14 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.Default extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.Base + + column_template_file_name: () -> + 'show' + + item_template_file_name: () -> + 'default' + + icon_file_name: () -> + '/images/prof.gif' + + icon_size: () -> + Manifest.manifest().magic_numbers['thumbnail_width'] + 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 index 00000000..c36869a7 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/icon/none.js.coffee @@ -0,0 +1,5 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.None extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.IconItemColumnModule.Base + + column_template_file_name: () -> + 'none' + 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 index 00000000..a3b5d10f --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary.js.coffee @@ -0,0 +1,19 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnFactory + + @types: () -> + { + 'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.None, + 'template': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.Template + } + + @factory: (file_item, my_manifest, item) -> + type = my_manifest.type + if not type + alert_message "undefined type", "local view filers > #{file_item.item_name} > summary\n" + my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.types()[type] + if not my_class + alert_message "undefined class", "local view filers > #{file_item.item_name} > summary > #{type}\n" + new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item}) + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule + 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 index 00000000..cf91ad9f --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/base.js.coffee @@ -0,0 +1,36 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.Base extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @file_item = options.file_item + @date_manifest = options.my_manifest + @item = options.item + @column_name = 'summary' + + filer: () -> + @file_item.filer() + + manifest: () -> + @filer().manifest + + item_name: () -> + @filer().item_name + + column_template_dir: () -> + @filer().template_dir() + 'item_column-' + + column_template_file_name: () -> + raise "undefined column_template_file_name\n" + + column_template_name: () -> + @column_template_dir() + @column_template_file_name() + + item_template_dir: () -> + @filer().template_dir + 'summary-' + + item_template_file_name: () -> + raise "undefined item_template_file_name\n" + + item_template_name: () -> + @item_template_dir() + @item_template_file_name() + 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 index 00000000..5aaba754 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/none.js.coffee @@ -0,0 +1,5 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.None extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.Base + + column_template_file_name: () -> + "none" + 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 index 00000000..cf2fede3 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/summary/template.js.coffee @@ -0,0 +1,17 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.Template extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SummaryItemColumnModule.Base + + column_template_file_name: () -> + 'show' + + item_template_file_name: () -> + 'template' + + template_dir: () -> + @item.path_name() + '-' + + template_file_name: () -> + @my_manifest.template_name() + + template_name: () -> + @template_dir() + @template_file_name() + 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 index 00000000..4643e209 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol.js.coffee @@ -0,0 +1,19 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnFactory + + @types: () -> + { + 'default': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.Default, + 'template': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.Template + } + + @factory: (file_item, my_manifest, item) -> + type = my_manifest.type + if not type + alert_message "undefined type", "local view filers > #{file_item.item_name} > symbol\n" + my_class = Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnFactory.types()[type] + if not my_class + alert_message "undefined class", "local view filers > #{file_item.item_name} > symbol > #{type}\n" + new my_class({'file_item': file_item, 'my_manifest': my_manifest, 'item': item}) + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule + 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 index 00000000..653b8633 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/base.js.coffee @@ -0,0 +1,17 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.Base extends ManifestBase.TypeArgs + + set_default: () -> + super() + + init: () -> + super() + + is_visible: () -> + raise "undefined visible?\n" + + filer_name: () -> + @parent.name + + filer: () -> + @parent + 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 index 00000000..4228c407 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default.js.coffee @@ -0,0 +1,16 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.Default extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.Base + + set_default: () -> + super() + @args['face'] ||= {} + @args['link'] ||= {} + + init: () -> + super() + @face = ManifestBase.load_type_args this, @args, 'face', Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.FaceFactory + @link = ManifestBase.load_type_args this, @args, 'link', Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkFactory + + is_visible: () -> + true + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule 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 index 00000000..a9864805 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face.js.coffee @@ -0,0 +1,13 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.FaceFactory + + @types: () -> + { + 'image': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.FaceModule.ImageFace, + 'picture': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.FaceModule.PictureFace + } + + @default_type: () -> + 'image' + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.FaceModule + 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 index 00000000..72f81a04 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/base.js.coffee @@ -0,0 +1,26 @@ +class LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.BaseFace extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @file_item = options.file_item + @default_symbol = options.my_manifest + @item = options.item + + filer: () -> + @default_symbol.filer + + manifest: () -> + @filer().manifest + + item_name: () -> + @filer().item_name + + template_dir: () -> + @filer().template_dir + "symbol_face-" + + template_file_name: () -> + raise "undefined template_file_name\n" + + template_name: () -> + @template_dir() + @template_file_name() + 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 index 00000000..234dc5c6 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/image.js.coffee @@ -0,0 +1,11 @@ +class LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.ImageFace extends LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.BaseFace + + template_file_name: () -> + 'image' + + url: () -> + @face_manifest.url + + tag_opt: () -> + {'src': @url(), 'width': Manifest.manifest().magic_numbers['thumbnail_width'], 'height': Manifest.manifest().magic_numbers['thumbnail_height']} + 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 index 00000000..181015f5 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/face/picture.js.coffee @@ -0,0 +1,15 @@ +class LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.PictureFace extends LocalManifest.FilerModule.SymbolModule.DefaultModule.FaceModule.BaseFace + + template_file_name: () -> + 'picture' + + method_name: () -> + @face_manifest.method_name() + + tag_opt: () -> + if @item.methods(true).is_include(@method_name()) + @item[@method_name()]() + else + {'src': '/images/error.png', 'width': Manifest.manifest().magic_numbers['thumbnail_width'], 'height': Manifest.manifest().magic_numbers['thumbnail_height']} + + 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 index 00000000..df9ec758 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link.js.coffee @@ -0,0 +1,14 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkFactory + + @types: () -> + { + 'action': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkModule.ActionLink, + 'none': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkModule.NoneLink, + 'url_column': Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkModule.UrlColumnLink + } + + @default_type: () -> + 'action' + +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.DefaultModule.LinkModule + 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 index 00000000..c6cb9760 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/action.js.coffee @@ -0,0 +1,6 @@ +class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.ActionLink extends LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink + + url: () -> + @link_manifest.action_path() + @item.get('id').toString() + + 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 index 00000000..c6d1fe1c --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/base.js.coffee @@ -0,0 +1,12 @@ +class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @file_item = options.file_item + @default_symbol = options.my_manifest + @item = options.item + + url: () -> + raise "undefined url\n" + + 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 index 00000000..f403e744 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/none.js.coffee @@ -0,0 +1,5 @@ +class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.NoneLink extends LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink + + url: () -> + null + 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 index 00000000..a014c4fe --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/default/link/url_column.js.coffee @@ -0,0 +1,5 @@ +class LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.UrlColumnLink extends LocalManifest.FilerModule.SymbolModule.DefaultModule.LinkModule.BaseLink + + url: () -> + @item.get(@link_manifest.column_name()) + 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 index 00000000..60215b99 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_body/file_item/symbol/template.js.coffee @@ -0,0 +1,13 @@ +class Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.Template extends Locmare.FilerModule.BodyModule.FileBodyModule.FileItemModule.SymbolItemColumnModule.Base + + set_default: () -> + super() + @args['template_name'] ||= 'symbol' + + init: () -> + super() + @template_name = @args['template_name'] + + is_visible: () -> + true + 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 index 00000000..6007bde7 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_header.js.coffee @@ -0,0 +1,70 @@ +class Locmare.FilerModule.BodyModule.FileHeader extends Backbone.View + tagName: 'li' + id: '' + class: 'filer-head filer-head- file_header.item_name' + + initialize: (options) -> + @body = options.body + c = if @manifest().symbol.is_visible() + Locmare.FilerModule.BodyModule.FileHeaderModule.Show + else + Locmare.FilerModule.BodyModule.FileHeaderModule.None + @symbol = new c({'file_header': this, 'column_name': 'symbol'}) + c = if @manifest().caption.is_visible() + Locmare.FilerModule.BodyModule.FileHeaderModule.Show + else + Locmare.FilerModule.BodyModule.FileHeaderModule.None + @caption = new c({'file_header': this, 'column_name': 'caption'}) + c = if @manifest().summary.is_visible() + Locmare.FilerModule.BodyModule.FileHeaderModule.Show + else + Locmare.FilerModule.BodyModule.FileHeaderModule.None + @summary = new c({'file_header': this, 'column_name': 'summary'}) + c = if @manifest().icon.is_visible() + Locmare.FilerModule.BodyModule.FileHeaderModule.Show + else + Locmare.FilerModule.BodyModule.FileHeaderModule.None + @icon = new c({'file_header': this, 'column_name': 'icon'}) + c = if @manifest().date.is_visible() + Locmare.FilerModule.BodyModule.FileHeaderModule.Show + else + Locmare.FilerModule.BodyModule.FileHeaderModule.None + @date = new c({'file_header': this, 'column_name': 'date'}) + c = if @manifest().edit.is_visible() + Locmare.FilerModule.BodyModule.FileHeaderModule.Show + else + Locmare.FilerModule.BodyModule.FileHeaderModule.None + @edit = new c({'file_header': this, 'column_name': 'edit'}) + + render: () -> + args = {'file_header': this} + template = _.template($("#" + @template_name()).html()) + this.$el.html(template(args)) + this + + filer: () -> + @body.filer + + manifest: () -> + @filer().manifest + + item_name: () -> + @filer().item_name + + model: () -> + @filer.model() + + items: () -> + @filer.items + + template_dir: () -> + @body.template_dir() + + template_file_name: () -> + "file_header" + + template_name: () -> + @template_dir() + @template_file_name() + +class Locmare.FilerModule.BodyModule.FileHeaderModule + 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 index 00000000..0bf81335 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_header/base.js.coffee @@ -0,0 +1,36 @@ +class Locmare.FilerModule.BodyModule.FileHeaderModule.Base extends Backbone.View + + initialize: (options) -> + @file_header = options.file_header + @column_name = options.column_name + + render: () -> + args = {'header_column': this} + template = _.template($("#" + @template_name()).html()) + this.$el.html(template(args)) + this + + filer: () -> + @file_header.filer() + + manifest: () -> + @filer().manifest + + item_name: () -> + @filer().item_name + + model: () -> + @filer().model() + + items: () -> + @filer().items + + template_dir: () -> + @filer().template_dir + 'header_column-' + + template_file_name: () -> + "show" + + template_name: () -> + @template_dir() + @template_file_name() + 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 index 00000000..ce1c9435 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_header/none.js.coffee @@ -0,0 +1,8 @@ +class Locmare.FilerModule.BodyModule.FileHeaderModule.None extends Locmare.FilerModule.BodyModule.FileHeaderModule.Base + + render: () -> + this + + template_file_name: () -> + "none" + 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 index 00000000..9c9000ef --- /dev/null +++ b/app/assets/javascripts/locmare/filer/body/file_header/show.js.coffee @@ -0,0 +1,8 @@ +class Locmare.FilerModule.BodyModule.FileHeaderModule.Show extends Locmare.FilerModule.BodyModule.FileHeaderModule.Base + tagName: 'li' + id: '' + class: 'filer-head filer-head- file_header.item_name' + + template_file_name: () -> + "show" + diff --git a/app/assets/javascripts/locmare/filer/header.js.coffee b/app/assets/javascripts/locmare/filer/header.js.coffee new file mode 100644 index 00000000..01a6aa56 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/header.js.coffee @@ -0,0 +1,33 @@ +class Locmare.FilerModule.Header extends Backbone.View + tagName: 'div' + + initialize: (options) -> + @filer = options.filer + + render: () -> + args = {'header': this} + template = _.template($("#" + @template_name()).html()) + this.$el.html(template(args)) + this + + model: () -> + @filer.model() + + icon_name: () -> + @model().singular() + + icon_size: () -> + Manifest.manifest().magic_numbers['thumbnail_width'] / 2 + + human_name: () -> + @model.model_name.human + + template_dir: () -> + @filer.template_dir + + template_file_name: () -> + "header" + + template_name: () -> + @template_dir() + @template_file_name() + diff --git a/app/assets/javascripts/locmare/filer/pager.js.coffee b/app/assets/javascripts/locmare/filer/pager.js.coffee new file mode 100644 index 00000000..70bd3011 --- /dev/null +++ b/app/assets/javascripts/locmare/filer/pager.js.coffee @@ -0,0 +1,84 @@ +class Locmare.FilerModule.Pager + + def initialize filer + @filer = filer + end + + def list_result + @filer.list_result + end + + def api_path + list_result.path + end + + def template_dir + @filer.template_dir + "pager/" + end + + def template_name + self.template_dir + self.template_file_name + end + + end + + class NonePager < Pager + def template_file_name + "none" + end + + end + + class DefaultPager < Pager + def template_file_name + "default" + end + + def paginate + list_result.paginate + end + + end + + class MorePager < Pager + def template_file_name + "more" + end + + end + init_pager: () -> + @pager = self.class.pager[@pager_type].new self + + @pager: () -> + {'none' => NonePager, 'default' => DefaultPager, 'more' => MorePager} + + model: () -> + Manifest.item_name_to_model @item_name + + # switch body class for dialog + mybody: () -> + Body + + template_file_name: () -> + "filer" + + template_name: () -> + @template_dir + @template_file_name + + image_dir: () -> + '/images/' + + constructor: (@item_name, @items, @list_result, @pager_type, @operators) -> + @manifest = LocalManifest.manifest().filers[@item_name] + @template_dir = 'templates/r/filer/' + @header = new Header(self) + @body = new @mybody(self) + @init_pager + +class Locmare.FilerModule + +require_dependency "locmare/filer/header" +require_dependency "locmare/filer/body" +require_dependency "locmare/filer/pager" +module + diff --git a/app/assets/javascripts/locmare/locmare.js.coffee b/app/assets/javascripts/locmare/locmare.js.coffee new file mode 100644 index 00000000..8eb7adc8 --- /dev/null +++ b/app/assets/javascripts/locmare/locmare.js.coffee @@ -0,0 +1,4 @@ +class Locmare + + +@Locmare =Locmare diff --git a/app/assets/javascripts/main.js.coffee b/app/assets/javascripts/main.js.coffee index 0ed4edbe..2539178a 100644 --- a/app/assets/javascripts/main.js.coffee +++ b/app/assets/javascripts/main.js.coffee @@ -12,14 +12,40 @@ $ -> loaded_local_manifest = new LocalManifest(data) ) $.ajaxSetup({async: true}) + Manifest.set_manifest(loaded_manifest) + LocalManifest.set_manifest(loaded_local_manifest) loaded_manifest.init() loaded_local_manifest.init() - class Pettanr extends Backbone.View - el: '#pettanr' + class FilerButton extends Backbone.View + events: { + "click .btn":"on_open" + } initialize: -> + on_open: () -> + @render() render: () -> - $(@el).append(@template()) - template: () -> - 'asd' - pettanr = new Pettanr() - pettanr.render() + class ArCol extends Backbone.Collection + model: Pettanr.Artist + url: '/artists' + cc = new ArCol({}) + cc.fetch({}) + class ArtistCollection extends Backbone.Collection + model: Pettanr.Artist + url: '/artists' + cc = new ArtistCollection({}) + cc.fetch({}) + list_result = null + operators = null + v = new Locmare.Filer({ + item_name: 'artist', + collection: cc, + list_result: list_result, + pager_type: 'default', + operators: operators + }) + a=v.render() + b=a.el + c=v.header.render() + d=c.el + $("#pettanr").html(v.render().el) + diff --git a/app/assets/javascripts/manifest/manifest.js.coffee b/app/assets/javascripts/manifest/manifest.js.coffee index bfd8039f..9e7c2285 100644 --- a/app/assets/javascripts/manifest/manifest.js.coffee +++ b/app/assets/javascripts/manifest/manifest.js.coffee @@ -12,7 +12,7 @@ class Manifest true @item_name_to_model: (item_name) -> - #item_name.classify.constantize + Pettanr[Pettanr.capitalize(item_name)] @singularize: (name) -> name.replace(/es$/, '').replace(/s$/, '') @@ -20,6 +20,12 @@ class Manifest @pluralize: (name) -> name.pluralize + @manifest: () -> + @mani + + @set_manifest: (manifest) -> + @mani = manifest + constructor: (global_json) -> _module_names = [] @global_json = global_json || {} diff --git a/app/assets/javascripts/models/artist.js.coffee b/app/assets/javascripts/models/artist.js.coffee index e548ce0f..051e898a 100644 --- a/app/assets/javascripts/models/artist.js.coffee +++ b/app/assets/javascripts/models/artist.js.coffee @@ -1,25 +1,15 @@ -class Artist extends Item - @single: () -> +class Pettanr.Artist extends Peta.Owner + @singular: () -> 'Artist' @plural: () -> 'Artists' defaults: { - id: 11 + id: null, + name: 'no name' } initialize: () -> - confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/author.js.coffee b/app/assets/javascripts/models/author.js.coffee index 80d12c9e..2db75648 100644 --- a/app/assets/javascripts/models/author.js.coffee +++ b/app/assets/javascripts/models/author.js.coffee @@ -1,25 +1,15 @@ -class Author extends Item - @single: () -> +class Pettanr.Author extends Peta.Owner + @singular: () -> 'Author' @plural: () -> 'Authors' defaults: { - id: 11 + id: null, + name: 'no name' } initialize: () -> - confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/balloon.js.coffee b/app/assets/javascripts/models/balloon.js.coffee index 9b03bf71..918997c1 100644 --- a/app/assets/javascripts/models/balloon.js.coffee +++ b/app/assets/javascripts/models/balloon.js.coffee @@ -1,70 +1,2 @@ -class Balloon extends Element - @single: () -> - 'Balloon' - - @plural: () -> - 'Balloons' - - @colum_structures: -> - {} - - defaults: { - x: 11 - } - - initialize: () -> - confirm("Welcome to this world") - - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - confirm( @path_name() ) - confirm( @colum_structures() ) - - has_picture: () -> - true - - has_part: () -> - false - - extend_column: () -> - null - - test: () -> - confirm( @has_picture() ) - confirm( @has_part() ) - confirm( @parts() ) - confirm( @has_helper('column_name') ) - confirm( @element_name() ) - confirm( @extend_column() ) - confirm( @extend_element_name() ) - confirm( @find_configurations(window.configurations,'v') ) - confirm( @new_index() ) - confirm( @set_new_index(3) ) - confirm( @set_new_panel('v') ) - confirm( @get_new_panel() ) - confirm( '@get_panel()' ) - confirm( @get_panel() ) - confirm( @tag_id('c') ) - confirm( @field_tag_id('f') ) - confirm( @tag_panel_id() ) - confirm( @tag_element_id() ) - confirm( @tag_element_type() ) - confirm( @tag_new_index() ) - confirm( @path_name() ) - confirm( @form_template() ) - confirm( @scenario_template() ) - confirm( @element_face_template() ) - confirm( @form_helper_template('colum_name') ) - confirm( @tag_attributes('column') ) - confirm( @field_tag_attributes('column', 0, {}) ) - confirm( @any_tag_attributes('name', {}) ) - confirm( @select_tag_attributes(true, 'column', 0) ) - confirm( @tag_attr('column', {}) ) - confirm( @field_tag_attr('column', 1, {}) ) - confirm( @any_tag_attr('name', {}) ) +class Pettanr.Balloon extends Peta.Element -@PanelPicture = PanelPicture diff --git a/app/assets/javascripts/models/comic.js.coffee b/app/assets/javascripts/models/comic.js.coffee index 4291d537..4dc49b71 100644 --- a/app/assets/javascripts/models/comic.js.coffee +++ b/app/assets/javascripts/models/comic.js.coffee @@ -1,4 +1,4 @@ -class Comic extends Item +class Pettanr.Comic extends Peta.Binder @single: () -> 'Comic' @@ -12,14 +12,4 @@ class Comic extends Item initialize: () -> confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/ground_color.js.coffee b/app/assets/javascripts/models/ground_color.js.coffee index eaca96d1..74aae4e4 100644 --- a/app/assets/javascripts/models/ground_color.js.coffee +++ b/app/assets/javascripts/models/ground_color.js.coffee @@ -1,70 +1,2 @@ -class GroundColor extends Element - @single: () -> - 'GroundColor' - - @plural: () -> - 'GroundColors' - - @colum_structures: -> - {} - - defaults: { - x: 11 - } - - initialize: () -> - confirm("Welcome to this world") - - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - confirm( @path_name() ) - confirm( @colum_structures() ) - - has_picture: () -> - true - - has_part: () -> - false - - extend_column: () -> - null - - test: () -> - confirm( @has_picture() ) - confirm( @has_part() ) - confirm( @parts() ) - confirm( @has_helper('column_name') ) - confirm( @element_name() ) - confirm( @extend_column() ) - confirm( @extend_element_name() ) - confirm( @find_configurations(window.configurations,'v') ) - confirm( @new_index() ) - confirm( @set_new_index(3) ) - confirm( @set_new_panel('v') ) - confirm( @get_new_panel() ) - confirm( '@get_panel()' ) - confirm( @get_panel() ) - confirm( @tag_id('c') ) - confirm( @field_tag_id('f') ) - confirm( @tag_panel_id() ) - confirm( @tag_element_id() ) - confirm( @tag_element_type() ) - confirm( @tag_new_index() ) - confirm( @path_name() ) - confirm( @form_template() ) - confirm( @scenario_template() ) - confirm( @element_face_template() ) - confirm( @form_helper_template('colum_name') ) - confirm( @tag_attributes('column') ) - confirm( @field_tag_attributes('column', 0, {}) ) - confirm( @any_tag_attributes('name', {}) ) - confirm( @select_tag_attributes(true, 'column', 0) ) - confirm( @tag_attr('column', {}) ) - confirm( @field_tag_attr('column', 1, {}) ) - confirm( @any_tag_attr('name', {}) ) +class Pettanr.GroundColor extends Peta.Element -@PanelPicture = PanelPicture diff --git a/app/assets/javascripts/models/ground_picture.js.coffee b/app/assets/javascripts/models/ground_picture.js.coffee index d5820fad..3e984b72 100644 --- a/app/assets/javascripts/models/ground_picture.js.coffee +++ b/app/assets/javascripts/models/ground_picture.js.coffee @@ -1,4 +1,4 @@ -class GroundPicture extends Element +class Pettanr.GroundPicture extends Peta.Element @single: () -> 'GroundPicture' @@ -12,59 +12,4 @@ class GroundPicture extends Element x: 11 } - initialize: () -> - confirm("Welcome to this world") - - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - confirm( @path_name() ) - confirm( @colum_structures() ) - - has_picture: () -> - true - - has_part: () -> - false - - extend_column: () -> - null - - test: () -> - confirm( @has_picture() ) - confirm( @has_part() ) - confirm( @parts() ) - confirm( @has_helper('column_name') ) - confirm( @element_name() ) - confirm( @extend_column() ) - confirm( @extend_element_name() ) - confirm( @find_configurations(window.configurations,'v') ) - confirm( @new_index() ) - confirm( @set_new_index(3) ) - confirm( @set_new_panel('v') ) - confirm( @get_new_panel() ) - confirm( '@get_panel()' ) - confirm( @get_panel() ) - confirm( @tag_id('c') ) - confirm( @field_tag_id('f') ) - confirm( @tag_panel_id() ) - confirm( @tag_element_id() ) - confirm( @tag_element_type() ) - confirm( @tag_new_index() ) - confirm( @path_name() ) - confirm( @form_template() ) - confirm( @scenario_template() ) - confirm( @element_face_template() ) - confirm( @form_helper_template('colum_name') ) - confirm( @tag_attributes('column') ) - confirm( @field_tag_attributes('column', 0, {}) ) - confirm( @any_tag_attributes('name', {}) ) - confirm( @select_tag_attributes(true, 'column', 0) ) - confirm( @tag_attr('column', {}) ) - confirm( @field_tag_attr('column', 1, {}) ) - confirm( @any_tag_attr('name', {}) ) -@PanelPicture = PanelPicture diff --git a/app/assets/javascripts/models/license.js.coffee b/app/assets/javascripts/models/license.js.coffee index 19e5b943..214c4acb 100644 --- a/app/assets/javascripts/models/license.js.coffee +++ b/app/assets/javascripts/models/license.js.coffee @@ -1,4 +1,4 @@ -class License extends Item +class Pettanr.License extends Peta.SystemResource @single: () -> 'License' @@ -12,14 +12,4 @@ class License extends Item initialize: () -> confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/license_group.js.coffee b/app/assets/javascripts/models/license_group.js.coffee index db6e7599..b097b385 100644 --- a/app/assets/javascripts/models/license_group.js.coffee +++ b/app/assets/javascripts/models/license_group.js.coffee @@ -1,4 +1,4 @@ -class LicenseGroup extends Item +class Pettanr.LicenseGroup extends Peta.Template @single: () -> 'LicenseGroup' @@ -12,14 +12,4 @@ class LicenseGroup extends Item initialize: () -> confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/original_picture.js.coffee b/app/assets/javascripts/models/original_picture.js.coffee index cb58ca35..b1f95aab 100644 --- a/app/assets/javascripts/models/original_picture.js.coffee +++ b/app/assets/javascripts/models/original_picture.js.coffee @@ -1,4 +1,4 @@ -class OriginalPicture extends Item +class Pettanr.OriginalPicture extends Peta.Content @single: () -> 'OriginalPicture' @@ -12,14 +12,4 @@ class OriginalPicture extends Item initialize: () -> confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel 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 index 00000000..8fc98a40 --- /dev/null +++ b/app/assets/javascripts/models/original_picture_license.js.coffee @@ -0,0 +1,15 @@ +class Pettanr.OriginalPictureLicense extends Peta.Item + @single: () -> + 'OriginalPictureLicense' + + @plural: () -> + 'OriginalPictureLicenses' + + defaults: { + id: 11 + } + + initialize: () -> + confirm("Welcome to Panel") + + 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 index 00000000..cdd907a1 --- /dev/null +++ b/app/assets/javascripts/models/original_picture_license_group.js.coffee @@ -0,0 +1,15 @@ +class Pettanr.OriginalPictureLicenseGroup extends Peta.Item + @single: () -> + 'OriginalPictureLicenseGroup' + + @plural: () -> + 'OriginalPictureLicenseGroups' + + defaults: { + id: 11 + } + + initialize: () -> + confirm("Welcome to Panel") + + diff --git a/app/assets/javascripts/models/panel.js.coffee b/app/assets/javascripts/models/panel.js.coffee index 1e476e11..8b5dfc6e 100644 --- a/app/assets/javascripts/models/panel.js.coffee +++ b/app/assets/javascripts/models/panel.js.coffee @@ -1,4 +1,4 @@ -class Panel extends Item +class Pettanr.Panel extends Peta.Root @single: () -> 'Panel' @@ -12,14 +12,4 @@ class Panel extends Item initialize: () -> confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/panel_picture.js.coffee b/app/assets/javascripts/models/panel_picture.js.coffee index 1dcb93e2..86d96421 100644 --- a/app/assets/javascripts/models/panel_picture.js.coffee +++ b/app/assets/javascripts/models/panel_picture.js.coffee @@ -1,4 +1,4 @@ -class PanelPicture extends Element +class Pettanr.PanelPicture extends Peta.Element @single: () -> 'PanelPicture' @@ -15,56 +15,4 @@ class PanelPicture extends Element initialize: () -> confirm("Welcome to this world") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - confirm( @path_name() ) - confirm( @colum_structures() ) - - has_picture: () -> - true - - has_part: () -> - false - - extend_column: () -> - null - - test: () -> - confirm( @has_picture() ) - confirm( @has_part() ) - confirm( @parts() ) - confirm( @has_helper('column_name') ) - confirm( @element_name() ) - confirm( @extend_column() ) - confirm( @extend_element_name() ) - confirm( @find_configurations(window.configurations,'v') ) - confirm( @new_index() ) - confirm( @set_new_index(3) ) - confirm( @set_new_panel('v') ) - confirm( @get_new_panel() ) - confirm( '@get_panel()' ) - confirm( @get_panel() ) - confirm( @tag_id('c') ) - confirm( @field_tag_id('f') ) - confirm( @tag_panel_id() ) - confirm( @tag_element_id() ) - confirm( @tag_element_type() ) - confirm( @tag_new_index() ) - confirm( @path_name() ) - confirm( @form_template() ) - confirm( @scenario_template() ) - confirm( @element_face_template() ) - confirm( @form_helper_template('colum_name') ) - confirm( @tag_attributes('column') ) - confirm( @field_tag_attributes('column', 0, {}) ) - confirm( @any_tag_attributes('name', {}) ) - confirm( @select_tag_attributes(true, 'column', 0) ) - confirm( @tag_attr('column', {}) ) - confirm( @field_tag_attr('column', 1, {}) ) - confirm( @any_tag_attr('name', {}) ) -@PanelPicture = PanelPicture diff --git a/app/assets/javascripts/models/picture.js.coffee b/app/assets/javascripts/models/picture.js.coffee index 295cb857..27503a86 100644 --- a/app/assets/javascripts/models/picture.js.coffee +++ b/app/assets/javascripts/models/picture.js.coffee @@ -1,4 +1,4 @@ -class Picture extends Item +class Pettanr.Picture extends Peta.Content @single: () -> 'Picture' @@ -11,15 +11,4 @@ class Picture extends Item initialize: () -> confirm("Welcome to Panel") - - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/resource_picture.js.coffee b/app/assets/javascripts/models/resource_picture.js.coffee index 1853af30..0a531b3a 100644 --- a/app/assets/javascripts/models/resource_picture.js.coffee +++ b/app/assets/javascripts/models/resource_picture.js.coffee @@ -1,4 +1,4 @@ -class ResourcePicture extends Item +class Pettanr.ResourcePicture extends Peta.Content @single: () -> 'ResourcePicture' @@ -12,14 +12,4 @@ class ResourcePicture extends Item initialize: () -> confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/scroll.js.coffee b/app/assets/javascripts/models/scroll.js.coffee index 52f9581c..f26e2d88 100644 --- a/app/assets/javascripts/models/scroll.js.coffee +++ b/app/assets/javascripts/models/scroll.js.coffee @@ -1,25 +1,2 @@ -class Scroll extends Item - @single: () -> - 'Scroll' - - @plural: () -> - 'Scrolls' - - defaults: { - id: 11 - } - - initialize: () -> - confirm("Welcome to Panel") - - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> +class Pettanr.Scroll extends Peta.Binder -@Panel = Panel diff --git a/app/assets/javascripts/models/scroll_panel.js.coffee b/app/assets/javascripts/models/scroll_panel.js.coffee index f5b289ca..059d2dcb 100644 --- a/app/assets/javascripts/models/scroll_panel.js.coffee +++ b/app/assets/javascripts/models/scroll_panel.js.coffee @@ -1,4 +1,4 @@ -class ScrollPanel extends Item +class Pettanr.ScrollPanel extends Peta.Leaf @single: () -> 'ScrollPanel' @@ -12,14 +12,4 @@ class ScrollPanel extends Item initialize: () -> confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/sheet.js.coffee b/app/assets/javascripts/models/sheet.js.coffee index d4ee92d8..28cc9442 100644 --- a/app/assets/javascripts/models/sheet.js.coffee +++ b/app/assets/javascripts/models/sheet.js.coffee @@ -1,4 +1,4 @@ -class Sheet extends Item +class Pettanr.Sheet extends Peta.Root @single: () -> 'Sheet' @@ -12,14 +12,4 @@ class Sheet extends Item initialize: () -> confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/sheet_panel.js.coffee b/app/assets/javascripts/models/sheet_panel.js.coffee index ed3c1b14..4e75dd3d 100644 --- a/app/assets/javascripts/models/sheet_panel.js.coffee +++ b/app/assets/javascripts/models/sheet_panel.js.coffee @@ -1,4 +1,4 @@ -class SheetPanel extends Item +class Pettanr.SheetPanel extends Peta.Leaf @single: () -> 'SheetPanel' @@ -12,14 +12,4 @@ class SheetPanel extends Item initialize: () -> confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/speech.js.coffee b/app/assets/javascripts/models/speech.js.coffee index bf3fb395..4e26b4f5 100644 --- a/app/assets/javascripts/models/speech.js.coffee +++ b/app/assets/javascripts/models/speech.js.coffee @@ -1,4 +1,4 @@ -class SpeechBalloon extends Element +class Pettanr.SpeechBalloon extends Peta.Element @single: () -> 'Speech' @@ -15,56 +15,4 @@ class SpeechBalloon extends Element initialize: () -> confirm("Welcome to this world") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - confirm( @path_name() ) - confirm( @colum_structures() ) - - has_picture: () -> - true - - has_part: () -> - false - - extend_column: () -> - null - - test: () -> - confirm( @has_picture() ) - confirm( @has_part() ) - confirm( @parts() ) - confirm( @has_helper('column_name') ) - confirm( @element_name() ) - confirm( @extend_column() ) - confirm( @extend_element_name() ) - confirm( @find_configurations(window.configurations,'v') ) - confirm( @new_index() ) - confirm( @set_new_index(3) ) - confirm( @set_new_panel('v') ) - confirm( @get_new_panel() ) - confirm( '@get_panel()' ) - confirm( @get_panel() ) - confirm( @tag_id('c') ) - confirm( @field_tag_id('f') ) - confirm( @tag_panel_id() ) - confirm( @tag_element_id() ) - confirm( @tag_element_type() ) - confirm( @tag_new_index() ) - confirm( @path_name() ) - confirm( @form_template() ) - confirm( @scenario_template() ) - confirm( @element_face_template() ) - confirm( @form_helper_template('colum_name') ) - confirm( @tag_attributes('column') ) - confirm( @field_tag_attributes('column', 0, {}) ) - confirm( @any_tag_attributes('name', {}) ) - confirm( @select_tag_attributes(true, 'column', 0) ) - confirm( @tag_attr('column', {}) ) - confirm( @field_tag_attr('column', 1, {}) ) - confirm( @any_tag_attr('name', {}) ) -@PanelPicture = PanelPicture diff --git a/app/assets/javascripts/models/speech_balloon.js.coffee b/app/assets/javascripts/models/speech_balloon.js.coffee index 4a282025..1d0f0a55 100644 --- a/app/assets/javascripts/models/speech_balloon.js.coffee +++ b/app/assets/javascripts/models/speech_balloon.js.coffee @@ -1,4 +1,4 @@ -class SpeechBalloon extends Element +class Pettanr.SpeechBalloon extends Peta.Element @single: () -> 'SpeechBalloon' @@ -15,56 +15,4 @@ class SpeechBalloon extends Element initialize: () -> confirm("Welcome to this world") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - confirm( @path_name() ) - confirm( @colum_structures() ) - - has_picture: () -> - true - - has_part: () -> - false - - extend_column: () -> - null - - test: () -> - confirm( @has_picture() ) - confirm( @has_part() ) - confirm( @parts() ) - confirm( @has_helper('column_name') ) - confirm( @element_name() ) - confirm( @extend_column() ) - confirm( @extend_element_name() ) - confirm( @find_configurations(window.configurations,'v') ) - confirm( @new_index() ) - confirm( @set_new_index(3) ) - confirm( @set_new_panel('v') ) - confirm( @get_new_panel() ) - confirm( '@get_panel()' ) - confirm( @get_panel() ) - confirm( @tag_id('c') ) - confirm( @field_tag_id('f') ) - confirm( @tag_panel_id() ) - confirm( @tag_element_id() ) - confirm( @tag_element_type() ) - confirm( @tag_new_index() ) - confirm( @path_name() ) - confirm( @form_template() ) - confirm( @scenario_template() ) - confirm( @element_face_template() ) - confirm( @form_helper_template('colum_name') ) - confirm( @tag_attributes('column') ) - confirm( @field_tag_attributes('column', 0, {}) ) - confirm( @any_tag_attributes('name', {}) ) - confirm( @select_tag_attributes(true, 'column', 0) ) - confirm( @tag_attr('column', {}) ) - confirm( @field_tag_attr('column', 1, {}) ) - confirm( @any_tag_attr('name', {}) ) -@PanelPicture = PanelPicture diff --git a/app/assets/javascripts/models/speech_balloon_template.js.coffee b/app/assets/javascripts/models/speech_balloon_template.js.coffee index 04168333..dcf4c9f1 100644 --- a/app/assets/javascripts/models/speech_balloon_template.js.coffee +++ b/app/assets/javascripts/models/speech_balloon_template.js.coffee @@ -1,25 +1,2 @@ -class SpeechBalloonTemplate extends Item - @single: () -> - 'SpeechBalloonTemplate' - - @plural: () -> - 'SpeechBalloonTemplates' - - defaults: { - id: 11 - } - - initialize: () -> - confirm("Welcome to Panel") - - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> +class Pettanr.SpeechBalloonTemplate extends Peta.Template -@Panel = Panel diff --git a/app/assets/javascripts/models/story.js.coffee b/app/assets/javascripts/models/story.js.coffee index d635ff74..6ab4cf13 100644 --- a/app/assets/javascripts/models/story.js.coffee +++ b/app/assets/javascripts/models/story.js.coffee @@ -1,4 +1,4 @@ -class Story extends Item +class Pettanr.Story extends Peta.Binder @single: () -> 'Story' @@ -12,14 +12,4 @@ class Story extends Item initialize: () -> confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/story_sheet.js.coffee b/app/assets/javascripts/models/story_sheet.js.coffee index 95f4b2c5..6e055f94 100644 --- a/app/assets/javascripts/models/story_sheet.js.coffee +++ b/app/assets/javascripts/models/story_sheet.js.coffee @@ -1,4 +1,4 @@ -class StorySheet extends Item +class Pettanr.StorySheet extends Peta.Leaf @single: () -> 'StorySheet' @@ -12,14 +12,4 @@ class StorySheet extends Item initialize: () -> confirm("Welcome to Panel") - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> -@Panel = Panel diff --git a/app/assets/javascripts/models/system_picture.js.coffee b/app/assets/javascripts/models/system_picture.js.coffee index 628870b6..6e08cac6 100644 --- a/app/assets/javascripts/models/system_picture.js.coffee +++ b/app/assets/javascripts/models/system_picture.js.coffee @@ -1,25 +1 @@ -class SystemPicture extends Item - @single: () -> - 'SystemPicture' - - @plural: () -> - 'SystemPictures' - - defaults: { - id: 11 - } - - initialize: () -> - confirm("Welcome to Panel") - - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> - -@Panel = Panel +class Pettanr.SystemPicture extends Peta.SystemResource diff --git a/app/assets/javascripts/models/writing_format.js.coffee b/app/assets/javascripts/models/writing_format.js.coffee index 620b3313..bd85d8ee 100644 --- a/app/assets/javascripts/models/writing_format.js.coffee +++ b/app/assets/javascripts/models/writing_format.js.coffee @@ -1,25 +1,2 @@ -class WritingFormat extends Item - @single: () -> - 'WritingFormat' - - @plural: () -> - 'WritingFormats' - - defaults: { - id: 11 - } - - initialize: () -> - confirm("Welcome to Panel") - - @test: () -> - confirm( @single()) - confirm( @plural() ) - confirm( @class_name() ) - confirm( @element_name() ) - confirm( @table_name() ) - - - test: () -> +class Pettanr.WritingFormat extends Peta.Template -@Panel = Panel diff --git a/app/assets/javascripts/peta/binder.js.coffee b/app/assets/javascripts/peta/binder.js.coffee new file mode 100644 index 00000000..1aa35a0b --- /dev/null +++ b/app/assets/javascripts/peta/binder.js.coffee @@ -0,0 +1,21 @@ +class Peta.Binder extends Peta.Content + # Instance Methods + leaf_items: (leaf_model) -> + this[@my_class().my_manifest().associations.child_element_name(leaf_model)]() + + leafs_items: () -> + l = _.map @my_class().child_models(), (child_model) -> + @leaf_items(child_model()) + l.flatten + + # Class Methods + + # Instance Methods + + + @test: () -> + super() + + test: () -> + super() + diff --git a/app/assets/javascripts/peta/content.js.coffee b/app/assets/javascripts/peta/content.js.coffee new file mode 100644 index 00000000..8777ccb4 --- /dev/null +++ b/app/assets/javascripts/peta/content.js.coffee @@ -0,0 +1,55 @@ +class Peta.Content extends Peta.Item + # Dynamic Methods + + # Class Methods + @is_content: () -> + @my_class().my_manifest().content_model() + + @owner_type: () -> + @my_class().my_manifest().owner_type() + + @owner_model: () -> + @parent_model() + + @owner_column: () -> + @owner_type().toString() + '_id' + + # Instance Methods + + # Class Methods + + @operator: (operators) -> + return null if not @owner_type() + operators[@owner_type()]() + + # Instance Methods + + owner_model: () -> + if @my_class().owner_model() + this[@my_class().owner_model().item_name()]() + else + this + + # super return if my item + is_visible: (operators) -> + super() + return null if @owner_model().is_own(operators) + true + + is_own: (operators) -> + operator = self.class.operator operators + return false if not operator + @owner_model().get(@my_class().owner_column()) == operator.id + + @test: () -> + super() + console.log(@is_content()) + console.log(@owner_type()) + console.log(@owner_model()) + console.log(@owner_column()) + console.log() + + test: () -> + super() + console.log() + diff --git a/app/assets/javascripts/peta/editize.js.coffee b/app/assets/javascripts/peta/editize.js.coffee new file mode 100644 index 00000000..6c393993 --- /dev/null +++ b/app/assets/javascripts/peta/editize.js.coffee @@ -0,0 +1 @@ +class Peta.Editize diff --git a/app/assets/javascripts/peta/element.js.coffee b/app/assets/javascripts/peta/element.js.coffee new file mode 100644 index 00000000..9f16a8ed --- /dev/null +++ b/app/assets/javascripts/peta/element.js.coffee @@ -0,0 +1 @@ +class Peta.Element extends Peta.ElementNestableContent 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 index 00000000..be936336 --- /dev/null +++ b/app/assets/javascripts/peta/element_nestable_content.js.coffee @@ -0,0 +1 @@ +class Peta.ElementNestableContent extends Peta.Content diff --git a/app/assets/javascripts/peta/item.js.coffee b/app/assets/javascripts/peta/item.js.coffee new file mode 100644 index 00000000..248c0e3f --- /dev/null +++ b/app/assets/javascripts/peta/item.js.coffee @@ -0,0 +1,185 @@ +class Peta.Item extends Backbone.Model + @child_models: () -> + @my_manifest().child_models() + + @child_element_names: () -> + @my_manifest().child_element_names() + + # ClassMethods + + my_class: () -> + Pettanr[@constructor.name] + + @my_peta: () -> + return null if not Manifest.manifest().items + Manifest.manifest().items[@item_name()] + + @my_manifest: () -> + return null if not Manifest.manifest().models + Manifest.manifest().models[@item_name()] + + @singular: () -> + 'Name' + + @plural: () -> + 'Names' + + @class_name: () -> + @singular() + + @model_name: () -> + @class_name() + + @item_name: () -> + Pettanr.underscore(@singular()) + + @table_name: () -> + Pettanr.underscore(@plural()) + + @is_item: () -> + true + + @is_content: () -> + false + + @is_element: () -> + false + + @is_root: () -> + false + + @parent_model: () -> + null + + @path_name: (with_engine = false) -> + @table_name() + + @pickup_item_name: () -> + @item_name() + + @pickup_column_name: () -> + 'id' + + @find_boost_name: (column_name) -> + my_peta().find_boost_name column_name + + @is_extend_column: (column_name) -> + my_peta().is_extend_column column_name + + @fold_extend_settings: (attr) -> + _.each my_peta().boost, (name, manifest) -> + my_settings = attr[manifest.settings_column_name] + if my_settings + attr[manifest.settings_column_name] = my_settings.to_json + + #InstanceMethods + + item_name: () -> + @my_class().item_name() + + model_name: () -> + @item_name() + + table_name: () -> + @my_class().table_name() + + path_name: (with_engine = false) -> + @my_class().path_name(with_engine) + + pickup_item_name: () -> + @my_class().pickup_item_name() + + pickup_column_name: () -> + @my_class().pickup_column_name() + + pickup_id: () -> + @get(pickup_column_name()) + + form_template: (with_engine = false) -> + @path_name(with_engine) + '/form' + + form_name: () -> + if @extend_column() + @get(@extend_column()) + else + @item_name() + + boosts: (level) -> + _.each @my_class().my_peta().boost, (boost_name, boost_manifest) -> + next if level == 'read' and boost_manifest.level == 'post' + @boost boost_manifest + + boost: (boost_manifest) -> + @boosters ||= {} + @boosters[boost_manifest.name] ||= new Locmare.Booster(boost_manifest, this) + + boosters: () -> + @boosters ||= {} + + is_extend_column: (column_name) -> + @is_extend_column column_name + + is_user_visible: (operators) -> + if Manifest.manifest.magic_numbers['run_mode'] == 0 + return false if not operators.is_guest + else + return false if not operators.is_resource_reader + true + + is_visible: (operators) -> + return false if not @is_user_visible(operators) + true + + is_editize: () -> + @editor + + dom_id: () -> + (@get('id') || '').toString() + + dom_pool_type: () -> + @new_record ? 'stored' : 'new' + + merge_dom_item_id: (attr, name = null) -> + if @is_editize() + _.extend(attr, {'id': @dom_item_id(name)}) + else + attr + + tag_attributes: (name = null, opt = {}) -> + r = { + 'data-pool_type': @dom_pool_type(), 'data-id': @dom_id(), + 'data-item_name': @item_name() + } + r = @merge_dom_item_id(r, name) + _.extend(r, opt) + r + + field_tag_attributes: (column_name, opt = {}) -> + r = @tag_attributes(column_name, opt) + _.extend(r, {'data-column_name': column_name}) + r + + post_attribute_key: () -> + @dom_id + + @test: () -> + console.log(@child_models()) + console.log(@child_element_names()) + console.log(@my_peta()) + console.log(@my_manifest()) + console.log() + console.log() + + test: () -> + console.log(@my_class()) + console.log(@item_name()) + console.log(@model_name()) + console.log(@table_name()) + console.log(@path_name()) + console.log(@pickup_item_name()) + console.log(@pickup_column_name()) + console.log(@dom_id()) + console.log(@dom_pool_type()) + console.log(@tag_attributes()) + console.log(@field_tag_attributes('id')) + console.log(@post_attribute_key()) diff --git a/app/assets/javascripts/peta/leaf.js.coffee b/app/assets/javascripts/peta/leaf.js.coffee new file mode 100644 index 00000000..6ac0c082 --- /dev/null +++ b/app/assets/javascripts/peta/leaf.js.coffee @@ -0,0 +1 @@ +class Peta.Leaf extends Peta.Content diff --git a/app/assets/javascripts/peta/owner.js.coffee b/app/assets/javascripts/peta/owner.js.coffee new file mode 100644 index 00000000..d7edd4b2 --- /dev/null +++ b/app/assets/javascripts/peta/owner.js.coffee @@ -0,0 +1,6 @@ +class Peta.Owner extends Peta.Item + + is_own: (operators) -> + return false if not operators.user + @user_id == operators.user.id + diff --git a/app/assets/javascripts/peta/peta.js.coffee b/app/assets/javascripts/peta/peta.js.coffee new file mode 100644 index 00000000..3c2a1e0d --- /dev/null +++ b/app/assets/javascripts/peta/peta.js.coffee @@ -0,0 +1,3 @@ +class Peta + +@Peta = Peta diff --git a/app/assets/javascripts/peta/root.js.coffee b/app/assets/javascripts/peta/root.js.coffee new file mode 100644 index 00000000..58ca3e71 --- /dev/null +++ b/app/assets/javascripts/peta/root.js.coffee @@ -0,0 +1 @@ +class Peta.Root extends Peta.ElementNestableContent diff --git a/app/assets/javascripts/peta/system_resource.js.coffee b/app/assets/javascripts/peta/system_resource.js.coffee new file mode 100644 index 00000000..1f243983 --- /dev/null +++ b/app/assets/javascripts/peta/system_resource.js.coffee @@ -0,0 +1 @@ +class Peta.SystemResource extends Peta.Item diff --git a/app/assets/javascripts/peta/template.js.coffee b/app/assets/javascripts/peta/template.js.coffee new file mode 100644 index 00000000..05e093c7 --- /dev/null +++ b/app/assets/javascripts/peta/template.js.coffee @@ -0,0 +1,2 @@ +class Peta.Template extends Peta.SystemResource + diff --git a/app/assets/javascripts/pettanr.js.coffee b/app/assets/javascripts/pettanr.js.coffee new file mode 100644 index 00000000..82d1128d --- /dev/null +++ b/app/assets/javascripts/pettanr.js.coffee @@ -0,0 +1,41 @@ +class Pettanr + class Pettanr.AppHelper + + @icon_tag: (name, opt = {}) -> + title = if opt['object'] + name + ' ID:' + opt['object'].get(id).toString() + else + name + size = if opt['size'] + parseInt(opt['size']) + else + 35 + "\""" + + class Pettanr.AppController + + #>> https://gist.github.com/davidjbeveridge/3813724 + @xeach: (arr, func, index=0) -> + if index < arr.length then [ func(arr[index], index), @xeach(arr, func, index + 1)... ] else [] + + @camelize: (input) -> + pieces = input.split(/[\W_-]/) + @xeach(pieces, @capitalize).join("") + + @capitalize: (input) -> + input.charAt(0).toUpperCase() + input.slice(1) + + @lowercase: (input) -> + input.toLowerCase() + + @underscore: (input) -> + pieces = input.replace(/([A-Z])/g, '_$1').split(/[\W_-]/).filter (n) -> !!n + @xeach(pieces, @lowercase ).join("_") + # << + @is_a_string: (str) -> + if (str instanceof String) or (typeof str == "string") + true + else + false + +@Pettanr = Pettanr diff --git a/app/models/artist.rb b/app/models/artist.rb index d3052924..83ecf69e 100644 --- a/app/models/artist.rb +++ b/app/models/artist.rb @@ -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 diff --git a/app/views/top/ap.html.erb b/app/views/top/ap.html.erb index 440e23b0..405081d8 100644 --- a/app/views/top/ap.html.erb +++ b/app/views/top/ap.html.erb @@ -1,6 +1,56 @@
+
+ filer +
+ + + + + + + + + + -- 2.11.0