From 31124ac1df4b11438308bb83525753b3e40e355a Mon Sep 17 00:00:00 2001 From: yasushiito Date: Sat, 12 Apr 2014 15:42:00 +0900 Subject: [PATCH] fix anything --- .../manifest/work/buckets.js.coffee.erb | 238 ++ .../javascripts/manifest/work/forms.js.coffee.erb | 3178 +++++++++++--------- app/assets/javascripts/panels.js.coffee | 1 + app/assets/javascripts/system.js.coffee | 1 + app/controllers/system_controller.rb | 14 - app/models/balloon.rb | 2 +- app/models/comic.rb | 12 +- app/models/ground_color.rb | 2 +- app/models/ground_picture.rb | 2 +- app/models/panel.rb | 14 +- app/models/panel_picture.rb | 2 +- app/models/resource_picture.rb | 2 +- app/models/scroll.rb | 12 +- app/models/scroll_panel.rb | 2 +- app/models/sheet.rb | 13 +- app/models/sheet_panel.rb | 2 +- app/models/speech.rb | 2 +- app/models/speech_balloon.rb | 2 +- app/models/story.rb | 2 +- app/models/story_sheet.rb | 2 +- app/views/admins/sessions/new.html.erb | 4 +- app/views/layouts/application.html.erb | 3 - app/views/layouts/guest.html.erb | 5 +- app/views/layouts/metro.html.erb | 59 - app/views/layouts/system.html.erb | 3 - .../field/{_element.html.erb => _default.html.erb} | 0 app/views/templates/r/form/field/_extend.html.erb | 8 + app/views/users/sessions/new.html.erb | 4 +- config/locales/pettanr.ja.yml | 52 + lib/local_manifest.rb | 1 + lib/local_manifest/bucket.rb | 52 + lib/local_manifest/form.rb | 34 +- lib/local_manifest/form/field.rb | 71 +- lib/local_manifest/form/field/field.rb | 78 - lib/local_manifest/form/field/label/label.rb | 6 +- lib/local_manifest/local_manifest.rb | 4 +- lib/locmare/form.rb | 71 +- lib/locmare/form/extend_field.rb | 77 + lib/locmare/form/field.rb | 4 +- lib/locmare/list_group/list/base.rb | 1 + lib/manifest/item/base.rb | 7 + lib/peta/content.rb | 3 +- lib/peta/item.rb | 4 + public/local_manifest.json | 2932 +++++++++--------- 44 files changed, 3706 insertions(+), 3282 deletions(-) create mode 100644 app/assets/javascripts/manifest/work/buckets.js.coffee.erb delete mode 100644 app/views/layouts/metro.html.erb rename app/views/templates/r/form/field/{_element.html.erb => _default.html.erb} (100%) create mode 100644 app/views/templates/r/form/field/_extend.html.erb create mode 100644 lib/local_manifest/bucket.rb delete mode 100644 lib/local_manifest/form/field/field.rb create mode 100644 lib/locmare/form/extend_field.rb diff --git a/app/assets/javascripts/manifest/work/buckets.js.coffee.erb b/app/assets/javascripts/manifest/work/buckets.js.coffee.erb new file mode 100644 index 00000000..dc1b2347 --- /dev/null +++ b/app/assets/javascripts/manifest/work/buckets.js.coffee.erb @@ -0,0 +1,238 @@ +#マニフェスト +@buckets = { + scroll: { + }, + scroll_panel: { + }, + comic: { + }, + story: { + }, + story_sheet: { + }, + sheet: { + }, + sheet_panel: { + }, + panel: { + }, + panel_picture: { + }, + speech_balloon: { + field_names: [ + 'speech_balloon.caption', + 'speech_balloon.id', + 'speech_balloon.panel_id', + 'speech_balloon.speech_balloon_template_id', + 'speech_balloon.speech_balloon_template_classname', + 'speech_balloon.z', + 'speech_balloon.t', + 'speech_balloon_template_settings', + 'balloon.r', + 'balloon.x', + 'balloon.y', + 'balloon.width', + 'balloon.height', + 'balloon.id', + 'balloon.speech_balloon_id', + 'balloon.system_picture_id', + 'balloon.speech_balloon_template_id', + 'balloon.speech_balloon_template_classname', + 'balloon.speech_balloon_template_settings', + 'speech.writing_format_id', + 'speech.font_size', + 'speech.text_align', + 'speech.quotes', + 'speech.content', + 'speech.fore_color', + 'speech.id', + 'speech.speech_balloon_id', + 'speech.x', + 'speech.y', + 'speech.width', + 'speech.height', + 'speech.speech_balloon_template_id', + 'speech.speech_balloon_template_classname', + 'speech.speech_balloon_template_settings', + 'speech.writing_format_classname', + 'speech.writing_format_settings', + ] + }, + speech: { + }, + balloon: { + }, + ground_picture: { + }, + ground_color: { + }, + original_picture: { + }, + picture: { + }, + resource_picture: { + }, + speech_balloon_template: { + column_names: [ + 'name', + 'classname', + 'caption', + 't', + 'system_picture_id', + 'settings', + ], + extend_settings: { + circle_speech_balloon_speech_balloon: { + columns: { + }, + column_names: [ + ], + }, + circle_speech_balloon_balloon: { + columns: { + }, + column_names: [ + ], + }, + circle_speech_balloon_speech: { + columns: { + }, + column_names: [ + ], + }, + plain_speech_balloon_speech_balloon: { + columns: { + }, + column_names: [ + ], + }, + square_speech_balloon_speech_balloon: { + columns: { + }, + column_names: [ + ], + }, + }, + associations: { + belongs_to: [ + 'system_picture', + ], + }, + }, + writing_format: { + column_names: [ + 'name', + 'classname', + 'caption', + 'system_picture_id', + 'settings', + ], + extend_settings: { + pettanr_simple_format_writing_format: { + columns: { + }, + column_names: [ + ], + }, + }, + associations: { + belongs_to: [ + 'system_picture', + ], + has_many: [ + #'speeches.by_writing_format', + ], + }, + }, + license_group: { + column_names: [ + 'name', + 'classname', + 'caption', + 'url', + ], + extend_settings: { + pettanr_pettan_commons_v01_licenses_license: { + columns: { + open: { + }, + commercial: { + }, + official: { + }, + attribution: { + }, + derive: { + }, + thumbnail: { + }, + gif_convert: { + }, + reverse: { + }, + sync_vh: { + }, + overlap: { + }, + }, + column_names: [ + 'open', + 'commercial', + 'official', + 'attribution:', + 'derive', + 'thumbnail', + 'gif_convert', + 'reverse', + 'sync_vh', + 'overlap', + ], + }, + pettanr_pettan_commons_v01_licenses_credit_picture: { + columns: { + }, + column_names: [ + 'source_url_btn_id', + 'source_url_off_btn_id', + ], + }, + }, + associations: { + has_many: [ + 'licenses.by_license_group', + ], + }, + }, + license: { + columns: { + license_group_settings: { + type: 'extend', + args: { + boost_name: 'license_group', + }, + }, + credit_picture_settings: { + type: 'extend', + args: { + boost_name: 'credit_picture', + }, + }, + }, + column_names: [ + 'license_group_id', + 'license_group_classname', + 'name', + 'caption', + 'system_picture_id', + 'url', + 'license_group_settings', + 'credit_picture_settings', + ], + }, + author: { + }, + artist: { + }, + system_picture: { + }, +} diff --git a/app/assets/javascripts/manifest/work/forms.js.coffee.erb b/app/assets/javascripts/manifest/work/forms.js.coffee.erb index ee5bbecc..3811bb51 100644 --- a/app/assets/javascripts/manifest/work/forms.js.coffee.erb +++ b/app/assets/javascripts/manifest/work/forms.js.coffee.erb @@ -1,1740 +1,1910 @@ #マニフェスト @forms = { - base: { - scroll: { - fields: { - title: { + scroll: { + fields: { + title: { + label: { args: { - label: { - args: { - row_break: true, - }, - }, - tag: { - type: 'text', - }, row_break: true, }, }, - description: { - args: { - label: { - args: { - row_break: true, - }, - }, - tag: { - type: 'text_area', - }, - }, + tag: { + type: 'text', }, - visible: { + row_break: true, + }, + description: { + label: { args: { - tag: { - type: 'select', - }, row_break: true, }, }, - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'text_area', }, - author_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + visible: { + tag: { + type: 'select', + }, + row_break: true, + }, + id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + author_id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', }, }, - field_names: [ - 'title', - 'description', - 'visible', - 'id', - 'author_id', - ] }, - scroll_panel: { - fields: { - scroll_id: { - args: { - tag: { - type: 'number', - }, - }, + field_names: [ + 'title', + 'description', + 'visible', + 'id', + 'author_id', + ] + }, + scroll_panel: { + fields: { + scroll_id: { + tag: { + type: 'number', }, - panel_id: { - args: { - tag: { - type: 'number', - }, - }, + }, + panel_id: { + tag: { + type: 'number', }, - t: { - args: { - tag: { - type: 'number', - }, - }, + }, + t: { + tag: { + type: 'number', }, - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', }, }, - field_names: [ - 'scroll_id', - 'panel_id', - 't', - 'id', - ] }, - comic: { - fields: { - title: { + field_names: [ + 'scroll_id', + 'panel_id', + 't', + 'id', + ] + }, + comic: { + fields: { + title: { + label: { args: { - label: { - args: { - row_break: true, - }, - }, - tag: { - type: 'text', - }, row_break: true, }, }, - description: { - args: { - label: { - args: { - row_break: true, - }, - }, - tag: { - type: 'text_area', - }, - }, + tag: { + type: 'text', }, - visible: { + row_break: true, + }, + description: { + label: { args: { - tag: { - type: 'select', - }, row_break: true, }, }, - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'text_area', }, - author_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + visible: { + tag: { + type: 'select', + }, + row_break: true, + }, + id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + author_id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', }, }, - field_names: [ - 'title', - 'description', - 'visible', - 'id', - 'author_id', - ] }, - story: { - fields: { - comic_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + field_names: [ + 'title', + 'description', + 'visible', + 'id', + 'author_id', + ] + }, + story: { + fields: { + comic_id: { + label: { + type: 'none', }, - title: { - args: { - label: { - args: { - row_break: true, - }, - }, - tag: { - type: 'text', - }, - row_break: true, - }, + tag: { + type: 'hidden', }, - description: { + }, + title: { + label: { args: { - label: { - args: { - row_break: true, - }, - }, - tag: { - type: 'text_area', - }, row_break: true, }, }, - visible: { + tag: { + type: 'text', + }, + row_break: true, + }, + description: { + label: { args: { - tag: { - type: 'select', - }, row_break: true, }, }, - t: { - args: { - tag: { - type: 'number', - }, - }, + tag: { + type: 'text_area', }, - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + visible: { + tag: { + type: 'select', }, - author_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + t: { + tag: { + type: 'number', + }, + }, + id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + author_id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', }, }, - field_names: [ - 'comic_id', - 'title', - 'description', - 'visible', - 't', - 'id', - 'author_id', - ] }, - story_sheet: { - fields: { - story_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'number', - }, - }, + field_names: [ + 'comic_id', + 'title', + 'description', + 'visible', + 't', + 'id', + 'author_id', + ] + }, + story_sheet: { + fields: { + story_id: { + label: { + type: 'none', }, - sheet_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'number', - }, - }, + tag: { + type: 'number', }, - t: { - args: { - tag: { - type: 'number', - }, - }, + }, + sheet_id: { + label: { + type: 'none', }, - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'number', + }, + }, + t: { + tag: { + type: 'number', + }, + }, + id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', }, }, - field_names: [ - 'story_id', - 'sheet_id', - 't', - 'id', - ] }, - sheet: { - fields: { - caption: { + field_names: [ + 'story_id', + 'sheet_id', + 't', + 'id', + ] + }, + sheet: { + fields: { + caption: { + label: { args: { - label: { - args: { - row_break: true, - }, - }, - tag: { - type: 'text', - }, row_break: true, }, }, - width: { - args: { - tag: { - type: 'number', - }, - }, + tag: { + type: 'text', }, - height: { - args: { - tag: { - type: 'number', - }, - row_break: true, - }, + row_break: true, + }, + width: { + tag: { + type: 'number', }, - visible: { - args: { - tag: { - type: 'select', - }, - row_break: true, - }, + }, + height: { + tag: { + type: 'number', }, - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + visible: { + tag: { + type: 'select', }, - author_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + author_id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', }, }, - field_names: [ - 'caption', - 'width', - 'height', - 'visible', - 'id', - 'author_id', - ] }, - sheet_panel: { - fields: { - sheet_id: { - args: { - tag: { - type: 'number', - }, - }, + field_names: [ + 'caption', + 'width', + 'height', + 'visible', + 'id', + 'author_id', + ] + }, + sheet_panel: { + fields: { + sheet_id: { + tag: { + type: 'number', }, - panel_id: { - args: { - tag: { - type: 'number', - }, - }, + }, + panel_id: { + tag: { + type: 'number', }, - x: { - args: { - tag: { - type: 'number', - }, - }, + }, + x: { + tag: { + type: 'number', }, - y: { - args: { - tag: { - type: 'number', - }, - row_break: true, - }, + }, + y: { + tag: { + type: 'number', }, - z: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + z: { + label: { + type: 'none', }, - t: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', }, - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + t: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', }, }, - field_names: [ - 'sheet_id', - 'panel_id', - 'x', - 'y', - 'z', - 't', - 'id', - ] }, - panel: { - fields: { - caption: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + field_names: [ + 'sheet_id', + 'panel_id', + 'x', + 'y', + 'z', + 't', + 'id', + ] + }, + panel: { + fields: { + caption: { + tag: { + type: 'text', }, - width: { - args: { - tag: { - type: 'number', - }, - }, + row_break: true, + }, + width: { + tag: { + type: 'number', }, - height: { - args: { - tag: { - type: 'number', - }, - row_break: true, - }, + }, + height: { + tag: { + type: 'number', }, - border: { - args: { - tag: { - type: 'number', - }, - }, + row_break: true, + }, + border: { + tag: { + type: 'number', }, - publish: { - args: { - tag: { - type: 'select', - }, - row_break: true, - }, + }, + publish: { + tag: { + type: 'select', }, - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + id: { + label: { + type: 'none', }, - author_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', + }, + }, + author_id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', }, }, - field_names: [ - 'caption', - 'width', - 'height', - 'border', - 'publish', - 'id', - 'author_id', - ] }, - panel_picture: { - fields: { - caption: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + field_names: [ + 'caption', + 'width', + 'height', + 'border', + 'publish', + 'id', + 'author_id', + ] + }, + panel_picture: { + fields: { + caption: { + tag: { + type: 'text', }, - x: { - args: { - tag: { - type: 'number', - }, - }, + row_break: true, + }, + x: { + tag: { + type: 'number', }, - y: { - args: { - tag: { - type: 'number', - }, - row_break: true, - }, + }, + y: { + tag: { + type: 'number', }, - width: { - args: { - tag: { - type: 'number', - }, - helpers: { - size: { - type: 'size', - args: { - dom_class: 'panel_picture_width_tool', - }, - }, - }, - row_break: true, - }, + row_break: true, + }, + width: { + tag: { + type: 'number', }, - height: { - args: { - tag: { - type: 'number', - }, - helpers: { - size: { - type: 'size', - args: { - dom_class: 'panel_picture_height_tool', - }, - }, + helpers: { + size: { + type: 'size', + args: { + dom_class: 'panel_picture_width_tool', }, - row_break: true, }, }, - link: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + height: { + tag: { + type: 'number', }, - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', + helpers: { + size: { + type: 'size', + args: { + dom_class: 'panel_picture_height_tool', }, }, }, - panel_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + link: { + tag: { + type: 'text', }, - picture_id: { - args: { - tag: { - type: 'hidden', - }, - helpers: { - popup: { - type: 'popup', - args: { - source: 'pictures', - }, - }, - }, - }, + row_break: true, + }, + id: { + label: { + type: 'none', }, - z: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', }, - t: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', + }, + panel_id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + picture_id: { + tag: { + type: 'hidden', + }, + helpers: { + popup: { + type: 'popup', + args: { + source: 'pictures', }, }, }, }, - field_names: [ - 'caption', - 'x', - 'y', - 'width', - 'height', - 'link', - 'id', - 'panel_id', - 'picture_id', - 'z', - 't', - ] + z: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + t: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, }, - speech_balloon: { - fields: { - 'speech_balloon.id': { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + field_names: [ + 'caption', + 'x', + 'y', + 'width', + 'height', + 'link', + 'id', + 'panel_id', + 'picture_id', + 'z', + 't', + ] + }, + speech_balloon: { + fields: { + id: { + label: { + type: 'none', }, - 'speech_balloon.panel_id': { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', }, - 'speech_balloon.speech_balloon_template_id': { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + panel_id: { + label: { + type: 'none', }, - 'speech_balloon.caption': { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + tag: { + type: 'hidden', }, - 'speech_balloon.z': { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + speech_balloon_template_id: { + label: { + type: 'none', }, - 'speech_balloon.t': { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', }, - 'speech_balloon.speech_balloon_template_classname': { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + caption: { + tag: { + type: 'text', }, - 'speech_balloon.speech_balloon_template_settings': { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + z: { + label: { + type: 'none', }, - 'balloon.id': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', }, - 'balloon.speech_balloon_id': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + t: { + label: { + type: 'none', }, - 'balloon.speech_balloon_template_id': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', }, - 'balloon.system_picture_id': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + speech_balloon_template_classname: { + label: { + type: 'none', }, - 'balloon.r': { - type: 'part', - args: { - tag: { - type: 'number', - }, - helpers: { - tail_angle: { - type: 'size', - args: { - }, - }, - }, - row_break: true, - }, + tag: { + type: 'hidden', }, - 'balloon.x': { - type: 'part', - args: { - tag: { - type: 'number', - }, - }, + }, + speech_balloon_template_settings: { + label: { + type: 'none', }, - 'balloon.y': { - type: 'part', - args: { - label: { - }, - tag: { - type: 'number', - }, - row_break: true, - }, + tag: { + type: 'hidden', }, - 'balloon.width': { - type: 'part', - args: { - tag: { - type: 'number', - }, - }, + }, + }, + field_names: [ + 'caption', + 'id', + 'panel_id', + 'speech_balloon_template_id', + 'speech_balloon_template_classname', + 'z', + 't', + 'speech_balloon_template_settings', + ], + }, + balloon: { + fields: { + id: { + label: { + type: 'none', }, - 'balloon.height': { - type: 'part', - args: { - tag: { - type: 'number', - }, - row_break: true, - }, + tag: { + type: 'hidden', }, - 'balloon.speech_balloon_template_classname': { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + speech_balloon_id: { + label: { + type: 'none', }, - 'balloon.speech_balloon_template_settings': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', }, - 'speech.id': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + speech_balloon_template_id: { + label: { + type: 'none', }, - 'speech.speech_balloon_id': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', }, - 'speech.speech_balloon_template_id': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + system_picture_id: { + label: { + type: 'none', }, - 'speech.x': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', }, - 'speech.y': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + r: { + tag: { + type: 'number', }, - 'speech.width': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', + helpers: { + tail_angle: { + type: 'size', + args: { }, }, }, - 'speech.height': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + x: { + tag: { + type: 'number', }, - 'speech.writing_format_id': { - type: 'part', - args: { - tag: { - type: 'select', - }, - }, + }, + y: { + label: { + }, + tag: { + type: 'number', + }, + row_break: true, + }, + width: { + tag: { + type: 'number', + }, + }, + height: { + tag: { + type: 'number', + }, + row_break: true, + }, + speech_balloon_template_classname: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', }, - 'speech.font_size': { - type: 'part', + }, + speech_balloon_template_settings: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + }, + field_names: [ + 'r', + 'x', + 'y', + 'width', + 'height', + 'id', + 'speech_balloon_id', + 'system_picture_id', + 'speech_balloon_template_id', + 'speech_balloon_template_classname', + 'speech_balloon_template_settings', + ], + }, + speech: { + fields: { + id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + speech_balloon_id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + speech_balloon_template_id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + x: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + y: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + width: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + height: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + writing_format_id: { + tag: { + type: 'select', + }, + }, + font_size: { + tag: { + type: 'select', + }, + row_break: true, + }, + text_align: { + tag: { + type: 'select', + }, + }, + quotes: { + tag: { + type: 'text', + }, + }, + content: { + label: { args: { - tag: { - type: 'select', - }, row_break: true, }, }, - 'speech.text_align': { - type: 'part', + tag: { + type: 'text_area', args: { - tag: { - type: 'select', + options: { + size: '45x5', }, }, }, - 'speech.quotes': { - type: 'part', - args: { - tag: { - type: 'text', - }, - }, + }, + fore_color: { + label: { + row_break: true, }, - 'speech.content': { - type: 'part', - args: { - label: { - args: { - row_break: true, - }, - }, - tag: { - type: 'text_area', - args: { - options: { - size: '45x5', - }, - }, - }, - }, + tag: { + type: 'hidden', }, - 'speech.fore_color': { - type: 'part', - args: { - label: { - row_break: true, - }, - tag: { - type: 'hidden', - }, - helpers: { - color: { - type: 'color', - args: { - wrapper: 'speech-fore_color-wrap', - }, - }, + helpers: { + color: { + type: 'color', + args: { + wrapper: 'speech-fore_color-wrap', }, }, }, - 'speech.speech_balloon_template_classname': { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + speech_balloon_template_classname: { + label: { + type: 'none', }, - 'speech.writing_format_classname': { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', }, - 'speech.speech_balloon_template_settings': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + writing_format_classname: { + label: { + type: 'none', }, - 'speech.writing_format_settings': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', + }, + }, + speech_balloon_template_settings: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + writing_format_settings: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', }, }, }, - ground_picture: { - fields: { - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + field_names: [ + 'writing_format_id', + 'font_size', + 'text_align', + 'quotes', + 'content', + 'fore_color', + 'id', + 'speech_balloon_id', + 'x', + 'y', + 'width', + 'height', + 'speech_balloon_template_id', + 'speech_balloon_template_classname', + 'speech_balloon_template_settings', + 'writing_format_classname', + 'writing_format_settings', + ], + }, + ground_picture: { + fields: { + id: { + label: { + type: 'none', }, - panel_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + tag: { + type: 'hidden', }, - picture_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + panel_id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', }, - caption: { + }, + picture_id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + caption: { + tag: { + type: 'text', + }, + row_break: true, + }, + repeat: { + tag: { + type: 'select', args: { - tag: { - type: 'text', - }, - row_break: true, + source: 'magic_number', + key: 'ground_picture_repeat_items', }, }, - repeat: { + row_break: true, + }, + x: { + tag: { + type: 'number', + }, + }, + y: { + tag: { + type: 'number', + }, + row_break: true, + }, + z: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + t: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + }, + field_names: [ + 'caption', + 'repeat', + 'x', + 'y', + 'z', + 't', + 'id', + 'panel_id', + 'picture_id', + ] + }, + ground_color: { + fields: { + id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + panel_id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + caption: { + tag: { + type: 'text', + }, + row_break: true, + }, + code: { + label: { args: { - tag: { - type: 'select', - args: { - source: 'magic_number', - key: 'ground_picture_repeat_items', - }, - }, row_break: true, }, }, - x: { - args: { - tag: { - type: 'number', + tag: { + type: 'hidden', + }, + helpers: { + color: { + type: 'color', + args: { + wrapper: 'ground_color-code-wrap' }, - }, + } + }, + row_break: true, + }, + orientation: { + tag: { + type: 'select', + }, + row_break: true, + }, + xy: { + tag: { + type: 'number', + }, + }, + wh: { + tag: { + type: 'number', + }, + row_break: true, + }, + z: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + t: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + }, + field_names: [ + 'id', + 'panel_id', + 'caption', + 'code', + 'orientation', + 'xy', + 'wh', + 'z', + 't', + ] + }, + speech_balloon_template: { + fields: { + id: { + label: { + type: 'none', + }, + tag: { + type: 'hidden', + }, + }, + name: { + tag: { + type: 'text', + }, + row_break: true, + }, + classname: { + tag: { + type: 'text', + }, + row_break: true, + }, + caption: { + tag: { + type: 'text', + }, + row_break: true, + }, + t: { + tag: { + type: 'number', + }, + row_break: true, + }, + system_picture_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + settings: { + tag: { + type: 'text', + }, + row_break: true, + }, + }, + field_names: [ + 'id', + 'name', + 'classname', + 'caption', + 't', + 'system_picture_id', + 'settings', + ] + }, + writing_format: { + fields: { + id: { + label: { + type: 'none', }, - y: { - args: { - tag: { - type: 'number', - }, - row_break: true, - }, + tag: { + type: 'hidden', }, - z: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + name: { + tag: { + type: 'text', }, - t: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + classname: { + tag: { + type: 'text', }, + row_break: true, }, - field_names: [ - 'caption', - 'repeat', - 'x', - 'y', - 'z', - 't', - 'id', - 'panel_id', - 'picture_id', - ] - }, - ground_color: { - fields: { - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + caption: { + tag: { + type: 'text', }, - panel_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + system_picture_id: { + tag: { + type: 'number', }, - caption: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + settings: { + tag: { + type: 'text', }, - code: { - args: { - label: { - args: { - row_break: true, - }, - }, - tag: { - type: 'hidden', - }, - helpers: { - color: { - type: 'color', - args: { - wrapper: 'ground_color-code-wrap' - }, - } - }, - row_break: true, - }, + row_break: true, + }, + }, + field_names: [ + 'id', + 'name', + 'classname', + 'caption', + 'system_picture_id', + 'settings', + ] + }, + license_group: { + fields: { + id: { + label: { + type: 'none', }, - orientation: { - args: { - tag: { - type: 'select', - }, - row_break: true, - }, + tag: { + type: 'hidden', }, - xy: { - args: { - tag: { - type: 'number', - }, - }, + }, + name: { + tag: { + type: 'text', }, - wh: { - args: { - tag: { - type: 'number', - }, - row_break: true, - }, + row_break: true, + }, + classname: { + tag: { + type: 'text', }, - z: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + caption: { + tag: { + type: 'text', }, - t: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + url: { + tag: { + type: 'text', }, + row_break: true, }, - field_names: [ - 'id', - 'panel_id', - 'caption', - 'code', - 'orientation', - 'xy', - 'wh', - 'z', - 't', - ] }, - speech_balloon_template: { - fields: { - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + field_names: [ + 'id', + 'name', + 'classname', + 'caption', + 'url', + ] + }, + license: { + fields: { + id: { + label: { + type: 'none', }, - name: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + tag: { + type: 'hidden', }, - classname: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + }, + license_group_id: { + label: { + type: 'none', }, - caption: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + tag: { + type: 'hidden', }, - t: { - args: { - tag: { - type: 'number', - }, - row_break: true, - }, + }, + license_group_classname: { + tag: { + type: 'text', }, - system_picture_id: { - args: { - tag: { - type: 'number', - }, - row_break: true, - }, + row_break: true, + }, + name: { + tag: { + type: 'text', }, - settings: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + caption: { + tag: { + type: 'text', }, + row_break: true, }, - field_names: [ - 'id', - 'name', - 'classname', - 'caption', - 't', - 'system_picture_id', - 'settings', - ] - }, - writing_format: { - fields: { - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + system_picture_id: { + tag: { + type: 'number', }, - name: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + url: { + tag: { + type: 'text', }, - classname: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + license_group_settings: { + boost_name: 'license_group', + row_break: true, + }, + credit_picture_settings: { + boost_name: 'credit_picture', + row_break: true, + }, + }, + field_names: [ + 'id', + 'license_group_id', + 'license_group_classname', + 'name', + 'caption', + 'system_picture_id', + 'url', + 'license_group_settings', + 'credit_picture_settings', + ] + } + author: { + fields: { + id: { + label: { + type: 'none', }, - caption: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + tag: { + type: 'hidden', }, - system_picture_id: { + }, + name: { + label: { args: { - tag: { - type: 'number', - }, row_break: true, }, }, - settings: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + tag: { + type: 'text', }, + row_break: true, }, - field_names: [ - 'id', - 'name', - 'classname', - 'caption', - 'system_picture_id', - 'settings', - ] }, - license_group: { - fields: { - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + field_names: [ + 'id', + 'name', + ] + }, + artist: { + fields: { + id: { + label: { + type: 'none', }, - name: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + tag: { + type: 'hidden', }, - classname: { + }, + name: { + label: { args: { - tag: { - type: 'text', - }, row_break: true, }, }, - caption: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + tag: { + type: 'text', }, - url: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + }, + field_names: [ + 'id', + 'name', + ] + }, + circle_speech_balloon_speech_speech_balloon_template: { + fields: { + r: { + tag: { + type: 'number', }, + row_break: true, }, - field_names: [ - 'id', - 'name', - 'classname', - 'caption', - 'url', - ] }, - license: { - fields: { - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + }, + pettanr_creative_commons_v30_licenses_license: { + fields: { + open: { + tag: { + type: 'number', }, - license_group_id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + row_break: true, + }, + commercial: { + tag: { + type: 'number', }, - license_group_classname: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + official: { + tag: { + type: 'number', }, - name: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + attribution: { + tag: { + type: 'number', }, - caption: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + derive: { + tag: { + type: 'number', + }, + row_break: true, + }, + thumbnail: { + tag: { + type: 'number', + }, + row_break: true, + }, + gif_convert: { + tag: { + type: 'number', + }, + row_break: true, + }, + reverse: { + tag: { + type: 'number', + }, + row_break: true, + }, + sync_vh: { + tag: { + type: 'number', + }, + row_break: true, + }, + overlap: { + tag: { + type: 'number', + }, + row_break: true, + }, + }, + field_names: [ + 'open', + 'commercial', + 'official', + 'attribution:', + 'derive', + 'thumbnail', + 'gif_convert', + 'reverse', + 'sync_vh', + 'overlap', + ], + }, + pettanr_creative_commons_v30_licenses_credit_picture: { + fields: { + source_url_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + source_url_off_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + }, + field_names: [ + 'source_url_btn_id', + 'source_url_off_btn_id', + ], + }, + pettanr_pettan_commons_v01_licenses_license: { + fields: { + open: { + tag: { + type: 'number', }, - system_picture_id: { - args: { - tag: { - type: 'number', - }, - row_break: true, - }, + row_break: true, + }, + commercial: { + tag: { + type: 'number', }, - url: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + official: { + tag: { + type: 'number', }, - license_group_settings: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + attribution: { + tag: { + type: 'number', }, - credit_picture_settings: { - args: { - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + derive: { + tag: { + type: 'number', + }, + row_break: true, + }, + thumbnail: { + tag: { + type: 'number', + }, + row_break: true, + }, + gif_convert: { + tag: { + type: 'number', + }, + row_break: true, + }, + reverse: { + tag: { + type: 'number', + }, + row_break: true, + }, + sync_vh: { + tag: { + type: 'number', + }, + row_break: true, + }, + overlap: { + tag: { + type: 'number', + }, + row_break: true, + }, + }, + field_names: [ + 'open', + 'commercial', + 'official', + 'attribution:', + 'derive', + 'thumbnail', + 'gif_convert', + 'reverse', + 'sync_vh', + 'overlap', + ], + }, + pettanr_pettan_commons_v01_licenses_credit_picture: { + fields: { + source_url_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + source_url_off_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + }, + field_names: [ + 'source_url_btn_id', + 'source_url_off_btn_id', + ], + }, + pettanr_pettan_protected_v01_licenses_license: { + fields: { + open: { + tag: { + type: 'number', }, + row_break: true, }, - field_names: [ - 'id', - 'license_group_id', - 'license_group_classname', - 'name', - 'caption', - 'system_picture_id', - 'url', - 'license_group_settings', - 'credit_picture_settings', - ] - } - author: { - fields: { - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + commercial: { + tag: { + type: 'number', }, - name: { - args: { - label: { - args: { - row_break: true, - }, - }, - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + official: { + tag: { + type: 'number', + }, + row_break: true, + }, + attribution: { + tag: { + type: 'number', }, + row_break: true, }, - field_names: [ - 'id', - 'name', - ] + derive: { + tag: { + type: 'number', + }, + row_break: true, + }, + thumbnail: { + tag: { + type: 'number', + }, + row_break: true, + }, + gif_convert: { + tag: { + type: 'number', + }, + row_break: true, + }, + reverse: { + tag: { + type: 'number', + }, + row_break: true, + }, + sync_vh: { + tag: { + type: 'number', + }, + row_break: true, + }, + overlap: { + tag: { + type: 'number', + }, + row_break: true, + }, }, - artist: { - fields: { - id: { - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + field_names: [ + 'open', + 'commercial', + 'official', + 'attribution:', + 'derive', + 'thumbnail', + 'gif_convert', + 'reverse', + 'sync_vh', + 'overlap', + ], + }, + pettanr_pettan_protected_v01_licenses_credit_picture: { + fields: { + source_url_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + source_url_off_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + }, + field_names: [ + 'source_url_btn_id', + 'source_url_off_btn_id', + ], + }, + pettanr_pettan_public_v01_licenses_license: { + fields: { + open: { + tag: { + type: 'number', }, - name: { - args: { - label: { - args: { - row_break: true, - }, - }, - tag: { - type: 'text', - }, - row_break: true, - }, + row_break: true, + }, + commercial: { + tag: { + type: 'number', }, + row_break: true, }, - field_names: [ - 'id', - 'name', - ] + official: { + tag: { + type: 'number', + }, + row_break: true, + }, + attribution: { + tag: { + type: 'number', + }, + row_break: true, + }, + derive: { + tag: { + type: 'number', + }, + row_break: true, + }, + thumbnail: { + tag: { + type: 'number', + }, + row_break: true, + }, + gif_convert: { + tag: { + type: 'number', + }, + row_break: true, + }, + reverse: { + tag: { + type: 'number', + }, + row_break: true, + }, + sync_vh: { + tag: { + type: 'number', + }, + row_break: true, + }, + overlap: { + tag: { + type: 'number', + }, + row_break: true, + }, }, + field_names: [ + 'open', + 'commercial', + 'official', + 'attribution:', + 'derive', + 'thumbnail', + 'gif_convert', + 'reverse', + 'sync_vh', + 'overlap', + ], }, - extend: { - CircleSpeechBalloon: { - base: 'speech_balloon', - fields: { - }, - field_names: [ - 'speech_balloon.caption', - 'balloon.r', - 'balloon.x', - 'balloon.y', - 'balloon.width', - 'balloon.height', - 'balloon.id', - 'balloon.speech_balloon_id', - 'balloon.system_picture_id', - 'balloon.speech_balloon_template_id', - 'balloon.speech_balloon_template_classname', - 'balloon.speech_balloon_template_settings', - 'speech.writing_format_id', - 'speech.font_size', - 'speech.text_align', - 'speech.quotes', - 'speech.content', - 'speech.fore_color', - 'speech.id', - 'speech.speech_balloon_id', - 'speech.x', - 'speech.y', - 'speech.width', - 'speech.height', - 'speech.speech_balloon_template_id', - 'speech.speech_balloon_template_classname', - 'speech.speech_balloon_template_settings', - 'speech.writing_format_classname', - 'speech.writing_format_settings', - 'speech_balloon.id', - 'speech_balloon.panel_id', - 'speech_balloon.speech_balloon_template_id', - 'speech_balloon.speech_balloon_template_classname', - 'speech_balloon.z', - 'speech_balloon.t', - 'speech_balloon.speech_balloon_template_settings', - ] + pettanr_pettan_public_v01_licenses_credit_picture: { + fields: { + source_url_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + source_url_off_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, }, - PlainSpeechBalloon: { - base: 'speech_balloon', - fields: { - 'balloon.r': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + field_names: [ + 'source_url_btn_id', + 'source_url_off_btn_id', + ], + }, + pettanr_public_domain_v01_licenses_license: { + fields: { + open: { + tag: { + type: 'number', + }, + row_break: true, + }, + commercial: { + tag: { + type: 'number', + }, + row_break: true, + }, + official: { + tag: { + type: 'number', + }, + row_break: true, + }, + attribution: { + tag: { + type: 'number', }, + row_break: true, }, - field_names: [ - 'speech_balloon.caption', - 'balloon.r', - 'balloon.x', - 'balloon.y', - 'balloon.width', - 'balloon.height', - 'balloon.id', - 'balloon.speech_balloon_id', - 'balloon.system_picture_id', - 'balloon.speech_balloon_template_id', - 'balloon.speech_balloon_template_classname', - 'balloon.speech_balloon_template_settings', - 'speech.writing_format_id', - 'speech.font_size', - 'speech.text_align', - 'speech.quotes', - 'speech.content', - 'speech.fore_color', - 'speech.id', - 'speech.speech_balloon_id', - 'speech.x', - 'speech.y', - 'speech.width', - 'speech.height', - 'speech.speech_balloon_template_id', - 'speech.speech_balloon_template_classname', - 'speech.speech_balloon_template_settings', - 'speech.writing_format_classname', - 'speech.writing_format_settings', - 'speech_balloon.id', - 'speech_balloon.panel_id', - 'speech_balloon.speech_balloon_template_id', - 'speech_balloon.speech_balloon_template_classname', - 'speech_balloon.z', - 'speech_balloon.t', - 'speech_balloon.speech_balloon_template_settings', - ] + derive: { + tag: { + type: 'number', + }, + row_break: true, + }, + thumbnail: { + tag: { + type: 'number', + }, + row_break: true, + }, + gif_convert: { + tag: { + type: 'number', + }, + row_break: true, + }, + reverse: { + tag: { + type: 'number', + }, + row_break: true, + }, + sync_vh: { + tag: { + type: 'number', + }, + row_break: true, + }, + overlap: { + tag: { + type: 'number', + }, + row_break: true, + }, }, - SquareSpeechBalloon: { - base: 'speech_balloon', - fields: { - 'balloon.r': { - type: 'part', - args: { - label: { - type: 'none', - }, - tag: { - type: 'hidden', - }, - }, + field_names: [ + 'open', + 'commercial', + 'official', + 'attribution:', + 'derive', + 'thumbnail', + 'gif_convert', + 'reverse', + 'sync_vh', + 'overlap', + ], + }, + pettanr_public_domain_v01_licenses_credit_picture: { + fields: { + source_url_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + source_url_off_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + }, + field_names: [ + 'source_url_btn_id', + 'source_url_off_btn_id', + ], + }, + pettanr_unknown_v01_licenses_license: { + fields: { + open: { + tag: { + type: 'number', + }, + row_break: true, + }, + commercial: { + tag: { + type: 'number', }, + row_break: true, }, - field_names: [ - 'speech_balloon.caption', - 'balloon.r', - 'balloon.x', - 'balloon.y', - 'balloon.width', - 'balloon.height', - 'balloon.id', - 'balloon.speech_balloon_id', - 'balloon.system_picture_id', - 'balloon.speech_balloon_template_id', - 'balloon.speech_balloon_template_classname', - 'balloon.speech_balloon_template_settings', - 'speech.writing_format_id', - 'speech.font_size', - 'speech.text_align', - 'speech.quotes', - 'speech.content', - 'speech.fore_color', - 'speech.id', - 'speech.speech_balloon_id', - 'speech.x', - 'speech.y', - 'speech.width', - 'speech.height', - 'speech.speech_balloon_template_id', - 'speech.speech_balloon_template_classname', - 'speech.speech_balloon_template_settings', - 'speech.writing_format_classname', - 'speech.writing_format_settings', - 'speech_balloon.id', - 'speech_balloon.panel_id', - 'speech_balloon.speech_balloon_template_id', - 'speech_balloon.speech_balloon_template_classname', - 'speech_balloon.z', - 'speech_balloon.t', - 'speech_balloon.speech_balloon_template_settings', - ] + official: { + tag: { + type: 'number', + }, + row_break: true, + }, + attribution: { + tag: { + type: 'number', + }, + row_break: true, + }, + derive: { + tag: { + type: 'number', + }, + row_break: true, + }, + thumbnail: { + tag: { + type: 'number', + }, + row_break: true, + }, + gif_convert: { + tag: { + type: 'number', + }, + row_break: true, + }, + reverse: { + tag: { + type: 'number', + }, + row_break: true, + }, + sync_vh: { + tag: { + type: 'number', + }, + row_break: true, + }, + overlap: { + tag: { + type: 'number', + }, + row_break: true, + }, }, - } + field_names: [ + 'open', + 'commercial', + 'official', + 'attribution:', + 'derive', + 'thumbnail', + 'gif_convert', + 'reverse', + 'sync_vh', + 'overlap', + ], + }, + pettanr_unknown_v01_licenses_credit_picture: { + fields: { + source_url_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + source_url_off_btn_id: { + tag: { + type: 'number', + }, + row_break: true, + }, + }, + field_names: [ + 'source_url_btn_id', + 'source_url_off_btn_id', + ], + }, } @repeat_texts = ['repeat', 'repeat-x', 'repeat-y', 'no-repeat'] diff --git a/app/assets/javascripts/panels.js.coffee b/app/assets/javascripts/panels.js.coffee index efa51517..698bff68 100644 --- a/app/assets/javascripts/panels.js.coffee +++ b/app/assets/javascripts/panels.js.coffee @@ -20,6 +20,7 @@ $ -> profilers: window.profilers, filers: window.filers, forms: window.forms, + buckets: window.buckets, } j = JSON.stringify(manifest, undefined, 2) $('#pettanr-manifest').val(j) diff --git a/app/assets/javascripts/system.js.coffee b/app/assets/javascripts/system.js.coffee index 08c9c074..6c1396a5 100644 --- a/app/assets/javascripts/system.js.coffee +++ b/app/assets/javascripts/system.js.coffee @@ -11,6 +11,7 @@ $ -> profilers: window.profilers, filers: window.filers, forms: window.forms, + buckets: window.buckets, } j = JSON.stringify(manifest, undefined, 2) $('#pettanr-manifest').val(j) diff --git a/app/controllers/system_controller.rb b/app/controllers/system_controller.rb index e2fe608a..59224a47 100644 --- a/app/controllers/system_controller.rb +++ b/app/controllers/system_controller.rb @@ -74,18 +74,4 @@ class SystemController < ApplicationController end end - def production_layout - MagicNumber['test_layout'] = false - respond_to do |format| - format.html { render text: 'production', status: 200 } - end - end - - def test_layout - MagicNumber['test_layout'] = 'test' - respond_to do |format| - format.html { render text: 'test', status: 200 } - end - end - end diff --git a/app/models/balloon.rb b/app/models/balloon.rb index 279d9f8f..f3f9460e 100644 --- a/app/models/balloon.rb +++ b/app/models/balloon.rb @@ -33,7 +33,7 @@ self.system_picture_id = 1 self.speech_balloon.speech_balloon_template.symbol_option end - def self.list_where + def self.public_list_where 'panels.publish > 0' end diff --git a/app/models/comic.rb b/app/models/comic.rb index 52042019..5b7f9dc1 100644 --- a/app/models/comic.rb +++ b/app/models/comic.rb @@ -22,8 +22,14 @@ class Comic < Peta::Content end def visible? operators - return false unless super - self.visible > 0 + case super + when nil # super return + return true + when false + return false + else + self.visible > 0 + end end def comic_stories_count @@ -33,7 +39,7 @@ class Comic < Peta::Content def symbol_filename end - def self.list_where + def self.public_list_where 'comics.visible > 0' end diff --git a/app/models/ground_color.rb b/app/models/ground_color.rb index a73571a9..cb16e67f 100644 --- a/app/models/ground_color.rb +++ b/app/models/ground_color.rb @@ -105,7 +105,7 @@ class GroundColor < Peta::Element r end - def self.list_where + def self.public_list_where 'panels.publish > 0' end diff --git a/app/models/ground_picture.rb b/app/models/ground_picture.rb index aaa68404..d0e98336 100644 --- a/app/models/ground_picture.rb +++ b/app/models/ground_picture.rb @@ -85,7 +85,7 @@ class GroundPicture < Peta::Element @@repeat_texts[self.repeat] end - def self.list_where + def self.public_list_where 'panels.publish > 0' end diff --git a/app/models/panel.rb b/app/models/panel.rb index b601cb0d..d19cc62e 100644 --- a/app/models/panel.rb +++ b/app/models/panel.rb @@ -30,9 +30,15 @@ class Panel < Peta::Root end def visible? operators - return true if super - return true if self.new_record? - self.publish? + case super + when nil # super return + return true + when false + return false + else + return true if self.new_record? + self.publish? + end end def usable? operators @@ -58,7 +64,7 @@ class Panel < Peta::Root } end - def self.list_where + def self.public_list_where 'panels.publish > 0' end diff --git a/app/models/panel_picture.rb b/app/models/panel_picture.rb index 54ddf445..c64149af 100644 --- a/app/models/panel_picture.rb +++ b/app/models/panel_picture.rb @@ -100,7 +100,7 @@ class PanelPicture < Peta::Element self.picture.symbol_option end - def self.list_where + def self.public_list_where 'panels.publish > 0' end diff --git a/app/models/resource_picture.rb b/app/models/resource_picture.rb index bd97c7dc..f2052c26 100644 --- a/app/models/resource_picture.rb +++ b/app/models/resource_picture.rb @@ -54,7 +54,7 @@ class ResourcePicture < Peta::Content end def thumbnail(imager) - tw, th = ResourcePicture.fix_size_both(MagicNumber['thumbnail_width'], MagicNumber['thumbnail_height'], rimg.columns, rimg.rows) + tw, th = ResourcePicture.fix_size_both(Manifest.manifest.magic_numbers['thumbnail_width'], Manifest.manifest.magic_numbers['thumbnail_height'], rimg.columns, rimg.rows) ResourcePicture.resize(rimg.to_blob, tw, th).to_blob end diff --git a/app/models/scroll.rb b/app/models/scroll.rb index 10baaefc..e7c9f559 100644 --- a/app/models/scroll.rb +++ b/app/models/scroll.rb @@ -17,15 +17,21 @@ class Scroll < Peta::Binder end def visible? operators - return false unless super - self.visible > 0 + case super + when nil # super return + return true + when false + return false + else + self.visible > 0 + end end def scroll_panels_count ScrollPanel.where(['scroll_panels.scroll_id = ?', self.id]).count end - def self.list_order + def self.public_list_order 'scrolls.updated_at desc' end diff --git a/app/models/scroll_panel.rb b/app/models/scroll_panel.rb index 8dab5bb2..72071790 100644 --- a/app/models/scroll_panel.rb +++ b/app/models/scroll_panel.rb @@ -20,7 +20,7 @@ class ScrollPanel < Peta::Leaf self.author_id = operators.author.id end - def self.list_order + def self.public_list_order 'scroll_panels.updated_at desc' end diff --git a/app/models/sheet.rb b/app/models/sheet.rb index ffcb3dde..a07bbea3 100644 --- a/app/models/sheet.rb +++ b/app/models/sheet.rb @@ -41,9 +41,14 @@ class Sheet < Peta::Root end def visible? operators - return false unless super - return true if self.new_record? - self.visible > 0 + case super + when nil # super return + return true + when false + return false + else + self.visible > 0 + end end def usable? operators @@ -53,7 +58,7 @@ class Sheet < Peta::Root def symbol_filename end - def self.list_where + def self.public_list_where 'sheets.visible > 0' end diff --git a/app/models/sheet_panel.rb b/app/models/sheet_panel.rb index 60d3346b..f47f192f 100644 --- a/app/models/sheet_panel.rb +++ b/app/models/sheet_panel.rb @@ -32,7 +32,7 @@ class SheetPanel < Peta::Element self.author_id = operators.author.id end - def self.list_where + def self.public_list_where 'sheets.visible > 0' end diff --git a/app/models/speech.rb b/app/models/speech.rb index 963031c6..076c80de 100644 --- a/app/models/speech.rb +++ b/app/models/speech.rb @@ -52,7 +52,7 @@ class Speech < Peta::Element @@text_align_texts[self.text_align] end - def self.list_where + def self.public_list_where 'panels.publish > 0' end diff --git a/app/models/speech_balloon.rb b/app/models/speech_balloon.rb index deeb5fa8..d5a41488 100644 --- a/app/models/speech_balloon.rb +++ b/app/models/speech_balloon.rb @@ -64,7 +64,7 @@ class SpeechBalloon < Peta::Element 'speech_balloon' end - def self.list_where + def self.public_list_where 'panels.publish > 0' end diff --git a/app/models/story.rb b/app/models/story.rb index b93cb78d..2d09d53a 100644 --- a/app/models/story.rb +++ b/app/models/story.rb @@ -39,7 +39,7 @@ class Story < Peta::Binder StorySheet.where(['story_sheets.story_id = ?', self.id]).count end - def self.list_where + def self.public_list_where 'stories.visible > 0' end diff --git a/app/models/story_sheet.rb b/app/models/story_sheet.rb index 9056a7a5..6d02cd0f 100644 --- a/app/models/story_sheet.rb +++ b/app/models/story_sheet.rb @@ -20,7 +20,7 @@ class StorySheet < Peta::Leaf self.author_id = operators.author.id end - def self.list_where + def self.public_list_where 'stories.visible > 0' end diff --git a/app/views/admins/sessions/new.html.erb b/app/views/admins/sessions/new.html.erb index 3e172ad3..4ddec4a1 100644 --- a/app/views/admins/sessions/new.html.erb +++ b/app/views/admins/sessions/new.html.erb @@ -1,10 +1,10 @@ <% @page_title = t('admins.signin.title') %> -

