mirror of
https://github.com/flarum/core.git
synced 2025-10-15 00:44:40 +02:00
- 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!
41 lines
1.0 KiB
JavaScript
41 lines
1.0 KiB
JavaScript
import Ember from 'ember';
|
|
|
|
export default Ember.Component.extend({
|
|
classNames: ['search-input'],
|
|
classNameBindings: ['active', 'value:clearable'],
|
|
|
|
layoutName: 'components/ui/controls/search-input',
|
|
|
|
didInsertElement: function() {
|
|
var self = this;
|
|
this.$().find('input').on('keydown', function(e) {
|
|
if (e.which == 27) {
|
|
self.clear();
|
|
}
|
|
});
|
|
this.$().find('.clear').on('mousedown', function(e) {
|
|
e.preventDefault();
|
|
}).on('click', function(e) {
|
|
e.preventDefault();
|
|
self.clear();
|
|
})
|
|
},
|
|
|
|
clear: function() {
|
|
this.set('value', '');
|
|
this.send('search');
|
|
this.$().find('input').focus();
|
|
},
|
|
|
|
willDestroyElement: function() {
|
|
this.$().find('input').off('keydown');
|
|
this.$().find('.clear').off('mousedown click');
|
|
},
|
|
|
|
actions: {
|
|
search: function() {
|
|
this.get('action')(this.get('value'));
|
|
}
|
|
}
|
|
});
|