Commit graph

71 commits

Author SHA1 Message Date
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
Liming Xie
9bbdacc79a Add notification, allow watch boards / lists / cards 2016-01-05 23:26:02 +08:00
Maxime Quandalle
ac6491ea12 Remove unnecessary template name declaration
This code was duplicate with the name we use to `register` the
component. A update of blaze-component removed the need to duplicate
this declaration.
2016-01-03 23:45:46 +01:00
Maxime Quandalle
f6c01161a0 Fix drag and drop on Sandstorm
This bug was introduced with the introduction of fast-render in
41b23f8. With fast-render data is available instantly after the page
logging, but calls to `Meteor.userId()` still return `null` as the
user isn't authenticated on the DDP channel yet (previously the data
was loaded on DDP after user authentication). Which mean that we know
need to reactively activate Drag and Drop on user log in.

I'm not sure why I was not able to reproduce this bug outside of
Sandstorm.

Fixes #453
2015-12-30 19:22:30 +01:00
Maxime Quandalle
c615d1d273 Remove the import trello card feature
See the following discussion for rationale:

  https://github.com/wekan/wekan/issues/113#issuecomment-163039089
2015-12-22 22:08:01 +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
0954ef3e44 Dynamically resize the new card form if the title is too long 2015-12-09 23:20:53 -05:00
Maxime Quandalle
5bdf91bd05 Remove the move and archive all cards of a list feature
This operation should now be handled using the multi-selection
feature, ie “select all cards” and then move them or click the
“archive selection” button. This new process add an extra click which
I consider reasonable enough for a relatively rare operation -- plus I
want to encourage mutli-selection usage.

Closes #390.
2015-12-09 18:45:55 -05:00
floatinghotpot
672c21bfe0 bugfix: only care active members, also optimize some code 2015-12-08 16:03:31 +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
2b134ff7a9 Merge branch 'devel' into minicard-editor
Conflicts:
	client/components/lists/listBody.js
2015-10-31 12:49:58 +01: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
31b60d82fc Upgrade Meteor to 1.2.1-rc4
This version includes a more complete selection of ES2015 polyfills
that I started used across the code base, for instance by replacing
`$.trim(str)` by `str.trim()`.
2015-10-23 16:56:55 +02:00
Maxime Quandalle
c6b12dc5ad Upgrade peerlibrary:blaze-components to v0.14
This change includes method renames and others UI related packages
updates.
2015-10-21 04:34:44 +02:00
Xavier Priour
468694a84c Import board: added UI 2015-10-17 18:00:46 +02:00
Maxime Quandalle
944a1065d3 Add some ESLint rules and fix some related issues 2015-10-14 23:50:12 +02:00
Xavier Priour
b670a1ab36 Import single card: proper error handling 2015-10-14 23:23:17 +02:00
Xavier Priour
d8892d6408 Import single card: refactor to meteor method 2015-10-14 23:23:16 +02:00
Xavier Priour
7e64c22c1a Import single card: archived card 2015-10-14 23:23:16 +02:00
Xavier Priour
68518f5497 Import single card: map labels 2015-10-14 23:23:16 +02:00
Xavier Priour
432c1ebb5d Import single card: now with description and comments 2015-10-14 23:23:16 +02:00
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