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:
@@ -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();
|
||||
}
|
||||
|
||||
});
|
||||
|
Reference in New Issue
Block a user