| /*global define, $ */ |
| 'use strict'; |
| |
| define(function () { |
| return function withFilters() { |
| this.attributes({ |
| filterSelector: '#filters a' |
| }); |
| |
| this.chooseFilter = function (e, data) { |
| var filter = data.el.hash.slice(2); |
| |
| this.select('filterSelector').removeClass('selected'); |
| $(data.el).addClass('selected'); |
| this.trigger('uiFilterRequested', { filter: filter }); |
| }; |
| |
| this.markSelected = function (filter) { |
| this.$node.find('[href="#/' + filter + '"]').addClass('selected'); |
| }; |
| |
| this.after('initialize', function () { |
| this.on('click', { filterSelector: this.chooseFilter }); |
| }); |
| }; |
| }); |