OSDN Git Service

fix profiler
authoryasushiito <yas@pen-chan.jp>
Sun, 7 Sep 2014 10:03:18 +0000 (19:03 +0900)
committeryasushiito <yas@pen-chan.jp>
Sun, 7 Sep 2014 10:03:18 +0000 (19:03 +0900)
75 files changed:
app/assets/javascripts/addons/circle_speech_balloons/init.js.coffee [new file with mode: 0644]
app/assets/javascripts/addons/pettanr_creative_commons_v30_licenses/init.js.coffee [new file with mode: 0644]
app/assets/javascripts/addons/pettanr_pettan_commons_v01_licenses/init.js.coffee [new file with mode: 0644]
app/assets/javascripts/addons/pettanr_pettan_protected_v01_licenses/init.js.coffee [new file with mode: 0644]
app/assets/javascripts/addons/pettanr_pettan_public_v01_licenses/init.js.coffee [new file with mode: 0644]
app/assets/javascripts/addons/pettanr_public_domain_v01_licenses/init.js.coffee [new file with mode: 0644]
app/assets/javascripts/addons/pettanr_simple_format/init.js.coffee [new file with mode: 0644]
app/assets/javascripts/addons/pettanr_unknown_v01_licenses/init.js.coffee [new file with mode: 0644]
app/assets/javascripts/addons/plain_speech_balloons/init.js.coffee [new file with mode: 0644]
app/assets/javascripts/addons/square_speech_balloons/init.js.coffee [new file with mode: 0644]
app/assets/javascripts/ap.js
app/assets/javascripts/controllers/artists.js.coffee
app/assets/javascripts/controllers/authors.js.coffee
app/assets/javascripts/controllers/balloons.js.coffee
app/assets/javascripts/controllers/comic_stories.js.coffee
app/assets/javascripts/controllers/comics.js.coffee
app/assets/javascripts/controllers/ground_colors.js.coffee
app/assets/javascripts/controllers/ground_pictures.js.coffee
app/assets/javascripts/controllers/home.js.coffee
app/assets/javascripts/controllers/license_groups.js.coffee
app/assets/javascripts/controllers/licenses.js.coffee
app/assets/javascripts/controllers/original_pictures.js.coffee
app/assets/javascripts/controllers/panel_pictures.js.coffee
app/assets/javascripts/controllers/panels.js.coffee
app/assets/javascripts/controllers/pictures.js.coffee
app/assets/javascripts/controllers/resource_pictures.js.coffee
app/assets/javascripts/controllers/scroll_panels.js.coffee
app/assets/javascripts/controllers/scrolls.js.coffee
app/assets/javascripts/controllers/sheet_panels.js.coffee
app/assets/javascripts/controllers/sheets.js.coffee
app/assets/javascripts/controllers/speech_balloon_templates.js.coffee
app/assets/javascripts/controllers/speech_balloons.js.coffee
app/assets/javascripts/controllers/speeches.js.coffee
app/assets/javascripts/controllers/stories.js.coffee
app/assets/javascripts/controllers/story_sheets.js.coffee
app/assets/javascripts/controllers/system_pictures.js.coffee
app/assets/javascripts/controllers/writing_formats.js.coffee
app/assets/javascripts/locmare/booster.js.coffee [new file with mode: 0644]
app/assets/javascripts/locmare/filer/header.js.coffee
app/assets/javascripts/locmare/profiler.js.coffee
app/assets/javascripts/locmare/profiler/association.js.coffee
app/assets/javascripts/locmare/profiler/column/base.js.coffee
app/assets/javascripts/locmare/profiler/column/extend/extend_column.js.coffee
app/assets/javascripts/manifest/item/boost.js.coffee
app/assets/javascripts/models/balloon.js.coffee
app/assets/javascripts/models/comic_story.js.coffee
app/assets/javascripts/models/ground_color.js.coffee
app/assets/javascripts/models/panel.js.coffee
app/assets/javascripts/models/sheet.js.coffee
app/assets/javascripts/models/sheet_panel.js.coffee
app/assets/javascripts/models/story.js.coffee
app/assets/javascripts/models/story_sheet.js.coffee
app/assets/javascripts/models/writing_format.js.coffee
app/assets/javascripts/peta/item.js.coffee
app/assets/javascripts/peta/system_resource.js.coffee
app/assets/javascripts/pettanr.js.coffee
app/assets/javascripts/routes.js.coffee
app/assets/javascripts/views/comic_stories/summary.js.coffee [new file with mode: 0644]
app/assets/javascripts/work/controllers.js.coffee.erb
app/assets/javascripts/work/list_groups.js.coffee.erb
app/controllers/balloons_controller.rb
app/controllers/comic_stories_controller.rb
app/controllers/home_controller.rb
app/controllers/scroll_panels_controller.rb
app/controllers/speeches_controller.rb
app/controllers/writing_formats_controller.rb
app/models/balloon.rb
app/models/folder.rb
app/models/panel_picture.rb
app/models/speech.rb
app/views/top/index.html.erb
config/locales/pettanr.ja.yml
config/routes.rb
public/local_manifest.json
public/manifest.json

