OSDN Git Service

add lib/manifest/local/view/filer
authoryasushiito <yas@pen-chan.jp>
Mon, 3 Feb 2014 02:23:05 +0000 (11:23 +0900)
committeryasushiito <yas@pen-chan.jp>
Mon, 3 Feb 2014 02:23:05 +0000 (11:23 +0900)
37 files changed:
app/assets/javascripts/manifest/work/filers.js.coffee.erb
app/controllers/application_controller.rb
lib/manifest/controller/action/base.rb
lib/manifest/filer.rb
lib/manifest/filer/caption.rb
lib/manifest/filer/caption/face.rb [deleted file]
lib/manifest/filer/caption/face/face.rb [deleted file]
lib/manifest/filer/caption/link.rb [deleted file]
lib/manifest/filer/caption/link/link.rb [deleted file]
lib/manifest/filer/date/date.rb
lib/manifest/filer/edit/edit.rb
lib/manifest/filer/icon/icon.rb
lib/manifest/filer/summary/summary.rb
lib/manifest/filer/symbol.rb
lib/manifest/filer/symbol/face.rb [deleted file]
lib/manifest/filer/symbol/face/face.rb [deleted file]
lib/manifest/filer/symbol/link.rb [deleted file]
lib/manifest/filer/symbol/link/link.rb [deleted file]
lib/manifest/form/field/field.rb
lib/manifest/form/field/helper/helper.rb
lib/manifest/form/field/label/label.rb
lib/manifest/form/field/tag/base.rb
lib/manifest/local/view.rb
lib/manifest/local/view/filer.rb
lib/manifest/local/view/filer/caption.rb [deleted file]
lib/manifest/local/view/filer/caption/face.rb [deleted file]
lib/manifest/local/view/filer/caption/link.rb [deleted file]
lib/manifest/local/view/filer/date.rb [deleted file]
lib/manifest/local/view/filer/edit.rb [deleted file]
lib/manifest/local/view/filer/icon.rb [deleted file]
lib/manifest/local/view/filer/summary.rb [deleted file]
lib/manifest/local/view/filer/symbol.rb [deleted file]
lib/manifest/local/view/filer/symbol/face.rb [deleted file]
lib/manifest/local/view/filer/symbol/link.rb [deleted file]
lib/manifest/local/view/form/field.rb
lib/manifest/manifest.rb
public/manifest.json

