1
0
mirror of https://github.com/flarum/core.git synced 2025-08-06 16:36:47 +02:00

Implement redesign, refactor everything

- Write CSS for everything, update templates.
- Refactor discussion view. Stream is split into two components
(content and scrubber) which have their own responsibilities.
- Extract pane functionality into a mixin.
- Implement global “back button” system. You give a “paneable” target
to the application controller, the back button will modulate its
pane-related properties as necessary, and call an action when the
button is clicked.
- Extract welcome-hero into its own component.
- Lots of other general improvements/refactoring. The code is quite
well-commented so take a look!
This commit is contained in:
Toby Zerner
2015-01-16 17:26:10 +10:30
parent d204ca87cf
commit 74e80ea2df
69 changed files with 2564 additions and 1334 deletions

View File

@@ -3,35 +3,36 @@ import Ember from 'ember';
export default Ember.View.extend({
classNames: ['composer'],
classNameBindings: ['controller.showing:showing'],
showingChanged: function() {
if (this.$()) {
var view = this;
this.$().animate({bottom: this.get('controller.showing') ? 20 : -this.$().height()}, 'fast', function() {
if (view.get('controller.showing')) {
$(this).find('textarea').focus();
}
});
$('#body').animate({marginBottom: this.get('controller.showing') ? this.$().height() + 20 : 0}, 'fast');
}
}.observes('controller.showing'),
// classNameBindings: ['controller.showing:showing'],
panePinnedChanged: function() {
if (this.$()) {
var discussions = this.get('controller.controllers.discussions');
var $this = this.$();
Ember.run.scheduleOnce('afterRender', function() {
var discussion = $('.discussion-pane');
var width = discussion.length ? discussion.offset().left : $('#body').offset().left;
$this.css('left', width);
});
}
}.observes('controller.controllers.discussions.paned', 'controller.controllers.discussions.panePinned'),
// showingChanged: function() {
// if (this.$()) {
// var view = this;
// this.$().animate({bottom: this.get('controller.showing') ? 20 : -this.$().height()}, 'fast', function() {
// if (view.get('controller.showing')) {
// $(this).find('textarea').focus();
// }
// });
// $('#body').animate({marginBottom: this.get('controller.showing') ? this.$().height() + 20 : 0}, 'fast');
// }
// }.observes('controller.showing'),
// panePinnedChanged: function() {
// if (this.$()) {
// var discussions = this.get('controller.controllers.discussions');
// var $this = this.$();
// Ember.run.scheduleOnce('afterRender', function() {
// var discussion = $('.discussion-pane');
// var width = discussion.length ? discussion.offset().left : $('#body').offset().left;
// $this.css('left', width);
// });
// }
// }.observes('controller.controllers.discussions.paned', 'controller.controllers.discussions.panePinned'),
didInsertElement: function() {
this.showingChanged();
this.panePinnedChanged();
// this.showingChanged();
// this.panePinnedChanged();
}
});