diff --git a/app/assets/javascripts/addons/circle_speech_balloons/init.js.coffee b/app/assets/javascripts/addons/circle_speech_balloons/init.js.coffee
new file mode 100644 (file)
index 0000000..fa2fe9c
--- /dev/null
@@ -0,0 +1,189 @@
+class Pettanr.CircleSpeechBalloon\r
+  \r
+class Pettanr.CircleSpeechBalloon.SpeechBalloon extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "circle_speech_balloons"\r
+  \r
+  baseName: () ->\r
+    "CircleSpeechBalloon"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/speech_balloon'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/speech_balloons'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/SpeechBalloon'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/SpeechBalloons'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/speech_balloons'\r
+\r
+class Pettanr.CircleSpeechBalloon.Balloon extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "circle_speech_balloons"\r
+  \r
+  baseName: () ->\r
+    "CircleSpeechBalloon"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/balloon'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/balloons'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Balloon'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Balloons'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/balloons'\r
+\r
+class Pettanr.CircleSpeechBalloon.Speech extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "circle_speech_balloons"\r
+  \r
+  baseName: () ->\r
+    "CircleSpeechBalloon"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/speech'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/speeches'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Speech'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Speeches'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/speeches'\r
+\r
+class Pettanr.CircleSpeechBalloon.SpeechBalloonModule\r
+  supply_default: () ->\r
+    super()\r
+    _this = this\r
+    sbt = @speech_balloon_template()\r
+    sbt.fetch().done ->\r
+      _this.speech_balloon_template_module_name = sbt.get('module_name')\r
+  \r
+  speech_balloon_extend: () ->\r
+    @new_speech_balloon() if not @sbex\r
+    @sbex\r
+  \r
+  speech_balloon_extend_setter: (params) ->\r
+    # load attributes\r
+    @sbex = new Pettanr.CircleSpeechBalloon.SpeechBalloon(params)\r
+    # no supply default params\r
+  \r
+  new_speech_balloon: (params = {}) -> \r
+    @sbex = new Pettanr.CircleSpeechBalloon.SpeechBalloon(params)\r
+    @sbex.supply_default()\r
+  \r
+class Pettanr.CircleSpeechBalloon.BalloonModule\r
+  supply_default: () ->\r
+    super()\r
+    s = @parsed_settings()['all']['balloon']\r
+    @set({\r
+      x: 0,\r
+      y: 0,\r
+      width: @parsed_settings()['speech_balloon']['default_width'],\r
+      eight: @parsed_settings()['speech_balloon']['default_height'],\r
+      r: @parsed_settings()['speech_balloon']['default_r']\r
+    })\r
+  \r
+  balloon_extend: () ->\r
+    @new_balloon() if not @bex\r
+    @bex\r
+  \r
+  balloon_extend_setter: (params) ->\r
+    # load attributes\r
+    @bex = new Pettanr.CircleSpeechBalloon.Balloon(params)\r
+    # no supply default params\r
+  \r
+  new_balloon: (params = {}) -> \r
+    @bex = new Pettanr.CircleSpeechBalloon.Balloon(params)\r
+    @bex.supply_default()\r
+  \r
+  parsed_settings: () ->\r
+    return @parsed if @parsed\r
+    _this = this\r
+    sbt = @speech_balloon_template()\r
+    sbt.fetch().done ->\r
+      _this.parsed = sbt.parsed_settings()\r
+  \r
+  select_system_picture: () ->\r
+    tr = @get('r') % 360\r
+    tr = 360 + tr if tr < 0\r
+    offset = @r_step() / 2.0\r
+    idx = Pettanr.to_i(((tr + offset) % 360) / @r_step())\r
+    sid = @parsed_settings()[Pettanr.to_s(idx)]['balloon']['system_picture_id']\r
+    @set('system_picture_id', sid)\r
+    sid\r
+  \r
+  r_step: () ->\r
+    @parsed_settings()['speech_balloon']['r_step']\r
+  \r
+class Pettanr.CircleSpeechBalloon.SpeechModule\r
+  supply_default: () ->\r
+    super()\r
+    s = @parsed_settings()['0']['speech']\r
+    @set({\r
+      x: s['x_rate'],\r
+      y: s['y_rate'],\r
+      width: s['width_rate'],\r
+      height: s['height_rate'],\r
+      quotes: '',\r
+      font_size: @parsed_settings()['speech_balloon']['default_font_size'],\r
+      text_align: @parsed_settings()['speech_balloon']['default_text_align'],\r
+      fore_color: @parsed_settings()['speech_balloon']['default_fore_color'],\r
+    })\r
+  \r
+  speech_extend: () ->\r
+    @sex\r
+  \r
+  speech_extend_setter: (params) ->\r
+    # load attributes\r
+    @sex = new Pettanr.CircleSpeechBalloon.Speech(params)\r
+    # no supply default params\r
+  \r
+  new_speech: (params = {}) -> \r
+    @sex = new Pettanr.CircleSpeechBalloon.Speech(params)\r
+    @sex.supply_default()\r
+  \r
+  parsed_settings: () ->\r
+    return @parsed if @parsed\r
+    _this = this\r
+    sbt = @speech_balloon_template()\r
+    sbt.fetch().done ->\r
+      _this.parsed = sbt.parsed_settings()\r
+  \r
+  arrayed_quotes: () ->\r
+    q = if Pettanr.is_blank(@get('quotes'))\r
+      Pettanr.to_s(@parsed_settings()['speech_balloon']['quotes'])\r
+    else\r
+      @get('quotes')\r
+    q.split(' ')\r
+  \r
diff --git a/app/assets/javascripts/addons/pettanr_creative_commons_v30_licenses/init.js.coffee b/app/assets/javascripts/addons/pettanr_creative_commons_v30_licenses/init.js.coffee
new file mode 100644 (file)
index 0000000..744c17c
--- /dev/null
@@ -0,0 +1,132 @@
+class Pettanr.PettanrCreativeCommonsV30Licenses\r
+  new_attribute: (params = {}) ->\r
+    new PettanrCreativeCommonsV30Licenses.Attribute(params)\r
+  \r
+class Pettanr.PettanrCreativeCommonsV30Licenses.License extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_creative_commons_v30_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrCreativeCommonsV30Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/license'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/licenses'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/License'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Licenses'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/licenses'\r
+\r
+class Pettanr.PettanrCreativeCommonsV30Licenses.CreditPicture extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_creative_commons_v30_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrCreativeCommonsV30Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/credit_picture'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/credit_pictures'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/CreditPicture'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/CreditPictures'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/credit_pictures'\r
+\r
+class Pettanr.PettanrCreativeCommonsV30Licenses.Attribute extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_creative_commons_v30_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrCreativeCommonsV30Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/attribute'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/attributes'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Attribute'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Attributes'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/attributes'\r
+\r
+class Pettanr.PettanrCreativeCommonsV30Licenses.LicenseModule\r
+  supply_default: () ->\r
+    super()\r
+    @license_group_classname = @license_group.get('classname')\r
+  \r
+  license_extend: () ->\r
+    @new_license() if not @lex\r
+    @lex\r
+  \r
+  license_extend_setter: (params) ->\r
+    # load attributes\r
+    @lex = new Pettanr.PettanrCreativeCommonsV30Licenses.License(params)\r
+    # no supply default params\r
+  \r
+  new_license: (params = {}) -> \r
+    @lex = new Pettanr.PettanrCreativeCommonsV30Licenses.License(params)\r
+    @lex.supply_default()\r
+  \r
+class Pettanr.PettanrCreativeCommonsV30Licenses.CreditPictureModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  credit_picture_extend: () ->\r
+    @new_credit_picture() if not @crex\r
+    @crex\r
+  \r
+  credit_picture_extend_setter: (params) ->\r
+    # load attributes\r
+    @crex = new Pettanr.PettanrCreativeCommonsV30Licenses.CreditPicture(params)\r
+    # no supply default params\r
+  \r
+  new_credit_picture: (params = {}) -> \r
+    @crex = new Pettanr.PettanrCreativeCommonsV30Licenses.CreditPicture(params)\r
+    @crex.supply_default()\r
+  \r
+class Pettanr.PettanrCreativeCommonsV30Licenses.AttributeModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  attribute_extend: () ->\r
+    @attrex\r
+  \r
+  attribute_extend_setter: (params) ->\r
+    # load attributes\r
+    @attrex = Pettanr.PettanrCreativeCommonsV30Licenses.new_attribute(params)\r
+    # no supply default params\r
+  \r
diff --git a/app/assets/javascripts/addons/pettanr_pettan_commons_v01_licenses/init.js.coffee b/app/assets/javascripts/addons/pettanr_pettan_commons_v01_licenses/init.js.coffee
new file mode 100644 (file)
index 0000000..9263d96
--- /dev/null
@@ -0,0 +1,132 @@
+class Pettanr.PettanrPettanCommonsV01Licenses\r
+  new_attribute: (params = {}) ->\r
+    new Pettanr.PettanrPettanCommonsV01Licenses.Attribute(params)\r
+  \r
+class Pettanr.PettanrPettanCommonsV01Licenses.License extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_pettan_commons_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPettanCommonsV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/license'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/licenses'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/License'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Licenses'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/licenses'\r
+\r
+class Pettanr.PettanrPettanCommonsV01Licenses.CreditPicture extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_pettan_commons_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPettanCommonsV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/credit_picture'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/credit_pictures'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/CreditPicture'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/CreditPictures'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/credit_pictures'\r
+\r
+class Pettanr.PettanrPettanCommonsV01Licenses.Attribute extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_pettan_commons_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPettanCommonsV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/attribute'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/attributes'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Attribute'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Attributes'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/attributes'\r
+class Pettanr.PettanrPettanCommonsV01Licenses.LicenseModule\r
+\r
+  supply_default: () ->\r
+    super()\r
+    @license_group_classname = @license_group.get('classname')\r
+  \r
+  license_extend: () ->\r
+    @new_license() if not @lex\r
+    @lex\r
+  \r
+  license_extend_setter: (params) ->\r
+    # load attributes\r
+    @lex = new Pettanr.PettanrPettanCommonsV01Licenses.License(params)\r
+    # no supply default params\r
+  \r
+  new_license: (params = {}) -> \r
+    @lex = new Pettanr.PettanrPettanCommonsV01Licenses.License(params)\r
+    @lex.supply_default()\r
+  \r
+class Pettanr.PettanrPettanCommonsV01Licenses.CreditPictureModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  credit_picture_extend: () ->\r
+    @new_credit_picture() if not @crex\r
+    @crex\r
+  \r
+  credit_picture_extend_setter: (params) ->\r
+    # load attributes\r
+    @crex = new Pettanr.PettanrPettanCommonsV01Licenses.CreditPicture(params)\r
+    # no supply default params\r
+  \r
+  new_credit_picture: (params = {}) -> \r
+    @crex = new Pettanr.PettanrPettanCommonsV01Licenses.CreditPicture(params)\r
+    @crex.supply_default()\r
+  \r
+class Pettanr.PettanrPettanCommonsV01Licenses.AttributeModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  attribute_extend: () ->\r
+    @attrex\r
+  \r
+  attribute_extend_setter: (params) ->\r
+    # load attributes\r
+    @attrex = Pettanr.PettanrPettanCommonsV01Licenses.new_attribute(params)\r
+    # no supply default params\r
+  \r
diff --git a/app/assets/javascripts/addons/pettanr_pettan_protected_v01_licenses/init.js.coffee b/app/assets/javascripts/addons/pettanr_pettan_protected_v01_licenses/init.js.coffee
new file mode 100644 (file)
index 0000000..ef00c3e
--- /dev/null
@@ -0,0 +1,132 @@
+class Pettanr.PettanrPettanProtectedV01Licenses\r
+  new_attribute: (params = {}) ->\r
+    new Pettanr.PettanrPettanProtectedV01Licenses.Attribute(params)\r
+  \r
+class Pettanr.PettanrPettanProtectedV01Licenses.License extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_pettan_protected_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPettanProtectedV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/license'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/licenses'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/License'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Licenses'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/licenses'\r
+\r
+class Pettanr.PettanrPettanProtectedV01Licenses.CreditPicture extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_pettan_protected_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPettanProtectedV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/credit_picture'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/credit_pictures'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/CreditPicture'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/CreditPictures'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/credit_pictures'\r
+\r
+class Pettanr.PettanrPettanProtectedV01Licenses.Attribute extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_pettan_protected_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPettanProtectedV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/attribute'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/attributes'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Attribute'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Attributes'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/attributes'\r
+class Pettanr.PettanrPettanProtectedV01Licenses.LicenseModule\r
+\r
+  supply_default: () ->\r
+    super()\r
+    @license_group_classname = @license_group.get('classname')\r
+  \r
+  license_extend: () ->\r
+    @new_license() if not @lex\r
+    @lex\r
+  \r
+  license_extend_setter: (params) ->\r
+    # load attributes\r
+    @lex = new Pettanr.PettanrPettanProtectedV01Licenses.License(params)\r
+    # no supply default params\r
+  \r
+  new_license: (params = {}) -> \r
+    @lex = new Pettanr.PettanrPettanProtectedV01Licenses.License(params)\r
+    @lex.supply_default()\r
+  \r
+class Pettanr.PettanrPettanProtectedV01Licenses.CreditPictureModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  credit_picture_extend: () ->\r
+    @new_credit_picture() if not @crex\r
+    @crex\r
+  \r
+  credit_picture_extend_setter: (params) ->\r
+    # load attributes\r
+    @crex = new Pettanr.PettanrPettanProtectedV01Licenses.CreditPicture(params)\r
+    # no supply default params\r
+  \r
+  new_credit_picture: (params = {}) -> \r
+    @crex = new Pettanr.PettanrPettanProtectedV01Licenses.CreditPicture(params)\r
+    @crex.supply_default()\r
+  \r
+class Pettanr.PettanrPettanProtectedV01Licenses.AttributeModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  attribute_extend: () ->\r
+    @attrex\r
+  \r
+  attribute_extend_setter: (params) ->\r
+    # load attributes\r
+    @attrex = Pettanr.PettanrPettanProtectedV01Licenses.new_attribute(params)\r
+    # no supply default params\r
+  \r
diff --git a/app/assets/javascripts/addons/pettanr_pettan_public_v01_licenses/init.js.coffee b/app/assets/javascripts/addons/pettanr_pettan_public_v01_licenses/init.js.coffee
new file mode 100644 (file)
index 0000000..9fb4dcb
--- /dev/null
@@ -0,0 +1,132 @@
+class Pettanr.PettanrPettanPublicV01Licenses\r
+  new_attribute: (params = {}) ->\r
+    new Pettanr.PettanrPettanPublicV01Licenses.Attribute(params)\r
+  \r
+class Pettanr.PettanrPettanPublicV01Licenses.License extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_pettan_public_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPettanPublicV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/license'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/licenses'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/License'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Licenses'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/licenses'\r
+\r
+class Pettanr.PettanrPettanPublicV01Licenses.CreditPicture extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_pettan_public_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPettanPublicV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/credit_picture'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/credit_pictures'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/CreditPicture'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/CreditPictures'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/credit_pictures'\r
+\r
+class Pettanr.PettanrPettanPublicV01Licenses.Attribute extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_pettan_public_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPettanPublicV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/attribute'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/attributes'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Attribute'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Attributes'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/attributes'\r
+class Pettanr.PettanrPettanPublicV01Licenses.LicenseModule\r
+\r
+  supply_default: () ->\r
+    super()\r
+    @license_group_classname = @license_group.get('classname')\r
+  \r
+  license_extend: () ->\r
+    @new_license() if not @lex\r
+    @lex\r
+  \r
+  license_extend_setter: (params) ->\r
+    # load attributes\r
+    @lex = new Pettanr.PettanrPettanPublicV01Licenses.License(params)\r
+    # no supply default params\r
+  \r
+  new_license: (params = {}) -> \r
+    @lex = new Pettanr.PettanrPettanPublicV01Licenses.License(params)\r
+    @lex.supply_default()\r
+  \r
+class Pettanr.PettanrPettanPublicV01Licenses.CreditPictureModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  credit_picture_extend: () ->\r
+    @new_credit_picture() if not @crex\r
+    @crex\r
+  \r
+  credit_picture_extend_setter: (params) ->\r
+    # load attributes\r
+    @crex = new Pettanr.PettanrPettanPublicV01Licenses.CreditPicture(params)\r
+    # no supply default params\r
+  \r
+  new_credit_picture: (params = {}) -> \r
+    @crex = new Pettanr.PettanrPettanPublicV01Licenses.CreditPicture(params)\r
+    @crex.supply_default()\r
+  \r
+class Pettanr.PettanrPettanPublicV01Licenses.AttributeModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  attribute_extend: () ->\r
+    @attrex\r
+  \r
+  attribute_extend_setter: (params) ->\r
+    # load attributes\r
+    @attrex = Pettanr.PettanrPettanPublicV01Licenses.new_attribute(params)\r
+    # no supply default params\r
+  \r
diff --git a/app/assets/javascripts/addons/pettanr_public_domain_v01_licenses/init.js.coffee b/app/assets/javascripts/addons/pettanr_public_domain_v01_licenses/init.js.coffee
new file mode 100644 (file)
index 0000000..18356a0
--- /dev/null
@@ -0,0 +1,132 @@
+class Pettanr.PettanrPublicDomainV01Licenses\r
+  new_attribute: (params = {}) ->\r
+    new Pettanr.PettanrPublicDomainV01Licenses.Attribute(params)\r
+  \r
+class Pettanr.PettanrPublicDomainV01Licenses.License extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_public_domain_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPublicDomainV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/license'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/licenses'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/License'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Licenses'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/licenses'\r
+\r
+class Pettanr.PettanrPublicDomainV01Licenses.CreditPicture extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_public_domain_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPublicDomainV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/credit_picture'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/credit_pictures'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/CreditPicture'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/CreditPictures'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/credit_pictures'\r
+\r
+class Pettanr.PettanrPublicDomainV01Licenses.Attribute extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_public_domain_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrPublicDomainV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/attribute'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/attributes'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Attribute'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Attributes'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/attributes'\r
+class Pettanr.PettanrPublicDomainV01Licenses.LicenseModule\r
+\r
+  supply_default: () ->\r
+    super()\r
+    @license_group_classname = @license_group.get('classname')\r
+  \r
+  license_extend: () ->\r
+    @new_license() if not @lex\r
+    @lex\r
+  \r
+  license_extend_setter: (params) ->\r
+    # load attributes\r
+    @lex = new Pettanr.PettanrPublicDomainV01Licenses.License(params)\r
+    # no supply default params\r
+  \r
+  new_license: (params = {}) -> \r
+    @lex = new Pettanr.PettanrPublicDomainV01Licenses.License(params)\r
+    @lex.supply_default()\r
+  \r
+class Pettanr.PettanrPublicDomainV01Licenses.CreditPictureModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  credit_picture_extend: () ->\r
+    @new_credit_picture() if not @crex\r
+    @crex\r
+  \r
+  credit_picture_extend_setter: (params) ->\r
+    # load attributes\r
+    @crex = new Pettanr.PettanrPublicDomainV01Licenses.CreditPicture(params)\r
+    # no supply default params\r
+  \r
+  new_credit_picture: (params = {}) -> \r
+    @crex = new Pettanr.PettanrPublicDomainV01Licenses.CreditPicture(params)\r
+    @crex.supply_default()\r
+  \r
+class Pettanr.PettanrPublicDomainV01Licenses.AttributeModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  attribute_extend: () ->\r
+    @attrex\r
+  \r
+  attribute_extend_setter: (params) ->\r
+    # load attributes\r
+    @attrex = Pettanr.PettanrPublicDomainV01Licenses.new_attribute(params)\r
+    # no supply default params\r
+  \r
diff --git a/app/assets/javascripts/addons/pettanr_simple_format/init.js.coffee b/app/assets/javascripts/addons/pettanr_simple_format/init.js.coffee
new file mode 100644 (file)
index 0000000..7830e81
--- /dev/null
@@ -0,0 +1,17 @@
+class Pettanr.PettanrSimpleFormat\r
+  \r
+class Pettanr.PettanrSimpleFormat.RendererModule\r
+\r
+  @escapeHTML = (t) ->\r
+    $("<div/>").text(t).html()\r
+\r
+  @render = (content) -> \r
+    text = PettanrSimpleFormat.escapeHTML(content)\r
+    start_tag = '<p>'\r
+    text = text.replace(/\r\n?/g, "\n")\r
+    text = text.replace(/\n\n+/g, "</p><p>")\r
+    text = text.replace(/\n/g, '\n<br />')\r
+    text = text.replace(/\<\/p\>\<p\>/g, "</p>\n\n<p>")\r
+    text = start_tag + text + "</p>"\r
+    return text\r
+  \r
diff --git a/app/assets/javascripts/addons/pettanr_unknown_v01_licenses/init.js.coffee b/app/assets/javascripts/addons/pettanr_unknown_v01_licenses/init.js.coffee
new file mode 100644 (file)
index 0000000..5a809ce
--- /dev/null
@@ -0,0 +1,132 @@
+class Pettanr.PettanrUnknownV01Licenses\r
+  new_attribute: (params = {}) ->\r
+    new Pettanr.PettanrUnknownV01Licenses.Attribute(params)\r
+  \r
+class Pettanr.PettanrUnknownV01Licenses.License extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_unknown_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrUnknownV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/license'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/licenses'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/License'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Licenses'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/licenses'\r
+\r
+class Pettanr.PettanrUnknownV01Licenses.CreditPicture extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_unknown_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrUnknownV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/credit_picture'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/credit_pictures'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/CreditPicture'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/CreditPictures'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/credit_pictures'\r
+\r
+class Pettanr.PettanrUnknownV01Licenses.Attribute extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "pettanr_unknown_v01_licenses"\r
+  \r
+  baseName: () ->\r
+    "PettanrUnknownV01Licenses"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/attribute'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/attributes'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Attribute'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Attributes'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/attributes'\r
+class Pettanr.PettanrUnknownV01Licenses.LicenseModule\r
+\r
+  supply_default: () ->\r
+    super()\r
+    @license_group_classname = @license_group.get('classname')\r
+  \r
+  license_extend: () ->\r
+    @new_license() if not @lex\r
+    @lex\r
+  \r
+  license_extend_setter: (params) ->\r
+    # load attributes\r
+    @lex = new Pettanr.PettanrUnknownV01Licenses.License(params)\r
+    # no supply default params\r
+  \r
+  new_license: (params = {}) -> \r
+    @lex = new Pettanr.PettanrUnknownV01Licenses.License(params)\r
+    @lex.supply_default()\r
+  \r
+class Pettanr.PettanrUnknownV01Licenses.CreditPictureModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  credit_picture_extend: () ->\r
+    @new_credit_picture() if not @crex\r
+    @crex\r
+  \r
+  credit_picture_extend_setter: (params) ->\r
+    # load attributes\r
+    @crex = new Pettanr.PettanrUnknownV01Licenses.CreditPicture(params)\r
+    # no supply default params\r
+  \r
+  new_credit_picture: (params = {}) -> \r
+    @crex = new Pettanr.PettanrUnknownV01Licenses.CreditPicture(params)\r
+    @crex.supply_default()\r
+  \r
+class Pettanr.PettanrUnknownV01Licenses.AttributeModule\r
+  supply_default: () ->\r
+    super()\r
+  \r
+  attribute_extend: () ->\r
+    @attrex\r
+  \r
+  attribute_extend_setter: (params) ->\r
+    # load attributes\r
+    @attrex = Pettanr.PettanrUnknownV01Licenses.new_attribute(params)\r
+    # no supply default params\r
+  \r
diff --git a/app/assets/javascripts/addons/plain_speech_balloons/init.js.coffee b/app/assets/javascripts/addons/plain_speech_balloons/init.js.coffee
new file mode 100644 (file)
index 0000000..4066d75
--- /dev/null
@@ -0,0 +1,183 @@
+class Pettanr.PlainSpeechBalloon\r
+  \r
+class Pettanr.PlainSpeechBalloon.SpeechBalloon extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "plain_speech_balloons"\r
+  \r
+  baseName: () ->\r
+    "PlainSpeechBalloon"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/speech_balloon'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/speech_balloons'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/SpeechBalloon'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/SpeechBalloons'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/speech_balloons'\r
+\r
+class Pettanr.PlainSpeechBalloon.Balloon extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "plain_speech_balloons"\r
+  \r
+  baseName: () ->\r
+    "PlainSpeechBalloon"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/balloon'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/balloons'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Balloon'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Balloons'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/balloons'\r
+\r
+class Pettanr.PlainSpeechBalloon.Speech extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "plain_speech_balloons"\r
+  \r
+  baseName: () ->\r
+    "PlainSpeechBalloon"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/speech'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/speeches'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Speech'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Speeches'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/speeches'\r
+\r
+class Pettanr.PlainSpeechBalloon.SpeechBalloonModule\r
+  supply_default: () ->\r
+    super()\r
+    _this = this\r
+    sbt = @speech_balloon_template()\r
+    sbt.fetch().done ->\r
+      _this.speech_balloon_template_module_name = sbt.get('module_name')\r
+  \r
+  speech_balloon_extend: () ->\r
+    @new_speech_balloon() if not @sbex\r
+    @sbex\r
+  \r
+  speech_balloon_extend_setter: (params) ->\r
+    # load attributes\r
+    @sbex = new Pettanr.PlainSpeechBalloon.SpeechBalloon(params)\r
+    # no supply default params\r
+  \r
+  new_speech_balloon: (params = {}) -> \r
+    @sbex = new Pettanr.PlainSpeechBalloon.SpeechBalloon(params)\r
+    @sbex.supply_default()\r
+  \r
+class Pettanr.PlainSpeechBalloon.BalloonModule\r
+  supply_default: () ->\r
+    super()\r
+    s = @parsed_settings()['all']['balloon']\r
+    @set({\r
+      x: 0,\r
+      y: 0,\r
+      width: @parsed_settings()['speech_balloon']['default_width'],\r
+      eight: @parsed_settings()['speech_balloon']['default_height'],\r
+      r: 0\r
+    })\r
+  \r
+  balloon_extend: () ->\r
+    @new_balloon() if not @bex\r
+    @bex\r
+  \r
+  balloon_extend_setter: (params) ->\r
+    # load attributes\r
+    @bex = new Pettanr.PlainSpeechBalloon.Balloon(params)\r
+    # no supply default params\r
+  \r
+  new_balloon: (params = {}) -> \r
+    @bex = new Pettanr.PlainSpeechBalloon.Balloon(params)\r
+    @bex.supply_default()\r
+  \r
+  parsed_settings: () ->\r
+    return @parsed if @parsed\r
+    _this = this\r
+    sbt = @speech_balloon_template()\r
+    sbt.fetch().done ->\r
+      _this.parsed = sbt.parsed_settings()\r
+  \r
+  select_system_picture: () ->\r
+    s = @parsed_settings()['all']['balloon']\r
+    sid = s['system_picture_id']\r
+    @set('system_picture_id', sid)\r
+    sid\r
+  \r
+class Pettanr.PlainSpeechBalloon.SpeechModule\r
+  supply_default: () ->\r
+    super()\r
+    s = @parsed_settings()['all']['speech']\r
+    @set({\r
+      x: s['x_rate'],\r
+      y: s['y_rate'],\r
+      width: s['width_rate'],\r
+      height: s['height_rate'],\r
+      quotes: '',\r
+      font_size: @parsed_settings()['speech_balloon']['default_font_size'],\r
+      text_align: @parsed_settings()['speech_balloon']['default_text_align'],\r
+      fore_color: @parsed_settings()['speech_balloon']['default_fore_color'],\r
+    })\r
+  \r
+  speech_extend: () ->\r
+    @sex\r
+  \r
+  speech_extend_setter: (params) ->\r
+    # load attributes\r
+    @sex = new Pettanr.PlainSpeechBalloon.Speech(params)\r
+    # no supply default params\r
+  \r
+  new_speech: (params = {}) -> \r
+    @sex = new Pettanr.PlainSpeechBalloon.Speech(params)\r
+    @sex.supply_default()\r
+  \r
+  parsed_settings: () ->\r
+    return @parsed if @parsed\r
+    _this = this\r
+    sbt = @speech_balloon_template()\r
+    sbt.fetch().done ->\r
+      _this.parsed = sbt.parsed_settings()\r
+  \r
+  arrayed_quotes: () ->\r
+    q = if Pettanr.is_blank(@get('quotes'))\r
+      Pettanr.to_s(@parsed_settings()['speech_balloon']['quotes'])\r
+    else\r
+      @get('quotes')\r
+    q.split(' ')\r
+  \r
diff --git a/app/assets/javascripts/addons/square_speech_balloons/init.js.coffee b/app/assets/javascripts/addons/square_speech_balloons/init.js.coffee
new file mode 100644 (file)
index 0000000..2648db8
--- /dev/null
@@ -0,0 +1,183 @@
+class Pettanr.SquareSpeechBalloon\r
+  \r
+class Pettanr.SquareSpeechBalloon.SpeechBalloon extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "square_speech_balloons"\r
+  \r
+  baseName: () ->\r
+    "SquareSpeechBalloon"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/speech_balloon'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/speech_balloons'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/SpeechBalloon'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/SpeechBalloons'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/speech_balloons'\r
+\r
+class Pettanr.SquareSpeechBalloon.Balloon extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "square_speech_balloons"\r
+  \r
+  baseName: () ->\r
+    "SquareSpeechBalloon"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/balloon'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/balloons'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Balloon'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Balloons'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/balloons'\r
+\r
+class Pettanr.SquareSpeechBalloon.Speech extends Backbone.Model\r
+  # OMG... this model is not petanized item\r
+  # it means that can't change name\r
+  base_name: () ->\r
+    "square_speech_balloons"\r
+  \r
+  baseName: () ->\r
+    "SquareSpeechBalloon"\r
+  \r
+  item_name: () ->\r
+    @base_name() + '/speech'\r
+  \r
+  table_name: () ->\r
+    @base_name() + '/speeches'\r
+  \r
+  singular: () ->\r
+    @baseName() + '/Speech'\r
+  \r
+  plural: () ->\r
+    @baseName() + '/Speeches'\r
+  \r
+  engine_name: () ->\r
+    @table_name()\r
+  \r
+  form_name: () ->\r
+    @engine_name() + '/speeches'\r
+\r
+class Pettanr.SquareSpeechBalloon.SpeechBalloonModule\r
+  supply_default: () ->\r
+    super()\r
+    _this = this\r
+    sbt = @speech_balloon_template()\r
+    sbt.fetch().done ->\r
+      _this.speech_balloon_template_module_name = sbt.get('module_name')\r
+  \r
+  speech_balloon_extend: () ->\r
+    @new_speech_balloon() if not @sbex\r
+    @sbex\r
+  \r
+  speech_balloon_extend_setter: (params) ->\r
+    # load attributes\r
+    @sbex = new Pettanr.SquareSpeechBalloon.SpeechBalloon(params)\r
+    # no supply default params\r
+  \r
+  new_speech_balloon: (params = {}) -> \r
+    @sbex = new Pettanr.SquareSpeechBalloon.SpeechBalloon(params)\r
+    @sbex.supply_default()\r
+  \r
+class Pettanr.SquareSpeechBalloon.BalloonModule\r
+  supply_default: () ->\r
+    super()\r
+    s = @parsed_settings()['all']['balloon']\r
+    @set({\r
+      x: 0,\r
+      y: 0,\r
+      width: @parsed_settings()['speech_balloon']['default_width'],\r
+      eight: @parsed_settings()['speech_balloon']['default_height'],\r
+      r: 0\r
+    })\r
+  \r
+  balloon_extend: () ->\r
+    @new_balloon() if not @bex\r
+    @bex\r
+  \r
+  balloon_extend_setter: (params) ->\r
+    # load attributes\r
+    @bex = new Pettanr.SquareSpeechBalloon.Balloon(params)\r
+    # no supply default params\r
+  \r
+  new_balloon: (params = {}) -> \r
+    @bex = new Pettanr.SquareSpeechBalloon.Balloon(params)\r
+    @bex.supply_default()\r
+  \r
+  parsed_settings: () ->\r
+    return @parsed if @parsed\r
+    _this = this\r
+    sbt = @speech_balloon_template()\r
+    sbt.fetch().done ->\r
+      _this.parsed = sbt.parsed_settings()\r
+  \r
+  select_system_picture: () ->\r
+    s = @parsed_settings()['all']['balloon']\r
+    sid = s['system_picture_id']\r
+    @set('system_picture_id', sid)\r
+    sid\r
+  \r
+class Pettanr.SquareSpeechBalloon.SpeechModule\r
+  supply_default: () ->\r
+    super()\r
+    s = @parsed_settings()['all']['speech']\r
+    @set({\r
+      x: s['x_rate'],\r
+      y: s['y_rate'],\r
+      width: s['width_rate'],\r
+      height: s['height_rate'],\r
+      quotes: '',\r
+      font_size: @parsed_settings()['speech_balloon']['default_font_size'],\r
+      text_align: @parsed_settings()['speech_balloon']['default_text_align'],\r
+      fore_color: @parsed_settings()['speech_balloon']['default_fore_color']\r
+    })\r
+  \r
+  speech_extend: () ->\r
+    @sex\r
+  \r
+  speech_extend_setter: (params) ->\r
+    # load attributes\r
+    @sex = new Pettanr.SquareSpeechBalloon.Speech(params)\r
+    # no supply default params\r
+  \r
+  new_speech: (params = {}) -> \r
+    @sex = new Pettanr.SquareSpeechBalloon.Speech(params)\r
+    @sex.supply_default()\r
+  \r
+  parsed_settings: () ->\r
+    return @parsed if @parsed\r
+    _this = this\r
+    sbt = @speech_balloon_template()\r
+    sbt.fetch().done ->\r
+      _this.parsed = sbt.parsed_settings()\r
+  \r
+  arrayed_quotes: () ->\r
+    q = if Pettanr.is_blank(@get('quotes'))\r
+      Pettanr.to_s(@parsed_settings()['speech_balloon']['quotes'])\r
+    else\r
+      @get('quotes')\r
+    q.split(' ')\r
+  \r
index a91618a..b399adb 100644 (file)
 //= require ./local_manifest/bucket/member
 //= require ./local_manifest/bucket/form_field_name
 //= require ./locmare/locmare