<%= link_to h(MagicNumber['profile']['admins']['caption']), root_path %>

+

<%= link_to h(manifest.magic_numbers['profile']['admins']['caption']), root_path %>

-

<%= sanitize MagicNumber['profile']['admins']['description'], :tags => %w(a p img br) %>

+

<%= sanitize manifest.magic_numbers['profile']['admins']['description'], :tags => %w(a p img br) %>

<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 763fb69a..64487ade 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -100,9 +100,6 @@ <%= link_to t('tab.system.approve'), '/system/waiting_list' %> <%= link_to t('tab.system.port'), '/system/import' %> <%= link_to t('tab.system.token'), '/system/auth_token' %> - <%= t('tab.system.layout') %>: - <%= link_to t('tab.system.test'), '/system/test_layout' %> - <%= link_to t('tab.system.production'), '/system/production_layout' %> <%= link_to t('home.sign_out.title'), main_app.destroy_admin_session_path, :method => :delete %> <% else %> <%= link_to t('home.sign_in.title'), main_app.new_admin_session_path %> diff --git a/app/views/layouts/guest.html.erb b/app/views/layouts/guest.html.erb index aa0c6f70..32851488 100644 --- a/app/views/layouts/guest.html.erb +++ b/app/views/layouts/guest.html.erb @@ -7,7 +7,7 @@ <% else %> <%= t("#{params[:controller]}.#{params[:action]}.title") %> <% end %> - - <%= h(MagicNumber['profile']['users']['caption']) %> + - <%= h(manifest.magic_numbers['profile']['users']['caption']) %> <%= stylesheet_link_tag "test.css" %> <%= javascript_include_tag "application" %> @@ -32,9 +32,6 @@ <%= link_to t('tab.system.approve'), '/system/waiting_list' %> <%= link_to t('tab.system.port'), '/system/import' %> <%= link_to t('tab.system.token'), '/system/auth_token' %> - <%= t('tab.system.layout') %>: - <%= link_to t('tab.system.test'), '/system/test_layout' %> - <%= link_to t('tab.system.production'), '/system/production_layout' %> <%= link_to t('home.sign_out.title'), main_app.destroy_admin_session_path, :method => :delete %> <% else %> <%= link_to t('home.sign_in.title'), main_app.new_admin_session_path %> diff --git a/app/views/layouts/metro.html.erb b/app/views/layouts/metro.html.erb deleted file mode 100644 index 10eb9cd0..00000000 --- a/app/views/layouts/metro.html.erb +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - <%= h(MagicNumber['profile']['users']['caption']) %> - <%= stylesheet_link_tag "system.css" %> - <%= stylesheet_link_tag "peta.common.css" %> - <%= csrf_meta_tags %> - - -
- <%= yield %> -
-
[ESC] キーを押すと Metro ホームに入るよ.ホームの一番最後のタイルをクリックすると このページに戻るよ.
-
ホームへ
- <%= javascript_tag 'var server_result=' + @server_result.to_json + ';' %> - <%= javascript_include_tag "jquery-162min" %> - <%= javascript_include_tag "libs" %> - <%= javascript_include_tag "system" %> - - - <%= javascript_include_tag "peta-common" %> - <%= javascript_include_tag "peta-apps" %> - <%= javascript_include_tag "pongame" %> - - diff --git a/app/views/layouts/system.html.erb b/app/views/layouts/system.html.erb index b5e8db35..273047f4 100644 --- a/app/views/layouts/system.html.erb +++ b/app/views/layouts/system.html.erb @@ -34,9 +34,6 @@ <%= link_to "browse", '/system/browse' %> <%= link_to "approve", '/system/waiting_list' %> <%= link_to "token", '/system/auth_token' %> - layout: - <%= link_to "test", '/system/test_layout' %> - <%= link_to "production", '/system/production_layout' %> <%= link_to "sign out", main_app.destroy_admin_session_path, :method => :delete %> <% else %> <%= link_to "sign in", main_app.new_admin_session_path %> diff --git a/app/views/templates/r/form/field/_element.html.erb b/app/views/templates/r/form/field/_default.html.erb similarity index 100% rename from app/views/templates/r/form/field/_element.html.erb rename to app/views/templates/r/form/field/_default.html.erb diff --git a/app/views/templates/r/form/field/_extend.html.erb b/app/views/templates/r/form/field/_extend.html.erb new file mode 100644 index 00000000..7d1bd6fc --- /dev/null +++ b/app/views/templates/r/form/field/_extend.html.erb @@ -0,0 +1,8 @@ +
+ <%= render field.label.template_name, :label => field.label %> + <%= render field.tag.template_name, :tag => field.tag %> + <% field.helpers.each do |helper_name, helper| %> + <%= render helper.template_name, :helper => helper %> + <% end %> +
+<%= render field.row_break_template_name %> diff --git a/app/views/users/sessions/new.html.erb b/app/views/users/sessions/new.html.erb index 5ec12355..c4e7c188 100644 --- a/app/views/users/sessions/new.html.erb +++ b/app/views/users/sessions/new.html.erb @@ -1,9 +1,9 @@ <% @page_title = t('users.signin.signin') %> -