index e16b8d3..ed2c01a 100644 (file)
@@ -2,30 +2,36 @@
 @filers = {\r
   scroll: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'title',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'title',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'play',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'play',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   scroll_panel: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'none',\r
-        args: {\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   comic: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'title',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'title',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   story: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'method',\r
-        args: {\r
-          name: 'title_with_t',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'method',\r
+          args: {\r
+            name: 'title_with_t',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'play',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'play',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   story_sheet: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'none',\r
-        args: {\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   sheet: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'caption',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'caption',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'play',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'play',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   sheet_panel: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'none',\r
-        args: {\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   panel: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'caption',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'caption',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   panel_picture: {\r
     symbol: {\r
-      face: {\r
-        type: 'picture',\r
-        args: {\r
-          name: 'symbol_option',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'picture',\r
+          args: {\r
+            name: 'symbol_option',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'caption',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'caption',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   speech_balloon: {\r
     symbol: {\r
-      face: {\r
-        type: 'picture',\r
-        args: {\r
-          name: 'symbol_option',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'picture',\r
+          args: {\r
+            name: 'symbol_option',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'method',\r
-        args: {\r
-          name: 'plain_scenario',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'method',\r
+          args: {\r
+            name: 'plain_scenario',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   speech: {\r
     symbol: {\r
-      face: {\r
-        type: 'picture',\r
-        args: {\r
-          name: 'symbol_option',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'picture',\r
+          args: {\r
+            name: 'symbol_option',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'content',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'content',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   balloon: {\r
     symbol: {\r
-      face: {\r
-        type: 'picture',\r
-        args: {\r
-          name: 'symbol_option',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'picture',\r
+          args: {\r
+            name: 'symbol_option',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'none',\r
-        args: {\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   ground_picture: {\r
     symbol: {\r
-      face: {\r
-        type: 'picture',\r
-        args: {\r
-          name: 'symbol_option',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'picture',\r
+          args: {\r
+            name: 'symbol_option',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'caption',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'caption',\r
+          },\r
+        },\r
+        link: {\r
+          type: 'none',\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
       },\r
     },\r
     summary: {\r
   },\r
   ground_color: {\r
     symbol: {\r
-      face: {\r
-        type: 'template',\r
-        args: {\r
-          name: 'symbol',\r
-        },\r
-      },\r
-      link: {\r
-        type: 'none',\r
+      type: 'template',\r
+      args: {\r
+        template_name: 'symbol',\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'caption',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'caption',\r
+          },\r
+        },\r
+        link: {\r
+          type: 'none',\r
         },\r
-      },\r
-      link: {\r
-        type: 'none',\r
       },\r
     },\r
     summary: {\r
   },\r
   original_picture: {\r
     symbol: {\r
-      face: {\r
-        type: 'picture',\r
-        args: {\r
-          name: 'symbol_option',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'picture',\r
+          args: {\r
+            name: 'symbol_option',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'method',\r
-        args: {\r
-          name: 'revision',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'method',\r
+          args: {\r
+            name: 'revision',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action',\r
-        args: {\r
-          name: 'history',\r
+        link: {\r
+          type: 'action',\r
+          args: {\r
+            name: 'history',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   picture: {\r
     symbol: {\r
-      face: {\r
-        type: 'picture',\r
-        args: {\r
-          name: 'symbol_option',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'picture',\r
+          args: {\r
+            name: 'symbol_option',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'revision',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'revision',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   resource_picture: {\r
     symbol: {\r
-      face: {\r
-        type: 'picture',\r
-        args: {\r
-          name: 'symbol_option',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'picture',\r
+          args: {\r
+            name: 'symbol_option',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'none',\r
-        args: {\r
-        },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
-        },\r
+      type: 'none',\r
+      args: {\r
       },\r
     },\r
     summary: {\r
   },\r
   speech_balloon_template: {\r
     symbol: {\r
-      face: {\r
-        type: 'picture',\r
-        args: {\r
-          name: 'symbol_option',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'picture',\r
+          args: {\r
+            name: 'symbol_option',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'caption',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'caption',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   writing_format: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'caption',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'caption',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   license_group: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'caption',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'caption',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'url_column',\r
-        args: {\r
-          name: 'url',\r
+        link: {\r
+          type: 'url_column',\r
+          args: {\r
+            name: 'url',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   license: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'method',\r
-        args: {\r
-          name: 'caption_with_group',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'method',\r
+          args: {\r
+            name: 'caption_with_group',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'url_column',\r
-        args: {\r
-          name: 'url',\r
+        link: {\r
+          type: 'url_column',\r
+          args: {\r
+            name: 'url',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   author: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'name',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'name',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   artist: {\r
     symbol: {\r
-      face: {\r
-        type: 'image',\r
-        args: {\r
-          name: '<%= asset_path('item.png') %>',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'image',\r
+          args: {\r
+            name: '<%= asset_path('item.png') %>',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'column',\r
-        args: {\r
-          name: 'name',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'column',\r
+          args: {\r
+            name: 'name',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
   },\r
   system_picture: {\r
     symbol: {\r
-      face: {\r
-        type: 'picture',\r
-        args: {\r
-          name: 'symbol_option',\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'picture',\r
+          args: {\r
+            name: 'symbol_option',\r
+          },\r
         },\r
-      },\r
-      link: {\r
-        type: 'action'\r
-        args: {\r
-          name: 'show',\r
+        link: {\r
+          type: 'action'\r
+          args: {\r
+            name: 'show',\r
+          },\r
         },\r
       },\r
     },\r
     caption: {\r
-      face: {\r
-        type: 'none',\r
-        args: {\r
-        },\r
-      },\r
-      link: {\r
-        type: 'none',\r
-        args: {\r
+      type: 'default',\r
+      args: {\r
+        face: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
+        },\r
+        link: {\r
+          type: 'none',\r
+          args: {\r
+          },\r
         },\r
       },\r
     },\r
index 680b10e..31a2eb6 100644 (file)
@@ -115,12 +115,12 @@ class ApplicationController < ActionController::Base
     my_model_list = my_model.lists[my_action.list_name]
     my_list = Manifest.manifest.lists[my_action.item_name]
     list = my_list[my_action.list_name]
-    r = list.open(@operators, {:id => params})
-    @items = r.items 
+    list_result = list.open(@operators, {:id => params})
+    @items = list_result.items 
     respond_to do |format|
       format.html {
-        @filer = Manifest.manifest.views[my_action.item_name].open items, operators, paginate
-        render :template => 'system/filer', :locals => {
+        @filer = Manifest::View::Filer.new my_action.item_name, list_result.items, list_result.paginate, @operators
+        render @filer.template_name, :locals => {
           :filer => @filer
         }
       }
@@ -159,7 +159,7 @@ class ApplicationController < ActionController::Base
     respond_to do |format|
       format.html {
         @filer =  Manifest.manifest.filer_managers[many_name].open(many_name, @items, @operators, @action.list.paginate(@parent_item))
-        render :template => 'system/filer', :locals => {
+        render @filer.template_name, :locals => {
           :filer => @filer
         }
       }
index 64700b4..bec77dd 100644 (file)
@@ -2,7 +2,7 @@ module Manifest
   module ControllerModule
     module ActionModule
       class Base
-        attr :controller, :action_name, :action_manifest, 
+        attr :controller, :action_name, :action_manifest, :type, 
           :item_name
         def initialize controller, action_name, action_manifest
           @controller = controller
@@ -18,6 +18,7 @@ module Manifest
         end
         
         def init
+          @type = @action_manifest['type']
           @args = @action_manifest['args']
           @item_name = @args['item_name']
         end
index 2b5cbbf..57c6a06 100644 (file)
@@ -35,8 +35,8 @@ module Manifest
     end
     
     def init
-      @symbol = FilerModule::Symbol.new self, @filer_manifest['symbol']
-      @caption = FilerModule::Caption.new self, @filer_manifest['caption']
+      @symbol = FilerModule::SymbolFactory.factory self, @filer_manifest['symbol']
+      @caption = FilerModule::CaptionFactory.factory self, @filer_manifest['caption']
       @summary = FilerModule::SummaryFactory.factory self, @filer_manifest['summary']
       @icon = FilerModule::IconFactory.factory self, @filer_manifest['icon']
       @date = FilerModule::DateFactory.factory self, @filer_manifest['date']
index e764412..a785fe6 100644 (file)
@@ -1,39 +1,20 @@
-require_dependency "manifest/filer/caption/face"
-require_dependency "manifest/filer/caption/link"
+require_dependency "manifest/filer/caption/base"
+require_dependency "manifest/filer/caption/default"
+require_dependency "manifest/filer/caption/template"
 module Manifest
   module FilerModule
-    class Caption
+    class CaptionFactory
       include CaptionModule
-      attr :filer, :caption_manifest, 
-        :face, :link
+      @@types = {
+        'default' => Default, 'template' => Template
+      }
       
-      def self.manager filer, my_manifest
-        self.new filer, my_manifest
-      end
-      
-      def initialize filer, caption_manifest
-        @filer = filer
-        @caption_manifest = caption_manifest
-        self.set_default
-        self.init
-      end
-      
-      def set_default
-        @caption_manifest['face'] ||= {}
-        @caption_manifest['link'] ||= {}
-      end
-      
-      def init
-        @face = FaceFactory.factory(self, @caption_manifest['face'])
-        @link = LinkFactory.factory(self, @caption_manifest['link'])
-      end
-      
-      def filer_name
-        @filer.item_name
-      end
-      
-      def filer_manifest
-        @filer.filer_manifest
+      def self.factory filer, my_manifest
+        type = my_manifest['type'] || 'default'
+        raise "undefined type for filers > #{filer.filer_name} > caption\n" unless type
+        my_class = @@types[type]
+        raise "undefined class for filers > #{filer.filer_name} > caption > #{type}\n" unless my_class
+        my_class.new(filer, my_manifest)
       end
       
     end
diff --git a/lib/manifest/filer/caption/face.rb b/lib/manifest/filer/caption/face.rb
deleted file mode 100644 (file)
index 026b00f..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-require_dependency "manifest/filer/caption/face/face"
-module Manifest
-  module CaptionModule
-    class FaceFactory
-      include FaceModule
-      @@types = {
-        'column' => ColumnFace, 'method' => MethodFace, 'none' => NoneFace
-      }
-      def self.factory caption, my_manifest
-        type = my_manifest['type']
-        raise "undefined type for filers > #{caption.filer_name} > caption > face\n" unless type
-        my_class = @@types[type]
-        raise "undefined class for filers > #{caption.filer_name} > caption > face > #{type}\n" unless my_class
-        my_class.new(caption, my_manifest)
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/manifest/filer/caption/face/face.rb b/lib/manifest/filer/caption/face/face.rb
deleted file mode 100644 (file)
index 47c679f..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-module Manifest
-  module CaptionModule
-    module FaceModule
-      class BaseFace
-        attr :caption, :face_manifest
-        
-        def initialize caption, face_manifest
-          @caption = caption
-          @face_manifest = face_manifest
-          self.set_default
-          self.init
-        end
-        
-        def set_default
-          @face_manifest['args'] ||= {}
-        end
-        
-        def init
-          @args = @face_manifest['args']
-        end
-        
-      end
-      
-      class ColumnFace < BaseFace
-        attr  :name
-        
-        def set_default
-          super
-          @face_manifest['args']['name'] ||= 'caption'
-        end
-        
-        def init
-          super
-          @name = @args['name']
-        end
-        
-      end
-      
-      class MethodFace < BaseFace
-        attr  :name
-        
-        def set_default
-          super
-        end
-        
-        def init
-          super
-          raise "undefined name for filers > #{self.caption.filer.filer_name} > caption > face\n" unless @args['name']
-          @name = @args['name']
-        end
-        
-      end
-      
-      class NoneFace < BaseFace
-      end
-    end
-  end
-end
diff --git a/lib/manifest/filer/caption/link.rb b/lib/manifest/filer/caption/link.rb
deleted file mode 100644 (file)
index 7c757db..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-require_dependency "manifest/filer/caption/link/link"
-module Manifest
-  module CaptionModule
-    class LinkFactory
-      include LinkModule
-      @@types = {
-        'action' => ActionLink, 'none' => NoneLink, 'url_column' => UrlColumnLink
-      }
-      def self.factory caption, my_manifest
-        type = my_manifest['type']
-        raise "undefined type for filers > #{caption.filer_name} > caption > link\n" unless type
-        my_class = @@types[type]
-        raise "undefined class for filers > #{caption.filer_name} > caption > link > #{type}\n" unless my_class
-        my_class.new(caption, my_manifest)
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/manifest/filer/caption/link/link.rb b/lib/manifest/filer/caption/link/link.rb
deleted file mode 100644 (file)
index d2ee004..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-module Manifest
-  module CaptionModule
-    module LinkModule
-      class BaseLink
-        attr :caption, :link_manifest
-        
-        def initialize caption, link_manifest
-          @caption = caption
-          @link_manifest = link_manifest
-          self.set_default
-          self.init
-        end
-        
-        def set_default
-          @link_manifest['args'] ||= {}
-        end
-        
-        def init
-          @args = @link_manifest['args']
-        end
-        
-      end
-      
-      class ActionLink < BaseLink
-        attr  :name
-        
-        def set_default
-          super
-          @link_manifest['args']['name'] ||= 'show'
-        end
-        
-        def init
-          super
-          @name = @args['name']
-        end
-        
-      end
-      
-      class NoneLink < BaseLink
-        attr  :name
-        
-        def set_default
-          super
-        end
-        
-        def init
-          super
-        end
-        
-      end
-      
-      class UrlColumnLink < BaseLink
-        attr  :name
-        
-        def set_default
-          super
-          @link_manifest['args']['name'] ||= 'url'
-        end
-        
-        def init
-          super
-          @name = @args['name']
-        end
-        
-      end
-      
-    end
-  end
-end
index ad8ebf4..7682bf9 100644 (file)
@@ -2,7 +2,7 @@ module Manifest
   module FilerModule
     module  DateModule
       class Base
-        attr :filer, :date_manifest
+        attr :filer, :date_manifest, :type
         
         def initialize filer, date_manifest
           @filer = filer
@@ -16,9 +16,14 @@ module Manifest
         end
         
         def init
+          @type = @date_manifest['type']
           @args = @date_manifest['args']
         end
         
+        def visible?
+          true
+        end
+        
       end
       
     end
index 8dc3136..21e4ea6 100644 (file)
@@ -2,7 +2,7 @@ module Manifest
   module FilerModule
     module  EditModule
       class Base
-        attr :filer, :edit_manifest
+        attr :filer, :edit_manifest, :type
         
         def initialize filer, edit_manifest
           @filer = filer
@@ -16,9 +16,14 @@ module Manifest
         end
         
         def init
+          @type = @edit_manifest['type']
           @args = @edit_manifest['args']
         end
         
+        def visible?
+          @type != 'none'
+        end
+        
       end
       
       class Default < Base
index ae69f57..af85c32 100644 (file)
@@ -2,7 +2,7 @@ module Manifest
   module FilerModule
     module  IconModule
       class Base
-        attr :filer, :icon_manifest
+        attr :filer, :icon_manifest, :type
         
         def initialize filer, icon_manifest
           @filer = filer
@@ -16,9 +16,14 @@ module Manifest
         end
         
         def init
+          @type = @icon_manifest['type']
           @args = @icon_manifest['args']
         end
         
+        def visible?
+          true
+        end
+        
       end
       
     end
index 9e5a1ae..d773d2c 100644 (file)
@@ -2,7 +2,7 @@ module Manifest
   module FilerModule
     module  SummaryModule
       class Base
-        attr :filer, :summary_manifest
+        attr :filer, :summary_manifest, :type
         
         def initialize filer, summary_manifest
           @filer = filer
@@ -16,9 +16,14 @@ module Manifest
         end
         
         def init
+          @type = @summary_manifest['type']
           @args = @summary_manifest['args']
         end
         
+        def visible?
+          @type != 'none'
+        end
+        
       end
       
       class None < Base
index eb21420..8717738 100644 (file)
@@ -1,39 +1,20 @@
-require_dependency "manifest/filer/symbol/face"
-require_dependency "manifest/filer/symbol/link"
+require_dependency "manifest/filer/symbol/base"
+require_dependency "manifest/filer/symbol/default"
+require_dependency "manifest/filer/symbol/template"
 module Manifest
   module FilerModule
-    class Symbol 
+    class SymbolFactory
       include SymbolModule
-      attr :filer, :symbol_manifest, 
-        :face, :link
+      @@types = {
+        'default' => Default, 'template' => Template
+      }
       
-      def self.manager filer, my_manifest
-        self.new filer, my_manifest
-      end
-      
-      def initialize filer, symbol_manifest
-        @filer = filer
-        @symbol_manifest = symbol_manifest
-        self.set_default
-        self.init
-      end
-      
-      def set_default
-        @symbol_manifest['face'] ||= {}
-        @symbol_manifest['link'] ||= {}
-      end
-      
-      def init
-        @face = FaceFactory.factory(self, @symbol_manifest['face'])
-        @link = LinkFactory.factory(self, @symbol_manifest['link'])
-      end
-      
-      def filer_name
-        @filer.item_name
-      end
-      
-      def filer_manifest
-        @filer.filer_manifest
+      def self.factory filer, my_manifest
+        type = my_manifest['type'] || 'default'
+        raise "undefined type for filers > #{filer.filer_name} > symbol\n" unless type
+        my_class = @@types[type]
+        raise "undefined class for filers > #{filer.filer_name} > symbol > #{type}\n" unless my_class
+        my_class.new(filer, my_manifest)
       end
       
     end
diff --git a/lib/manifest/filer/symbol/face.rb b/lib/manifest/filer/symbol/face.rb
deleted file mode 100644 (file)
index 2839667..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-require_dependency "manifest/filer/symbol/face/face"
-module Manifest
-  module SymbolModule
-    class FaceFactory
-      include FaceModule
-      @@types = {
-        'image' => ImageFace, 'picture' => PictureFace, 'template' => TemplateFace
-      }
-      def self.factory symbol, my_manifest
-        type = my_manifest['type']
-        raise "undefined type for filers > #{symbol.filer_name} > symbol > face\n" unless type
-        my_class = @@types[type]
-        raise "undefined class for filers > #{symbol.filer_name} > symbol > face > #{type}\n" unless my_class
-        my_class.new(symbol, my_manifest)
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/manifest/filer/symbol/face/face.rb b/lib/manifest/filer/symbol/face/face.rb
deleted file mode 100644 (file)
index 5bf368c..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-module Manifest
-  module SymbolModule
-    module FaceModule
-      class BaseFace
-        attr :symbol, :face_manifest
-        
-        def initialize symbol, face_manifest
-          @symbol = symbol
-          @face_manifest = face_manifest
-          self.set_default
-          self.init
-        end
-        
-        def set_default
-          @face_manifest['args'] ||= {}
-        end
-        
-        def init
-          @args = @face_manifest['args']
-        end
-        
-      end
-      
-      class ImageFace < BaseFace
-        attr  :name
-        
-        def set_default
-          super
-          @face_manifest['args']['name'] ||= 'item.png'
-        end
-        
-        def init
-          super
-          @name = @args['name']
-        end
-        
-      end
-      
-      class PictureFace < BaseFace
-        attr  :name
-        
-        def set_default
-          super
-          @face_manifest['args']['name'] ||= 'symbol_option'
-        end
-        
-        def init
-          super
-          @name = @args['name']
-        end
-        
-      end
-      
-      class TemplateFace < BaseFace
-        attr  :name
-        
-        def set_default
-          super
-          @face_manifest['args']['name'] ||= 'symbol'
-        end
-        
-        def init
-          super
-          @name = @args['name']
-        end
-        
-      end
-    end
-  end
-end
diff --git a/lib/manifest/filer/symbol/link.rb b/lib/manifest/filer/symbol/link.rb
deleted file mode 100644 (file)
index b498923..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-require_dependency "manifest/filer/symbol/link/link"
-module Manifest
-  module SymbolModule
-    class LinkFactory
-      include LinkModule
-      @@types = {
-        'action' => ActionLink, 'none' => NoneLink, 'url_column' => UrlColumnLink
-      }
-      def self.factory symbol, my_manifest
-        type = my_manifest['type']
-        raise "undefined type for filers > #{symbol.filer_name} > symbol > link\n" unless type
-        my_class = @@types[type]
-        raise "undefined class for filers > #{symbol.filer_name} > symbol > link > #{type}\n" unless my_class
-        my_class.new(symbol, my_manifest)
-      end
-      
-    end
-    
-  end
-end
diff --git a/lib/manifest/filer/symbol/link/link.rb b/lib/manifest/filer/symbol/link/link.rb
deleted file mode 100644 (file)
index 9a57066..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-module Manifest
-  module SymbolModule
-    module LinkModule
-      class BaseLink
-        attr :symbol, :link_manifest
-        
-        def initialize symbol, link_manifest
-          @symbol = symbol
-          @link_manifest = link_manifest
-          self.set_default
-          self.init
-        end
-        
-        def set_default
-          @link_manifest['args'] ||= {}
-        end
-        
-        def init
-          @args = @link_manifest['args']
-        end
-        
-      end
-      
-      class ActionLink < BaseLink
-        attr  :name
-        
-        def set_default
-          super
-          @link_manifest['args']['name'] ||= 'show'
-        end
-        
-        def init
-          super
-          @name = @args['name']
-        end
-        
-      end
-      
-      class NoneLink < BaseLink
-        attr  :name
-        
-        def set_default
-          super
-        end
-        
-        def init
-          super
-        end
-        
-      end
-      
-      class UrlColumnLink < BaseLink
-        attr  :name
-        
-        def set_default
-          super
-          @link_manifest['args']['name'] ||= 'url'
-        end
-        
-        def init
-          super
-          @name = @args['name']
-        end
-        
-      end
-      
-    end
-  end
-end
index 8437232..6101bc3 100644 (file)
@@ -5,7 +5,7 @@ module Manifest
   module FormModule
     class Field
       include FieldModule
-      attr :form, :field_name, :field_manifest, 
+      attr :form, :field_name, :field_manifest, :type, 
         :model_name, :column_name, :label, :tag, :helper, :row_break
       
       def initialize form, field_name, field_manifest
@@ -33,6 +33,7 @@ module Manifest
       end
       
       def init
+        @type = @field_manifest['type']
         @args = @field_manifest['args']
         @model_name = @args['model_name']
         @column_name = @args['column_name']
index 67cd573..a9bcc3a 100644 (file)
@@ -3,7 +3,7 @@ module Manifest
     module FieldModule
       module HelperModule
         class Base
-          attr :field, :helper_manifest
+          attr :field, :helper_manifest, :type
           
           def initialize field, helper_manifest
             @field = field
@@ -17,6 +17,7 @@ module Manifest
           end
           
           def init
+            @type = @helper_manifest['type']
             @args = @helper_manifest['args']
           end
           
index 1e7381a..0d5b594 100644 (file)
@@ -3,7 +3,7 @@ module Manifest
     module FieldModule
       module LabelModule
         class Base
-          attr :field, :label_manifest
+          attr :field, :label_manifest, :type
           
           def initialize field, label_manifest
             @field = field
@@ -17,6 +17,7 @@ module Manifest
           end
           
           def init
+            @type = @label_manifest['type']
             @args = @label_manifest['args']
           end
           
index ad0f006..02eabfa 100644 (file)
@@ -3,7 +3,7 @@ module Manifest
     module FieldModule
       module TagModule
         class Base
-          attr :field, :tag_manifest, 
+          attr :field, :tag_manifest, :type, 
             :size
           
           def initialize field, tag_manifest
@@ -18,6 +18,7 @@ module Manifest
           end
           
           def init
+            @type = @tag_manifest['type']
             @args = @tag_manifest['args']
             @size = @args['size']
           end
index 695e96d..fbf11b5 100644 (file)
@@ -1,15 +1,7 @@
 require_dependency "manifest/local/view/filer"
 require_dependency "manifest/local/view/form"
 module Manifest
-  class View
-    attr :manifest, 
-      :filers, :forms, :summary, :icon, :date, :edit
-    def initialize manifest
-      @manifest = manifest
-      @filers = ViewModule::Filer.manager(@manifest.filers)
-      @forms = ViewModule::Form.manager(@manifest.forms)
-    end
-    
+  module View
   end
   
 end
index 044a391..2d727e7 100644 (file)
-require_dependency "manifest/local/view/filer/symbol"
-require_dependency "manifest/local/view/filer/caption"
-require_dependency "manifest/local/view/filer/summary"
-require_dependency "manifest/local/view/filer/icon"
-require_dependency "manifest/local/view/filer/date"
-require_dependency "manifest/local/view/filer/edit"
+require_dependency "manifest/local/view/filer/header"
+require_dependency "manifest/local/view/filer/body"
+require_dependency "manifest/local/view/filer/footer"
 module Manifest
-  module ViewModule
-    class FilerManager
+  module View
+    class Filer
       include FilerModule
-      def self.manager filers
-        filer_views = {}
-        filers.each {|item_name, filer_manifest|
-          filer_views[item_name] = self.new(filer_manifest)
-        }
-        filer_views
+      attr :manifest, :item_name, :items, :paginate, :operators, :template_dir, 
+        :header, :body, :footer
+      def initialize item_name, items, paginate, operators
+        @item_name = item_name
+        @items = items
+        @paginate = paginate
+        @operators = operators
+        @manifest = Manifest.manifest.filers[@item_name]
+        @template_dir = 'templates/r/filer/'
+        @header = Header.new self
+        @body = Body.new self
+        @footer = Footer.new self
       end
       
-      attr :manifest, 
-        :symbol, :caption, :summary, :icon, :date, :edit
-      def initialize filer_manifest
-        @filer_manifest = filer_manifest
-        @symbol = Symbol.new @filer_manifest.symbol
-        @caption = Caption.new @filer_manifest.caption
-        @summary = Summary.new @filer_manifest.summary
-        @icon = Icon.new @filer_manifest.icon
-        @date = Date.new @filer_manifest.date
-        @edit = Edit.new @filer_manifest.edit
+      def model
+        ::Manifest::item_name_to_model @item_name
       end
       
-      def open
-        Filer.new self, items
+      def template_file_name
+        "filer"
       end
       
-    end
-  end
-  class Filer
-    attr :filer_manifest, :item_name, :manifest, :filer_conf, 
-      :symbol, :caption, :summary, :icon, :date, :edit
-    def initialize filer_manager, items
-      @filer_manifest = filer_manifest
-      @items = items
-      @file_items = @items.map {|item| 
-        FileItem.new self, @filer_manifest
-      }
-    end
-    
-    def render view
-    end
-    
-  end
-  
-end
-  class FileItemView
-    attr :item, :operators
-    def initialize item, operators, filer_manifest
-      @item = item
-      @operators = operators
-      @filer_manifest = filer_manifest
-      @symbol = SymbolView self, @filer_manifest.symbol.symbol_manifest
-    end
-    
-    def caption view
-      @caption.render view, @item, @operators
-    end
-    
-    def summary view
-      @summary.render view, @item, @operators
-    end
-    
-    def icon view
-      @icon.render view, @item, @operators
-    end
-    
-    def date view
-      @date.render view, @item, @operators
-    end
-    
-    def edit view
-      @edit.render view, @item, @operators
-    end
-    
-    def render view
-    end
-    
-  end
-  
-  class SymbolView
-    def initialize file_item, symbol_manifest
-      @symbol_manifest = symbol_manifest
-    end
-    
-    def render view
-     if @tag_method_name == :tag_template
-       view.render item.path_name + '/' + @symbol_conf['name'], :item => item
-     else
-       link = self.__send__(@link_method_name, view, item, operators)
-       tag = self.__send__(@tag_method_name, view, item, operators)
-       unless tag.blank?
-         view.link_to_unless link.blank?, tag, link
-       end
-     end
-    end
-
-  end
-  
-module Manifest
-  module SymbolModule
-    class Symbol 
-      def initialize symbol_conf
-        @symbol_conf = symbol_conf || {}
-        @link_conf = @symbol_conf['link'] || {'type' => 'action', 'name' => 'show'}
-        @type_conf = @symbol_conf['type'] || 'image'
-        @link_method_name = self.link_method_name
-        @tag_method_name = self.tag_method_name
-      end
-      
-      def link_method_name
-        case @link_conf['type']
-        when 'action'
-          case @link_conf['name']
-          when 'show'
-            :link_action_show
-          else
-            :link_action_else
-          end
-        when 'none'
-          :link_none
-        when 'url_column'
-          :link_url_column
-        else
-          :link_else
-        end
-      end
-      
-      def link_action_show view, item, operators
-        view.polymorphic_path(item)
-      end
-      
-      def link_action_else view, item, operators
-        view.polymorphic_path(item, :action => @link_conf['name'])
-      end
-      
-      def link_none view, item, operators
-        ''
-      end
-      
-      def link_url_column view, item, operators
-        item.__send__(@link_conf['name']).to_s
-      end
-      
-      def link_else view, item, operators
-        ''
-      end
-      
-      def tag_image view, item, operators
-        view.tag(:img, :src => @symbol_conf['name'], :width => 64, :height => 64)
-      end
-      
-      def tag_picture view, item, operators
-        view.tag(:img, item.__send__(@symbol_conf['name']))
-      end
-      
-      def tag_template view, item, operators
-        view.render item.path_name + '/' + @symbol_conf['name'], :item => item
-        nil
-      end
-      
-      def tag_else view, item, operators
-        'no.png'
-      end
-      
-      def visible?
-        self.link_method_name != :link_none
-      end
-      
-      def render view, item, operators
-        if @tag_method_name == :tag_template
-          view.render item.path_name + '/' + @symbol_conf['name'], :item => item
-        else
-          link = self.__send__(@link_method_name, view, item, operators)
-          tag = self.__send__(@tag_method_name, view, item, operators)
-          unless tag.blank?
-            view.link_to_unless link.blank?, tag, link
-          end
-        end
+      def template_name
+        self.template_dir + self.template_file_name
       end
       
     end
-    
   end
 end
diff --git a/lib/manifest/local/view/filer/caption.rb b/lib/manifest/local/view/filer/caption.rb
deleted file mode 100644 (file)
index c229923..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-    class Caption
-      def initialize caption_conf
-        @caption_conf = caption_conf || {}
-        @link_conf = @caption_conf['link'] || {'type' => 'action', 'name' => 'show'}
-        @type_conf = @caption_conf['type'] || 'column'
-        @link_method_name = self.link_method_name
-        @tag_method_name = self.tag_method_name
-      end
-      
-      def link_method_name
-        case @link_conf['type']
-        when 'action'
-          case @link_conf['name']
-          when 'show'
-            :link_action_show
-          else
-            :link_action_else
-          end
-        when 'none'
-          :link_none
-        when 'url_column'
-          :link_url_column
-        else
-          :link_else
-        end
-      end
-      
-      def tag_method_name
-        tag = case @type_conf
-        when 'column'
-          :tag_column
-        when 'method'
-          :tag_method
-        when 'none'
-          :tag_none
-        else
-          :tag_else
-        end
-      end
-      
-      def link_action_show view, item, operators
-        view.polymorphic_path(item)
-      end
-      
-      def link_action_else view, item, operators
-        view.polymorphic_path(item, :action => @link_conf['name'])
-      end
-      
-      def link_none view, item, operators
-        ''
-      end
-      
-      def link_url_column view, item, operators
-        item.__send__(@link_conf['name']).to_s
-      end
-      
-      def link_else view, item, operators
-        ''
-      end
-      
-      def tag_column view, item, operators
-        item.attributes[@caption_conf['name']]
-      end
-      
-      def tag_method view, item, operators
-        item.__send__(@caption_conf['name']).to_s
-      end
-      
-      def tag_else view, item, operators
-        'no caption'
-      end
-      
-      def visible?
-        @tag_method_name != :tag_none
-      end
-      
-      def render view, item, operators
-        link = self.__send__(@link_method_name, view, item, operators)
-        tag = self.__send__(@tag_method_name, view, item, operators)
-        tag = 'no caption' if tag.blank? 
-        unless tag.blank?
-          view.link_to_unless link.blank?, tag, link
-        end
-      end
-      
-    end
-    
diff --git a/lib/manifest/local/view/filer/caption/face.rb b/lib/manifest/local/view/filer/caption/face.rb
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/manifest/local/view/filer/caption/link.rb b/lib/manifest/local/view/filer/caption/link.rb
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/manifest/local/view/filer/date.rb b/lib/manifest/local/view/filer/date.rb
deleted file mode 100644 (file)
index fe70dad..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-    class Date
-      def initialize date_conf
-        @date_conf = date_conf || {}
-      end
-      
-      def visible?
-        true
-      end
-      
-      def render view, item, operators
-        view.distance_of_time_in_words_to_now item.updated_at
-      end
-      
-    end
-    
diff --git a/lib/manifest/local/view/filer/edit.rb b/lib/manifest/local/view/filer/edit.rb
deleted file mode 100644 (file)
index 703b873..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-    class Edit
-      def initialize edit_conf
-        @edit_conf = edit_conf || {}
-        @type_conf = @edit_conf['type'] || 'default'
-        @type_method = self.type_method
-      end
-      
-      def type_method
-        case @type_conf
-        when 'default'
-          :type_default
-        when 'account'
-          :type_account
-        when 'template'
-          :type_template
-        when 'none'
-          :type_none
-        else
-          :type_none
-        end
-      end
-      
-      def type_default view, item, operators
-        if item.own? operators
-          view.link_to view.tag(:img, :src => view.asset_path('edit.png'), :width => 32, :height => 32), 
-            view.polymorphic_path(item, :action => :edit)
-          view.link_to view.tag(:img, :src => view.asset_path('remove.png'), :width => 32, :height => 32), 
-            item, confirm: 'Are you sure?', :method => :delete
-        end
-      end
-      
-      def type_account view, item, operators
-        if item.own? operators
-          view.link_to view.tag(:img, :src => view.asset_path('edit.png'), :width => 32, :height => 32), 
-            '/home/configure'
-        end
-      end
-      
-      def type_template view, item, operators
-        view.render item.path_name + '/' + @edit_conf['name'], :item => item
-      end
-      
-      def type_none view, item, operators
-        ''
-      end
-      
-      def visible?
-        self.type_method != :type_none
-      end
-      
-      def render view, item, operators
-        self.__send__(@type_method, view, item, operators)
-      end
-      
-    end
-    
diff --git a/lib/manifest/local/view/filer/icon.rb b/lib/manifest/local/view/filer/icon.rb
deleted file mode 100644 (file)
index 8b9e9e8..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-    class Icon
-      def initialize icon_conf
-        @icon_conf = icon_conf || {}
-      end
-      
-      def visible?
-        true
-      end
-      
-      def render view, item, operators
-        view.link_to view.icon_tag(item.class.to_s, :object => item, :size => 64), 
-          view.polymorphic_path(item, :format => :prof)
-      end
-      
-    end
-    
diff --git a/lib/manifest/local/view/filer/summary.rb b/lib/manifest/local/view/filer/summary.rb
deleted file mode 100644 (file)
index 194468e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-    class Summary
-      def initialize summary_conf
-        @summary_conf = summary_conf || {}
-        @type_conf = @summary_conf['type'] || 'none'
-        @type_method = self.type_method
-      end
-      
-      def type_method
-        case @type_conf
-        when 'none'
-          :type_none
-        when 'template'
-          :type_template
-        else
-          :type_none
-        end
-      end
-      
-      def type_none view, item, operators
-        ''
-      end
-      
-      def type_template view, item, operators
-        view.render item.path_name + '/' + @summary_conf['name'], :item => item
-      end
-      
-      def visible?
-        self.type_method != :type_none
-      end
-      
-      def render view, item, operators
-        self.__send__(@type_method, view, item, operators)
-      end
-      
-    end
-    
diff --git a/lib/manifest/local/view/filer/symbol.rb b/lib/manifest/local/view/filer/symbol.rb
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/manifest/local/view/filer/symbol/face.rb b/lib/manifest/local/view/filer/symbol/face.rb
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/lib/manifest/local/view/filer/symbol/link.rb b/lib/manifest/local/view/filer/symbol/link.rb
deleted file mode 100644 (file)
index e69de29..0000000
index 18a81ae..aa3a5c4 100644 (file)
@@ -17,3 +17,5 @@ module Manifest
         
       end
     end
+  end
+end
index 6d4deeb..13ad27f 100644 (file)
@@ -24,7 +24,6 @@ module Manifest
       @forms = Form.base_manager(self, @locals['forms'])
       @forms.merge(Form.extend_manager(self, @locals['forms']))
       @lists = List.manager(self, @locals['lists'])
-      @views = View.new self
       select_items_loader
       add_action
     end
index 7adfd39..1ea5744 100644 (file)
     "filers": {\r
       "scroll": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "title"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "play"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "title"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "play"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "scroll_panel": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
             }\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "none",\r
-            "args": {}\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "none",\r
+              "args": {}\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
+            }\r
           }\r
         },\r
         "summary": {\r
       },\r
       "comic": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "title"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "title"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "story": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "method",\r
-            "args": {\r
-              "name": "title_with_t"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "play"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "method",\r
+              "args": {\r
+                "name": "title_with_t"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "play"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "story_sheet": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
             }\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "none",\r
-            "args": {}\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "none",\r
+              "args": {}\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
+            }\r
           }\r
         },\r
         "summary": {\r
       },\r
       "sheet": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "caption"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "play"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "caption"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "play"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "sheet_panel": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
             }\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "none",\r
-            "args": {}\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "none",\r
+              "args": {}\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
+            }\r
           }\r
         },\r
         "summary": {\r
       },\r
       "panel": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "caption"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "caption"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
             }\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
           }\r
         },\r
         "summary": {\r
       },\r
       "panel_picture": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "picture",\r
-            "args": {\r
-              "name": "symbol_option"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "picture",\r
+              "args": {\r
+                "name": "symbol_option"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "caption"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "caption"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
             }\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
           }\r
         },\r
         "summary": {\r
       },\r
       "speech_balloon": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "picture",\r
-            "args": {\r
-              "name": "symbol_option"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "picture",\r
+              "args": {\r
+                "name": "symbol_option"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "method",\r
-            "args": {\r
-              "name": "plain_scenario"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "method",\r
+              "args": {\r
+                "name": "plain_scenario"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
             }\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
           }\r
         },\r
         "summary": {\r
       },\r
       "speech": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "picture",\r
-            "args": {\r
-              "name": "symbol_option"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "picture",\r
+              "args": {\r
+                "name": "symbol_option"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "content"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "content"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
             }\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
           }\r
         },\r
         "summary": {\r
       },\r
       "balloon": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "picture",\r
-            "args": {\r
-              "name": "symbol_option"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "picture",\r
+              "args": {\r
+                "name": "symbol_option"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "none",\r
-            "args": {}\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "none",\r
+              "args": {}\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
+            }\r
           }\r
         },\r
         "summary": {\r
       },\r
       "ground_picture": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "picture",\r
-            "args": {\r
-              "name": "symbol_option"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "picture",\r
+              "args": {\r
+                "name": "symbol_option"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "caption"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "caption"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "none"\r
             }\r
-          },\r
-          "link": {\r
-            "type": "none"\r
           }\r
         },\r
         "summary": {\r
       },\r
       "ground_color": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "template",\r
-            "args": {\r
-              "name": "symbol"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "none"\r
+          "type": "template",\r
+          "args": {\r
+            "template_name": "symbol"\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "caption"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "caption"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "none"\r
             }\r
-          },\r
-          "link": {\r
-            "type": "none"\r
           }\r
         },\r
         "summary": {\r
       },\r
       "original_picture": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "picture",\r
-            "args": {\r
-              "name": "symbol_option"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "picture",\r
+              "args": {\r
+                "name": "symbol_option"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "method",\r
-            "args": {\r
-              "name": "revision"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "history"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "method",\r
+              "args": {\r
+                "name": "revision"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "history"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "picture": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "picture",\r
-            "args": {\r
-              "name": "symbol_option"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "picture",\r
+              "args": {\r
+                "name": "symbol_option"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "revision"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "revision"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "resource_picture": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "picture",\r
-            "args": {\r
-              "name": "symbol_option"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "picture",\r
+              "args": {\r
+                "name": "symbol_option"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "none",\r
-            "args": {}\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "none",\r
+              "args": {}\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
+            }\r
           }\r
         },\r
         "summary": {\r
       },\r
       "speech_balloon_template": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "picture",\r
-            "args": {\r
-              "name": "symbol_option"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "picture",\r
+              "args": {\r
+                "name": "symbol_option"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "caption"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "caption"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "writing_format": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "caption"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "caption"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "license_group": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "caption"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "url_column",\r
-            "args": {\r
-              "name": "url"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "caption"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "url_column",\r
+              "args": {\r
+                "name": "url"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "license": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "method",\r
-            "args": {\r
-              "name": "caption_with_group"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "url_column",\r
-            "args": {\r
-              "name": "url"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "method",\r
+              "args": {\r
+                "name": "caption_with_group"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "url_column",\r
+              "args": {\r
+                "name": "url"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "author": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "name"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "name"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "artist": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "image",\r
-            "args": {\r
-              "name": "/assets/item.png"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "image",\r
+              "args": {\r
+                "name": "/assets/item.png"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "column",\r
-            "args": {\r
-              "name": "name"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "column",\r
+              "args": {\r
+                "name": "name"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
       },\r
       "system_picture": {\r
         "symbol": {\r
-          "face": {\r
-            "type": "picture",\r
-            "args": {\r
-              "name": "symbol_option"\r
-            }\r
-          },\r
-          "link": {\r
-            "type": "action",\r
-            "args": {\r
-              "name": "show"\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "picture",\r
+              "args": {\r
+                "name": "symbol_option"\r
+              }\r
+            },\r
+            "link": {\r
+              "type": "action",\r
+              "args": {\r
+                "name": "show"\r
+              }\r
             }\r
           }\r
         },\r
         "caption": {\r
-          "face": {\r
-            "type": "none",\r
-            "args": {}\r
-          },\r
-          "link": {\r
-            "type": "none",\r
-            "args": {}\r
+          "type": "default",\r
+          "args": {\r
+            "face": {\r
+              "type": "none",\r
+              "args": {}\r
+            },\r
+            "link": {\r
+              "type": "none",\r
+              "args": {}\r
+            }\r
           }\r
         },\r
         "summary": {\r