Commit graph

35 commits

Author SHA1 Message Date
nztqa
c31d7455f7 Optimize for mobile web, show single list per page with navigate bar 2017-11-29 17:06:33 +09:00
Ivan Radeljic
402a2b8f93 No need for Array.prototype if using rest operator 2017-03-16 08:06:41 +01:00
Alexander Sulfrian
43f3a2f3d5 Fix untranslated watch/unwatch for gecko (#606)
In the Gecko JavaScript engine the Object prototype has a method
'watch()' and 'unwatch()'. This causes strange error messages displayed,
if 'watch' and 'unwatch' are not translated in the chosen localization.
The i18n module cannot handle, if it gets a function for the
translation.

This is a quick fix that removes the 'watch' and 'unwatch' properties
from the Object prototype.

See also: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object/watch
2016-07-19 02:17:15 +02: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
Maxime Quandalle
6dc7404f23 Share the router configuration between the client and the server 2015-12-28 23:13:20 +01:00
Maxime Quandalle
592aa6d576 Partially revert aae5030
As discussed in #370 and announced in the official Eslint-meteor
plugin repository (https://github.com/dferber90/eslint-plugin-meteor),
it is recommended to not use this plugin anymore has the author has it
is currently broken and the author has abandoned it.
2015-12-24 13:13:05 +01: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
e551d067b1 Share the useraccounts configuration with the server
The previous users accounts templates configuration only happened on
the client, which was wrong and caused some bugs, for instance an
invalid URL was generated in the reset password e-mail.

Fixes #297
2015-11-02 18:47:06 -08:00
Maxime Quandalle
b9d20e04f2 Display the board name in the page title
Fixes #364
2015-10-22 18:13:16 +02: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
15ebfa63c6 Translate the label colors 2015-10-15 00:52:32 +02:00
Maxime Quandalle
cad7741b54 Fix the draft saving feature on card switching 2015-09-10 19:11:19 +02:00
Maxime Quandalle
dd95ecba98 Fix some dead links
This commit fixes the download link in the activity feed on the
sidebar and the mention link on card description and comments
(replaced by a popup).

`eslint .` now passes without any error or warning.

Fixes #286
2015-09-06 23:42:52 +02:00
Maxime Quandalle
6a92963e2a Force popup closing when closing the detailed card pane
Fixes #283
2015-09-04 16:30:33 +02:00
Maxime Quandalle
521e661dcb Change our presence package
tmeasday:presence was doing unnecessary ping calls to the server every
5 seconds instead of using the status of the DDP connection (this
could save a fair amount of traffic in case of important server load).

I guess this change also fixes #221, but since no issue reproduction
was provided, it's difficult to tell.
2015-09-04 01:44:10 +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
0ce381aa0a Fix the horizontal canvas scrolling on card opening 2015-08-31 23:27:31 +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
b5dabfe886 More explicit file names 2015-08-28 02:25:26 +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
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
f03fee5162 Lower the required usernames length from 5 to 2
Both the previous and the new value are completely arbitrary but some
users suggested that we reject names like "Li" for no good reason,
especially on private boards, cf #202.

Hopefully one day we'll have an administrator configuration panel.

Fixes #202
Closes #210
2015-08-23 21:24:26 +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
04bfbd5bd1 Implement list restoration 2015-08-22 02:06:49 +02:00
Maxime Quandalle
4fc72d64b4 Upgrade dependencies
This includes a security fix in mquandalle:bower, and a new package
for useraccounts iron-router templates which forced us to move some
configuration function calls.
2015-08-22 01:05:09 +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
46cc691534 Re-factor the avatar system and support avatar uploads
The user is now able to upload an avatar, and pick one in a list.

This functionality should eventually be abstracted in a community
package but we still need to work on a great public API. We rely on
collectionFS to manage uploaded avatars. We also removed
bengott:avatar which was trying to solve the wrong problem (namely
displaying the avatar, which is as simple as displaying an image), and
not a avatar system as it should be.

Gravatar support is coming (back) soon. We may also want to have a
list of default fun avatars the user can choose instead of uploading
its own one.
2015-06-09 15:57:45 +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
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
Maxime Quandalle
f4c80d1315 Implement presence indicators 2015-05-30 15:50:48 +02:00
Maxime Quandalle
2c0030da62 Implement multi-selection
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.
2015-05-30 03:50:14 +02:00
Maxime Quandalle
40c2411f2a Implement a new system to handle "escape actions"
The new EscapeActions object decide what to do when the user press the
Escape key (such as closing a opened popup or inlined form).

This commit also re-introduced the sidebar current view as a sidebar
component local state.
2015-05-26 20:34:56 +02:00
Maxime Quandalle
781577db04 Experiment new ergonomics to interact with card details
The idea is that by displaying card details in a sidebar stuck on the
right of the screen, the mouse had to travel too much before
interacting with it. I also don’t want to use the Trello solution
(modal) on big screens, because I like the ability to interact with
the selected card and with the board at the same time (like in a
e-mail client).

The solution introduced in this commit consist of opening the card
detail in a column next to the minicard list.

This commit also fix right sidebar members and labels drag and drop.
2015-05-24 22:11:40 +02:00
Maxime Quandalle
2dbea30842 Renaissance
_,,ad8888888888bba,_
                  ,ad88888I888888888888888ba,
                ,88888888I88888888888888888888a,
              ,d888888888I8888888888888888888888b,
             d88888PP"""" ""YY88888888888888888888b,
           ,d88"'__,,--------,,,,.;ZZZY8888888888888,
          ,8IIl'"                ;;l"ZZZIII8888888888,
         ,I88l;'                  ;lZZZZZ888III8888888,
       ,II88Zl;.                  ;llZZZZZ888888I888888,
      ,II888Zl;.                .;;;;;lllZZZ888888I8888b
     ,II8888Z;;                 `;;;;;''llZZ8888888I8888,
     II88888Z;'                        .;lZZZ8888888I888b
     II88888Z; _,aaa,      .,aaaaa,__.l;llZZZ88888888I888
     II88888IZZZZZZZZZ,  .ZZZZZZZZZZZZZZ;llZZ88888888I888,
     II88888IZZ<'(@@>Z|  |ZZZ<'(@@>ZZZZ;;llZZ888888888I88I
    ,II88888;   `""" ;|  |ZZ; `"""     ;;llZ8888888888I888
    II888888l            `;;          .;llZZ8888888888I888,
   ,II888888Z;           ;;;        .;;llZZZ8888888888I888I
   III888888Zl;    ..,   `;;       ,;;lllZZZ88888888888I888
   II88888888Z;;...;(_    _)      ,;;;llZZZZ88888888888I888,
   II88888888Zl;;;;;' `--'Z;.   .,;;;;llZZZZ88888888888I888b
   ]I888888888Z;;;;'   ";llllll;..;;;lllZZZZ88888888888I8888,
   II888888888Zl.;;"Y88bd888P";;,..;lllZZZZZ88888888888I8888I
   II8888888888Zl;.; `"PPP";;;,..;lllZZZZZZZ88888888888I88888
   II888888888888Zl;;. `;;;l;;;;lllZZZZZZZZW88888888888I88888
   `II8888888888888Zl;.    ,;;lllZZZZZZZZWMZ88888888888I88888
    II8888888888888888ZbaalllZZZZZZZZZWWMZZZ8888888888I888888,
    `II88888888888888888b"WWZZZZZWWWMMZZZZZZI888888888I888888b
     `II88888888888888888;ZZMMMMMMZZZZZZZZllI888888888I8888888
      `II8888888888888888 `;lZZZZZZZZZZZlllll888888888I8888888,
       II8888888888888888, `;lllZZZZllllll;;.Y88888888I8888888b,
      ,II8888888888888888b   .;;lllllll;;;.;..88888888I88888888b,
      II888888888888888PZI;.  .`;;;.;;;..; ...88888888I8888888888,
      II888888888888PZ;;';;.   ;. .;.  .;. .. Y8888888I88888888888b,
     ,II888888888PZ;;'                        `8888888I8888888888888b,
     II888888888'                              888888I8888888888888888
    ,II888888888                              ,888888I8888888888888888
   ,d88888888888                              d888888I8888888888ZZZZZZ
,ad888888888888I                              8888888I8888ZZZZZZZZZZZZ
888888888888888'                              888888IZZZZZZZZZZZZZZZZZ
8888888888P'8P'                               Y888ZZZZZZZZZZZZZZZZZZZZ
888888888,  "                                 ,ZZZZZZZZZZZZZZZZZZZZZZZ
8888888888,                                ,ZZZZZZZZZZZZZZZZZZZZZZZZZZ
888888888888a,      _                    ,ZZZZZZZZZZZZZZZZZZZZ88888888
888888888888888ba,_d'                  ,ZZZZZZZZZZZZZZZZZ8888888888888
8888888888888888888888bbbaaa,,,______,ZZZZZZZZZZZZZZZ88888888888888888
88888888888888888888888888888888888ZZZZZZZZZZZZZZZ88888888888888888888
8888888888888888888888888888888888ZZZZZZZZZZZZZZ8888888888888888888888
888888888888888888888888888888888ZZZZZZZZZZZZZZ88888888888888888888888
8888888888888888888888888888888ZZZZZZZZZZZZZZ8888888888888888888888888
88888888888888888888888888888ZZZZZZZZZZZZZZ888888888888888888888888888
8888888888888888888888888888ZZZZZZZZZZZZZZ88888888888888888 Normand  8
88888888888888888888888888ZZZZZZZZZZZZZZ8888888888888888888 Veilleux 8
8888888888888888888888888ZZZZZZZZZZZZZZ8888888888888888888888888888888
2015-05-12 19:33:50 +02:00