+//= require ./locmare/booster
 //= require ./locmare/filer
 //= require ./locmare/filer/header
 //= require ./locmare/filer/body
 //= require_directory ./views/authors
 //= require_directory ./views/balloons
 //= require_directory ./views/comics
+//= require_directory ./views/comic_stories
 //= require_directory ./views/ground_colors
 //= require_directory ./views/ground_pictures
 //= require_directory ./views/licenses
 //= require_directory ./views/stories
 //= require_directory ./views/story_sheets
 //= require_directory ./views/system_pictures
+//= require_directory ./addons/pettanr_creative_commons_v30_licenses
+//= require_directory ./addons/pettanr_pettan_commons_v01_licenses
+//= require_directory ./addons/pettanr_pettan_protected_v01_licenses
+//= require_directory ./addons/pettanr_pettan_public_v01_licenses
+//= require_directory ./addons/pettanr_public_domain_v01_licenses
+//= require_directory ./addons/pettanr_unknown_v01_licenses
+//= require_directory ./addons/circle_speech_balloons
+//= require_directory ./addons/plain_speech_balloons
+//= require_directory ./addons/square_speech_balloons
+//= require_directory ./addons/pettanr_simple_format
 //= require ./pettanr/tags
 //= require ./pettanr/picture
 //= require ./pettanr/pettan_imager
