szurubooru/client/js/views/top_navigation_view.js
rr- 54e3099c56 client/general: refactor control flow
- Controller lifetime is bound to route lifetime
- View lifetime is bound to controller lifetime
- Control lifetime is bound to view lifetime
- Enhanced event dispatching
- Enhanced responsiveness in some places
- Views communicate user input to controllers via new event system
2016-06-18 10:35:20 +02:00

24 lines
592 B
JavaScript

'use strict';
const views = require('../util/views.js');
const template = views.getTemplate('top-navigation');
class TopNavigationView {
constructor() {
this._hostNode = document.getElementById('top-navigation-holder');
}
render(ctx) {
views.replaceContent(this._hostNode, template(ctx));
}
activate(key) {
for (let itemNode of this._hostNode.querySelectorAll('[data-name]')) {
itemNode.classList.toggle(
'active', itemNode.getAttribute('data-name') === key);
}
}
}
module.exports = TopNavigationView;