Commit graph

207 commits

Author SHA1 Message Date
David Renshaw
4b248151c3 always fall back to navigator.language if user.profile.language is not set 2016-11-15 15:03:12 -05:00
David Renshaw
f56c55e75c Wait until Meteor.startup() to set the language. 2016-11-15 15:03:12 -05:00
David Renshaw
1c206d0d36 Fix startup for clients using Finnish and Chinese. 2016-11-15 15:03:12 -05:00
Mario Orlicky
7ad74eb1b5 forgotten semicolon 2016-11-13 20:54:50 +01:00
Mario Orlicky
5a23c962d2 Filtering logic by empty labels/members 2016-11-13 20:38:14 +01:00
Felix Michels
82a5da61df Use the navigator's language properties even if a user exists but the user has not yet choosen a profile language. If the browser provides multiple preferred languages via navigator.languages, select the most-preferred one.
WKN-47
2016-10-19 15:57:14 +02:00
Maxime Quandalle
77069a36cd
Fix undefined variables errors 2016-07-21 11:19:52 +02:00
Maxime Quandalle
3ed00f3db7
Avoid <a> links redirections on inlinedForm
Fixes #647 (IE 11)
2016-07-20 11:33:51 +02:00
Prayag Verma
c7e457e63f Fix a typo (#515)
Remove extra `the`
2016-07-11 12:00:56 +02:00
Maxime Quandalle
e1d01e1652 Merge pull request #531 from TheElf/devel
Plural of Emoji
2016-03-18 17:14:10 +01:00
Maxime Quandalle
90601eacae Upgrade ESLint to v2
This commit also tweak the code style following backward-incompatible v2 rules.
2016-03-17 16:26:14 +01:00
Daniel
c05029d403 Changes in code to correct the spelling of emoji (plural) 2016-02-28 23:10:52 -06:00
Maxime Quandalle
a13fad749e Change the board import layout from a popup to a full page
This commit also removes the “import a single Trello card” as we couldn’t figure
out some reasonable use case.

We also create a new publication on the server to provide the minimal user
profile informations required to display an avatar.
2016-01-31 20:03:12 +01:00
Liming Xie
354eff9f7b add: support compact mode for mobile web, auto adapt to small screen/window 2015-12-17 14:23:35 +08:00
Maxime Quandalle
71b9a42f00 Allow the header bar customization
This commit also provide a way to escape the Shorcuts page on
Sandstorm.
2015-12-09 19:10:26 -05:00
Maxime Quandalle
da599a19ba Merge GitHub PR #387 2015-11-15 14:22:59 -08:00
floatinghotpot
eaf2afb44c add preview attached image, allow upload image from clipboard and drag & drp 2015-11-13 11:13:54 +08:00
Maxime Quandalle
5d77ad4f6b Finish the minicard editor auto-completion feature
This commit stands on the initial support implemented in #342. We now
avoid error-prone parsing step by adding the member or the label
directly to the card object.

We also added support for `Tab` to completion on our textComplete
component.

Closes #342
2015-11-08 23:17:24 -08:00
Maxime Quandalle
dd3cdf3945 Fix some bugs introduced in aa974aa
Yes Wekan need some tests. Yes I need to stop refactoring my code
when I’m halp-sleeping in my bed at 4am.
2015-10-29 23:17:21 +01:00
Maxime Quandalle
aa974aa54a Prefer ES5 methods over underscore utilities
Since 07cc454 (ie the switch to Meteor 1.2) we includes the `es5-shim`
polyfill to support methods like `Array.prototype.forEach` in a
consistent way across all supported browsers (IE8+).

MDG recently released a blog post recommending the use of these native
methods instead of underscore [0]. We know follow this recommendation.

This commit also favor some ES6 features (argument defaults,
destructing assignment) in places where we didn’t use them.

[0]: http://info.meteor.com/blog/es2015-get-started
2015-10-22 18:13:12 +02:00
Maxime Quandalle
944a1065d3 Add some ESLint rules and fix some related issues 2015-10-14 23:50:12 +02:00
Maxime Quandalle
3f7df340e1 Set some DOM transformation to fix some of the accessibility issues
See #337 for the complete rationale by @ndarilek -- thank you :)

Closes #338
2015-10-13 19:49:00 +02:00
Maxime Quandalle
8bbc69616f Abstract the jquery-textcomplete integration with EscapeActions
We now can re-use this integration in multiple places, this will be
useful for #342 for instance.
2015-10-13 18:36:58 +02:00
fisle
14b7213af4 Shortcut: F toggles filter sidebar 2015-09-19 16:46:49 +03:00
fisle
119d4b787d Shortcut: Spacebar assigns self to current card 2015-09-19 16:41:41 +03:00
Maxime Quandalle
45b662a1dd Centralize all mutations at the model level
This commit uses a new package that I need to document. It tries to
solve the long-standing debate in the Meteor community about
allow/deny rules versus methods (RPC).

This approach gives us both the centralized security rules of
allow/deny and the white-list of allowed mutations similarly to Meteor
methods. The idea to have static mutation descriptions is also
inspired by Facebook's Relay/GraphQL.

This will allow the development of a REST API using the high-level
methods instead of the MongoDB queries to do the mapping between the
HTTP requests and our collections.
2015-09-08 20:19:42 +02:00
Maxime Quandalle
74fba0a817 Fix a recurrent English typo 2015-09-06 22:47:29 +02:00
Maxime Quandalle
b3851817ec 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).
2015-09-03 23:12:46 +02:00
Maxime Quandalle
9961de9c30 Update translation source file 2015-09-01 14:38:07 +02:00
Maxime Quandalle
d644cba38f Replace the component bounded cachedValue by a global UnsavedEdits
This new draft saving system is currently only implemented for the
card description and comment. We need better a component
inheritance/composition model to support this for all editable fields.

