summaryrefslogtreecommitdiffstats
path: root/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/with_filters.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/with_filters.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/with_filters.js b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/with_filters.js
new file mode 100644
index 0000000000..b172798e1e
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/Speedometer/resources/todomvc/dependency-examples/flight/flight/app/js/ui/with_filters.js
@@ -0,0 +1,26 @@
+/*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 });
+ });
+ };
+});