index 37b7bc1..07f9ded 100644 (file)
@@ -3,17 +3,25 @@ class Pettanr.ArtistsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
-  show: (params) ->\r
+  show_html: () -> \r
   \r
-  count: (params) ->\r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
   \r
-  new: (params) ->\r
+  count: () ->\r
   \r
-  edit: (params) ->\r
+  new: () ->\r
   \r
-  create: (params) ->\r
+  edit: () ->\r
   \r
-  update: (params) ->\r
+  create: () ->\r
   \r
-  destroy: (params) ->\r
+  update: () ->\r
+  \r
+  destroy: () ->\r
     \r
index 7924ced..4840e93 100644 (file)
@@ -3,3 +3,25 @@ class Pettanr.AuthorsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 475389d..84152ea 100644 (file)
@@ -3,3 +3,31 @@ class Pettanr.BalloonsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_speech_balloon: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 600f07a..1924c8b 100644 (file)
@@ -3,3 +3,34 @@ class Pettanr.ComicStoriesController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_comic: () ->\r
+    @filer_list()\r
+  \r
+  by_story: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 1a26b9a..4a2df84 100644 (file)
@@ -3,3 +3,31 @@ class Pettanr.ComicsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_story: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 41b74af..26d74f7 100644 (file)
@@ -3,3 +3,31 @@ class Pettanr.GroundColorsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_panel: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 2a0cd99..0713ca0 100644 (file)
@@ -3,3 +3,31 @@ class Pettanr.GroundPicturesController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_panel: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 6695b38..0550142 100644 (file)
@@ -12,6 +12,9 @@ class Pettanr.HomeController extends Pettanr.AppController
   comics: () ->\r
     @filer_list()\r
   \r
