diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2015-08-29 23:59:47 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2015-08-29 23:59:47 +0900 |
commit | 5784f4537fb95d25b6b1fcfb1001227b7f8d6045 (patch) | |
tree | 5ae3c4af3beda6cf8e0719976fe3ce2e0f7eaa3c /app | |
parent | b8f746b4bd03399fda22da22fe8c15651d060451 (diff) | |
download | aclog-5784f4537fb95d25b6b1fcfb1001227b7f8d6045.tar.gz |
web: pass request parameter to HTML
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/javascripts/controllers/tweets.js | 9 | ||||
-rw-r--r-- | app/assets/javascripts/shared/helpers.js.erb | 14 | ||||
-rw-r--r-- | app/helpers/application_helper.rb | 3 | ||||
-rw-r--r-- | app/views/shared/templates/_tweet.html.haml | 2 |
4 files changed, 9 insertions, 19 deletions
diff --git a/app/assets/javascripts/controllers/tweets.js b/app/assets/javascripts/controllers/tweets.js index 8c5bead..cc9af21 100644 --- a/app/assets/javascripts/controllers/tweets.js +++ b/app/assets/javascripts/controllers/tweets.js @@ -38,17 +38,13 @@ Views.tweets = { }); if (!Views.tweets[Helpers.action()]) { - var query = Helpers.given_parameters(); - if (Helpers.user_screen_name()) { - query.screen_name = Helpers.user_screen_name(); - } + var query = Helpers.request_params(); var url = "/i/api/" + Helpers.controller() + "/" + Helpers.action() + ".json"; vm.loadNext(url, query); } }, show: function() { - var _query = Helpers.given_parameters(); - _query.id = Helpers.tweet_id(); + var _query = Helpers.request_params(); var vm = new Vue({ el: ".statuses", data: { @@ -82,6 +78,7 @@ Views.tweets = { .accept("json") .end(function(err, res) { var json = res.body; + console.log(json); vm.statuses = json.statuses; vm.loading = false; }); diff --git a/app/assets/javascripts/shared/helpers.js.erb b/app/assets/javascripts/shared/helpers.js.erb index fe3b46c..d963080 100644 --- a/app/assets/javascripts/shared/helpers.js.erb +++ b/app/assets/javascripts/shared/helpers.js.erb @@ -5,6 +5,9 @@ window.Helpers = { action: function() { return document.body.getAttribute("data-action"); }, + request_params: function() { + return JSON.parse(document.body.getAttribute("data-request-params")); + }, parts: function() { return (document.body.getAttribute("data-parts") || "").split(" "); }, @@ -30,15 +33,4 @@ window.Helpers = { var options = "scrollbars=yes, resizable=yes, toolbar=no, location=yes, width=" + w + ", height=" + h + ", left=" + left + ", top=" + top; window.open(url, null, options); }, - given_parameters: function() { - var query = {}; - var parameters = window.location.search.substring(1).split("&"); - parameters.forEach(function(item) { - if (item.length > 0) { - var ite = item.split("="); - query[decodeURIComponent(ite[0])] = decodeURIComponent(ite[1]); - } - }); - return query; - } }; diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 05f6e4d..53dc70c 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -12,7 +12,8 @@ module ApplicationHelper parts: @view_parts.try(:join, " "), user_id: @user.try(:id), user_screen_name: @user.try(:screen_name), - tweet_id: @tweet.try(:id) + tweet_id: @tweet.try(:id), + request_params: JSON.generate(params.to_hash.reject {|key, _| ["action", "controller", "oauth_token", "password"].include?(key) }), } end diff --git a/app/views/shared/templates/_tweet.html.haml b/app/views/shared/templates/_tweet.html.haml index 3a8e6a9..9d0994f 100644 --- a/app/views/shared/templates/_tweet.html.haml +++ b/app/views/shared/templates/_tweet.html.haml @@ -1,5 +1,5 @@ %template#tweet-template - .status{data: {"v-class" => "aside: status-reply"}} + .status{data: {"v-class" => "status-reply: aside"}} .status-tweet{data: {"v-if" => "allowed"}} .status-user %a{href: user_path("dummy").sub("dummy", "{{user.screen_name}}"), title: "{{user.name | removeInvalidCharacters}} (@{{user.screen_name}})"}< |