Display the board name in the page title

Fixes #364
reviewable/pr369/r1
Maxime Quandalle 10 years ago
parent aa974aa54a
commit b9d20e04f2
  1. 1
      .eslintrc
  2. 1
      .meteor/packages
  3. 2
      .meteor/versions
  4. 23
      client/config/router.js

@ -78,6 +78,7 @@ globals:
Avatars: true
BlazeComponent: false
BlazeLayout: false
DocHead: false
ESSearchResults: false
FlowRouter: false
FS: false

@ -50,6 +50,7 @@ alethes:pages
arillo:flow-router-helpers
audit-argument-checks
kadira:blaze-layout
kadira:dochead
kadira:flow-router
meteorhacks:picker
meteorhacks:subs-manager

@ -60,7 +60,9 @@ http@1.1.1
id-map@1.0.4
idmontie:migrations@1.0.0
jquery@1.11.4
jsx@0.1.6
kadira:blaze-layout@2.2.0
kadira:dochead@1.1.0
kadira:flow-router@2.7.0
kenton:accounts-sandstorm@0.1.6
launch-screen@1.0.4

@ -88,3 +88,26 @@ _.each(redirections, (newPath, oldPath) => {
}],
});
});
// As it is not possible to use template helpers in the page <head> we create a
// reactive function whose role is to set any page-specific tag in the <head>
// using the `kadira:dochead` package. Currently we only use it to display the
// board title if we are in a board page (see #364) but we may want to support
// some <meta> tags in the future.
const appTitle = 'Wekan';
// XXX The `Meteor.startup` should not be necessary -- we don't need to wait for
// the complete DOM to be ready to call `DocHead.setTitle`. But the problem is
// that the global variable `Boards` is undefined when this file loads so we
// wait a bit until hopefully all files are loaded. This will be fixed in a
// clean way once Meteor will support ES6 modules -- hopefully in Meteor 1.3.
Meteor.startup(() => {
Tracker.autorun(() => {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
const titleStack = [appTitle];
if (currentBoard) {
titleStack.push(currentBoard.title);
}
DocHead.setTitle(titleStack.reverse().join(' - '));
});
});

Loading…
Cancel
Save