+  comic_stories: () ->\r
+    @filer_list()\r
+  \r
   stories: () ->\r
     @filer_list()\r
   \r
@@ -33,6 +36,12 @@ class Pettanr.HomeController extends Pettanr.AppController
   speech_balloons: () ->\r
     @filer_list()\r
   \r
+  balloons: () ->\r
+    @filer_list()\r
+  \r
+  speeches: () ->\r
+    @filer_list()\r
+  \r
   ground_pictures: () ->\r
     @filer_list()\r
   \r
@@ -51,6 +60,9 @@ class Pettanr.HomeController extends Pettanr.AppController
   comics_count: () ->\r
     @list_count()\r
   \r
+  comic_stories_count: () ->\r
+    @list_count()\r
+  \r
   stories_count: () ->\r
     @list_count()\r
   \r
@@ -72,6 +84,12 @@ class Pettanr.HomeController extends Pettanr.AppController
   speech_balloons_count: () ->\r
     @list_count()\r
   \r
+  balloons_count: () ->\r
+    @list_count()\r
+  \r
+  speeches_count: () ->\r
+    @list_count()\r
+  \r
   ground_pictures_count: () ->\r
     @list_count()\r
   \r
index 12e62c9..cb2d47d 100644 (file)
@@ -3,3 +3,25 @@ class Pettanr.LicenseGroupsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index cafc562..3153229 100644 (file)
@@ -3,3 +3,31 @@ class Pettanr.LicensesController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_icense_group: () ->\r
+    @filer_list()\r
+  \r
+  by_system_picture: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index f5140c0..cd54823 100644 (file)
@@ -3,3 +3,28 @@ class Pettanr.OriginalPicturesController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  history: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index ed00229..6a4d0df 100644 (file)
@@ -3,3 +3,31 @@ class Pettanr.PanelPicturesController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_panel: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 9bca9e5..5e50281 100644 (file)
@@ -3,3 +3,37 @@ class Pettanr.PanelsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_scroll: () ->\r
+    @filer_list()\r
+  \r
+  by_sheet: () ->\r
+    @filer_list()\r
+  \r
+  by_speech_balloon_template: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 71c9860..3e74e33 100644 (file)
@@ -3,3 +3,16 @@ class Pettanr.PicturesController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_artist: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
index 92c6cf9..c406dd6 100644 (file)
@@ -3,3 +3,22 @@ class Pettanr.ResourcePicturesController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_artist: () ->\r
+    @filer_list()\r
+  \r
+  by_license_group: () ->\r
+    @filer_list()\r
+  \r
+  by_license: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
index 4d89e94..b11bfd6 100644 (file)
@@ -3,3 +3,34 @@ class Pettanr.ScrollPanelsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_scroll: () ->\r
+    @filer_list()\r
+  \r
+  by_panel: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 341d1df..ea96672 100644 (file)
@@ -11,7 +11,7 @@ class Pettanr.ScrollsController extends Pettanr.AppController
   \r
   show_html: () -> \r
   \r
-  show: (params) ->\r
+  show: () ->\r
     @set_show()\r
     switch @params['format']\r
       when 'prof'\r
@@ -19,9 +19,15 @@ class Pettanr.ScrollsController extends Pettanr.AppController
       when 'html'\r
         @show_html()\r
   \r
-  count: (params) ->\r
+  count: () ->\r
   \r
-  new: (params) ->\r
+  new: () ->\r
   \r
-  edit: (params) ->\r
+  edit: () ->\r
   \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index d585992..246e5ab 100644 (file)
@@ -3,3 +3,34 @@ class Pettanr.SheetPanelsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_sheet: () ->\r
+    @filer_list()\r
+  \r
+  by_panel: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 6e2455a..59dfb20 100644 (file)
@@ -3,3 +3,34 @@ class Pettanr.SheetsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_story: () ->\r
+    @filer_list()\r
+  \r
+  by_panel: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index c88c30e..75f5b14 100644 (file)
@@ -3,3 +3,31 @@ class Pettanr.SpeechBalloonTemplatesController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_panel: () ->\r
+    @filer_list()\r
+  \r
+  by_system_picture: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 2f95c51..4de1ece 100644 (file)
@@ -3,3 +3,34 @@ class Pettanr.SpeechBalloonsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_panel: () ->\r
+    @filer_list()\r
+  \r
+  by_speech_balloon_template: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 3339618..bab87b9 100644 (file)
@@ -3,3 +3,31 @@ class Pettanr.SpeechesController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_speech_balloon: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 726dcd9..556cd67 100644 (file)
@@ -3,3 +3,34 @@ class Pettanr.StoriesController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_comic: () ->\r
+    @filer_list()\r
+  \r
+  by_sheet: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 30dbdfb..fa2d5e2 100644 (file)
@@ -3,3 +3,34 @@ class Pettanr.StorySheetsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_author: () ->\r
+    @filer_list()\r
+  \r
+  by_story: () ->\r
+    @filer_list()\r
+  \r
+  by_sheet: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index 6bf8c47..e9c2e6d 100644 (file)
@@ -3,3 +3,25 @@ class Pettanr.SystemPicturesController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
index fba0d0c..4eee0a4 100644 (file)
@@ -3,3 +3,28 @@ class Pettanr.WritingFormatsController extends Pettanr.AppController
   index: () ->\r
     @filer_list()\r
   \r
