1
0
mirror of https://github.com/flarum/core.git synced 2025-10-21 19:56:29 +02:00

Big component restructure/overhaul

This commit is contained in:
Toby Zerner
2015-01-03 21:51:47 +10:30
parent 0ed141d49e
commit f62e8e2541
44 changed files with 262 additions and 352 deletions

View File

@@ -1,13 +1,13 @@
import Ember from 'ember';
import DropdownSelect from '../components/dropdown-select';
import ButtonItem from '../components/button-item';
import NavItem from '../components/nav-item';
import Menu from '../utils/menu';
import DropdownSelect from '../components/ui/controls/dropdown-select';
import ActionButton from '../components/ui/controls/action-button';
import NavItem from '../components/ui/items/nav-item';
import TaggedArray from '../utils/tagged-array';
export default Ember.View.extend({
sidebarView: Ember.ContainerView.extend(),
sidebarItems: null,
classNameBindings: ['pinned'],
@@ -17,7 +17,9 @@ export default Ember.View.extend({
didInsertElement: function() {
this.trigger('populateSidebar', this.get('sidebar'));
var sidebarItems = TaggedArray.create();
this.trigger('populateSidebar', sidebarItems);
this.set('sidebarItems', sidebarItems);
var view = this;
@@ -58,44 +60,37 @@ export default Ember.View.extend({
});
},
setupSidebar: function(sidebar) {
sidebar.pushObject(ButtonItem.create({
populateSidebarDefault: function(sidebar) {
var newDiscussion = ActionButton.create({
title: 'Start a Discussion',
icon: 'edit',
class: 'btn-primary'
}));
})
sidebar.pushObjectWithTag(newDiscussion, 'newDiscussion');
var nav = Menu.create();
var nav = TaggedArray.create();
this.trigger('populateNav', nav);
sidebar.pushObject(DropdownSelect.create({
items: nav
}));
sidebar.pushObjectWithTag(DropdownSelect.createWithItems(nav), 'nav');
}.on('populateSidebar'),
setupNav: function(nav) {
nav.addItem('all', NavItem.create({
populateNavDefault: function(nav) {
nav.pushObjectWithTag(NavItem.create({
title: 'All Discussions',
icon: 'comments-o',
linkTo: '"discussions" (query-params filter="")'
}));
}), 'all');
nav.addItem('private', NavItem.create({
nav.pushObjectWithTag(NavItem.create({
title: 'Private',
icon: 'envelope-o',
linkTo: '"discussions" (query-params filter="private")'
}));
}), 'private');
nav.addItem('following', NavItem.create({
nav.pushObjectWithTag(NavItem.create({
title: 'Following',
icon: 'star',
linkTo: '"discussions" (query-params filter="following")'
}));
nav.addItem('categories', NavItem.create({
title: 'Categories',
icon: 'reorder',
linkTo: '"categories"'
}));
}), 'following');
}.on('populateNav'),
willDestroyElement: function() {