summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.eslintrc66
-rw-r--r--.meteor/packages2
-rw-r--r--.meteor/release2
-rw-r--r--.meteor/versions38
-rw-r--r--client/components/cards/attachments.js2
-rw-r--r--client/components/main/layouts.jade17
-rw-r--r--client/components/users/userForm.styl120
-rw-r--r--client/config/blazeHelpers.js2
-rw-r--r--config/router.js (renamed from client/config/router.js)2
-rw-r--r--models/attachments.js2
-rw-r--r--models/users.js2
-rw-r--r--sandstorm.js8
12 files changed, 130 insertions, 133 deletions
diff --git a/.eslintrc b/.eslintrc
index f9321bfb..d3f81624 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -1,11 +1,6 @@
ecmaFeatures:
experimentalObjectRestSpread: true
-plugins:
- - meteor
-
-parser: babel-eslint
-
rules:
strict: 0
no-undef: 2
@@ -27,12 +22,14 @@ rules:
camelcase: 2
comma-spacing: 2
comma-style: 2
+ eol-last: 2
linebreak-style: [2, unix]
new-parens: 2
no-lonely-if: 2
no-multiple-empty-lines: 2
no-nested-ternary: 2
no-spaced-func: 2
+ no-trailing-spaces: 2
operator-linebreak: 2
quotes: [2, single]
semi-spacing: 2
@@ -50,39 +47,25 @@ rules:
prefer-spread: 2
prefer-template: 2
- # eslint-plugin-meteor
- ## Meteor API
- meteor/globals: 2
- meteor/core: 2
- meteor/pubsub: 2
- meteor/methods: 2
- meteor/check: 2
- meteor/connections: 2
- meteor/collections: 2
- meteor/session: [2, 'no-equal']
-
- ## Best practices
- meteor/no-session: 0
- meteor/no-zero-timeout: 2
- meteor/no-blaze-lifecycle-assignment: 2
-
-settings:
- meteor:
-
- # Our collections
- collections:
- - AccountsTemplates
- - Activities
- - Attachments
- - Boards
- - CardComments
- - Cards
- - Lists
- - UnsavedEditCollection
- - Users
-
globals:
+ # Meteor globals
+ Meteor: false
+ Session: false
+ HTML: false
+ check: false
+ Tracker: false
+ Blaze: false
+ Accounts: false
+ Match: false
+ Mongo: false
+ Random: false
+ ReactiveVar: false
+ Email: false
+ Template: false
+
# Exported by packages we use
+ '$': false
+ _: false
autosize: false
Avatar: true
Avatars: true
@@ -108,6 +91,17 @@ globals:
T9n: false
TAPi18n: false
+ # Our collections
+ AccountsTemplates: true
+ Activities: true
+ Attachments: true
+ Boards: true
+ CardComments: true
+ Cards: true
+ Lists: true
+ UnsavedEditCollection: true
+ Users: true
+
# Our objects
CSSEvents: true
EscapeActions: true
diff --git a/.meteor/packages b/.meteor/packages
index ad6ddf0b..1756f8a8 100644
--- a/.meteor/packages
+++ b/.meteor/packages
@@ -7,9 +7,9 @@ meteor-base
# Build system
ecmascript
+stylus
standard-minifiers
mquandalle:jade
-mquandalle:stylus
# Polyfills
es5-shim
diff --git a/.meteor/release b/.meteor/release
index 3a05e0a2..aa93b69d 100644
--- a/.meteor/release
+++ b/.meteor/release
@@ -1 +1 @@
-METEOR@1.2.1
+METEOR@1.2.2-faster-rebuilds.0
diff --git a/.meteor/versions b/.meteor/versions
index 8e9282e7..3742b42e 100644
--- a/.meteor/versions
+++ b/.meteor/versions
@@ -7,7 +7,7 @@ alethes:pages@1.8.4
arillo:flow-router-helpers@0.4.7
audit-argument-checks@1.0.4
autoupdate@1.2.4
-babel-compiler@5.8.24_1
+babel-compiler@5.8.25-faster-rebuild.0
babel-runtime@0.1.4
base64@1.0.4
binary-heap@1.0.4
@@ -15,7 +15,7 @@ blaze@2.1.3
blaze-html-templates@1.0.1
blaze-tools@1.0.4
boilerplate-generator@1.0.4
-caching-compiler@1.0.0
+caching-compiler@1.0.1-faster-rebuild.0
caching-html-compiler@1.0.2
callback-hook@1.0.4
cfs:access-point@0.1.49
@@ -37,21 +37,21 @@ cfs:upload-http@0.0.20
cfs:worker@0.1.4
check@1.1.0
chuangbo:cookie@1.1.0
-coffeescript@1.0.11
+coffeescript@1.0.12-faster-rebuild.0
cosmos:browserify@0.9.2
cottz:publish-relations@2.0.0
dburles:collection-helpers@1.0.4
ddp@1.2.2
-ddp-client@1.2.1
+ddp-client@1.2.2-faster-rebuild.0
ddp-common@1.2.2
ddp-rate-limiter@1.0.0
-ddp-server@1.2.2
+ddp-server@1.2.3-faster-rebuild.0
deps@1.0.9
diff-sequence@1.0.1
-ecmascript@0.1.6
+ecmascript@0.1.7-faster-rebuild.0
ecmascript-runtime@0.2.6
ejson@1.0.7
-email@1.0.8
+email@1.0.9-faster-rebuild.0
es5-shim@4.1.14
fastclick@1.0.7
fortawesome:fontawesome@4.5.0
@@ -59,7 +59,7 @@ geojson-utils@1.0.4
hot-code-push@1.0.0
html-tools@1.0.5
htmljs@1.0.5
-http@1.1.1
+http@1.1.2-faster-rebuild.0
id-map@1.0.4
idmontie:migrations@1.0.1
jquery@1.11.4
@@ -70,10 +70,10 @@ kenton:accounts-sandstorm@0.1.8
launch-screen@1.0.4
livedata@1.0.15
localstorage@1.0.5
-logging@1.0.8
+logging@1.0.9-faster-rebuild.0
matb33:collection-hooks@0.8.1
matteodem:easy-search@1.6.4
-meteor@1.1.10
+meteor@1.1.11-faster-rebuild.0
meteor-base@1.0.1
meteor-platform@1.2.3
meteorhacks:aggregate@1.3.0
@@ -83,25 +83,24 @@ meteorhacks:inject-data@1.4.1
meteorhacks:picker@1.0.3
meteorhacks:subs-manager@1.6.2
meteorspark:util@0.2.0
-minifiers@1.1.7
+minifiers@1.1.8-faster-rebuild.0
minimongo@1.0.10
mobile-status-bar@1.0.6
-mongo@1.1.3
+mongo@1.1.4-faster-rebuild.0
mongo-id@1.0.1
mongo-livedata@1.0.9
mousetrap:mousetrap@1.4.6_1
mquandalle:autofocus@1.0.0
mquandalle:collection-mutations@0.1.0
-mquandalle:jade@0.4.5
+mquandalle:jade@0.4.8
mquandalle:jade-compiler@0.4.5
mquandalle:jquery-textcomplete@0.8.0_1
mquandalle:jquery-ui-drag-drop-sort@0.2.0
mquandalle:moment@1.0.1
mquandalle:mousetrap-bindglobal@0.0.1
mquandalle:perfect-scrollbar@0.6.5_2
-mquandalle:stylus@1.1.1
npm-bcrypt@0.7.8_2
-npm-mongo@1.4.39_1
+npm-mongo@1.4.40-faster-rebuild.0
observe-sequence@1.0.7
ongoworks:speakingurl@1.1.0
ordered-dict@1.0.4
@@ -111,7 +110,7 @@ peerlibrary:blaze-components@0.15.1
peerlibrary:computed-field@0.3.1
peerlibrary:reactive-field@0.1.0
perak:markdown@1.0.5
-promise@0.5.1
+promise@0.5.2-faster-rebuild.0
raix:eventemitter@0.1.3
raix:handlebar-helpers@0.2.5
random@1.0.5
@@ -130,10 +129,11 @@ softwarerero:accounts-t9n@1.1.7
spacebars@1.0.7
spacebars-compiler@1.0.7
srp@1.0.4
-standard-minifiers@1.0.2
+standard-minifiers@1.0.3-faster-rebuild.0
+stylus@2.511.2-faster-rebuild.0
tap:i18n@1.7.0
templates:tabs@2.2.0
-templating@1.1.5
+templating@1.1.6-faster-rebuild.0
templating-tools@1.0.0
tracker@1.0.9
ui@1.0.8
@@ -143,6 +143,6 @@ useraccounts:core@1.13.0
useraccounts:flow-routing@1.13.0
useraccounts:unstyled@1.13.0
verron:autosize@3.0.8
-webapp@1.2.3
+webapp@1.2.4-faster-rebuild.0
webapp-hashing@1.0.5
zimme:active-route@2.3.2
diff --git a/client/components/cards/attachments.js b/client/components/cards/attachments.js
index 1e5aa03b..4e3e0b19 100644
--- a/client/components/cards/attachments.js
+++ b/client/components/cards/attachments.js
@@ -22,7 +22,7 @@ Template.attachmentsGalery.events({
},
'click .js-preview-image'(evt) {
Popup.open('previewAttachedImage').call(this, evt);
- // when multiple thumbnails, if click one then another very fast,
+ // when multiple thumbnails, if click one then another very fast,
// we might get a wrong width from previous img.
// when popup reused, onRendered() won't be called, so we cannot get there.
// here make sure to get correct size when this img fully loaded.
diff --git a/client/components/main/layouts.jade b/client/components/main/layouts.jade
index 2095e016..943ebe0f 100644
--- a/client/components/main/layouts.jade
+++ b/client/components/main/layouts.jade
@@ -12,14 +12,15 @@ template(name="userFormsLayout")
section.auth-layout
h1.at-form-landing-logo
img(src="{{pathFor '/wekan-logo.png'}}" alt="Wekan")
- +Template.dynamic(template=content)
- div.at-form-lang
- select.select-lang.js-userform-set-language
- each languages
- if isCurrentLanguage
- option(value="{{tag}}" selected="selected") {{name}}
- else
- option(value="{{tag}}") {{name}}
+ section.auth-dialog
+ +Template.dynamic(template=content)
+ div.at-form-lang
+ select.select-lang.js-userform-set-language
+ each languages
+ if isCurrentLanguage
+ option(value="{{tag}}" selected="selected") {{name}}
+ else
+ option(value="{{tag}}") {{name}}
template(name="defaultLayout")
+header
diff --git a/client/components/users/userForm.styl b/client/components/users/userForm.styl
index 48a6a74e..930efb5a 100644
--- a/client/components/users/userForm.styl
+++ b/client/components/users/userForm.styl
@@ -3,58 +3,61 @@
width: 249px
margin: auto
margin-top: 50px
- margin-top: 17vh
+ margin-bottom: 20px
- .at-form
- margin: auto
+ .auth-dialog
width: 275px
padding: 25px
- margin-top: 20px
- padding-bottom: 10px
+ margin: auto
+ margin-bottom: 20px
background: #fff
border-radius: 3px
border: 1px solid #dbdbdb
border-bottom-color: #c2c2c2
box-shadow: 0 1px 6px rgba(0, 0, 0, .3)
- .at-link
- color: darken(#27AE60, 40%)
-
- label
- margin-bottom: 3px
-
- input
- width: 100%
-
- .at-title
- background: #F7F7F7
- margin: -25px
- padding: 15px 25px 5px
- margin-bottom: 20px
- border-bottom: 1px solid #dcdcdc
- color: darken(white, 70%)
- font-weight: bold
-
- .at-signup-link,
- .at-signin-link,
- .at-forgotPwd
- font-size: 0.9em
- margin-top: 15px
- color: darken(white, 70%)
-
- .at-signUp,
- .at-signIn
+ .at-form
+
+ .at-link
+ color: darken(#27AE60, 40%)
+
+ label
+ margin-bottom: 3px
+
+ input
+ width: 100%
+
+ button
+ width: 100%
+ background: #216694
+ color: #fff
+
+ .at-title
+ background: #F7F7F7
+ margin: -25px
+ padding: 15px 25px 5px
+ margin-bottom: 20px
+ border-bottom: 1px solid #dcdcdc
+ color: darken(white, 70%)
font-weight: bold
- .at-form-lang
- margin: auto
- width: 275px
- padding: 25px
- padding-bottom: 10px
+ .at-signup-link,
+ .at-signin-link,
+ .at-forgotPwd
+ font-size: 0.9em
+ margin-top: 15px
+ color: darken(white, 70%)
- .select-lang
- width: 275px
- font-size: 1.0em
+ .at-signUp,
+ .at-signIn
+ font-weight: bold
+
+ .at-form-lang
+ margin-top: 0px
+
+ .select-lang
+ width: 100%
+ margin-top: 10px
@media screen and (max-width: 800px)
.auth-layout
@@ -64,26 +67,27 @@
padding: 0px
.at-form-landing-logo
- margin-top: 20px
- margin-bottom: 20px
+ width: 125px
+ position: absolute
+ top: 0px
+ right: 20px
+ margin-top: 5px
+ margin-bottom: 5px
- .at-form
+ img
+ width: 125px
+
+ .auth-dialog
width: calc(100% - 50px)
- height: calc(100% - 162px)
- margin: 0px
+ height: calc(100% - 50px)
padding: 25px
-
- button
- width: 100%
-
- .at-form-lang
- width: 100%
+ min-height: 380px
margin: 0px
- padding: 0px
+ margin-bottom: 0px
+ border: 0px
- .select-lang
- width: 200px
- font-size: 1.2em
- position: absolute
- left: calc((100% - 200px)/2)
- bottom: 25px
+ .at-form
+ .at-title
+ h3
+ width: calc(100% - 125px)
+ overflow-x: hidden
diff --git a/client/config/blazeHelpers.js b/client/config/blazeHelpers.js
index adf5ef6a..f3a1757f 100644
--- a/client/config/blazeHelpers.js
+++ b/client/config/blazeHelpers.js
@@ -14,6 +14,6 @@ Blaze.registerHelper('currentCard', () => {
Blaze.registerHelper('getUser', (userId) => Users.findOne(userId));
-UI.registerHelper('concat', function (...args) {
+Blaze.registerHelper('concat', function (...args) {
return Array.prototype.slice.call(args, 0, -1).join('');
});
diff --git a/client/config/router.js b/config/router.js
index ddd69db4..99d5bff6 100644
--- a/client/config/router.js
+++ b/config/router.js
@@ -113,7 +113,7 @@ const appTitle = 'Wekan';
// that the global variable `Boards` is undefined when this file loads so we
// wait a bit until hopefully all files are loaded. This will be fixed in a
// clean way once Meteor will support ES6 modules -- hopefully in Meteor 1.3.
-Meteor.startup(() => {
+Meteor.isClient && Meteor.startup(() => {
Tracker.autorun(() => {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
const titleStack = [appTitle];
diff --git a/models/attachments.js b/models/attachments.js
index 01e467ff..8ef0fef0 100644
--- a/models/attachments.js
+++ b/models/attachments.js
@@ -1,4 +1,4 @@
-Attachments = new FS.Collection('attachments', { // eslint-disable-line meteor/collections
+Attachments = new FS.Collection('attachments', {
stores: [
// XXX Add a new store for cover thumbnails so we don't load big images in
diff --git a/models/users.js b/models/users.js
index 8dd5ed78..45e2170e 100644
--- a/models/users.js
+++ b/models/users.js
@@ -1,4 +1,4 @@
-Users = Meteor.users; // eslint-disable-line meteor/collections
+Users = Meteor.users;
// Search a user in the complete server database by its name or username. This
// is used for instance to add a new user to a board.
diff --git a/sandstorm.js b/sandstorm.js
index 85124f04..4abe2efb 100644
--- a/sandstorm.js
+++ b/sandstorm.js
@@ -51,10 +51,8 @@ if (isSandstorm && Meteor.isServer) {
// XXX Maybe the sandstorm http-bridge could provide some kind of "home URL"
// in the manifest?
const base = req.headers['x-sandstorm-base-path'];
- // XXX If this routing scheme changes, this will break. We should generate
- // the location URL using the router, but at the time of writing, the
- // it is only accessible on the client.
- const boardPath = `/b/${sandstormBoard._id}/${sandstormBoard.slug}`;
+ const { _id, slug } = sandstormBoard;
+ const boardPath = FlowRouter.path('board', { id: _id, slug });
res.writeHead(301, {
Location: base + boardPath,
@@ -173,7 +171,7 @@ if (isSandstorm && Meteor.isClient) {
// sandstorm client to return relative paths instead of absolutes.
const _absoluteUrl = Meteor.absoluteUrl;
const _defaultOptions = Meteor.absoluteUrl.defaultOptions;
- Meteor.absoluteUrl = (path, options) => { // eslint-disable-line meteor/core
+ Meteor.absoluteUrl = (path, options) => {
const url = _absoluteUrl(path, options);
return url.replace(/^https?:\/\/127\.0\.0\.1:[0-9]{2,5}/, '');
};