summaryrefslogtreecommitdiffstats
path: root/client/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix undefined variables errorsMaxime Quandalle2016-07-211-1/+1
|
* Avoid <a> links redirections on inlinedFormMaxime Quandalle2016-07-201-1/+3
| | | | Fixes #647 (IE 11)
* Fix a typo (#515)Prayag Verma2016-07-111-1/+1
| | | Remove extra `the`
* Merge pull request #531 from TheElf/develMaxime Quandalle2016-03-181-1/+1
|\ | | | | Plural of Emoji
| * Changes in code to correct the spelling of emoji (plural)Daniel2016-02-281-1/+1
| |
* | Upgrade ESLint to v2Maxime Quandalle2016-03-175-3/+7
|/ | | | This commit also tweak the code style following backward-incompatible v2 rules.
* Change the board import layout from a popup to a full pageMaxime Quandalle2016-01-311-0/+5
| | | | | | | | 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.
* add: support compact mode for mobile web, auto adapt to small screen/windowLiming Xie2015-12-172-9/+24
|
* Allow the header bar customizationMaxime Quandalle2015-12-091-3/+9
| | | | | This commit also provide a way to escape the Shorcuts page on Sandstorm.
* Merge GitHub PR #387Maxime Quandalle2015-11-152-0/+119
|\
| * add preview attached image, allow upload image from clipboard and drag & drpfloatinghotpot2015-11-132-0/+119
| |
* | Finish the minicard editor auto-completion featureMaxime Quandalle2015-11-081-4/+28
|/ | | | | | | | | | | 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
* Fix some bugs introduced in aa974aaMaxime Quandalle2015-10-291-1/+1
| | | | | Yes Wekan need some tests. Yes I need to stop refactoring my code when I’m halp-sleeping in my bed at 4am.
* Prefer ES5 methods over underscore utilitiesMaxime Quandalle2015-10-224-10/+11
| | | | | | | | | | | | | | 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
* Add some ESLint rules and fix some related issuesMaxime Quandalle2015-10-141-4/+4
|
* Set some DOM transformation to fix some of the accessibility issuesMaxime Quandalle2015-10-131-0/+41
| | | | | | See #337 for the complete rationale by @ndarilek -- thank you :) Closes #338
* Abstract the jquery-textcomplete integration with EscapeActionsMaxime Quandalle2015-10-131-0/+30
| | | | | We now can re-use this integration in multiple places, this will be useful for #342 for instance.
* Shortcut: F toggles filter sidebarfisle2015-09-191-0/+11
|
* Shortcut: Spacebar assigns self to current cardfisle2015-09-191-0/+23
|
* Centralize all mutations at the model levelMaxime Quandalle2015-09-082-15/+1
| | | | | | | | | | | | | | | 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.
* Fix a recurrent English typoMaxime Quandalle2015-09-063-10/+10
|
* Enforce a consistent ES6 coding styleMaxime Quandalle2015-09-0311-299/+252
| | | | | | | | | 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).
* Update translation source fileMaxime Quandalle2015-09-011-7/+7
|
* Replace the component bounded `cachedValue` by a global `UnsavedEdits`Maxime Quandalle2015-08-313-14/+173
| | | | | | | | 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
* Implement click-and-drag integration to translate the board canvasMaxime Quandalle2015-08-281-6/+16
| | | | Fixes #232
* Display keyboard shortcuts on a modalMaxime Quandalle2015-08-281-0/+25
| | | | Fixes #241
* Open a modal (or a new page) based on contextMaxime Quandalle2015-08-283-19/+26
| | | | | | This feature is also sometime named the Pinterest-style route, which is further explained in this react-router example: https://github.com/rackt/react-router/tree/cf0419f70e14a0ae39cba2ff99b01d3cbbd085be/examples/pinterest
* Implement board archive and restorationMaxime Quandalle2015-08-261-1/+1
|
* Implement a modal systemMaxime Quandalle2015-08-262-0/+32
| | | | | | | | | | | | | | 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.
* ES6ify our Popup libraryMaxime Quandalle2015-08-261-108/+108
| | | | | | | | | | | 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.
* Fix EscapeActions click in handlingMaxime Quandalle2015-08-251-17/+24
| | | | Fixes a bug introduced in 07cc454 and one introduced in 22e854c.
* Fix a type: document -> document.bodyMaxime Quandalle2015-08-251-1/+1
| | | | Does that fix #176?
* Upgrade meteor to 1.2-rc.4 and package versionsMaxime Quandalle2015-08-251-10/+5
| | | | | | | | | | | | 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.
* Close the Popup when all escape actions are executedMaxime Quandalle2015-08-232-15/+25
|
* Start the migration from iron-router to flow-routerMaxime Quandalle2015-08-231-3/+3
| | | | | | | | | | | | | | | | | | | 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.
* Allow a user to edit its profile or avatar from a member popoverMaxime Quandalle2015-06-191-12/+6
| | | | | | | 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.
* Improve the multi-selection experienceMaxime Quandalle2015-06-163-9/+18
| | | | | | | | | | 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.
* Work on the card activities and commentsMaxime Quandalle2015-06-121-0/+42
| | | | | | | | | 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.
* Fix card title editionMaxime Quandalle2015-06-111-1/+2
| | | | Closes #184
* Define the popup translation in the stylesheet, not in the JS codeMaxime Quandalle2015-06-091-2/+2
| | | | | | | This allows us to autoprexfix the property, which is needed for Safari support (see http://caniuse.com/#feat=transforms2d). Fixes #178.
* Add a UI to restore archived cardsMaxime Quandalle2015-06-071-1/+1
|
* Click on the page to escape the last actionMaxime Quandalle2015-06-074-93/+167
| | | | | | 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.
* Maintain a visual indication of the popup openerElementMaxime Quandalle2015-06-061-3/+12
|
* Work on the user account systemMaxime Quandalle2015-06-031-2/+2
| | | | | | | | Allow a user to modifies its name, username, initials, and password. Fixes username handling on sandstorm. Fixes #149.
* Implement multi-selectionMaxime Quandalle2015-05-304-5/+182
| | | | | | 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.
* UI improvementsMaxime Quandalle2015-05-271-19/+0
| | | | | | | | | | | | | | | | | | * 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.
* Prioritize escape actions with a label hierarchy instead of an integerMaxime Quandalle2015-05-272-9/+29
|
* Implement a new system to handle "escape actions"Maxime Quandalle2015-05-263-23/+57
| | | | | | | | 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.
* Experiment new ergonomics to interact with card detailsMaxime Quandalle2015-05-242-24/+1
| | | | | | | | | | | | | | 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.
* Animate popup screens transitionMaxime Quandalle2015-05-221-4/+7
|