work-in-progress full page search

This commit is contained in:
Sam
2015-04-02 16:02:07 +11:00
parent 2843224e80
commit 4dbd065026
8 changed files with 48 additions and 6 deletions
@@ -1,11 +1,25 @@
import DiscourseController from 'discourse/controllers/controller';
export default DiscourseController.extend({
needs: ['discovery', 'discovery/topics'],
categories: function() {
return Discourse.Category.list();
}.property(),
navItems: function() {
return Discourse.NavItem.buildList();
}.property()
return Discourse.NavItem.buildList(null, {filterMode: this.get('filterMode')});
}.property('filterMode'),
isSearch: Em.computed.equal('filterMode', 'search'),
searchTerm: Em.computed.alias('controllers.discovery/topics.model.params.search'),
actions: {
search: function(){
var discovery = this.get('controllers.discovery/topics');
var model = discovery.get('model');
discovery.set('search', this.get("searchTerm"));
model.refreshSort();
}
}
});
@@ -84,7 +84,15 @@ Discourse.NavItem.reopenClass({
args = args || {};
if (category) { args.category = category }
return Discourse.SiteSettings.top_menu.split("|").map(function(i) {
var items = Discourse.SiteSettings.top_menu.split("|");
if (args.filterMode && !_.some(items, function(i){
return i.indexOf(args.filterMode) !== -1;
})) {
items.push(args.filterMode);
}
return items.map(function(i) {
return Discourse.NavItem.fromText(i, args);
}).filter(function(i) {
return i !== null && !(category && i.get("name").indexOf("categor") === 0);
@@ -41,8 +41,8 @@ Discourse.TopicList = Discourse.Model.extend({
var self = this,
params = this.get('params');
params.order = order;
params.ascending = ascending;
params.order = order || params.order;
params.ascending = ascending || params.ascending || true;
this.set('loaded', false);
var finder = finderFor(this.get('filter'), params);
@@ -1,3 +1,9 @@
{{#if isSearch}}
<div class="search row">
{{input type="text" value=searchTerm class="input-xxlarge search" action="search"}}
<button {{action "search"}} class="btn btn-primary"><i class='fa fa-search'></i></button>
</div>
{{else}}
{{bread-crumbs categories=categories}}
<ul class="nav nav-pills" id='navigation-bar'>
@@ -10,3 +16,4 @@
{{#if canCreateTopic}}
<button id="create-topic" class='btn btn-default' {{action "createTopic"}}><i class='fa fa-plus'></i>{{i18n 'topic.create'}}</button>
{{/if}}
{{/if}}