<%= link_to h(MagicNumber['profile']['users']['caption']), root_path %>

+

<%= link_to h(manifest.magic_numbers['profile']['users']['caption']), root_path %>

-

<%= sanitize MagicNumber['profile']['users']['description'], :tags => %w(a p img br) %>

+

<%= sanitize manifest.magic_numbers['profile']['users']['description'], :tags => %w(a p img br) %>

<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %> diff --git a/config/locales/pettanr.ja.yml b/config/locales/pettanr.ja.yml index e6e189f9..309d9e15 100644 --- a/config/locales/pettanr.ja.yml +++ b/config/locales/pettanr.ja.yml @@ -978,12 +978,38 @@ ja: title: システム画像のフキダシテンプレート一覧 show: title: フキダシテンプレート詳細 + new: + title: フキダシテンプレート作成 + edit: + title: フキダシテンプレート編集 + create: + title: フキダシテンプレート作成 + update: + title: フキダシテンプレート編集 + destroy: + title: フキダシテンプレート削除 + submit: + new: 作成する + edit: 変更する add_to_panel: このフキダシをつかんだコマに追加する writing_formats: index: title: 記法一覧 show: title: 記法詳細 + new: + title: 記法作成 + edit: + title: 記法編集 + create: + title: 記法作成 + update: + title: 記法編集 + destroy: + title: 記法削除 + submit: + new: 作成する + edit: 変更する license_groups: index: title: ライセンスグループ一覧 @@ -991,6 +1017,19 @@ ja: title: ライセンスグループのライセンス一覧 show: title: ライセンスグループ詳細 + new: + title: ライセンスグループ作成 + edit: + title: ライセンスグループ編集 + create: + title: ライセンスグループ作成 + update: + title: ライセンスグループ編集 + destroy: + title: ライセンスグループ削除 + submit: + new: 作成する + edit: 変更する licenses: index: title: ライセンス一覧 @@ -1004,6 +1043,19 @@ ja: title: ライセンス詳細 search: title: ライセンス検索 + new: + title: ライセンス作成 + edit: + title: ライセンス編集 + create: + title: ライセンス作成 + update: + title: ライセンス編集 + destroy: + title: ライセンス削除 + submit: + new: 作成する + edit: 変更する authors: index: title: 作家一覧 diff --git a/lib/local_manifest.rb b/lib/local_manifest.rb index bc8a1482..fff1cdce 100644 --- a/lib/local_manifest.rb +++ b/lib/local_manifest.rb @@ -5,6 +5,7 @@ require_dependency "local_manifest/profiler" require_dependency "local_manifest/filer" require_dependency "local_manifest/form" require_dependency "local_manifest/list_group" +require_dependency "local_manifest/bucket" LocalManifest::load JSON.parse(open(File.expand_path('../../public/local_manifest.json', __FILE__)).read) LocalManifest.manifest.init diff --git a/lib/local_manifest/bucket.rb b/lib/local_manifest/bucket.rb new file mode 100644 index 00000000..ab86f858 --- /dev/null +++ b/lib/local_manifest/bucket.rb @@ -0,0 +1,52 @@ +module LocalManifest + class Bucket < ManifestBase::Base + + attr :columns, :column_names, :extend_settings, :lists, :associations + + def set_default + super + @json['columns'] ||= {} + end + + def init + super + end + + def item_name + @name + end + + def each_column + @column_names + end + + def set_defaulta + super + n = @name.split '.' + if n.size > 1 + @args['model_name'] ||= n[0] + @args['column_name'] ||= n[1] + else + @args['model_name'] ||= self.form.name + @args['column_name'] ||= @name + end + @args['label'] ||= {} + @args['tag'] ||= {} + @args['helpers'] ||= {} + @args['row_break'] ||= true + end + + def inita + super + @model_name = @args['model_name'] + @column_name = @args['column_name'] + @label = ManifestBase.load_type_args self, @args, 'label', LabelFactory + @tag = ManifestBase.load_type_args self, @args, 'tag', TagFactory + @helpers = ManifestBase.load_type_name_args self, @args, 'helpers', HelperFactory + @row_break = @args['row_break'] + end + + end + +end + diff --git a/lib/local_manifest/form.rb b/lib/local_manifest/form.rb index f9563373..c0df7394 100644 --- a/lib/local_manifest/form.rb +++ b/lib/local_manifest/form.rb @@ -5,12 +5,6 @@ module LocalManifest class Form < ManifestBase::Base include FormModule - def self.load manifest, jsons, module_name - Hash[jsons[module_name]['base'].map {|name, json| - [name, self.new(manifest, name, json, module_name)] - }] - end - attr :fields, :field_names def set_default @@ -21,8 +15,7 @@ module LocalManifest def init super - @base = @json['base'] - @fields = ManifestBase.load_type_name_args self, @json, 'fields', FieldFactory + @fields = ManifestBase.load_name_values self, @json, 'fields', Field @field_names = @json['field_names'] end @@ -34,30 +27,5 @@ module LocalManifest end - class ExtendForm < Form - - attr :base - - def self.load manifest, jsons, module_name - Hash[jsons[module_name]['extend'].map {|name, json| - [name, self.new(manifest, name, json, module_name)] - }] - end - - def set_default - super - ManifestBase.alert_undefined_message 'base', self.module_message unless @json['base'] - end - - def init - super - @base = @json['base'] - @base_form = @manifest.forms[@base] - ManifestBase.alert_undefined_message 'base form', self.module_message unless @base_form - @fields.merge! @base_form.fields - end - - end - end diff --git a/lib/local_manifest/form/field.rb b/lib/local_manifest/form/field.rb index b579ba97..a6edd112 100644 --- a/lib/local_manifest/form/field.rb +++ b/lib/local_manifest/form/field.rb @@ -1,21 +1,76 @@ ManifestBase.require_modules "local_manifest/form/field/", - %w|field| + %w|tag label helper| module LocalManifest module FormModule - class FieldFactory < ManifestBase::Factory + class Field < ManifestBase::NameValues include FieldModule - def self.types - { - 'element' => ElementField, 'part' => PartField - } + attr :label, :tag, :helpers, :row_break + + def set_default + super + @values['label'] ||= {} + @values['tag'] ||= {} + @values['helpers'] ||= {} + @values['row_break'] ||= true + end + + def init + super + @label = ManifestBase.load_type_args self, @values, 'label', LabelFactory + @tag = ManifestBase.load_type_args self, @values, 'tag', TagFactory + @helpers = ManifestBase.load_type_name_args self, @values, 'helpers', HelperFactory + @row_break = @values['row_break'] + end + + def part? + @part_name != nil + end + + def form_field_name + form_name + '[' + @name + ']' + end + + def form_name + @parent.name + end + + def column_name + @name + end + + def model_name + form_name + end + + def form + @parent + end + + end + + class ElementField < Field + end + + class PartField < Field + attr :part_name + + def set_default + super + @values['part_name'] ||= @values['model_name'] + end + + def init + super + @part_name = @values['part_name'] end - def self.default_type - 'element' + def form_field_name + @model_name + '[' + @model_name + '_attributes][' + @column_name + ']' end end + end end diff --git a/lib/local_manifest/form/field/field.rb b/lib/local_manifest/form/field/field.rb deleted file mode 100644 index 80a32a2e..00000000 --- a/lib/local_manifest/form/field/field.rb +++ /dev/null @@ -1,78 +0,0 @@ -ManifestBase.require_modules "local_manifest/form/field/", - %w|tag label helper| - -module LocalManifest - module FormModule - class Field < ManifestBase::TypeNameArgs - include FieldModule - - attr :model_name, :column_name, :label, :tag, :helpers, :row_break - - def set_default - super - n = @name.split '.' - if n.size > 1 - @args['model_name'] ||= n[0] - @args['column_name'] ||= n[1] - else - @args['model_name'] ||= self.form.name - @args['column_name'] ||= @name - end - @args['label'] ||= {} - @args['tag'] ||= {} - @args['helpers'] ||= {} - @args['row_break'] ||= true - end - - def init - super - @model_name = @args['model_name'] - @column_name = @args['column_name'] - @label = ManifestBase.load_type_args self, @args, 'label', LabelFactory - @tag = ManifestBase.load_type_args self, @args, 'tag', TagFactory - @helpers = ManifestBase.load_type_name_args self, @args, 'helpers', HelperFactory - @row_break = @args['row_break'] - end - - def part? - @part_name != nil - end - - def form_name - @parent.name - end - - def form - @parent - end - - end - - class ElementField < Field - def form_field_name - @model_name + '[' + @column_name + ']' - end - - end - - class PartField < Field - attr :part_name - - def set_default - super - @args['part_name'] ||= @args['model_name'] - end - - def init - super - @part_name = @args['part_name'] - end - - def form_field_name - @model_name + '[' + @model_name + '_attributes][' + @column_name + ']' - end - - end - - end -end diff --git a/lib/local_manifest/form/field/label/label.rb b/lib/local_manifest/form/field/label/label.rb index 9b1821b6..b260f73c 100644 --- a/lib/local_manifest/form/field/label/label.rb +++ b/lib/local_manifest/form/field/label/label.rb @@ -20,15 +20,15 @@ module LocalManifest end def field_name - @parent.field_name + @parent.name end def model_name - @parent.model_name + self.form_name end def column_name - @parent.column_name + self.field_name end end diff --git a/lib/local_manifest/local_manifest.rb b/lib/local_manifest/local_manifest.rb index f0ca2b63..dc6449fd 100644 --- a/lib/local_manifest/local_manifest.rb +++ b/lib/local_manifest/local_manifest.rb @@ -1,7 +1,7 @@ module LocalManifest class LocalManifest cattr_accessor :manifest - attr :list_groups, :profilers, :filers, :forms, :module_names + attr :list_groups, :profilers, :filers, :forms, :buckets, :module_names # call me before load routes.rb # routes.rb needs engine_resources manifest in system_resources # ex. it's adding license_groups routes @@ -17,7 +17,7 @@ module LocalManifest @filers = Filer.load(self, @local_json, 'filers') @profilers = Profiler.load(self, @local_json, 'profilers') @forms = Form.load(self, @local_json, 'forms') - @forms.merge(ExtendForm.load(self, @local_json, 'forms')) + @buckets = Bucket.load(self, @local_json, 'buckets') end end diff --git a/lib/locmare/form.rb b/lib/locmare/form.rb index 7fc8dd53..584ca850 100644 --- a/lib/locmare/form.rb +++ b/lib/locmare/form.rb @@ -1,25 +1,25 @@ require_dependency "locmare/form/field" +require_dependency "locmare/form/extend_field" + module Locmare - class Form + class FormBase include FormModule - attr :form_name, :item, :mounted, :submit, :operators, :template_dir, + attr :form_name, :item, :mounted, :operators, :template_dir, :fields - def initialize form_name, item, mounted, submit, operators + def initialize form_name, item, mounted, operators @form_name = form_name @item = item @mounted = mounted - @submit = submit @operators = operators + @manifest = LocalManifest.manifest.forms[@form_name] @template_dir = 'templates/r/form/' @fields = {} - @manifest.each_field do |field_name, field_manifest| - @fields[field_name] = Field.new self, field_name, field_manifest - end + self.init_fields end def each_field - @manifest.each_field do |field_name, field_manifest| + @manifest.field_names.each do |field_name| yield field_name, @fields[field_name] end end @@ -32,6 +32,38 @@ module Locmare self.template_dir + self.template_file_name end + def fields_template_name + self.template_dir + 'fields' + end + + def image_dir + '/images/' + end + + end + + class Form < FormBase + attr :submit + + def initialize form_name, item, mounted, submit, operators + super form_name, item, mounted, operators + @submit = submit + @item.boosts 'post' + self.init_fields + end + + def init_fields + @manifest.each_field do |field_name, field_manifest| + if boost_name = @item.class.find_boost_name(field_name) + extend_form_name = @item.boosters[boost_name].model_name + extend_form_manifest = LocalManifest.manifest.forms[extend_form_name] + @fields[field_name] = ExtendForm.new self, extend_form_name, @item, @mounted, @operators + else + @fields[field_name] = Field.new self, field_name, field_manifest + end + end + end + def submit_name if @item.new_record? @item.table_name + '.submit.new' @@ -52,14 +84,29 @@ module Locmare end end - def fields_template_name - self.template_dir + 'fields' + end + + class ExtendForm < FormBase + attr :parent + + def initialize parent, form_name, item, mounted, submit, operators + @parent = parent + super form_name, item, mounted, operators end - def image_dir - '/images/' + def init_fields + @manifest.each_field do |field_name, field_manifest| + if boost_name = @item.class.find_boost_name(field_name) + extend_form_name = @item.boosters[boost_name].model_name + extend_form_manifest = LocalManifest.manifest.forms[extend_form_name] + @fields[field_name] = ExtendField.new self, field_name, field_manifest, @item.boosters[n].extend_item + else + @fields[field_name] = Field.new self, field_name, field_manifest + end + end end end + end diff --git a/lib/locmare/form/extend_field.rb b/lib/locmare/form/extend_field.rb new file mode 100644 index 00000000..1987c4aa --- /dev/null +++ b/lib/locmare/form/extend_field.rb @@ -0,0 +1,77 @@ +module Locmare + module FormModule + class ExtendField + attr :form, :field_name, :field_manifest, + :label, :tag, :helpers, :options + def initialize form, field_name, field_manifest + @form = form + @field_name = field_name + @field_manifest = field_manifest + @label = LabelFactory.factory self, @field_manifest.label + @tag = TagFactory.factory self, @field_manifest.tag + @helpers = {} + @field_manifest.helpers.each {|helper_name, helper_manifest| + @helpers[helper_name] = HelperFactory.factory self, helper_manifest + } + @options = {'data-model' => @field_manifest.model_name} + end + + def mounted + @form.mounted ? 0 : 1 + end + + def mount_option + {'mount' => self.mounted} + end + + def item + @form.item + end + + def value + self.item.attributes[@field_manifest.column_name] + end + + def options tag_options = {} + self.item.field_tag_attributes(@field_manifest.column_name, tag_options).merge(self.mount_option) + end + + def form_field_name + @field_manifest.form_field_name + end + + def form_name + @form.form_name + end + + def template_dir + @form.template_dir + 'field/' + end + + def template_file_name + 'extend' + end + + def template_name + self.template_dir + self.template_file_name + end + + def row_break_template_dir + @form.template_dir + 'row_break/' + end + + def row_break_template_file_name + if @field_manifest.row_break + 'br' + else + 'no_break' + end + end + + def row_break_template_name + self.row_break_template_dir + self.row_break_template_file_name + end + + end + end +end diff --git a/lib/locmare/form/field.rb b/lib/locmare/form/field.rb index 014eb578..fc24e939 100644 --- a/lib/locmare/form/field.rb +++ b/lib/locmare/form/field.rb @@ -17,7 +17,7 @@ module Locmare @field_manifest.helpers.each {|helper_name, helper_manifest| @helpers[helper_name] = HelperFactory.factory self, helper_manifest } - @options = {'data-model' => @field_manifest.model_name} + @options = {'data-model' => @field_manifest.form_name} end def mounted @@ -53,7 +53,7 @@ module Locmare end def template_file_name - @field_manifest.type + 'default' end def template_name diff --git a/lib/locmare/list_group/list/base.rb b/lib/locmare/list_group/list/base.rb index 9855fd83..38cc9b58 100644 --- a/lib/locmare/list_group/list/base.rb +++ b/lib/locmare/list_group/list/base.rb @@ -63,6 +63,7 @@ module Locmare method_name = @where.conditions do |name| name end + p method_name @model.__send__ method_name end diff --git a/lib/manifest/item/base.rb b/lib/manifest/item/base.rb index 88c634c6..6fc61dc1 100644 --- a/lib/manifest/item/base.rb +++ b/lib/manifest/item/base.rb @@ -28,6 +28,13 @@ module Manifest @parent_model_name != nil end + def find_boost_name column_name + @boost.each do |boost_name, boost_manifest| + return boost_name if boost_manifest.extend_column_name == column_name + end + nil + end + def extend_column? column_name @boost.each do |boost_name, boost_manifest| return true if boost_manifest.extend_column_name == column_name diff --git a/lib/peta/content.rb b/lib/peta/content.rb index 1fdc473f..9c9dd806 100644 --- a/lib/peta/content.rb +++ b/lib/peta/content.rb @@ -70,9 +70,10 @@ module Peta self.class.owner_model ? self.__send__(self.class.owner_model.item_name) : self end + # super return if my item def visible? operators super - return true if owner_model.own?(operators) + return nil if owner_model.own?(operators) true end diff --git a/lib/peta/item.rb b/lib/peta/item.rb index 91bee155..08910cc4 100644 --- a/lib/peta/item.rb +++ b/lib/peta/item.rb @@ -76,6 +76,10 @@ module Peta self.plural.underscore end + def self.find_boost_name column_name + self.my_peta.find_boost_name column_name + end + def self.extend_column? column_name self.my_peta.extend_column? column_name end diff --git a/public/local_manifest.json b/public/local_manifest.json index cad51c59..58dad08b 100644 --- a/public/local_manifest.json +++ b/public/local_manifest.json @@ -883,16 +883,10 @@ }, "license": { "columns": { - "license_group_id": {}, - "license_group_classname": {}, - "name": {}, - "caption": {}, - "system_picture_id": {}, - "url": {}, "license_group_settings": { "type": "extend", "args": { - "parent_model_name": "panel" + "boost_name": "license_group" } }, "credit_picture_settings": { @@ -1446,1737 +1440,1621 @@ } }, "forms": { - "base": { - "scroll": { - "fields": { - "title": { + "scroll": { + "fields": { + "title": { + "label": { "args": { - "label": { - "args": { - "row_break": true - } - }, - "tag": { - "type": "text" - }, "row_break": true } }, - "description": { - "args": { - "label": { - "args": { - "row_break": true - } - }, - "tag": { - "type": "text_area" - } - } + "tag": { + "type": "text" }, - "visible": { + "row_break": true + }, + "description": { + "label": { "args": { - "tag": { - "type": "select" - }, "row_break": true } }, - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } - }, - "author_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "text_area" } }, - "field_names": [ - "title", - "description", - "visible", - "id", - "author_id" - ] - }, - "scroll_panel": { - "fields": { - "scroll_id": { - "args": { - "tag": { - "type": "number" - } - } + "visible": { + "tag": { + "type": "select" }, - "panel_id": { - "args": { - "tag": { - "type": "number" - } - } + "row_break": true + }, + "id": { + "label": { + "type": "none" }, - "t": { - "args": { - "tag": { - "type": "number" - } - } + "tag": { + "type": "hidden" + } + }, + "author_id": { + "label": { + "type": "none" }, - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + } + }, + "field_names": [ + "title", + "description", + "visible", + "id", + "author_id" + ] + }, + "scroll_panel": { + "fields": { + "scroll_id": { + "tag": { + "type": "number" } }, - "field_names": [ - "scroll_id", - "panel_id", - "t", - "id" - ] + "panel_id": { + "tag": { + "type": "number" + } + }, + "t": { + "tag": { + "type": "number" + } + }, + "id": { + "label": { + "type": "none" + }, + "tag": { + "type": "hidden" + } + } }, - "comic": { - "fields": { - "title": { + "field_names": [ + "scroll_id", + "panel_id", + "t", + "id" + ] + }, + "comic": { + "fields": { + "title": { + "label": { "args": { - "label": { - "args": { - "row_break": true - } - }, - "tag": { - "type": "text" - }, "row_break": true } }, - "description": { - "args": { - "label": { - "args": { - "row_break": true - } - }, - "tag": { - "type": "text_area" - } - } + "tag": { + "type": "text" }, - "visible": { + "row_break": true + }, + "description": { + "label": { "args": { - "tag": { - "type": "select" - }, "row_break": true } }, - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "text_area" + } + }, + "visible": { + "tag": { + "type": "select" }, - "author_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "id": { + "label": { + "type": "none" + }, + "tag": { + "type": "hidden" } }, - "field_names": [ - "title", - "description", - "visible", - "id", - "author_id" - ] + "author_id": { + "label": { + "type": "none" + }, + "tag": { + "type": "hidden" + } + } }, - "story": { - "fields": { - "comic_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "field_names": [ + "title", + "description", + "visible", + "id", + "author_id" + ] + }, + "story": { + "fields": { + "comic_id": { + "label": { + "type": "none" }, - "title": { + "tag": { + "type": "hidden" + } + }, + "title": { + "label": { "args": { - "label": { - "args": { - "row_break": true - } - }, - "tag": { - "type": "text" - }, "row_break": true } }, - "description": { - "args": { - "label": { - "args": { - "row_break": true - } - }, - "tag": { - "type": "text_area" - }, - "row_break": true - } + "tag": { + "type": "text" }, - "visible": { + "row_break": true + }, + "description": { + "label": { "args": { - "tag": { - "type": "select" - }, "row_break": true } }, - "t": { - "args": { - "tag": { - "type": "number" - } - } + "tag": { + "type": "text_area" }, - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "visible": { + "tag": { + "type": "select" }, - "author_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "t": { + "tag": { + "type": "number" } }, - "field_names": [ - "comic_id", - "title", - "description", - "visible", - "t", - "id", - "author_id" - ] - }, - "story_sheet": { - "fields": { - "story_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "number" - } - } + "id": { + "label": { + "type": "none" }, - "sheet_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "number" - } - } + "tag": { + "type": "hidden" + } + }, + "author_id": { + "label": { + "type": "none" }, - "t": { - "args": { - "tag": { - "type": "number" - } - } + "tag": { + "type": "hidden" + } + } + }, + "field_names": [ + "comic_id", + "title", + "description", + "visible", + "t", + "id", + "author_id" + ] + }, + "story_sheet": { + "fields": { + "story_id": { + "label": { + "type": "none" }, - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "number" } }, - "field_names": [ - "story_id", - "sheet_id", - "t", - "id" - ] + "sheet_id": { + "label": { + "type": "none" + }, + "tag": { + "type": "number" + } + }, + "t": { + "tag": { + "type": "number" + } + }, + "id": { + "label": { + "type": "none" + }, + "tag": { + "type": "hidden" + } + } }, - "sheet": { - "fields": { - "caption": { + "field_names": [ + "story_id", + "sheet_id", + "t", + "id" + ] + }, + "sheet": { + "fields": { + "caption": { + "label": { "args": { - "label": { - "args": { - "row_break": true - } - }, - "tag": { - "type": "text" - }, "row_break": true } }, - "width": { - "args": { - "tag": { - "type": "number" - } - } + "tag": { + "type": "text" }, - "height": { - "args": { - "tag": { - "type": "number" - }, - "row_break": true - } + "row_break": true + }, + "width": { + "tag": { + "type": "number" + } + }, + "height": { + "tag": { + "type": "number" }, - "visible": { - "args": { - "tag": { - "type": "select" - }, - "row_break": true - } + "row_break": true + }, + "visible": { + "tag": { + "type": "select" }, - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "id": { + "label": { + "type": "none" }, - "author_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" } }, - "field_names": [ - "caption", - "width", - "height", - "visible", - "id", - "author_id" - ] - }, - "sheet_panel": { - "fields": { - "sheet_id": { - "args": { - "tag": { - "type": "number" - } - } + "author_id": { + "label": { + "type": "none" }, - "panel_id": { - "args": { - "tag": { - "type": "number" - } - } + "tag": { + "type": "hidden" + } + } + }, + "field_names": [ + "caption", + "width", + "height", + "visible", + "id", + "author_id" + ] + }, + "sheet_panel": { + "fields": { + "sheet_id": { + "tag": { + "type": "number" + } + }, + "panel_id": { + "tag": { + "type": "number" + } + }, + "x": { + "tag": { + "type": "number" + } + }, + "y": { + "tag": { + "type": "number" }, - "x": { - "args": { - "tag": { - "type": "number" - } - } + "row_break": true + }, + "z": { + "label": { + "type": "none" }, - "y": { - "args": { - "tag": { - "type": "number" - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + }, + "t": { + "label": { + "type": "none" }, - "z": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "id": { + "label": { + "type": "none" }, - "t": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + } + }, + "field_names": [ + "sheet_id", + "panel_id", + "x", + "y", + "z", + "t", + "id" + ] + }, + "panel": { + "fields": { + "caption": { + "tag": { + "type": "text" }, - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "width": { + "tag": { + "type": "number" } }, - "field_names": [ - "sheet_id", - "panel_id", - "x", - "y", - "z", - "t", - "id" - ] - }, - "panel": { - "fields": { - "caption": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "height": { + "tag": { + "type": "number" }, - "width": { - "args": { - "tag": { - "type": "number" - } - } + "row_break": true + }, + "border": { + "tag": { + "type": "number" + } + }, + "publish": { + "tag": { + "type": "select" }, - "height": { - "args": { - "tag": { - "type": "number" - }, - "row_break": true - } + "row_break": true + }, + "id": { + "label": { + "type": "none" }, - "border": { - "args": { - "tag": { - "type": "number" - } - } + "tag": { + "type": "hidden" + } + }, + "author_id": { + "label": { + "type": "none" }, - "publish": { - "args": { - "tag": { - "type": "select" - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + } + }, + "field_names": [ + "caption", + "width", + "height", + "border", + "publish", + "id", + "author_id" + ] + }, + "panel_picture": { + "fields": { + "caption": { + "tag": { + "type": "text" }, - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" + "row_break": true + }, + "x": { + "tag": { + "type": "number" + } + }, + "y": { + "tag": { + "type": "number" + }, + "row_break": true + }, + "width": { + "tag": { + "type": "number" + }, + "helpers": { + "size": { + "type": "size", + "args": { + "dom_class": "panel_picture_width_tool" } } }, - "author_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" + "row_break": true + }, + "height": { + "tag": { + "type": "number" + }, + "helpers": { + "size": { + "type": "size", + "args": { + "dom_class": "panel_picture_height_tool" } } + }, + "row_break": true + }, + "link": { + "tag": { + "type": "text" + }, + "row_break": true + }, + "id": { + "label": { + "type": "none" + }, + "tag": { + "type": "hidden" } }, - "field_names": [ - "caption", - "width", - "height", - "border", - "publish", - "id", - "author_id" - ] - }, - "panel_picture": { - "fields": { - "caption": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "panel_id": { + "label": { + "type": "none" }, - "x": { - "args": { - "tag": { - "type": "number" + "tag": { + "type": "hidden" + } + }, + "picture_id": { + "tag": { + "type": "hidden" + }, + "helpers": { + "popup": { + "type": "popup", + "args": { + "source": "pictures" } } + } + }, + "z": { + "label": { + "type": "none" }, - "y": { - "args": { - "tag": { - "type": "number" - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + }, + "t": { + "label": { + "type": "none" }, - "width": { - "args": { - "tag": { - "type": "number" - }, - "helpers": { - "size": { - "type": "size", - "args": { - "dom_class": "panel_picture_width_tool" - } - } - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + } + }, + "field_names": [ + "caption", + "x", + "y", + "width", + "height", + "link", + "id", + "panel_id", + "picture_id", + "z", + "t" + ] + }, + "speech_balloon": { + "fields": { + "id": { + "label": { + "type": "none" }, - "height": { - "args": { - "tag": { - "type": "number" - }, - "helpers": { - "size": { - "type": "size", - "args": { - "dom_class": "panel_picture_height_tool" - } - } - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + }, + "panel_id": { + "label": { + "type": "none" }, - "link": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + }, + "speech_balloon_template_id": { + "label": { + "type": "none" }, - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "caption": { + "tag": { + "type": "text" }, - "panel_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "z": { + "label": { + "type": "none" }, - "picture_id": { - "args": { - "tag": { - "type": "hidden" - }, - "helpers": { - "popup": { - "type": "popup", - "args": { - "source": "pictures" - } - } - } - } + "tag": { + "type": "hidden" + } + }, + "t": { + "label": { + "type": "none" }, - "z": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "speech_balloon_template_classname": { + "label": { + "type": "none" }, - "t": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" } }, - "field_names": [ - "caption", - "x", - "y", - "width", - "height", - "link", - "id", - "panel_id", - "picture_id", - "z", - "t" - ] + "speech_balloon_template_settings": { + "label": { + "type": "none" + }, + "tag": { + "type": "hidden" + } + } }, - "speech_balloon": { - "fields": { - "speech_balloon.id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "field_names": [ + "caption", + "id", + "panel_id", + "speech_balloon_template_id", + "speech_balloon_template_classname", + "z", + "t", + "speech_balloon_template_settings" + ] + }, + "balloon": { + "fields": { + "id": { + "label": { + "type": "none" }, - "speech_balloon.panel_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "speech_balloon_id": { + "label": { + "type": "none" }, - "speech_balloon.speech_balloon_template_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "speech_balloon_template_id": { + "label": { + "type": "none" }, - "speech_balloon.caption": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + }, + "system_picture_id": { + "label": { + "type": "none" }, - "speech_balloon.z": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "r": { + "tag": { + "type": "number" }, - "speech_balloon.t": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } + "helpers": { + "tail_angle": { + "type": "size", + "args": {} } }, - "speech_balloon.speech_balloon_template_classname": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "x": { + "tag": { + "type": "number" + } + }, + "y": { + "label": {}, + "tag": { + "type": "number" }, - "speech_balloon.speech_balloon_template_settings": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "width": { + "tag": { + "type": "number" + } + }, + "height": { + "tag": { + "type": "number" }, - "balloon.id": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "speech_balloon_template_classname": { + "label": { + "type": "none" }, - "balloon.speech_balloon_id": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "speech_balloon_template_settings": { + "label": { + "type": "none" }, - "balloon.speech_balloon_template_id": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + } + }, + "field_names": [ + "r", + "x", + "y", + "width", + "height", + "id", + "speech_balloon_id", + "system_picture_id", + "speech_balloon_template_id", + "speech_balloon_template_classname", + "speech_balloon_template_settings" + ] + }, + "speech": { + "fields": { + "id": { + "label": { + "type": "none" }, - "balloon.system_picture_id": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "speech_balloon_id": { + "label": { + "type": "none" }, - "balloon.r": { - "type": "part", - "args": { - "tag": { - "type": "number" - }, - "helpers": { - "tail_angle": { - "type": "size", - "args": {} - } - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + }, + "speech_balloon_template_id": { + "label": { + "type": "none" }, - "balloon.x": { - "type": "part", - "args": { - "tag": { - "type": "number" - } - } + "tag": { + "type": "hidden" + } + }, + "x": { + "label": { + "type": "none" }, - "balloon.y": { - "type": "part", - "args": { - "label": {}, - "tag": { - "type": "number" - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + }, + "y": { + "label": { + "type": "none" }, - "balloon.width": { - "type": "part", - "args": { - "tag": { - "type": "number" - } - } + "tag": { + "type": "hidden" + } + }, + "width": { + "label": { + "type": "none" }, - "balloon.height": { - "type": "part", - "args": { - "tag": { - "type": "number" - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + }, + "height": { + "label": { + "type": "none" }, - "balloon.speech_balloon_template_classname": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "writing_format_id": { + "tag": { + "type": "select" + } + }, + "font_size": { + "tag": { + "type": "select" }, - "balloon.speech_balloon_template_settings": { - "type": "part", + "row_break": true + }, + "text_align": { + "tag": { + "type": "select" + } + }, + "quotes": { + "tag": { + "type": "text" + } + }, + "content": { + "label": { "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } + "row_break": true } }, - "speech.id": { - "type": "part", + "tag": { + "type": "text_area", "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" + "options": { + "size": "45x5" } } + } + }, + "fore_color": { + "label": { + "row_break": true }, - "speech.speech_balloon_id": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" }, - "speech.speech_balloon_template_id": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" + "helpers": { + "color": { + "type": "color", + "args": { + "wrapper": "speech-fore_color-wrap" } } + } + }, + "speech_balloon_template_classname": { + "label": { + "type": "none" }, - "speech.x": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "writing_format_classname": { + "label": { + "type": "none" }, - "speech.y": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } - }, - "speech.width": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } - }, - "speech.height": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "speech_balloon_template_settings": { + "label": { + "type": "none" }, - "speech.writing_format_id": { - "type": "part", - "args": { - "tag": { - "type": "select" - } - } + "tag": { + "type": "hidden" + } + }, + "writing_format_settings": { + "label": { + "type": "none" }, - "speech.font_size": { - "type": "part", - "args": { - "tag": { - "type": "select" - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + } + }, + "field_names": [ + "writing_format_id", + "font_size", + "text_align", + "quotes", + "content", + "fore_color", + "id", + "speech_balloon_id", + "x", + "y", + "width", + "height", + "speech_balloon_template_id", + "speech_balloon_template_classname", + "speech_balloon_template_settings", + "writing_format_classname", + "writing_format_settings" + ] + }, + "ground_picture": { + "fields": { + "id": { + "label": { + "type": "none" }, - "speech.text_align": { - "type": "part", - "args": { - "tag": { - "type": "select" - } - } + "tag": { + "type": "hidden" + } + }, + "panel_id": { + "label": { + "type": "none" }, - "speech.quotes": { - "type": "part", - "args": { - "tag": { - "type": "text" - } - } + "tag": { + "type": "hidden" + } + }, + "picture_id": { + "label": { + "type": "none" }, - "speech.content": { - "type": "part", - "args": { - "label": { - "args": { - "row_break": true - } - }, - "tag": { - "type": "text_area", - "args": { - "options": { - "size": "45x5" - } - } - } - } + "tag": { + "type": "hidden" + } + }, + "caption": { + "tag": { + "type": "text" }, - "speech.fore_color": { - "type": "part", + "row_break": true + }, + "repeat": { + "tag": { + "type": "select", "args": { - "label": { - "row_break": true - }, - "tag": { - "type": "hidden" - }, - "helpers": { - "color": { - "type": "color", - "args": { - "wrapper": "speech-fore_color-wrap" - } - } - } + "source": "magic_number", + "key": "ground_picture_repeat_items" } }, - "speech.speech_balloon_template_classname": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "x": { + "tag": { + "type": "number" + } + }, + "y": { + "tag": { + "type": "number" }, - "speech.writing_format_classname": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "z": { + "label": { + "type": "none" }, - "speech.speech_balloon_template_settings": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "t": { + "label": { + "type": "none" }, - "speech.writing_format_settings": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" } } }, - "ground_picture": { - "fields": { - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "field_names": [ + "caption", + "repeat", + "x", + "y", + "z", + "t", + "id", + "panel_id", + "picture_id" + ] + }, + "ground_color": { + "fields": { + "id": { + "label": { + "type": "none" }, - "panel_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "panel_id": { + "label": { + "type": "none" }, - "picture_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "caption": { + "tag": { + "type": "text" }, - "caption": { + "row_break": true + }, + "code": { + "label": { "args": { - "tag": { - "type": "text" - }, "row_break": true } }, - "repeat": { - "args": { - "tag": { - "type": "select", - "args": { - "source": "magic_number", - "key": "ground_picture_repeat_items" - } - }, - "row_break": true - } + "tag": { + "type": "hidden" }, - "x": { - "args": { - "tag": { - "type": "number" + "helpers": { + "color": { + "type": "color", + "args": { + "wrapper": "ground_color-code-wrap" } } }, - "y": { - "args": { - "tag": { - "type": "number" - }, - "row_break": true - } + "row_break": true + }, + "orientation": { + "tag": { + "type": "select" }, - "z": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "xy": { + "tag": { + "type": "number" + } + }, + "wh": { + "tag": { + "type": "number" }, - "t": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "z": { + "label": { + "type": "none" + }, + "tag": { + "type": "hidden" } }, - "field_names": [ - "caption", - "repeat", - "x", - "y", - "z", - "t", - "id", - "panel_id", - "picture_id" - ] + "t": { + "label": { + "type": "none" + }, + "tag": { + "type": "hidden" + } + } }, - "ground_color": { - "fields": { - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "field_names": [ + "id", + "panel_id", + "caption", + "code", + "orientation", + "xy", + "wh", + "z", + "t" + ] + }, + "speech_balloon_template": { + "fields": { + "id": { + "label": { + "type": "none" }, - "panel_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" + } + }, + "name": { + "tag": { + "type": "text" }, - "caption": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "row_break": true + }, + "classname": { + "tag": { + "type": "text" }, - "code": { - "args": { - "label": { - "args": { - "row_break": true - } - }, - "tag": { - "type": "hidden" - }, - "helpers": { - "color": { - "type": "color", - "args": { - "wrapper": "ground_color-code-wrap" - } - } - }, - "row_break": true - } + "row_break": true + }, + "caption": { + "tag": { + "type": "text" }, - "orientation": { - "args": { - "tag": { - "type": "select" - }, - "row_break": true - } + "row_break": true + }, + "t": { + "tag": { + "type": "number" }, - "xy": { - "args": { - "tag": { - "type": "number" - } - } + "row_break": true + }, + "system_picture_id": { + "tag": { + "type": "number" }, - "wh": { - "args": { - "tag": { - "type": "number" - }, - "row_break": true - } + "row_break": true + }, + "settings": { + "tag": { + "type": "text" }, - "z": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + } + }, + "field_names": [ + "id", + "name", + "classname", + "caption", + "t", + "system_picture_id", + "settings" + ] + }, + "writing_format": { + "fields": { + "id": { + "label": { + "type": "none" }, - "t": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "tag": { + "type": "hidden" } }, - "field_names": [ - "id", - "panel_id", - "caption", - "code", - "orientation", - "xy", - "wh", - "z", - "t" - ] - }, - "speech_balloon_template": { - "fields": { - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "name": { + "tag": { + "type": "text" }, - "name": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "row_break": true + }, + "classname": { + "tag": { + "type": "text" }, - "classname": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "row_break": true + }, + "caption": { + "tag": { + "type": "text" }, - "caption": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "row_break": true + }, + "system_picture_id": { + "tag": { + "type": "number" }, - "t": { - "args": { - "tag": { - "type": "number" - }, - "row_break": true - } + "row_break": true + }, + "settings": { + "tag": { + "type": "text" }, - "system_picture_id": { - "args": { - "tag": { - "type": "number" - }, - "row_break": true - } + "row_break": true + } + }, + "field_names": [ + "id", + "name", + "classname", + "caption", + "system_picture_id", + "settings" + ] + }, + "license_group": { + "fields": { + "id": { + "label": { + "type": "none" }, - "settings": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "tag": { + "type": "hidden" } }, - "field_names": [ - "id", - "name", - "classname", - "caption", - "t", - "system_picture_id", - "settings" - ] - }, - "writing_format": { - "fields": { - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } - }, - "name": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } - }, - "classname": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "name": { + "tag": { + "type": "text" }, - "caption": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "row_break": true + }, + "classname": { + "tag": { + "type": "text" }, - "system_picture_id": { - "args": { - "tag": { - "type": "number" - }, - "row_break": true - } + "row_break": true + }, + "caption": { + "tag": { + "type": "text" }, - "settings": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } - } + "row_break": true }, - "field_names": [ - "id", - "name", - "classname", - "caption", - "system_picture_id", - "settings" - ] + "url": { + "tag": { + "type": "text" + }, + "row_break": true + } }, - "license_group": { - "fields": { - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "field_names": [ + "id", + "name", + "classname", + "caption", + "url" + ] + }, + "license": { + "fields": { + "id": { + "label": { + "type": "none" }, - "name": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + }, + "license_group_id": { + "label": { + "type": "none" }, - "classname": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "tag": { + "type": "hidden" + } + }, + "license_group_classname": { + "tag": { + "type": "text" }, - "caption": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "row_break": true + }, + "name": { + "tag": { + "type": "text" }, - "url": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } - } + "row_break": true }, - "field_names": [ - "id", - "name", - "classname", - "caption", - "url" - ] - }, - "license": { - "fields": { - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "caption": { + "tag": { + "type": "text" }, - "license_group_id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "row_break": true + }, + "system_picture_id": { + "tag": { + "type": "number" }, - "license_group_classname": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "row_break": true + }, + "url": { + "tag": { + "type": "text" }, - "name": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "row_break": true + }, + "license_group_settings": { + "boost_name": "license_group", + "row_break": true + }, + "credit_picture_settings": { + "boost_name": "credit_picture", + "row_break": true + } + }, + "field_names": [ + "id", + "license_group_id", + "license_group_classname", + "name", + "caption", + "system_picture_id", + "url", + "license_group_settings", + "credit_picture_settings" + ] + }, + "author": { + "fields": { + "id": { + "label": { + "type": "none" }, - "caption": { + "tag": { + "type": "hidden" + } + }, + "name": { + "label": { "args": { - "tag": { - "type": "text" - }, "row_break": true } }, - "system_picture_id": { - "args": { - "tag": { - "type": "number" - }, - "row_break": true - } + "tag": { + "type": "text" }, - "url": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } + "row_break": true + } + }, + "field_names": [ + "id", + "name" + ] + }, + "artist": { + "fields": { + "id": { + "label": { + "type": "none" }, - "license_group_settings": { + "tag": { + "type": "hidden" + } + }, + "name": { + "label": { "args": { - "tag": { - "type": "text" - }, "row_break": true } }, - "credit_picture_settings": { - "args": { - "tag": { - "type": "text" - }, - "row_break": true - } - } - }, - "field_names": [ - "id", - "license_group_id", - "license_group_classname", - "name", - "caption", - "system_picture_id", - "url", - "license_group_settings", - "credit_picture_settings" - ] + "tag": { + "type": "text" + }, + "row_break": true + } }, - "author": { - "fields": { - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "field_names": [ + "id", + "name" + ] + }, + "circle_speech_balloon_speech_speech_balloon_template": { + "fields": { + "r": { + "tag": { + "type": "number" }, - "name": { - "args": { - "label": { - "args": { - "row_break": true - } - }, - "tag": { - "type": "text" - }, - "row_break": true - } - } + "row_break": true + } + } + }, + "pettanr_pettan_commons_v01_licenses_license": { + "fields": { + "open": { + "tag": { + "type": "number" + }, + "row_break": true }, - "field_names": [ - "id", - "name" - ] - }, - "artist": { - "fields": { - "id": { - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } + "commercial": { + "tag": { + "type": "number" }, - "name": { - "args": { - "label": { - "args": { - "row_break": true - } - }, - "tag": { - "type": "text" - }, - "row_break": true - } - } + "row_break": true + }, + "official": { + "tag": { + "type": "number" + }, + "row_break": true + }, + "attribution": { + "tag": { + "type": "number" + }, + "row_break": true + }, + "derive": { + "tag": { + "type": "number" + }, + "row_break": true + }, + "thumbnail": { + "tag": { + "type": "number" + }, + "row_break": true + }, + "gif_convert": { + "tag": { + "type": "number" + }, + "row_break": true + }, + "reverse": { + "tag": { + "type": "number" + }, + "row_break": true + }, + "sync_vh": { + "tag": { + "type": "number" + }, + "row_break": true + }, + "overlap": { + "tag": { + "type": "number" + }, + "row_break": true + } + }, + "field_names": [ + "open", + "commercial", + "official", + "attribution:", + "derive", + "thumbnail", + "gif_convert", + "reverse", + "sync_vh", + "overlap" + ] + }, + "pettanr_pettan_commons_v01_licenses_credit_picture": { + "fields": { + "source_url_btn_id": { + "tag": { + "type": "number" + }, + "row_break": true + }, + "source_url_off_btn_id": { + "tag": { + "type": "number" + }, + "row_break": true + } + }, + "field_names": [ + "source_url_btn_id", + "source_url_off_btn_id" + ] + } + }, + "buckets": { + "scroll": {}, + "scroll_panel": {}, + "comic": {}, + "story": {}, + "story_sheet": {}, + "sheet": {}, + "sheet_panel": {}, + "panel": {}, + "panel_picture": {}, + "speech_balloon": { + "field_names": [ + "speech_balloon.caption", + "speech_balloon.id", + "speech_balloon.panel_id", + "speech_balloon.speech_balloon_template_id", + "speech_balloon.speech_balloon_template_classname", + "speech_balloon.z", + "speech_balloon.t", + "speech_balloon_template_settings", + "balloon.r", + "balloon.x", + "balloon.y", + "balloon.width", + "balloon.height", + "balloon.id", + "balloon.speech_balloon_id", + "balloon.system_picture_id", + "balloon.speech_balloon_template_id", + "balloon.speech_balloon_template_classname", + "balloon.speech_balloon_template_settings", + "speech.writing_format_id", + "speech.font_size", + "speech.text_align", + "speech.quotes", + "speech.content", + "speech.fore_color", + "speech.id", + "speech.speech_balloon_id", + "speech.x", + "speech.y", + "speech.width", + "speech.height", + "speech.speech_balloon_template_id", + "speech.speech_balloon_template_classname", + "speech.speech_balloon_template_settings", + "speech.writing_format_classname", + "speech.writing_format_settings" + ] + }, + "speech": {}, + "balloon": {}, + "ground_picture": {}, + "ground_color": {}, + "original_picture": {}, + "picture": {}, + "resource_picture": {}, + "speech_balloon_template": { + "column_names": [ + "name", + "classname", + "caption", + "t", + "system_picture_id", + "settings" + ], + "extend_settings": { + "circle_speech_balloon_speech_balloon": { + "columns": {}, + "column_names": [] + }, + "circle_speech_balloon_balloon": { + "columns": {}, + "column_names": [] }, - "field_names": [ - "id", - "name" + "circle_speech_balloon_speech": { + "columns": {}, + "column_names": [] + }, + "plain_speech_balloon_speech_balloon": { + "columns": {}, + "column_names": [] + }, + "square_speech_balloon_speech_balloon": { + "columns": {}, + "column_names": [] + } + }, + "associations": { + "belongs_to": [ + "system_picture" ] } }, - "extend": { - "CircleSpeechBalloon": { - "base": "speech_balloon", - "fields": {}, - "field_names": [ - "speech_balloon.caption", - "balloon.r", - "balloon.x", - "balloon.y", - "balloon.width", - "balloon.height", - "balloon.id", - "balloon.speech_balloon_id", - "balloon.system_picture_id", - "balloon.speech_balloon_template_id", - "balloon.speech_balloon_template_classname", - "balloon.speech_balloon_template_settings", - "speech.writing_format_id", - "speech.font_size", - "speech.text_align", - "speech.quotes", - "speech.content", - "speech.fore_color", - "speech.id", - "speech.speech_balloon_id", - "speech.x", - "speech.y", - "speech.width", - "speech.height", - "speech.speech_balloon_template_id", - "speech.speech_balloon_template_classname", - "speech.speech_balloon_template_settings", - "speech.writing_format_classname", - "speech.writing_format_settings", - "speech_balloon.id", - "speech_balloon.panel_id", - "speech_balloon.speech_balloon_template_id", - "speech_balloon.speech_balloon_template_classname", - "speech_balloon.z", - "speech_balloon.t", - "speech_balloon.speech_balloon_template_settings" - ] + "writing_format": { + "column_names": [ + "name", + "classname", + "caption", + "system_picture_id", + "settings" + ], + "extend_settings": { + "pettanr_simple_format_writing_format": { + "columns": {}, + "column_names": [] + } }, - "PlainSpeechBalloon": { - "base": "speech_balloon", - "fields": { - "balloon.r": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } - } + "associations": { + "belongs_to": [ + "system_picture" + ], + "has_many": [] + } + }, + "license_group": { + "column_names": [ + "name", + "classname", + "caption", + "url" + ], + "extend_settings": { + "pettanr_pettan_commons_v01_licenses_license": { + "columns": { + "open": {}, + "commercial": {}, + "official": {}, + "attribution": {}, + "derive": {}, + "thumbnail": {}, + "gif_convert": {}, + "reverse": {}, + "sync_vh": {}, + "overlap": {} + }, + "column_names": [ + "open", + "commercial", + "official", + "attribution:", + "derive", + "thumbnail", + "gif_convert", + "reverse", + "sync_vh", + "overlap" + ] }, - "field_names": [ - "speech_balloon.caption", - "balloon.r", - "balloon.x", - "balloon.y", - "balloon.width", - "balloon.height", - "balloon.id", - "balloon.speech_balloon_id", - "balloon.system_picture_id", - "balloon.speech_balloon_template_id", - "balloon.speech_balloon_template_classname", - "balloon.speech_balloon_template_settings", - "speech.writing_format_id", - "speech.font_size", - "speech.text_align", - "speech.quotes", - "speech.content", - "speech.fore_color", - "speech.id", - "speech.speech_balloon_id", - "speech.x", - "speech.y", - "speech.width", - "speech.height", - "speech.speech_balloon_template_id", - "speech.speech_balloon_template_classname", - "speech.speech_balloon_template_settings", - "speech.writing_format_classname", - "speech.writing_format_settings", - "speech_balloon.id", - "speech_balloon.panel_id", - "speech_balloon.speech_balloon_template_id", - "speech_balloon.speech_balloon_template_classname", - "speech_balloon.z", - "speech_balloon.t", - "speech_balloon.speech_balloon_template_settings" - ] + "pettanr_pettan_commons_v01_licenses_credit_picture": { + "columns": {}, + "column_names": [ + "source_url_btn_id", + "source_url_off_btn_id" + ] + } }, - "SquareSpeechBalloon": { - "base": "speech_balloon", - "fields": { - "balloon.r": { - "type": "part", - "args": { - "label": { - "type": "none" - }, - "tag": { - "type": "hidden" - } - } - } - }, - "field_names": [ - "speech_balloon.caption", - "balloon.r", - "balloon.x", - "balloon.y", - "balloon.width", - "balloon.height", - "balloon.id", - "balloon.speech_balloon_id", - "balloon.system_picture_id", - "balloon.speech_balloon_template_id", - "balloon.speech_balloon_template_classname", - "balloon.speech_balloon_template_settings", - "speech.writing_format_id", - "speech.font_size", - "speech.text_align", - "speech.quotes", - "speech.content", - "speech.fore_color", - "speech.id", - "speech.speech_balloon_id", - "speech.x", - "speech.y", - "speech.width", - "speech.height", - "speech.speech_balloon_template_id", - "speech.speech_balloon_template_classname", - "speech.speech_balloon_template_settings", - "speech.writing_format_classname", - "speech.writing_format_settings", - "speech_balloon.id", - "speech_balloon.panel_id", - "speech_balloon.speech_balloon_template_id", - "speech_balloon.speech_balloon_template_classname", - "speech_balloon.z", - "speech_balloon.t", - "speech_balloon.speech_balloon_template_settings" + "associations": { + "has_many": [ + "licenses.by_license_group" ] } - } + }, + "license": { + "columns": { + "license_group_settings": { + "type": "extend", + "args": { + "boost_name": "license_group" + } + }, + "credit_picture_settings": { + "type": "extend", + "args": { + "boost_name": "credit_picture" + } + } + }, + "column_names": [ + "license_group_id", + "license_group_classname", + "name", + "caption", + "system_picture_id", + "url", + "license_group_settings", + "credit_picture_settings" + ] + }, + "author": {}, + "artist": {}, + "system_picture": {} } } \ No newline at end of file -- 2.11.0