mirror of
https://github.com/wekan/wekan.git
synced 2025-12-22 18:30:13 +01:00
The UI and the internal APIs are still rough around the edges but the feature is basically working. You can now select multiple cards and move them together or (un|)assign them a label.
51 lines
1.6 KiB
JavaScript
51 lines
1.6 KiB
JavaScript
// XXX Switch to Flow-Router?
|
||
var previousRoute;
|
||
|
||
Router.configure({
|
||
loadingTemplate: 'spinner',
|
||
notFoundTemplate: 'notfound',
|
||
layoutTemplate: 'defaultLayout',
|
||
|
||
onBeforeAction: function() {
|
||
var options = this.route.options;
|
||
|
||
var loggedIn = Tracker.nonreactive(function() {
|
||
return !! Meteor.userId();
|
||
});
|
||
|
||
// Redirect logged in users to Boards view when they try to open Login or
|
||
// signup views.
|
||
if (loggedIn && options.redirectLoggedInUsers) {
|
||
return this.redirect('Boards');
|
||
}
|
||
|
||
// Authenticated
|
||
if (! loggedIn && options.authenticated) {
|
||
return this.redirect('atSignIn');
|
||
}
|
||
|
||
Tracker.nonreactive(function() {
|
||
if (! options.noEscapeActions &&
|
||
! (previousRoute && previousRoute.options.noEscapeActions))
|
||
EscapeActions.executeAll();
|
||
});
|
||
|
||
previousRoute = this.route;
|
||
|
||
this.next();
|
||
}
|
||
});
|
||
|
||
// We want to execute our EscapeActions.executeLowerThan method any time the
|
||
// route is changed, but not if the stays the same but only the parameters
|
||
// change (eg when a user is navigation from a card A to a card B). This is why
|
||
// we can’t put this function in the above `onBeforeAction` that is being run
|
||
// too many times, instead we register a dependency only on the route name and
|
||
// use Tracker.autorun. The following paragraph explains the problem quite well:
|
||
// https://github.com/meteorhacks/flow-router#routercurrent-is-evil
|
||
// Tracker.autorun(function(computation) {
|
||
// routeName.get();
|
||
// if (! computation.firstRun) {
|
||
// EscapeActions.executeLowerThan('inlinedForm');
|
||
// }
|
||
// });
|