+  by_system_picture: () ->\r
+    @filer_list()\r
+  \r
+  show_html: () -> \r
+  \r
+  show: () ->\r
+    @set_show()\r
+    switch @params['format']\r
+      when 'prof'\r
+        @show_prof()\r
+      when 'html'\r
+        @show_html()\r
+  \r
+  count: () ->\r
+  \r
+  new: () ->\r
+  \r
+  edit: () ->\r
+  \r
+  create: () ->\r
+  \r
+  update: () ->\r
+  \r
+  destroy: () ->\r
+    \r
diff --git a/app/assets/javascripts/locmare/booster.js.coffee b/app/assets/javascripts/locmare/booster.js.coffee
new file mode 100644 (file)
index 0000000..815acdf
--- /dev/null
@@ -0,0 +1,98 @@
+class Locmare.Booster\r
+  constructor: (manifest, item) ->\r
+    @manifest = manifest\r
+    @item = item\r
+    # no check\r
+    # return false unless self.resource.enable?\r
+    if @is_extendable()\r
+      _.extend(@item, @extend_module().prototype)\r
+      if @has_extend_model()\r
+        @item[@manifest.setter_method_name](@parsed_settings()) \r
+  \r
+  # get template from system resource manifest\r
+  template_path_name: () ->\r
+    @template_manifest().template_items[@template_module_name()]\r
+  \r
+  # get template manifest from system resource manifest\r
+  template_manifest: () ->\r
+    Manifest.manifest().system_resources.templates[@manifest.template_name]\r
+  \r
+  model_name: () ->\r
+    @template_path_name() + '_' + @manifest.item_name_for_extend_model\r
+  \r
+  is_enable: () ->\r
+    if @template_manifest().template_items[@template_module_name()]\r
+      true\r
+    else\r
+      false\r
+  \r
+  # get template module name\r
+  # ex) attributes[hoge_module_name] -> 'Hoge'\r
+  template_module_name: () ->\r
+    @item.get(@manifest.column_name_for_template_module)\r
+  \r
+  settings: () ->\r
+    @item.get(@manifest.settings_column_name)\r
+  \r
+  # name space for template\r
+  # ex) 'Hoge' -> Hoge\r
+  template_module: () ->\r
+    Pettanr[@template_module_name()]\r
+  \r
+  is_extendable: () ->\r
+    if @template_module()[@manifest.extend_module_name]\r
+      true\r
+    else\r
+      false\r
+  \r
+  # extend module in engine\r
+  # ex) 'SpeechBalloonModule' -> CircleSpeechBalloon::SpeechBalloonModule\r
+  extend_module: () ->\r
+    @template_module()[@manifest.extend_module_name]\r
+  \r
+  has_extend_model: () ->\r
+    if not Pettanr.is_blank(@manifest.extend_model_class_name)\r
+      true\r
+    else\r
+      false\r
+  \r
+  # extend settings data model in engine\r
+  # ex) CircleSpeechBalloon::SpeechBalloon\r
+  extend_model: () ->\r
+    if @has_extend_model()\r
+      @template_module()[@manifest.extend_model_class_name]\r
+    else\r
+      null\r
+  \r
+  check_template: () ->\r
+    if Pettanr.is_blank(@item.get(@manifest.foreign_key))\r
+      false\r
+    else\r
+      true\r
+  \r
+  # get template model\r
+  template_model: () ->\r
+    Manifest.manifest().models[@manifest.template_name].classify()\r
+  \r
+  # get extend instance\r
+  extend_item: () ->\r
+    if @extend_model()\r
+      @item[@manifest.getter_method_name]()\r
+    else\r
+      null\r
+  \r
+  parsed_settings: () ->\r
+    if Pettanr.is_blank(@settings())\r
+      {}\r
+    else\r
+      JSON.parse(@settings())\r
+  \r
+  update_settings: (new_settings) ->\r
+    @item[@manifest.setter_method_name](new_settings)\r
+  \r
+  supply_default: () ->\r
+    @extend_item().supply_default(@item)\r
+  \r
+  overwrite: () ->\r
+    @extend_item().overwrite(@item)\r
+  \r
index 44f19a8..9f9da03 100644 (file)
@@ -10,7 +10,7 @@ class Locmare.FilerModule.Header extends Backbone.View
     caption = Pettanr.AppHelper.t_m(@model().singular())\r
     url = Pettanr.url(@model().table_name(), 'index', {})\r
     linked_icon = new Pettanr.Tag.A({\r
-      attr: {href: url}, handler_name: url, content: icon.render().el\r
+      attr: {href: '/' + url}, handler_name: url, content: icon.render().el\r
     })\r
     linked_caption = new Pettanr.Tag.A({\r
       attr: {href: '/' + url}, handler_name: url, content: caption\r
index 55aac72..e638ede 100644 (file)
@@ -4,13 +4,13 @@ class Locmare.Profiler extends Backbone.View
     @item_name = options.item_name\r
     @item = options.item\r
     # feasible show parsed extend data\r
-    @item.boosts 'post'\r
     @operators = options.operators\r
       \r
     @profiler_manifest = LocalManifest.manifest().profilers[@item_name]\r
     @template_dir = 'templates-profiler-'\r
     _this = this\r
     @item.fetch().done ->\r
+      _this.item.boosts 'post'\r
       _this.header = new Locmare.ProfilerModule.Header({profiler: _this})\r
       _this.columns = new Locmare.ProfilerModule.Column({profiler: _this})\r
       _this.associations = new Locmare.ProfilerModule.Association({'profiler': _this, association_manifest: _this.profiler_manifest.associations})\r
index 501af17..2793b23 100644 (file)
@@ -9,10 +9,11 @@ class Locmare.ProfilerModule.Association extends Backbone.View
     @has_many = _.map @association_manifest.has_many, (list_manifest) =>\r
       new Locmare.ProfilerModule.AssociationModule.HasMany({association: this, has_many_manifest: list_manifest})\r
     @has_one = _.map @association_manifest.has_one, (list_manifest) =>\r
-      new Locmare.ProfilerModule.AssociationModule.HasOne({association: this, has_one_manifest: list_manifestt})\r
+      new Locmare.ProfilerModule.AssociationModule.HasOne({association: this, has_one_manifest: list_manifest})\r
     @render()\r
   \r
   render: () ->\r
+    this.$el.html('')\r
     _this = this\r
     caption = new Pettanr.Tag.Div({class_name: 'caption', content: 'associations'})\r
     this.$el.append(caption.render().el)\r
index dcc8e32..dc6f550 100644 (file)
@@ -69,7 +69,7 @@ class Locmare.ProfilerModule.ColumnModule.DateValue extends Backbone.View
     this\r
   \r
   value: () ->\r
-    l(@column.value())\r
+    l(@column.item().get(@column.column_name))\r
   \r
 class Locmare.ProfilerModule.ColumnModule.JsonValue extends Backbone.View\r
   tagName: 'pre'\r
@@ -82,7 +82,7 @@ class Locmare.ProfilerModule.ColumnModule.JsonValue extends Backbone.View
     this\r
   \r
   value: () ->\r
-    JSON.pretty_generate(JSON.parse(@column.value()))\r
+    JSON.stringify(JSON.parse(@column.item().get(@column.column_name)), 2)\r
   \r
 class Locmare.ProfilerModule.ColumnModule.ExtendValue extends Backbone.View\r
   tagName: 'div'\r
@@ -93,7 +93,11 @@ class Locmare.ProfilerModule.ColumnModule.ExtendValue extends Backbone.View
     _this = this\r
     _.each @extend_settings().column_names, (extend_column_name) ->\r
       extend_column_manifest = _this.extend_settings().columns[extend_column_name] || {}\r
-      _this.columns[extend_column_name] = new Locmare.ProfilerModule.ColumnModule.ExtendModule.ExtendColumn({column: _this, extend_column_name: extend_column_name, extend_column_manifest: extend_column_manifest})\r
+      _this.columns[extend_column_name] = new Locmare.ProfilerModule.ColumnModule.ExtendModule.ExtendColumn({\r
+        column: _this, \r
+        extend_column_name: extend_column_name, \r
+        extend_column_manifest: extend_column_manifest\r
+      })\r
   \r
   render: () ->\r
     _this = this\r
@@ -102,25 +106,25 @@ class Locmare.ProfilerModule.ColumnModule.ExtendValue extends Backbone.View
       _this.$el.append(extend_column.render().el)\r
     this\r
   \r
-  \r
-  extend_columns: () ->\r
+  sorted_columns: () ->\r
+    _this = this\r
     _.map @extend_settings().column_names, (column_name) ->\r
-      @columns[column_name]\r
+      _this.columns[column_name]\r
   \r
   extend_settings: () ->\r
-    @template_model_profiler().extend_settings[self.booster.model_name]\r
+    @template_model_profiler().extend_settings[@booster().model_name()]\r
   \r
   template_model_profiler: () ->\r
-    LocalManifest.manifest.profilers[@template_model().item_name]\r
+    LocalManifest.manifest().profilers[@template_model().item_name()]\r
   \r
   template_model: () ->\r
-    @booster().template_model\r
+    @booster().template_model()\r
   \r
   extend_item: () ->\r
-    @booster.extend_item\r
+    @booster().extend_item()\r
   \r
   booster: () ->\r
-    @column.item().boosters[@column_manifest.boost_name]\r
+    @column.item().boosters[@column.column_manifest.boost_name]\r
   \r
 class Locmare.ProfilerModule.ColumnModule.NoteNone\r
   \r
index 1a0a64e..664db59 100644 (file)
@@ -3,12 +3,50 @@ class Locmare.ProfilerModule.ColumnModule.ExtendModule.ExtendColumn extends Back
     @column = options.column  # extend_column\r
     @extend_column_name = options.extend_column_name\r
     @extend_column_manifest = options.extend_column_manifest\r
+    c = @label_class()\r
+    @label = new c({extend_column: this})\r
+    c = @value_class()\r
+    @value = new c({extend_column: this})\r
+  \r
+  render: () ->\r
+    this.$el.html('')\r
+    this.$el.append(@label.render().el)\r
+    this.$el.append(@value.render().el)\r
+    this\r
+  \r
+  label_class: () ->\r
+    Locmare.ProfilerModule.ColumnModule.ExtendModule.Label\r
+  \r
+  value_class: () ->\r
+    Locmare.ProfilerModule.ColumnModule.ExtendModule.Value\r
+  \r
+class Locmare.ProfilerModule.ColumnModule.ExtendModule.Label extends Backbone.View\r
+  tagName: 'span'\r
+  \r
+  initialize: (options) ->\r
+    @extend_column = options.extend_column\r
+    @column = @extend_column.column\r
+  \r
+  render: () ->\r
+    this.$el.html(@label())\r
+    this\r
   \r
   label: () ->\r
-    Pettanr.AppHelper.t_a(@extend_item().singular(), @extend_column_name)\r
+    Pettanr.AppHelper.t_a(@column.extend_item().item_name(), @extend_column.extend_column_name)\r
+  \r
+class Locmare.ProfilerModule.ColumnModule.ExtendModule.Value extends Backbone.View\r
+  tagName: 'span'\r
+  \r
+  initialize: (options) ->\r
+    @extend_column = options.extend_column\r
+    @column = @extend_column.column\r
+  \r
+  render: () ->\r
+    this.$el.html(@value())\r
+    this\r
   \r
   value: () ->\r
-    @extend_item.get(@extend_column_name)\r
+    @extend_item().get(@extend_column.extend_column_name)\r
   \r
   extend_item: () ->\r
     @column.extend_item()\r
index dce621f..999f596 100644 (file)
@@ -2,7 +2,31 @@ class Manifest.ItemModule.Boost extends ManifestBase.NameValues
   \r
   set_default: () ->\r
     super()\r
+    @values['level'] ||= 'post'\r
+    @values['template_name'] ||= @name\r
+    @values['column_name_for_template_module'] ||= @values['template_name'] + '_module_name'\r
+    @values['settings_column_name'] ||= @name + '_settings'\r
+    @values['foreign_key'] ||= @values['template_name'] + '_id'\r
     \r
   init: () ->\r
     super()\r
+    @level = @values['level']\r
+    @template_name = @values['template_name']\r
+    @column_name_for_template_module = @values['column_name_for_template_module']\r
+    @settings_column_name = @values['settings_column_name']\r
+    @foreign_key = @values['foreign_key']\r
+    \r
+    @values['item_name_for_extend_model'] ||= @template_name\r
+    @values['setter_method_name'] ||= @values['item_name_for_extend_model'] + '_extend_setter'\r
+    @values['getter_method_name'] ||= @values['item_name_for_extend_model'] + '_extend'\r
+    @extend_model_class_name = @values['extend_model_class_name']\r
+    @item_name_for_extend_model = @values['item_name_for_extend_model']\r
+    @setter_method_name = @values['setter_method_name']\r
+    @getter_method_name = @values['getter_method_name']\r
+    @extend_module_name = @values['extend_module_name']\r
+    if not @extend_module_name\r
+      if @extend_model_class_name\r
+        @extend_module_name = @extend_model_class_name + 'Module'\r
+      else\r
+        ManifestBase.alert_undefined_message 'extend_module_name',  @module_message()\r
   \r
index 1c69934..572e66e 100644 (file)
@@ -19,7 +19,7 @@ class Pettanr.Balloon extends Peta.Element
   speech_balloon: () ->\r
     new Pettanr.SpeechBalloon({id: @get('speech_balloon_id')})\r
   \r
-  url: () ->\r
+  r_url: () ->\r
     '/system_pictures/' + @system_picture().filename()\r
   \r
   symbol_option: (cb) ->\r
index c2c6d6d..bc504ee 100644 (file)
@@ -1,4 +1,6 @@
 class Pettanr.ComicStory extends Peta.Leaf\r
+  url: '/comic_stories/'\r
+  \r
   @singular: () ->\r
     'ComicStory'\r
   \r
index 303398a..93ee926 100644 (file)
@@ -1,4 +1,6 @@
 class Pettanr.GroundColor extends Peta.Element\r
+  url: '/ground_colors/'\r
+  \r
   @singular: () ->\r
     'GroundColor'\r
   \r
index 0683896..1b38630 100644 (file)
@@ -1,5 +1,6 @@
 class Pettanr.Panel extends Peta.Root\r
   url: '/panels/'\r
+  \r
   @singular: () ->\r
     'Panel'\r
   \r
index 1a5ef07..58e66d6 100644 (file)
@@ -1,4 +1,6 @@
 class Pettanr.Sheet extends Peta.Root\r
+  url: '/sheets/'\r
+  \r
   @singular: () ->\r
     'Sheet'\r
   \r
index 4a8b709..a520482 100644 (file)
@@ -1,4 +1,6 @@
 class Pettanr.SheetPanel extends Peta.Leaf\r
+  url: '/sheet_panels/'\r
+  \r
   @singular: () ->\r
     'SheetPanel'\r
   \r
index a67d8ae..4d17170 100644 (file)
@@ -1,4 +1,6 @@
 class Pettanr.Story extends Peta.Binder\r
+  url: '/stories/'\r
+  \r
   @singular: () ->\r
     'Story'\r
   \r
index eb24b8c..09f4290 100644 (file)
@@ -1,4 +1,6 @@
 class Pettanr.StorySheet extends Peta.Leaf\r
+  url: '/story_sheets/'\r
+  \r
   @singular: () ->\r
     'StorySheet'\r
   \r
index ca7cd7b..df2ad5e 100644 (file)
@@ -1,4 +1,6 @@
 class Pettanr.WritingFormat extends Peta.Template\r
+  url: '/writing_formats/'\r
+  \r
   @singular: () ->\r
     'WritingFormat'\r
   \r
index 8fbb457..aaad35a 100644 (file)
@@ -114,9 +114,11 @@ class Peta.Item extends Backbone.Model
       @item_name()\r
   \r
   boosts: (level) ->\r
-    _.each @my_class().my_peta().boost, (boost_name, boost_manifest) ->\r
+    _this = this\r
+    c = @my_class().my_peta().boost\r
+    _.each c, (boost_manifest, boost_name) ->\r
       next if level == 'read' and boost_manifest.level == 'post'\r
-      @boost boost_manifest\r
+      _this.boost boost_manifest\r
   \r
   boost: (boost_manifest) ->\r
     @boosters ||= {}\r
index 1f24398..cf9c3c2 100644 (file)
@@ -1 +1,5 @@
 class Peta.SystemResource extends Peta.Item\r
+  \r
+  is_own: (operators) ->\r
+    operators.is_admin() \r
+  \r
index e644594..e7c4ccc 100644 (file)
@@ -85,7 +85,7 @@ class Pettanr
     constructor: (options) ->\r
       @action = options['action']\r
       @params = options['params']\r
-      @current_page = @params['page'] || 1\r
+      @current_page = parseInt(@params['page']) || 1\r
       @per_page = @params['page_size'] || 25\r
       @window_size = 3\r
       @counter = new Pettanr.CounterModel({}, {url: '/' + @action.counter_url(@params)})\r
index 1b45072..acfaa44 100644 (file)
@@ -59,11 +59,19 @@ class Pettanr.Router extends Backbone.Router
         else\r
           params['action'] = 'index'\r
       this.fire(params)\r
+    this['c'] = (controller, query_string) ->\r
+      params = this.parse_query_string(query_string)\r
+      params['controller'] = controller\r
+      params['format'] = 'html'\r
+      params['action'] = 'index'\r
+      this.fire(params)\r
     this.route('', 'home')\r
     this.route(':controller/:id/:action?*query_string', 'c_i_a')\r
     this.route(':controller/:id/:action', 'c_i_a')\r
     this.route(':controller/:id?*query_string', 'c_i')\r
     this.route(':controller/:id', 'c_i')\r
+    this.route(':controller?*query_string', 'c')\r
+    this.route(':controller', 'c')\r
   \r
   home: () ->\r
     params = {}\r
diff --git a/app/assets/javascripts/views/comic_stories/summary.js.coffee b/app/assets/javascripts/views/comic_stories/summary.js.coffee
new file mode 100644 (file)
index 0000000..1bf5ae0
--- /dev/null
@@ -0,0 +1,10 @@
+class Pettanr.Views.ComicStory.Summary extends Backbone.View\r
+  \r
+  initialize: (options) ->\r
+    super(options)\r
+  \r
+  render: () ->\r
+    this.$el.html('')\r
+    this.$el.append('-')\r
+    this\r
+  \r
index cb68550..7472348 100644 (file)
           param_id: 'suffix',\r
         },\r
       },\r
