Commit graph

200 commits

Author SHA1 Message Date
Xavier Priour
1b9df00492 Import single card: title and proper sort index 2015-10-14 23:23:16 +02:00
Xavier Priour
bc79b83140 Add card import UI 2015-10-14 23:23:16 +02:00
Maxime Quandalle
758be3356c Use a better API to retrieve the new card position
Fixes #347
2015-10-13 19:56:04 +02:00
Kenton Hamaluik
3507c6565b Made colours light grey in the labels dropdown 2015-10-10 23:08:50 -06:00
Kenton Hamaluik
fde2a39ee3 Added coloured label badges in autocomplete list 2015-10-08 13:10:46 -06:00
Kenton Hamaluik
f5be121cf3 Pressing escape while autocomplete is open no longer closes the minicard 2015-10-08 12:32:31 -06:00
Kenton Hamaluik
c2cb17c5df Now cards with *only* metadata aren't created empty 2015-10-08 12:25:58 -06:00
Kenton Hamaluik
a212b1310c Added space after if to conform to formatting 2015-10-08 12:22:55 -06:00
Kenton Hamaluik
77ca52d8c2 Fixed issue with possible race condition, suggested by @mquandalle 2015-10-08 12:22:03 -06:00
Kenton Hamaluik
e4c5d2cbe6 Fixed typo in template for quick-adding a user. 2015-10-03 16:56:27 -06:00
Kenton Hamaluik
429686ef48 Made eslinter happy. 2015-10-03 16:53:45 -06:00
Kenton Hamaluik
d105da5bc7 Conformed to the 80-character line length limit. 2015-10-03 15:59:13 -06:00
Kenton Hamaluik
bfcfd2ebda Initial support for @user and #label use in new cards.
When creating a new [mini]card, typing `@` or `#` brings up an
auto-complete box for board members and labels which will get applied to
the card upon creation. These textual tags are removed from the card
title before saving to maintain sanity. If a label doesn't have a name,
it's colour is used (i.e. `red`, `purple`, etc).

This was developed to ease the creation of new cards and allow users to
rapidly create cards without having to click numerous times just to
apply labels & members.
2015-10-03 15:58:36 -06:00
Alexander Sulfrian
f4a68a0f7d Fix Popup.afterCommit
We need to use "function() {}" instead of the ES6 style "() {}" with
popup.afterCommit because we need the original value of "this" inside
the callback.
2015-09-20 16:49:11 +02: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
54bc9d0dcb Add a missing translation 2015-09-06 22:36:36 +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
039cfe7edf Improve list title form 2015-09-02 22:56:12 +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
bc9d9c2a42 Redesign the card design header and change header menu icon 2015-08-30 16:02:25 +02:00
Maxime Quandalle
cc5e9002d9 Fix the cursor used while dragging a list 2015-08-28 19:35:04 +02:00
Maxime Quandalle
dc3cbdd20e Hide feature non-member users can't use
Fixes #206
Fixes #244
2015-08-28 12:15:29 +02:00
Maxime Quandalle
84f49fa7a1 Call me Wekan
Thank you @neynah for the Wekan icons

Closes #247
2015-08-28 09:52:20 +02:00
Maxime Quandalle
691c3aff68 Improve the list menu
* Grow the click-able zone of the list menu
* Remove a dead link on the list menu
* Merge list menu files with header menu to be consistent with the
  board components internal organization

Closes #106
2015-08-28 06:22:35 +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
b5dabfe886 More explicit file names 2015-08-28 02:25:26 +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
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
fad4cba5e2 Improve card and list sortable drag
Use a custom build of jquery-ui with only the plugins we need (instead
of including everything).

Fix a tricky bug of conflict between Blaze reactive updates and
jquery-ui (which caused cards to sometimes disappear).
2015-06-17 12:51:03 +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
216887490e Fix card title edition
Closes #184
2015-06-11 12:35:08 +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
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
49167ccaa9 Improve the card details pane overlay interactions 2015-06-06 12:07:52 +02:00
Maxime Quandalle
dea52907bd Start designing the card details pane
Implement a dynamic overflow to focus sight on the pane.
2015-06-05 21:37:13 +02:00
Maxime Quandalle
97807abd70 Dissable temporarily the cache value of inlinedForm
Due to bug
https://github.com/peerlibrary/meteor-blaze-components/issues/50
2015-06-04 16:22:01 +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
6db01bb3c7 Improve card dropping area
Fixes #85.
2015-05-30 03:53:57 +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
6457615e6a Fix card placeholder size on firefox 2015-05-28 17:22:24 +02:00
Maxime Quandalle
dcc64f44f9 UI improvements
* Implement visibility choice on board creation;

* Rework the board header bar. Remove links to un-implemented
features;

* Implement a board star counter (visible if the board have >2 stars);

* Define a new icon (a thin cross) to close elements;

* Remove $(document).on('mouseover') event handlers that were
basically fired hundreds of times for nothing, we now define a proper
Tracker dependency to execute jquery-ui plugin initialization only
when something has changed;

* Bug fixes related to list scrolling.
2015-05-27 17:23:25 +02:00
Maxime Quandalle
9a45f3752f Improve scrolling
We now replace native scrollbar by custom ones on the list card (which
is required by the new ergonomics in the parent commit), but the
"scrolling engine", is still native, we just hide the scrollbar and
draw our own in HTML/CSS using the perfect-scrollbar package (from
bower).

This commit also implements component scrolling when certain actions
are performed, eg scroll to the bottom when the new card composer is
opened.
2015-05-24 22:16:40 +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
40b605f7d8 Hide the card composer link while a card is being dragged 2015-05-23 22:23:27 +02:00
Maxime Quandalle
9c2a3213eb Fix tab navigation in the form to add a new card 2015-05-23 20:12:08 +02:00
Maxime Quandalle
018bb343b5 Fix new list form
Fixes #157.
2015-05-14 15:21:48 +02:00
Maxime Quandalle
22b8b6ab20 Style tweaks
Follows strictly jshint and jscs rules.
2015-05-14 14:28:47 +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