Fixes #186
2015-08-31 15:52:16 +02:00
Maxime Quandalle
5eb67e803a Implement click-and-drag integration to translate the board canvas
Fixes #232
2015-08-28 03:35:18 +02:00
Maxime Quandalle
35d1d6b463 Display keyboard shortcuts on a modal
Fixes #241
2015-08-28 00:41:50 +02:00
Maxime Quandalle
31c4aa01bd Open a modal (or a new page) based on context
This feature is also sometime named the Pinterest-style route, which is further explained in this react-router example:

  cf0419f70e/examples/pinterest
2015-08-28 00:39:18 +02:00
Maxime Quandalle
48ac8b026f Implement board archive and restoration 2015-08-26 19:59:44 +02:00
Maxime Quandalle
9faaf07e02 Implement a modal system
I decided to create my own and not to use a community package, because
1. it's straightforward
2. it's better integrated with our others libs such as EscapeActions
3. monitoring third-party packages evolutions (eg, CSS changes) is a
   lot of work.

This is basically the same rationale than for our other generic UI
components such as the Popup/Popover.

This commit also slightly modify the general layout to remove
unnecessary wrapper DOM nodes.
2015-08-26 16:49:41 +02:00
Maxime Quandalle
46a5e08aa7 ES6ify our Popup library
This is an experiment about the implications of ES6 transpilation in
our code base.

We should also define a new ES6 style guide and a jsHint
configuration, for instance semi-colons are automatically inserted at
the end of lines, so we may remove them. We also need to figure which
ES6 features we want to use, currently I have followed Meteor-core
guidance which is reasonable.
2015-08-26 16:39:09 +02:00
Maxime Quandalle
60712e1ac4 Fix EscapeActions click in handling
Fixes a bug introduced in 07cc454 and one introduced in 22e854c.
2015-08-25 23:40:57 +02:00
Maxime Quandalle
22e854cc30 Fix a type: document -> document.body
Does that fix #176?
2015-08-25 20:31:14 +02:00
Maxime Quandalle
07cc454b41 Upgrade meteor to 1.2-rc.4 and package versions
The new version of meteor speeds up the reload cycle, which is super
valuable during the development. I also removed the "imply-everything"
"meteor-platform" package in favor of a more fined-grained package
selection.

This version also introduces ES6 support with transparent babeljs
transpilation. Most features are enable (with the notable exception of
ES6 modules) and this commit started to use them in places where a XXX
comment suggested it.
2015-08-25 18:08:04 +02:00
Maxime Quandalle
d2af2ed521 Close the Popup when all escape actions are executed 2015-08-23 11:12:04 +02:00
Maxime Quandalle
d5eec54c72 Start the migration from iron-router to flow-router
Motivations:

* Iron-Router foces us to use Tracker.nonreactive black magic in order
  to avoid un-necessary re-renders;
* There is a community consensus (supported by some MDG members) that
  the flow-router API is easier to reason about;
* The useraccounts now supports flow router (that was a blocking
  element when I considered the switch ~3months ago)

On the server we use the Picker router, as encouraged by the Kadira
team (which develop both Flow and Picker routers).

In the current state of things there are some bugs related to the
missing Loading architecure. Previously onRendered callback where
always called when the data the component needed was available, now
we have to handle this ourselves, which we will in a following commit.
2015-08-23 11:11:03 +02:00
Maxime Quandalle
8cf9ec2660 Allow a user to edit its profile or avatar from a member popover
Fixes the data context on the member popover in the details pane. Also
change the way Popover detect if the click is initiated from a parent
popover -- from reading Blaze context, to looking at the event target
parents.
2015-06-19 14:39:38 +02:00
Maxime Quandalle
5478fc93db Improve the multi-selection experience
New features:
- select all filtered cards
- assign or unassign a member to selected cards
- archive selected cards

This commit also fix the card sort indexes calculation when a multi-
selection is drag-dropped.
2015-06-16 14:30:21 +02:00
Maxime Quandalle
c894567987 Work on the card activities and comments
This commit also introduces a new CSSEvents object that is used to
abstract vendor specifics events related to CSS transitions and
animations.

Fixes #183.
Fixes #179.
2015-06-12 17:48:15 +02:00
Maxime Quandalle
216887490e Fix card title edition
Closes #184
2015-06-11 12:35:08 +02:00
Maxime Quandalle
0b6c229b6c Define the popup translation in the stylesheet, not in the JS code
This allows us to autoprexfix the property, which is needed for Safari
support (see http://caniuse.com/#feat=transforms2d).

Fixes #178.
2015-06-09 17:41:55 +02:00
Maxime Quandalle
98d7278d08 Add a UI to restore archived cards 2015-06-07 18:55:26 +02:00
Maxime Quandalle
92dd05d06d Click on the page to escape the last action
This is a generalization of what we had for closing a popup by
clicking outside of it. It now works for inlinedForms and detailsPane
as well.
2015-06-07 10:34:19 +02:00
Maxime Quandalle
56a240a643 Maintain a visual indication of the popup openerElement 2015-06-06 10:15:54 +02:00
Maxime Quandalle
7f6929608c Work on the user account system
Allow a user to modifies its name, username, initials, and password.

Fixes username handling on sandstorm.

Fixes #149.
2015-06-03 06:46:41 +02:00