mirror of
https://github.com/wekan/wekan.git
synced 2026-03-03 20:30:15 +01:00
Enforce a consistent ES6 coding style
Replace the old (and broken) jshint + jscsrc by eslint and configure it to support some of the ES6 features. The command `eslint` currently has one error which is a bug that was discovered by its static analysis and should be fixed (usage of a dead object).
This commit is contained in:
parent
039cfe7edf
commit
b3851817ec
60 changed files with 1604 additions and 1692 deletions
|
|
@ -1,11 +1,11 @@
|
|||
var passwordField = AccountsTemplates.removeField('password');
|
||||
var emailField = AccountsTemplates.removeField('email');
|
||||
const passwordField = AccountsTemplates.removeField('password');
|
||||
const emailField = AccountsTemplates.removeField('email');
|
||||
AccountsTemplates.addFields([{
|
||||
_id: 'username',
|
||||
type: 'text',
|
||||
displayName: 'username',
|
||||
required: true,
|
||||
minLength: 2
|
||||
minLength: 2,
|
||||
}, emailField, passwordField]);
|
||||
|
||||
AccountsTemplates.configure({
|
||||
|
|
@ -15,36 +15,34 @@ AccountsTemplates.configure({
|
|||
enablePasswordChange: true,
|
||||
sendVerificationEmail: true,
|
||||
showForgotPasswordLink: true,
|
||||
onLogoutHook: function() {
|
||||
var homePage = 'home';
|
||||
onLogoutHook() {
|
||||
const homePage = 'home';
|
||||
if (FlowRouter.getRouteName() === homePage) {
|
||||
FlowRouter.reload();
|
||||
} else {
|
||||
FlowRouter.go(homePage);
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
_.each(['signIn', 'signUp', 'resetPwd', 'forgotPwd', 'enrollAccount'],
|
||||
function(routeName) {
|
||||
AccountsTemplates.configureRoute(routeName);
|
||||
});
|
||||
(routeName) => AccountsTemplates.configureRoute(routeName));
|
||||
|
||||
// We display the form to change the password in a popup window that already
|
||||
// have a title, so we unset the title automatically displayed by useraccounts.
|
||||
AccountsTemplates.configure({
|
||||
texts: {
|
||||
title: {
|
||||
changePwd: ''
|
||||
}
|
||||
}
|
||||
changePwd: '',
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
AccountsTemplates.configureRoute('changePwd', {
|
||||
redirect: function() {
|
||||
redirect() {
|
||||
// XXX We should emit a notification once we have a notification system.
|
||||
// Currently the user has no indication that his modification has been
|
||||
// applied.
|
||||
Popup.back();
|
||||
}
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,13 +1,53 @@
|
|||
Blaze.registerHelper('currentBoard', function() {
|
||||
var boardId = Session.get('currentBoard');
|
||||
Blaze.registerHelper('currentBoard', () => {
|
||||
const boardId = Session.get('currentBoard');
|
||||
if (boardId) {
|
||||
return Boards.findOne(boardId);
|
||||
}
|
||||
});
|
||||
|
||||
Blaze.registerHelper('currentCard', function() {
|
||||
var cardId = Session.get('currentCard');
|
||||
Blaze.registerHelper('currentCard', () => {
|
||||
const cardId = Session.get('currentCard');
|
||||
if (cardId) {
|
||||
return Cards.findOne(cardId);
|
||||
}
|
||||
});
|
||||
|
||||
Blaze.registerHelper('getUser', (userId) => Users.findOne(userId));
|
||||
|
||||
// XXX I believe we should compute a HTML rendered field on the server that
|
||||
// would handle markdown, emojies and user mentions. We can simply have two
|
||||
// fields, one source, and one compiled version (in HTML) and send only the
|
||||
// compiled version to most users -- who don't need to edit.
|
||||
// In the meantime, all the transformation are done on the client using the
|
||||
// Blaze API.
|
||||
const at = HTML.CharRef({html: '@', str: '@'});
|
||||
Blaze.Template.registerHelper('mentions', new Template('mentions', function() {
|
||||
const view = this;
|
||||
const currentBoard = Session.get('currentBoard');
|
||||
const knowedUsers = _.map(currentBoard.members, (member) => {
|
||||
member.username = Users.findOne(member.userId).username;
|
||||
return member;
|
||||
});
|
||||
const mentionRegex = /\B@(\w*)/gi;
|
||||
let content = Blaze.toHTML(view.templateContentBlock);
|
||||
|
||||
let currentMention, knowedUser, href, linkClass, linkValue, link;
|
||||
while (Boolean(currentMention = mentionRegex.exec(content))) {
|
||||
|
||||
knowedUser = _.findWhere(knowedUsers, { username: currentMention[1] });
|
||||
if (!knowedUser)
|
||||
continue;
|
||||
|
||||
linkValue = [' ', at, knowedUser.username];
|
||||
// XXX We need to convert to flow router
|
||||
href = Router.url('Profile', { username: knowedUser.username });
|
||||
linkClass = 'atMention';
|
||||
if (knowedUser.userId === Meteor.userId())
|
||||
linkClass += ' me';
|
||||
link = HTML.A({ href, 'class': linkClass }, linkValue);
|
||||
|
||||
content = content.replace(currentMention[0], Blaze.toHTML(link));
|
||||
}
|
||||
|
||||
return HTML.Raw(content);
|
||||
}));
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
// XXX Since Blaze doesn't have a clean high component API, component API are
|
||||
// also tweaky to use. I guess React would be a solution.
|
||||
ReactiveTabs.createInterface({
|
||||
template: 'basicTabs'
|
||||
});
|
||||
const template = 'basicTabs';
|
||||
ReactiveTabs.createInterface({ template });
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ FlowRouter.triggers.exit([({path}) => {
|
|||
FlowRouter.route('/', {
|
||||
name: 'home',
|
||||
triggersEnter: [AccountsTemplates.ensureSignedIn],
|
||||
action: function() {
|
||||
action() {
|
||||
Session.set('currentBoard', null);
|
||||
Session.set('currentCard', null);
|
||||
|
||||
|
|
@ -14,14 +14,14 @@ FlowRouter.route('/', {
|
|||
EscapeActions.executeAll();
|
||||
|
||||
BlazeLayout.render('defaultLayout', { content: 'boardList' });
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
FlowRouter.route('/b/:id/:slug', {
|
||||
name: 'board',
|
||||
action: function(params) {
|
||||
let currentBoard = params.id;
|
||||
let previousBoard = Session.get('currentBoard');
|
||||
action(params) {
|
||||
const currentBoard = params.id;
|
||||
const previousBoard = Session.get('currentBoard');
|
||||
Session.set('currentBoard', currentBoard);
|
||||
Session.set('currentCard', null);
|
||||
|
||||
|
|
@ -32,57 +32,57 @@ FlowRouter.route('/b/:id/:slug', {
|
|||
}
|
||||
|
||||
BlazeLayout.render('defaultLayout', { content: 'board' });
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
FlowRouter.route('/b/:boardId/:slug/:cardId', {
|
||||
name: 'card',
|
||||
action: function(params) {
|
||||
action(params) {
|
||||
Session.set('currentBoard', params.boardId);
|
||||
Session.set('currentCard', params.cardId);
|
||||
|
||||
EscapeActions.executeUpTo('inlinedForm');
|
||||
|
||||
BlazeLayout.render('defaultLayout', { content: 'board' });
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
FlowRouter.route('/shortcuts', {
|
||||
name: 'shortcuts',
|
||||
action: function(params) {
|
||||
action() {
|
||||
const shortcutsTemplate = 'keyboardShortcuts';
|
||||
|
||||
EscapeActions.executeUpTo('popup-close');
|
||||
|
||||
if (previousPath) {
|
||||
Modal.open(shortcutsTemplate, {
|
||||
onCloseGoTo: previousPath
|
||||
onCloseGoTo: previousPath,
|
||||
});
|
||||
} else {
|
||||
// XXX There is currently no way to escape this page on Sandstorm
|
||||
BlazeLayout.render('defaultLayout', { content: shortcutsTemplate });
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
FlowRouter.notFound = {
|
||||
action: function() {
|
||||
action() {
|
||||
BlazeLayout.render('defaultLayout', { content: 'notFound' });
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
// We maintain a list of redirections to ensure that we don't break old URLs
|
||||
// when we change our routing scheme.
|
||||
var redirections = {
|
||||
const redirections = {
|
||||
'/boards': '/',
|
||||
'/boards/:id/:slug': '/b/:id/:slug',
|
||||
'/boards/:id/:slug/:cardId': '/b/:id/:slug/:cardId'
|
||||
'/boards/:id/:slug/:cardId': '/b/:id/:slug/:cardId',
|
||||
};
|
||||
|
||||
_.each(redirections, function(newPath, oldPath) {
|
||||
_.each(redirections, (newPath, oldPath) => {
|
||||
FlowRouter.route(oldPath, {
|
||||
triggersEnter: [function(context, redirect) {
|
||||
triggersEnter: [(context, redirect) => {
|
||||
redirect(FlowRouter.path(newPath, context.params));
|
||||
}]
|
||||
}],
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue