@filers = {\r
scroll: {\r
symbol: {\r
- type: 'default',\r
},\r
caption: {\r
type: 'default',\r
face: {\r
type: 'column',\r
args: {\r
- name: 'title',\r
+ column_name: 'title',\r
},\r
},\r
link: {\r
type: 'action'\r
args: {\r
- name: 'play',\r
+ action_name: 'play',\r
},\r
},\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
- type: 'default',\r
- args: {\r
- },\r
},\r
},\r
scroll_panel: {\r
type: 'none',\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
},\r
comic: {\r
symbol: {\r
- type: 'default',\r
},\r
caption: {\r
type: 'default',\r
face: {\r
type: 'column',\r
args: {\r
- name: 'title',\r
+ column_name: 'title',\r
},\r
},\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
- type: 'default',\r
},\r
},\r
story: {\r
symbol: {\r
- type: 'default',\r
},\r
caption: {\r
type: 'default',\r
link: {\r
type: 'action'\r
args: {\r
- name: 'play',\r
+ action_name: 'play',\r
},\r
},\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
- type: 'default',\r
},\r
},\r
story_sheet: {\r
type: 'none',\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
},\r
sheet: {\r
symbol: {\r
- type: 'default',\r
},\r
caption: {\r
type: 'default',\r
args: {\r
face: {\r
- type: 'column',\r
},\r
link: {\r
type: 'action'\r
args: {\r
- name: 'play',\r
+ action_name: 'play',\r
},\r
},\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
- type: 'default',\r
},\r
},\r
sheet_panel: {\r
type: 'none',\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
},\r
panel: {\r
symbol: {\r
- type: 'default',\r
},\r
caption: {\r
type: 'default',\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
- type: 'default',\r
},\r
},\r
panel_picture: {\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
face: {\r
type: 'column',\r
args: {\r
- name: 'content',\r
+ column_name: 'content',\r
},\r
},\r
link: {\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
type: 'none',\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
link: {\r
type: 'action',\r
args: {\r
- name: 'history',\r
+ action_nname: 'history',\r
},\r
},\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'template',\r
args: {\r
- name: 'publish',\r
+ template_name: 'publish',\r
},\r
},\r
},\r
face: {\r
type: 'column',\r
args: {\r
- name: 'revision',\r
+ column_name: 'revision',\r
},\r
},\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
type: 'none',\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
},\r
},\r
caption: {\r
- type: 'default',\r
},\r
summary: {\r
type: 'none',\r
},\r
writing_format: {\r
symbol: {\r
- type: 'default',\r
},\r
caption: {\r
- type: 'default',\r
},\r
summary: {\r
type: 'none',\r
},\r
license_group: {\r
symbol: {\r
- type: 'default',\r
},\r
caption: {\r
type: 'default',\r
link: {\r
type: 'url_column',\r
args: {\r
- name: 'url',\r
+ column_name: 'url',\r
},\r
},\r
},\r
},\r
summary: {\r
type: 'none',\r
- args: {\r
- },\r
},\r
edit: {\r
type: 'none',\r
},\r
license: {\r
symbol: {\r
- type: 'default',\r
},\r
caption: {\r
type: 'default',\r
link: {\r
type: 'url_column',\r
args: {\r
- name: 'url',\r
+ column_name: 'url',\r
},\r
},\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'none',\r
},\r
author: {\r
symbol: {\r
- type: 'default',\r
},\r
caption: {\r
type: 'default',\r
face: {\r
type: 'column',\r
args: {\r
- name: 'name',\r
+ column_name: 'name',\r
},\r
},\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'account',\r
},\r
artist: {\r
symbol: {\r
- type: 'default',\r
},\r
caption: {\r
type: 'default',\r
face: {\r
type: 'column',\r
args: {\r
- name: 'name',\r
+ column_name: 'name',\r
},\r
},\r
},\r
},\r
summary: {\r
- type: 'template',\r
- args: {\r
- name: 'summary',\r
- },\r
},\r
edit: {\r
type: 'account',\r
end
def index
- @action = self.class.controller.open(action_name, params, @operators)
- @action.cook params, operators
public_list
end
-<% if filer.paginate %>
- <%= paginate(filer.paginate) %>
+<% if footer.paginate %>
+ <%= paginate(footer.paginate) %>
<% end %>
-<%= render item_column.face.template_name, :face => item_column.face %>
+<%= link_to render(item_column.face.template_name, :face => item_column.face), item_column.link.url %>
--- /dev/null
+<%= 'empty' %>
--- /dev/null
+<%= distance_of_time_in_words_to_now item_column.item.updated_at %>
--- /dev/null
+<%= link_to tag(:img, item_column.edit_img_opt),'/home/configure' %>
--- /dev/null
+<%= link_to tag(:img, item_column.edit_img_opt), polymorphic_path(item_column.item, :action => :edit) %>
+<%= link_to tag(:img, item_column.remove_img_opt), item_column.item, confirm: 'Are you sure?', :method => :delete %>
--- /dev/null
+<%= render item_column.template_name, :item => item_column.item %>
--- /dev/null
+<%= link_to icon_tag(item_column.icon_name, :object => item_column.item, :size => item_column.icon_size), polymorphic_path(item_column.item, :format => :prof) %>
--- /dev/null
+<%= render item_column.template_name, :item => item_column.item %>
-<%= render item_column.face.template_name, :face => item_column.face %>
+<%= link_to render(item_column.face.template_name, :face => item_column.face), item_column.link.url %>
--- /dev/null
+<%= render item_column.template_name, :item => item_column.item %>
end
def visible? operators
- if MagicNumber['run_mode'] == 0
+ if Manifest.manifest.magic_numbers['run_mode'] == 0
return false unless operators.guest?
else
return false unless operators.resource_reader?
filers
end
- attr :filer_manifest, :item_name, :manifest,
+ attr :filer_manifest, :item_name, :manifest, :item_class,
:symbol, :caption, :summary, :icon, :date, :edit
def initialize manifest, item_name, filer_manifest
@manifest = manifest
@item_name = item_name
@filer_manifest = filer_manifest
+ @item_class = ::Manifest.item_name_to_model @item_name
self.set_default
self.init
end
@args = @link_manifest['args']
end
+ def filer
+ @caption.filer
+ end
+
end
class ActionLink < BaseLink
@action_name = @args['action_name']
end
+ def action_path
+ a = @action_name == 'show' ? '' : @action_name + '/'
+ '/' + self.filer.item_class.path_name + '/' + a
+ end
+
end
class NoneLink < BaseLink
end
def visible?
- true
+ false
end
end
def set_default
super
- @caption_manifest['args']['template_name'] ||= 'symbol'
+ @caption_manifest['args']['template_name'] ||= 'caption'
end
def init
end
class Template < Base
+ attr :template_name
+
+ def set_default
+ super
+ @edit_manifest['args']['template_name'] ||= 'edit'
+ end
+
+ def init
+ super
+ @template_name = @args['template_name']
+ end
+
end
end
end
class Template < Base
- attr :name
+ attr :template_name
def set_default
super
- @summary_manifest['args']['name'] ||= 'summary'
+ @summary_manifest['args']['template_name'] ||= 'summary'
end
def init
super
- @name = @args['name']
+ @template_name = @args['template_name']
end
end
@args = @link_manifest['args']
end
+ def filer
+ @symbol.filer
+ end
+
end
class ActionLink < BaseLink
@action_name = @args['action_name']
end
- def url
- '/' + @name
+ def action_path
+ a = @action_name == 'show' ? '' : @action_name + '/'
+ '/' + self.filer.item_class.path_name + '/' + a
end
end
@model.list_order
end
- def items options, offset, page_size
+ def items operators, options, offset, page_size
@model.where(self.where).includes(self.includes).order(self.order).offset(offset).limit(page_size)
end
page = self.page_number(options[:page])
page_size = self.page_size options[:page_size]
offset = (page -1) * page_size
- items = self.items options, offset, page_size
+ items = self.items operators, options, offset, page_size
paginate = self.paginate items, offset, page_size
ListResult.new items, paginate
end
module Manifest
module ListModule
class PrivateList < Base
- def where
+ def where operators
case @model.owner_type
when :author
- operator = @operators.author
+ operator = operators.author
when :artist
- operator = @operators.artist
+ operator = operators.artist
end
t = if @owner_model
if @owner_model.owner_model
[t + '.' + @model.owner_type.to_s + '_id = ?', operator.id]
end
+ def items operators, options, offset, page_size
+ @model.where(self.where(operators)).includes(self.includes).order(self.order).offset(offset).limit(page_size)
+ end
+
end
end
super
end
- def items options, offset, page_size
+ def items operators, options, offset, page_size
@model.enable_list
end
@template_dir = 'templates/r/filer/'
@header = Header.new self
@body = Body.new self
- @footer = Footer.new self
+ @footer = Footer.new self, paginate
end
def model
self.template_dir + self.template_file_name
end
+ def image_dir
+ '/images/'
+ end
+
end
end
end
raise "undefined type for local view filers > #{file_item.item_name} > caption > default > face\n" unless type
my_class = @@types[type]
raise "undefined class for local view filers > #{file_item.item_name} > caption > default > face > #{type}\n" unless my_class
- my_class.new(file_item, my_manifest)
+ my_class.new(file_item, my_manifest, item)
end
end
module FileItemModule
module CaptionItemColumnModule
class Base
- attr :file_item, :item, :column_name
+ attr :file_item, :caption_manifest, :item, :column_name
- def initialize file_item, item
+ def initialize file_item, caption_manifest, item
@file_item = file_item
+ @caption_manifest = caption_manifest
@item = item
@column_name = 'caption'
end
self.filer.manifest
end
- def caption_manifest
- self.manifest.caption
- end
-
def item_name
self.filer.item_name
end
include DefaultModule
attr :face, :link
- def initialize file_item, item
+ def initialize file_item, caption_manifest, item
super
@face = FaceFactory.factory self, self.caption_manifest.face, @item
@link = LinkFactory.factory self, self.caption_manifest.link, @item
end
def item_template_file_name
- if self.caption_manifest.link.type == 'none'
+ if @caption_manifest.link.type == 'none'
'default_without_link'
else
'default'
class ColumnFace < BaseFace
def template_file_name
- 'column'
+ if face.blank?
+ 'empty'
+ else
+ 'column'
+ end
end
def face
class MethodFace < BaseFace
def template_file_name
- 'method'
+ if face.blank?
+ 'empty'
+ else
+ 'column'
+ end
end
def face
class ActionLink < BaseLink
def url
- '/' + @link_manifest.action_name + @item.id.to_s
+ @link_manifest.action_path + @item.id.to_s
end
end
module CaptionItemColumnModule
class Template < Base
def template_file_name
- self.manifest.symbol.template_name
+ @caption_manifest.template_name
end
end
class DateItemColumnFactory
include DateItemColumnModule
@@types = {
- 'default' => Default
+ 'default' => Default, 'none' => None
}
def self.factory file_item, my_manifest, item
type = my_manifest.type
raise "undefined type for local view filers > #{file_item.item_name} > date\n" unless type
my_class = @@types[type]
raise "undefined class for local view filers > #{file_item.item_name} > date > #{type}\n" unless my_class
- my_class.new(file_item, my_manifest)
+ my_class.new(file_item, my_manifest, item)
end
end
module FileItemModule
module DateItemColumnModule
class Base
- attr :file_item, :item, :column_name
+ attr :file_item, :date_manifest, :item, :column_name
- def initialize file_item, item
+ def initialize file_item, date_manifest, item
@file_item = file_item
+ @date_manifest = date_manifest
@item = item
@column_name = 'date'
end
end
class Default < Base
+ def column_template_file_name
+ 'show'
+ end
+
+ def item_template_file_name
+ 'default'
+ end
+
+ end
+
+ class None < Base
+ def column_template_file_name
+ 'none'
+ end
+
end
end
raise "undefined type for local view filers > #{file_item.item_name} > edit\n" unless type
my_class = @@types[type]
raise "undefined class for local view filers > #{file_item.item_name} > edit > #{type}\n" unless my_class
- my_class.new(file_item, my_manifest)
+ my_class.new(file_item, my_manifest, item)
end
end
module FileItemModule
module EditItemColumnModule
class Base
- attr :file_item, :item, :column_name
+ attr :file_item, :edit_manifest, :item, :column_name
- def initialize file_item, item
+ def initialize file_item, edit_manifest, item
@file_item = file_item
+ @edit_manifest = edit_manifest
@item = item
@column_name = 'edit'
end
self.filer.item_name
end
+ def image_dir
+ self.filer.image_dir
+ end
+
def column_template_dir
self.filer.template_dir + 'item_column/'
end
end
class Default < Base
+ def column_template_file_name
+ 'show'
+ end
+
+ def item_template_file_name
+ if @item.own? self.filer.operators
+ 'default'
+ else
+ 'none'
+ end
+ end
+
+ def edit_img_file_name
+ self.image_dir + 'edit.png'
+ end
+
+ def remove_img_file_name
+ self.image_dir + 'remove.png'
+ end
+
+ def img_opt
+ {:width => Manifest.manifest.magic_numbers['thumbnail_width'] / 2,
+ :height => Manifest.manifest.magic_numbers['thumbnail_height'] / 2}
+ end
+
+ def edit_img_opt
+ img_opt.merge :src => self.edit_img_file_name
+ end
+
+ def remove_img_opt
+ img_opt.merge :src => self.remove_img_file_name
+ end
+
end
class None < Base
+ def column_template_file_name
+ 'none'
+ end
+
end
class Account < Base
+ def column_template_file_name
+ 'show'
+ end
+
+ def item_template_file_name
+ if @item.own? self.filer.operators
+ 'account'
+ else
+ 'none'
+ end
+ end
+
+ def edit_img_file_name
+ self.image_dir + 'edit.png'
+ end
+
+ def img_opt
+ {:width => Manifest.manifest.magic_numbers['thumbnail_width'] / 2,
+ :height => Manifest.manifest.magic_numbers['thumbnail_height'] / 2}
+ end
+
+ def edit_img_opt
+ img_opt.merge :src => self.edit_img_file_name
+ end
+
end
class Template < Base
+ def column_template_file_name
+ 'show'
+ end
+
+ def item_template_file_name
+ 'template'
+ end
+
+ def template_dir
+ @item.path_name + '/'
+ end
+
+ def template_file_name
+ @edit_manifest.template_name
+ end
+
+ def template_name
+ self.template_dir + self.template_file_name
+ end
+
end
end
class IconItemColumnFactory
include IconItemColumnModule
@@types = {
- 'default' => Default
+ 'default' => Default, 'none' => None
}
def self.factory file_item, my_manifest, item
type = my_manifest.type
raise "undefined type for local view filers > #{file_item.item_name} > icon\n" unless type
my_class = @@types[type]
raise "undefined class for local view filers > #{file_item.item_name} > icon > #{type}\n" unless my_class
- my_class.new(file_item, my_manifest)
+ my_class.new(file_item, my_manifest, item)
end
end
module FileItemModule
module IconItemColumnModule
class Base
- attr :file_item, :item, :column_name
+ attr :file_item, :icon_manifest, :item, :column_name
- def initialize file_item, item
+ def initialize file_item, icon_manifest, item
@file_item = file_item
+ @icon_manifest = icon_manifest
@item = item
@column_name = 'icon'
end
end
class Default < Base
+ def column_template_file_name
+ 'show'
+ end
+
+ def item_template_file_name
+ 'default'
+ end
+
+ def icon_name
+ item.class.to_s
+ end
+
+ def icon_size
+ Manifest.manifest.magic_numbers['thumbnail_width']
+ end
+
+ end
+
+ class None < Base
+ def column_template_file_name
+ 'none'
+ end
+
end
end
raise "undefined type for local view filers > #{file_item.item_name} > summary\n" unless type
my_class = @@types[type]
raise "undefined class for local view filers > #{file_item.item_name} > summary > #{type}\n" unless my_class
- my_class.new(file_item, my_manifest)
+ my_class.new(file_item, my_manifest, item)
end
end
module FileItemModule
module SummaryItemColumnModule
class Base
- attr :file_item, :item, :column_name
+ attr :file_item, :summary_manifest, :item, :column_name
- def initialize file_item, item
+ def initialize file_item, summary_manifest, item
@file_item = file_item
+ @summary_manifest = summary_manifest
@item = item
@column_name = 'summary'
end
end
def item_template_file_name
- self.manifest.symbol.template_name
+ 'template'
+ end
+
+ def template_dir
+ @item.path_name + '/'
+ end
+
+ def template_file_name
+ @summary_manifest.template_name
+ end
+
+ def template_name
+ self.template_dir + self.template_file_name
end
end
raise "undefined type for local view filers > #{file_item.item_name} > symbol\n" unless type
my_class = @@types[type]
raise "undefined class for local view filers > #{file_item.item_name} > symbol > #{type}\n" unless my_class
- my_class.new(file_item, my_manifest)
+ my_class.new(file_item, my_manifest, item)
end
end
module FileItemModule
module SymbolItemColumnModule
class Base
- attr :file_item, :item, :column_name
+ attr :file_item, :symbol_manifest, :item, :column_name
- def initialize file_item, item
+ def initialize file_item, symbol_manifest, item
@file_item = file_item
+ @symbol_manifest = symbol_manifest
@item = item
@column_name = 'symbol'
end
self.filer.manifest
end
- def symbol_manifest
- self.manifest.symbol
- end
-
def item_name
self.filer.item_name
end
include DefaultModule
attr :face, :link
- def initialize file_item, item
+ def initialize file_item, symbol_manifest, item
super
@face = FaceFactory.factory self, self.symbol_manifest.face, @item
@link = LinkFactory.factory self, self.symbol_manifest.link, @item
end
def item_template_file_name
- if self.symbol_manifest.link.type == 'none'
+ if @symbol_manifest.link.type == 'none'
'default_without_link'
else
'default'
class ActionLink < BaseLink
def url
- '/' + @link_manifest.action_name + @item.id.to_s
+ @link_manifest.action_path + @item.id.to_s
end
end
end
def item_template_file_name
- self.manifest.symbol.template_name
+ 'template'
+ end
+
+ def template_dir
+ @item.path_name + '/'
+ end
+
+ def template_file_name
+ @symbol_manifest.template_name
+ end
+
+ def template_name
+ self.template_dir + self.template_file_name
end
end
module BodyModule
module FileHeaderModule
class None
- attr :file_header
- def initialize file_header
+ attr :file_header, :column_name
+ def initialize file_header, column_name
@file_header = file_header
+ @column_name = column_name
end
def filer
module View
module FilerModule
class Footer
- attr :filer
- def initialize filer
+ attr :filer, :paginate
+ def initialize filer, paginate
@filer = filer
+ @paginate = paginate
end
def template_dir
"type": "private"\r
},\r
"by_author": {\r
- "type": "filter"\r
+ "type": "filter",\r
+ "args": {\r
+ "filter_item_name": "author",\r
+ "filter_key": "author_id"\r
+ }\r
},\r
"by_panel": {\r
"type": "through_filter"\r
},\r
"filers": {\r
"scroll": {\r
- "symbol": {\r
- "type": "default"\r
- },\r
+ "symbol": {},\r
"caption": {\r
"type": "default",\r
"args": {\r
"face": {\r
"type": "column",\r
"args": {\r
- "name": "title"\r
+ "column_name": "title"\r
}\r
},\r
"link": {\r
"type": "action",\r
"args": {\r
- "name": "play"\r
+ "action_name": "play"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
- "edit": {\r
- "type": "default",\r
- "args": {}\r
- }\r
+ "summary": {},\r
+ "edit": {}\r
},\r
"scroll_panel": {\r
"symbol": {\r
"caption": {\r
"type": "none"\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
},\r
"comic": {\r
- "symbol": {\r
- "type": "default"\r
- },\r
+ "symbol": {},\r
"caption": {\r
"type": "default",\r
"args": {\r
"face": {\r
"type": "column",\r
"args": {\r
- "name": "title"\r
+ "column_name": "title"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
- "edit": {\r
- "type": "default"\r
- }\r
+ "summary": {},\r
+ "edit": {}\r
},\r
"story": {\r
- "symbol": {\r
- "type": "default"\r
- },\r
+ "symbol": {},\r
"caption": {\r
"type": "default",\r
"args": {\r
"link": {\r
"type": "action",\r
"args": {\r
- "name": "play"\r
+ "action_name": "play"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
- "edit": {\r
- "type": "default"\r
- }\r
+ "summary": {},\r
+ "edit": {}\r
},\r
"story_sheet": {\r
"symbol": {\r
"caption": {\r
"type": "none"\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
},\r
"sheet": {\r
- "symbol": {\r
- "type": "default"\r
- },\r
+ "symbol": {},\r
"caption": {\r
"type": "default",\r
"args": {\r
- "face": {\r
- "type": "column"\r
- },\r
+ "face": {},\r
"link": {\r
"type": "action",\r
"args": {\r
- "name": "play"\r
+ "action_name": "play"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
- "edit": {\r
- "type": "default"\r
- }\r
+ "summary": {},\r
+ "edit": {}\r
},\r
"sheet_panel": {\r
"symbol": {\r
"caption": {\r
"type": "none"\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
},\r
"panel": {\r
- "symbol": {\r
- "type": "default"\r
- },\r
+ "symbol": {},\r
"caption": {\r
"type": "default",\r
"args": {\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
- "edit": {\r
- "type": "default"\r
- }\r
+ "summary": {},\r
+ "edit": {}\r
},\r
"panel_picture": {\r
"symbol": {\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
"face": {\r
"type": "column",\r
"args": {\r
- "name": "content"\r
+ "column_name": "content"\r
}\r
},\r
"link": {\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
"caption": {\r
"type": "none"\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
"link": {\r
"type": "action",\r
"args": {\r
- "name": "history"\r
+ "action_nname": "history"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "template",\r
"args": {\r
- "name": "publish"\r
+ "template_name": "publish"\r
}\r
}\r
},\r
"face": {\r
"type": "column",\r
"args": {\r
- "name": "revision"\r
+ "column_name": "revision"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
"caption": {\r
"type": "none"\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
}\r
}\r
},\r
- "caption": {\r
- "type": "default"\r
- },\r
+ "caption": {},\r
"summary": {\r
"type": "none"\r
},\r
}\r
},\r
"writing_format": {\r
- "symbol": {\r
- "type": "default"\r
- },\r
- "caption": {\r
- "type": "default"\r
- },\r
+ "symbol": {},\r
+ "caption": {},\r
"summary": {\r
"type": "none"\r
},\r
}\r
},\r
"license_group": {\r
- "symbol": {\r
- "type": "default"\r
- },\r
+ "symbol": {},\r
"caption": {\r
"type": "default",\r
"args": {\r
"link": {\r
"type": "url_column",\r
"args": {\r
- "name": "url"\r
+ "column_name": "url"\r
}\r
}\r
}\r
},\r
"summary": {\r
- "type": "none",\r
- "args": {}\r
+ "type": "none"\r
},\r
"edit": {\r
"type": "none"\r
}\r
},\r
"license": {\r
- "symbol": {\r
- "type": "default"\r
- },\r
+ "symbol": {},\r
"caption": {\r
"type": "default",\r
"args": {\r
"link": {\r
"type": "url_column",\r
"args": {\r
- "name": "url"\r
+ "column_name": "url"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "none"\r
}\r
},\r
"author": {\r
- "symbol": {\r
- "type": "default"\r
- },\r
+ "symbol": {},\r
"caption": {\r
"type": "default",\r
"args": {\r
"face": {\r
"type": "column",\r
"args": {\r
- "name": "name"\r
+ "column_name": "name"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "account"\r
}\r
},\r
"artist": {\r
- "symbol": {\r
- "type": "default"\r
- },\r
+ "symbol": {},\r
"caption": {\r
"type": "default",\r
"args": {\r
"face": {\r
"type": "column",\r
"args": {\r
- "name": "name"\r
+ "column_name": "name"\r
}\r
}\r
}\r
},\r
- "summary": {\r
- "type": "template",\r
- "args": {\r
- "name": "summary"\r
- }\r
- },\r
+ "summary": {},\r
"edit": {\r
"type": "account"\r
}\r
"public_list": {},\r
"private_list": {},\r
"by_author": {\r
- "type": "filter",\r
- "args": {\r
- "filter_item_name": "author",\r
- "filter_key": "author_id"\r
- }\r
+ "where": "author",\r
+ "includes": "author_id"\r
},\r
"by_panel": {\r
"type": "through_filter",\r
}\r
},\r
"by_author": {\r
- "type": "element_filter",\r
- "args": {\r
- "from": "author",\r
- "filter_key": "author_id"\r
- }\r
+ "where": "by_author_where",\r
+ "includes": "by_author_includes"\r
}\r
},\r
"speech_balloon": {\r