OSDN Git Service

Merge branch 'v06' of git.sourceforge.jp:/gitroot/pettanr/pettanr into v06
[pettanr/pettanr.git] / app / assets / javascripts / locmare / list_group.js.coffee
1 class Locmare.ListGroup\r
2   @types: () ->\r
3     {\r
4       public: Locmare.ListGroupModule.PublicList, \r
5       private: Locmare.ListGroupModule.PrivateList, \r
6       system_resource: Locmare.ListGroupModule.SystemResourceList,\r
7       filter: Locmare.ListGroupModule.FilterList, \r
8       through_filter: Locmare.ListGroupModule.ThroughFilterList, \r
9       foreign_filter: Locmare.ListGroupModule.ForeignFilterList, \r
10       play: Locmare.ListGroupModule.PlayList\r
11     }\r
12   \r
13   @list: (controller_name, action_name, options = {}) ->\r
14     controller_manifest = Manifest.manifest().controllers[controller_name]\r
15     action_manifest = controller_manifest.actions[action_name]\r
16     if action_manifest.alias\r
17       options['order'] ||= action_manifest.order\r
18       options['direction'] ||= action_manifest.direction\r
19       alias_action = action_manifest.alias_action\r
20       Locmare.ListGroup.list(alias_action.path_name(), alias_action.name, options)\r
21     else\r
22       list_group_manifest = LocalManifest.manifest().list_groups[controller_name]\r
23       list_manifest = list_group_manifest.lists[action_name]\r
24       c = Locmare.ListGroup.types()[list_manifest.type]\r
25       new c({list_group_name: controller_name, list_name: action_name, options: options})\r
26   \r
27 class Locmare.ListGroupModule\r