+      by_speech_balloon: {\r
+        type: 'list',\r
+        args: {\r
+          param_id: 'suffix',\r
+        },\r
+      },\r
       show: {\r
         type: 'show',\r
       },\r
           param_id: 'suffix',\r
         },\r
       },\r
+      by_speech_balloon: {\r
+        type: 'list',\r
+        args: {\r
+          param_id: 'suffix',\r
+        },\r
+      },\r
       show: {\r
         type: 'show',\r
       },\r
           param_id: 'suffix',\r
         },\r
       },\r
+      by_system_picture: {\r
+        type: 'list',\r
+        args: {\r
+          param_id: 'suffix',\r
+        },\r
+      },\r
       show: {\r
         type: 'show',\r
       },\r
           counter_name: 'comics_count',\r
         },\r
       },\r
+      comic_stories: {\r
+        type: 'list',\r
+        args: {\r
+          item_name: 'comic_story',\r
+          list_name: 'private',\r
+          param_id: 'none',\r
+          counter_name: 'comic_stories_count',\r
+        },\r
+      },\r
       stories: {\r
         type: 'list',\r
         args: {\r
           param_id: 'none',\r
         },\r
       },\r
+      comic_stories_count: {\r
+        type: 'count',\r
+        args: {\r
+          item_name: 'comic_story',\r
+          list_name: 'private',\r
+          param_id: 'none',\r
+        },\r
+      },\r
       stories_count: {\r
         type: 'count',\r
         args: {\r
index 1d21685..8684661 100644 (file)
       public: {\r
         type: 'public',\r
       },\r
+      private: {\r
+        type: 'private',\r
+      },\r
       by_speech_balloon: {\r
         type: 'filter',\r
       },\r
index cb3a4e8..12da158 100644 (file)
@@ -4,7 +4,7 @@ class BalloonsController < ApplicationController
     before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy]
   else
     before_filter :authenticate_reader, :only => [
-      :index, :show, :by_author, :count, :count_by_author
+      :index, :show, :by_author, :by_speech_balloon, :count, :count_by_author
     ]
     before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy]
     before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy]
@@ -22,6 +22,10 @@ class BalloonsController < ApplicationController
     filer_list
   end
   
+  def by_speech_balloon
+    filer_list
+  end
+  
   def show_html_format format
     format.html {
       @item.boosts 'post'
index 88b937b..e79195d 100644 (file)
@@ -34,7 +34,7 @@ class ComicStoriesController < ApplicationController
     set_show
     respond_to do |format|
       show_prof_format format
-      format.json { render json: @item.comic_story_as_json(@operators.author) }
+      format.json { render json: @item.to_json }
     end
   end
   
index e914d9a..3ee6e97 100644 (file)
@@ -1,12 +1,12 @@
 class HomeController < ApplicationController
   before_filter :authenticate_user, :only => [
     :index, :show, :profile, :configure, :create_token, :delete_token, 
-    :scrolls, :scroll_panels, :comics, :stories, :story_sheets, :sheets, :sheet_panels, :panels, :resource_pictures, :panel_pictures, :speech_balloons, :ground_pictures, :ground_colors,
-    :scrolls_count, :scroll_panels_count, :comics_count, :stories_count, :story_sheets_count, :sheets_count, :sheet_panels_count, :panels_count, :resource_pictures_count, :panel_pictures_count, :speech_balloons_count, :ground_pictures_count, :ground_colors_count
+    :scrolls, :scroll_panels, :comics, :comic_stories, :stories, :story_sheets, :sheets, :sheet_panels, :panels, :panel_pictures, :speech_balloons, :balloons, :speeches, :ground_pictures, :ground_colors,
+    :scrolls_count, :scroll_panels_count, :comics_count, :comic_stories_count, :stories_count, :story_sheets_count, :sheets_count, :sheet_panels_count, :panels_count, :resource_pictures_count, :panel_pictures_count, :speech_balloons_count, :balloons_count, :speeches_count, :ground_pictures_count, :ground_colors_count
   ]
   before_filter :authenticate_author, :only => [
-    :scrolls, :scroll_panels, :comics, :stories, :story_sheets, :sheets, :sheet_panels, :panels, :panel_pictures, :speech_balloons, :ground_pictures, :ground_colors,
-    :scrolls_count, :scroll_panels_count, :comics_count, :stories_count, :story_sheets_count, :sheets_count, :sheet_panels_count, :panels_count, :resource_pictures_count, :panel_pictures_count, :speech_balloons_count, :ground_pictures_count, :ground_colors_count
+    :scrolls, :scroll_panels, :comics, :comic_stories, :stories, :story_sheets, :sheets, :sheet_panels, :panels, :panel_pictures, :speech_balloons, :balloons, :speeches, :ground_pictures, :ground_colors,
+    :scrolls_count, :scroll_panels_count, :comics_count, :comic_stories_count, :stories_count, :story_sheets_count, :sheets_count, :sheet_panels_count, :panels_count, :resource_pictures_count, :panel_pictures_count, :speech_balloons_count, :balloons_count, :speeches_count, :ground_pictures_count, :ground_colors_count
   ]
   before_filter :authenticate_artist, :only => [:resource_pictures]
   
@@ -69,6 +69,10 @@ class HomeController < ApplicationController
     filer_list
   end
   
+  def comic_stories
+    filer_list
+  end
+  
   def stories
     filer_list
   end
@@ -97,6 +101,14 @@ class HomeController < ApplicationController
     filer_list
   end
   
+  def balloons
+    filer_list
+  end
+  
+  def speeches
+    filer_list
+  end
+  
   def ground_pictures
     filer_list
   end
@@ -121,6 +133,10 @@ class HomeController < ApplicationController
     list_count
   end
   
+  def comic_stories_count
+    list_count
+  end
+  
   def stories_count
     list_count
   end
@@ -145,7 +161,11 @@ class HomeController < ApplicationController
     list_count
   end
   
-  def speech_balloons_count
+  def balloons_count
+    list_count
+  end
+  
+  def speeches_count
     list_count
   end
   
index c11046a..68a3c6d 100644 (file)
@@ -34,7 +34,7 @@ class ScrollPanelsController < ApplicationController
     set_show
     respond_to do |format|
       show_prof_format format
-      format.json { render json: @item.scroll_panel_as_json(@operators.author) }
+      format.json { render json: @item.to_json }
     end
   end
   
index b4f2249..658f270 100644 (file)
@@ -4,7 +4,7 @@ class SpeechesController < ApplicationController
     before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy]
   else
     before_filter :authenticate_reader, :only => [
-      :index, :show, :by_author, :count, :count_by_author
+      :index, :show, :by_author, :by_speech_balloon, :count, :count_by_author
     ]
     before_filter :authenticate_user, :only => [:new, :edit, :create, :update, :destroy]
     before_filter :authenticate_author, :only => [:new, :edit, :create, :update, :destroy]
