aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2015-08-29 23:59:47 +0900
committerKazuki Yamaguchi <k@rhe.jp>2015-08-29 23:59:47 +0900
commit5784f4537fb95d25b6b1fcfb1001227b7f8d6045 (patch)
tree5ae3c4af3beda6cf8e0719976fe3ce2e0f7eaa3c /app
parentb8f746b4bd03399fda22da22fe8c15651d060451 (diff)
downloadaclog-5784f4537fb95d25b6b1fcfb1001227b7f8d6045.tar.gz
web: pass request parameter to HTML
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/controllers/tweets.js9
-rw-r--r--app/assets/javascripts/shared/helpers.js.erb14
-rw-r--r--app/helpers/application_helper.rb3
-rw-r--r--app/views/shared/templates/_tweet.html.haml2
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}})"}<