Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/diaspora/diaspora.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAugier <contact@c-henry.fr>2016-10-01 10:18:18 +0300
committerSteffen van Bergerem <svbergerem@omgsrsly.net>2016-10-18 16:37:23 +0300
commit8c90e5ac46d633e91fa3c7db8a8d82f5f84ce9ea (patch)
tree97bdd3dc6403e528751622fa166e27ad1eb6264c /app/assets
parent0559932f5d9357824d946959a2465f34f949a058 (diff)
Search suggestion can be opened in a new tab + displays contact's hovercard
closes #7134
Diffstat (limited to 'app/assets')
-rw-r--r--app/assets/javascripts/app/views/publisher/mention_view.js2
-rw-r--r--app/assets/javascripts/app/views/search_base_view.js8
-rw-r--r--app/assets/javascripts/app/views/search_view.js3
-rw-r--r--app/assets/stylesheets/typeahead.scss11
-rw-r--r--app/assets/templates/search_suggestion_tpl.jst.hbs17
5 files changed, 32 insertions, 9 deletions
diff --git a/app/assets/javascripts/app/views/publisher/mention_view.js b/app/assets/javascripts/app/views/publisher/mention_view.js
index b8f6143f5..75c0015ea 100644
--- a/app/assets/javascripts/app/views/publisher/mention_view.js
+++ b/app/assets/javascripts/app/views/publisher/mention_view.js
@@ -14,7 +14,7 @@ app.views.PublisherMention = app.views.SearchBase.extend({
"keydown #status_message_fake_text": "onInputBoxKeyDown",
"input #status_message_fake_text": "onInputBoxInput",
"click #status_message_fake_text": "onInputBoxClick",
- "blur #status_message_fake_text": "onInputBoxBlur",
+ "blur #status_message_fake_text": "onInputBoxBlur"
},
initialize: function() {
diff --git a/app/assets/javascripts/app/views/search_base_view.js b/app/assets/javascripts/app/views/search_base_view.js
index 5769c7fb8..44277b851 100644
--- a/app/assets/javascripts/app/views/search_base_view.js
+++ b/app/assets/javascripts/app/views/search_base_view.js
@@ -2,6 +2,7 @@ app.views.SearchBase = app.views.Base.extend({
initialize: function(options) {
this.ignoreDiasporaIds = [];
this.typeaheadInput = options.typeaheadInput;
+ this.suggestionLink = options.suggestionLink || false;
this.setupBloodhound(options);
if(options.customSearch) { this.setupCustomSearch(); }
this.setupTypeahead();
@@ -31,7 +32,7 @@ app.views.SearchBase = app.views.Base.extend({
bloodhoundOptions.remote = {
url: options.remoteRoute + ".json?q=%QUERY",
wildcard: "%QUERY",
- transform: this.transformBloodhoundResponse
+ transform: this.transformBloodhoundResponse.bind(this)
};
}
@@ -75,6 +76,7 @@ app.views.SearchBase = app.views.Base.extend({
// person
if(data.handle) {
data.person = true;
+ data.link = this.suggestionLink;
return data;
}
@@ -84,7 +86,7 @@ app.views.SearchBase = app.views.Base.extend({
name: data.name,
url: Routes.tag(data.name.substring(1))
};
- });
+ }.bind(this));
},
_deselectAllSuggestions: function() {
@@ -106,5 +108,5 @@ app.views.SearchBase = app.views.Base.extend({
ignorePersonForSuggestions: function(person) {
if(person.handle) { this.ignoreDiasporaIds.push(person.handle); }
- },
+ }
});
diff --git a/app/assets/javascripts/app/views/search_view.js b/app/assets/javascripts/app/views/search_view.js
index 254bcb071..b2486659b 100644
--- a/app/assets/javascripts/app/views/search_view.js
+++ b/app/assets/javascripts/app/views/search_view.js
@@ -10,7 +10,8 @@ app.views.Search = app.views.SearchBase.extend({
this.searchInput = this.$("#q");
app.views.SearchBase.prototype.initialize.call(this, {
typeaheadInput: this.searchInput,
- remoteRoute: this.$el.attr("action")
+ remoteRoute: this.$el.attr("action"),
+ suggestionLink: true
});
this.searchInput.on("typeahead:select", this.suggestionSelected);
},
diff --git a/app/assets/stylesheets/typeahead.scss b/app/assets/stylesheets/typeahead.scss
index 7f427c097..af635352b 100644
--- a/app/assets/stylesheets/typeahead.scss
+++ b/app/assets/stylesheets/typeahead.scss
@@ -31,4 +31,15 @@
padding: 8px 20px;
.name { line-height: 25px; }
}
+
+ &.search-suggestion-person,
+ &.search-suggestion-hashtag {
+ display: block;
+
+ &:hover,
+ *:hover {
+ color: $white;
+ text-decoration: none;
+ }
+ }
}
diff --git a/app/assets/templates/search_suggestion_tpl.jst.hbs b/app/assets/templates/search_suggestion_tpl.jst.hbs
index a2c734cab..1eaedc9d7 100644
--- a/app/assets/templates/search_suggestion_tpl.jst.hbs
+++ b/app/assets/templates/search_suggestion_tpl.jst.hbs
@@ -1,13 +1,22 @@
{{#if person}}
- <div class="search-suggestion-person">
+ {{#if link}}
+ <a class="search-suggestion-person" href="{{ url }}">
+ {{else}}
+ <div class="search-suggestion-person">
+ {{/if}}
{{#if avatar}}
<img src="{{ avatar }}" class="avatar pull-left">
{{/if}}
<div class="name">{{ name }}</div>
<div class="diaspora-id">{{ handle }}</div>
- </div>
+ {{#if link}}
+ </a>
+ {{else}}
+ </div>
+ {{/if}}
+
{{else}}{{#if hashtag}}
- <div class="search-suggestion-hashtag">
+ <a class="search-suggestion-hashtag" href="{{ url }}">
<div class="name">{{ name }}</div>
- </div>
+ </a>
{{/if}}{{/if}}