@@ -23,6 +23,10 @@ class SpeechesController < ApplicationController
     filer_list
   end
   
+  def by_speech_balloon
+    filer_list
+  end
+  
   def show_html_format format
     format.html {
       @item.boosts 'post'
index ab11f80..078566b 100644 (file)
@@ -2,11 +2,11 @@ class WritingFormatsController < ApplicationController
   if Manifest.manifest.magic_numbers['run_mode'] == 0
     before_filter :authenticate_user, :only => []
   else
-    before_filter :authenticate_reader, :only => [:index, :show, :count]
+    before_filter :authenticate_reader, :only => [:index, :by_system_picture, :show, :count, :count_by_system_picture]
     before_filter :authenticate_user, :only => []
   end
   before_filter :authenticate_admin, :only => [:new, :create, :edit, :update, :destroy]
-
+  
   def self.model
     WritingFormat
   end
@@ -14,7 +14,11 @@ class WritingFormatsController < ApplicationController
   def index
     filer_list
   end
-
+  
+  def by_system_picture
+    filer_list
+  end
+  
   def show_html_format format
     format.html {
     }
@@ -33,6 +37,10 @@ class WritingFormatsController < ApplicationController
     list_count
   end
   
+  def count_by_system_picture
+    list_count
+  end
+  
   def new
     form_new
   end
index 35f5971..1a42b2e 100644 (file)
@@ -16,7 +16,7 @@ class Balloon < Peta::Element
 #  validates :caption, :presence => true
   validates :speech_balloon_template_settings, :boost => {:boost_name => :speech_balloon_template}
 
-  def attr_y
+  def y
     self.attributes['y']
   end
   
@@ -58,7 +58,7 @@ self.system_picture_id = 1
   def style
     {
       'width' => self.width.to_s + 'px','height' => self.height.to_s + 'px',
-      'top' => self.attr_y.to_s + 'px','left' => self.x.to_s + 'px'
+      'top' => self.y.to_s + 'px','left' => self.x.to_s + 'px'
     }
   end
   
index 8db7f1d..7b13631 100644 (file)
@@ -144,7 +144,7 @@ class Folder < Peta::SystemResource
     mydocidx_speech_balloon = self.add_remote mydocidx, 'speech_balloons', 'home', 'speech_balloons'
     mydocidx_balloon = self.add_remote mydocidx, 'balloons', 'home', 'balloons'
     mydocidx_speech = self.add_remote mydocidx, 'speeches', 'home', 'speeches'
-    mydocidx_ground_picture = self.add_remote mydocidx, 'ground_pictures', 'home', ''
+    mydocidx_ground_picture = self.add_remote mydocidx, 'ground_pictures', 'home', 'ground_pictures'
     mydocidx_ground_color = self.add_remote mydocidx, 'ground_colors', 'home', 'ground_colors'
     mydocpic_original_picture = self.add_remote mydocpic, 'original_pictures'
     mydocidx_resource_picture = self.add_remote mydocidx, 'resource_pictures', 'home', 'resource_pictures'
index e0da3dc..2aa3aff 100644 (file)
@@ -26,7 +26,7 @@ class PanelPicture < Peta::Element
     self.attributes[self.pickup_column_name]
   end
   
-  def attr_y
+  def y
     self.attributes['y']
   end
   
@@ -75,7 +75,7 @@ class PanelPicture < Peta::Element
   end
   
   def opt_div_style
-    "top:#{self.attr_y}px; left:#{self.x}px; z-index:#{self.z}; position: absolute;"
+    "top:#{self.y}px; left:#{self.x}px; z-index:#{self.z}; position: absolute;"
   end
   
   def opt_img_tag spot = nil, opacity = 20
index f64b002..1073cdf 100644 (file)
@@ -22,7 +22,7 @@ class Speech < Peta::Element
   
   @@text_align_texts = ['left', 'left', 'right', 'center']
   
-  def attr_y
+  def y
     self.attributes['y']
   end
   
@@ -39,7 +39,7 @@ class Speech < Peta::Element
   
   def outer_style
     {
-      'top' => self.attr_y, 'left' => self.x, 
+      'top' => self.y, 'left' => self.x, 
       'width' => self.width, 'height' => self.height
     }
   end
index 54752c4..b848408 100644 (file)
@@ -1,8 +1,12 @@
 <div id="pettanr">\r
 </div>\r
 <script type="text/javascript" id="manifest">\r
+  <% if @operators.author -%>;\r
   author_id = <%= @operators.author.id -%>;\r
+  <% end -%>;\r
+  <% if @operators.artist -%>;\r
   artist_id = <%= @operators.artist.id -%>;\r
+  <% end -%>;\r
 </script>\r
 <script type="text/javascript" id="manifest">\r
 </script>\r
index 7fea987..82155a9 100644 (file)
@@ -753,29 +753,33 @@ ja:
       not_author: 作品を公開するには作家登録
       not_artist: 画像を公開するには絵師登録
     scrolls:
-      title: 最近更新したスクロール
+      title: 最近使ったスクロール
     scroll_panels:
-      title: 最近更新したスクコマ
+      title: 最近使ったスクコマ
     comics:
-      title: 最近更新したコミック
+      title: 最近使ったコミック
     comic_stories:
-      title: 最近更新したコミスト
+      title: 最近使ったコミスト
     stories:
-      title: 最近更新したストーリー
+      title: 最近使ったストーリー
     story_sheets:
-      title: 最近更新したスト紙
+      title: 最近使ったスト紙
     sheets:
-      title: 最近更新した用紙
+      title: 最近使った用紙
     sheet_panels:
-      title: 最近更新した紙コマ
+      title: 最近使った紙コマ
     panels:
-      title: 最近更新したコマ
+      title: 最近使ったコマ
     resource_pictures:
-      title: 最近更新した素材
+      title: 最近使った素材
     panel_pictures:
       title: 最近使ったコマ絵
     speech_balloons:
       title: 最近使ったフキダシ
+    balloons:
+      title: 最近使ったフキダシ枠
+    speeches:
+      title: 最近使ったセリフ
     ground_pictures:
       title: 最近使った絵地
     ground_colors:
index 4391547..0bbf07d 100644 (file)
@@ -286,6 +286,7 @@ Pettanr::Application.routes.draw do
     end
     member do
       get :by_author
+      get :by_speech_balloon
       get :count_by_author
       get :edit
       put :update
@@ -299,6 +300,7 @@ Pettanr::Application.routes.draw do
     end
     member do
       get :by_author
+      get :by_speech_balloon
       get :count_by_author
       get :edit
       put :update
index eab7a50..3f97d6a 100644 (file)
         "public": {\r
           "type": "public"\r
         },\r
+        "private": {\r
+          "type": "private"\r
+        },\r
         "by_speech_balloon": {\r
           "type": "filter"\r
         },\r
     }\r
   },\r
   "buckets": {\r
+    "folder": {},\r
     "scroll": {},\r
     "scroll_panel": {},\r
     "comic": {},\r
index 975a365..b315d00 100644 (file)
             "param_id": "suffix"\r
           }\r
         },\r
+        "by_system_picture": {\r
+          "type": "list",\r
+          "args": {\r
+            "param_id": "suffix"\r
+          }\r
+        },\r
         "show": {\r
           "type": "show"\r
         },\r
             "counter_name": "comics_count"\r
           }\r
         },\r
+        "comic_stories": {\r
+          "type": "list",\r
+          "args": {\r
+            "item_name": "comic_story",\r
+            "list_name": "private",\r
+            "param_id": "none",\r
+            "counter_name": "comic_stories_count"\r
+          }\r
+        },\r
         "stories": {\r
           "type": "list",\r
           "args": {\r
             "param_id": "none"\r
           }\r
         },\r
+        "comic_stories_count": {\r
+          "type": "count",\r
+          "args": {\r
+            "item_name": "comic_story",\r
+            "list_name": "private",\r
+            "param_id": "none"\r
+          }\r
+        },\r
         "stories_count": {\r
           "type": "count",\r
           "args": {\r