r: 0\r
} \r
\r
+ @pick_item_name: () ->\r
+ 'speech_balloon_template'\r
+ \r
@trace_routes: () ->\r
{\r
speech_balloon: 'speech_balloon',\r
+ speech_balloon_template: ['speech_balloon', 'speech_balloon_template'],\r
symbol: ['speech_balloon', 'speech_balloon_template', 'system_picture']\r
}\r
\r
symbol_option: (context, options) ->\r
@retrieve(this, {\r
success: (symbol_item) => \r
- options.success.call(context, symbol_item.to_symbol())\r
+ options.success.call(context, symbol_item.symbol_file())\r
fail: (response, opt) =>\r
options.fail.call(context, response, opt)\r
})\r
height: 100\r
} \r
\r
+ @pick_item_name: () ->\r
+ 'speech_balloon_template'\r
+ \r
@trace_routes: () ->\r
{\r
speech_balloon: 'speech_balloon',\r
+ speech_balloon_template: ['speech_balloon', 'speech_balloon_template'],\r
symbol: ['speech_balloon', 'speech_balloon_template', 'system_picture']\r
}\r
\r
@listenTo(view, 'http_get', @body_http_get)\r
@listenTo(view, 'http_post', @body_http_post)\r
@body.refresh(view)\r
+ if view.social\r
+ view.social.refresh()\r
\r
body_fail: (response, options) ->\r
@error_dialog.start(response, options)\r
--- /dev/null
+class Pettanr.View.Social extends Pettanr.View
+
+ constructor: (@item, @context, options) ->
+ super(options)
+
+ initialize: (options) ->
+ super(options)
+ @twitter = new Pettanr.View.Social.Twitter()
+ @facebook = new Pettanr.View.Social.Facebook()
+ @hatena = new Pettanr.View.Social.Hatena()
+
+ render: () ->
+ this.$el.html('')
+ this.$el.append(@twitter.render().el)
+ this.$el.append(@facebook.render().el)
+ this.$el.append(@hatena.render().el)
+ this
+
+class Pettanr.View.Social.Twitter extends Pettanr.View
+
+ render: () ->
+ this.$el.html('')
+ this.$el.append('<script type="text/javascript"src="http://platform.twitter.com/widgets.js"></script><a href="http://twitter.com/share" class="twitter-share-button"data-count="horizontal" data-via="opsatwit"data-lang="ja">Tweet</a>')
+ this
+
+ refresh: () ->
+
+class Pettanr.View.Social.Facebook extends Pettanr.View
+
+ render: () ->
+ this.$el.html('')
+ this.$el.append('<div class="fb-like" data-href="' + window.location.href + '" data-layout="button_count" data-action="like" data-show-faces="true" data-share="false"></div>')
+ this
+
+ refresh: () ->
+ FB.XFBML.parse()
+
+class Pettanr.View.Social.Hatena extends Pettanr.View
+
+ render: () ->
+ this.$el.html('')
+ this.$el.append('<a href="http://b.hatena.ne.jp/entry/" class="hatena-bookmark-button" data-hatena-bookmark-layout="standard-balloon" data-hatena-bookmark-lang="ja" title="add bookmark"><img src="https://b.st-hatena.com/images/entry-button/button-only@2x.png" alt="add hatebu" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="https://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>')
+ this
+
+ refresh: () ->
+
this.$el.append(@header.render().el)\r
this.$el.append(@authored_by.render().el)\r
this.$el.append(@body.render().el)\r
+ @social = new Pettanr.View.Social()\r
+ this.$el.append(@social.render().el)\r
# this.$el.append(@owner.render().el) if @item.is_own()\r
this\r
\r
this.$el.html('')\r
this.$el.append(@header.render().el)\r
this.$el.append(@authored_by.render().el)\r
+ h3 = new Tag.H3({content: Pettanr.AppHelper.t_m('Scroll.description')})\r
+ this.$el.append(h3.render().el)\r
+ desc = new Tag.Div({content: @item.escape('description'), class_name: 'scroll-description'})\r
+ this.$el.append(desc.render().el)\r
+ label_button = new Pettanr.View.Button(@item.play_url(), I18n.t('scrolls.play.title'), {\r
+ click: () =>\r
+ @trigger('http_get', @item.play_url())\r
+ })\r
+ h2 = new Tag.H2({content: label_button.render().el})\r
+ this.$el.append(h2.render().el)\r
this.$el.append(@owner.render().el) if @item.is_own()\r
this\r
\r
+ http_get: (url) ->\r
+ @trigger('http_get', url)\r
+ \r
click_pick: () ->\r
@trigger('pick', @item)\r
\r
tag: {\r
type: 'select',\r
},\r
+ row_break: true,\r
},\r
license_settings: {\r
# boost_name: 'license_group',\r
margin-left: 20px;
}
+.scroll-description {
+ margin-left: 20px;
+ margin-bottom: 20px;
+ font-size: 1.8em;
+}
+
.player {
list-style-type: none;
margin: 0;
width: 150px;
}
+.show-owner-footer a {
+ margin: 0.5em;
+}
+
.filer {
list-style-type: none;
margin: 0;
\r
<div id="pettanr">\r
</div>\r
+<div id="fb-root"></div>\r
+ <script>\r
+ (function(d, s, id) {\r
+ var js, fjs = d.getElementsByTagName(s)[0];\r
+ if (d.getElementById(id)) return;\r
+ js = d.createElement(s); js.id = id;\r
+ js.src = "//connect.facebook.net/ja_JP/sdk.js#xfbml=1&version=v2.5";\r
+ fjs.parentNode.insertBefore(js, fjs);\r
+ }(document, 'script', 'facebook-jssdk'));\r
+ </script>\r
<script type="text/template" id="header_template">\r
<span id="logo">\r
<a class="logo" href="/"><&= title &></a>\r
"license_id": {\r
"tag": {\r
"type": "select"\r
- }\r
+ },\r
+ "row_break": true\r
},\r
"license_settings": {\r
"row_break": true\r