Commit Graph

111 Commits

Author SHA1 Message Date
rr- 50404d5f5e client/general: change templates extension
...from .Handlebars' (which the project no longer uses) .hbs, to a more
generic .tpl. Additionally, replace hyphens with underscores for
consistency.
2016-05-18 00:15:28 +02:00
rr- 407848706a views/tags: add tag input control
For now, without tag relations
2016-05-18 00:13:17 +02:00
rr- 5736b4adc1 views/tags: add autocomplete control 2016-05-17 11:34:47 +02:00
rr- dbaf71b8eb client/forms: disable button outline on Chrome 2016-05-17 11:34:46 +02:00
rr- 83086fddd0 client/general: skip vendor JS on watch 2016-05-14 14:47:48 +02:00
rr- e6be94d139 client/build: always compress vendor JS 2016-05-14 14:47:36 +02:00
rr- 914bee4c64 client/build: compile vendor packages separately 2016-05-14 13:50:39 +02:00
rr- 2cba1a432f client/general: replace underscore with lodash 2016-05-14 13:12:01 +02:00
rr- d123f27815 clients/general: fix empty view message handling 2016-05-12 00:13:01 +02:00
rr- 414f841944 client/tags: fix unbound EmptyView 2016-05-12 00:12:48 +02:00
rr- b1deb617bc client/tags: add tag merging, editing and deleting 2016-05-11 23:47:50 +02:00
rr- 2a4241641c client/events: improve event dispatching
This commit introduces timer-less retry system:

1. Any change to URL is going to stop listening to any messages.
2. If a message is sent and there's no handler that could pick it up,
   the message gets enqueued.
3. The message is sent again to the first handler that attaches itself
   to given event type.

While in theory this is full of holes (no control over the first
handler), in practice, it works quite well.

Additionally, views.listenToMessages was attaching to completely wrong
DOM node; this commit fixes this as well.
2016-05-11 23:47:50 +02:00
rr- 09bc5f10f9 client/tags: fix hiding table for no results 2016-05-11 23:47:50 +02:00
rr- 8866a46f68 client/general: rename certain views 2016-05-11 12:17:40 +02:00
rr- 3856e9fd0d client/general: fix JSCS warnings 2016-05-10 14:13:24 +02:00
rr- 27533483b2 client/tags: make headers clickable 2016-05-10 14:06:52 +02:00
rr- 27cce56054 client/tags: add tag category editing 2016-05-10 13:26:17 +02:00
rr- be0a70355d client/paging: replace 'var' with 'let'
Old habits die hard
2016-05-10 12:18:06 +02:00
rr- 7b342b58b5 client/users: fix links to post search queries 2016-05-10 12:18:06 +02:00
rr- 6405fbe9f2 client/general: replace handlebars with underscore 2016-05-09 22:36:29 +02:00
rr- c34b1e3ccf client/css: fix clipped input text 2016-05-09 22:36:29 +02:00
rr- 58134ae2c6 client/css: remove nprogress spinner 2016-05-09 18:14:22 +02:00
rr- 25de62411f client/tags: improve table appearance 2016-05-09 11:21:09 +02:00
rr- 29b0fde9a7 client/paging: improve endless paging
- Change page number indicator
- Remove most of the scrolling cruft as it has no chance of working
  anyway, thanks to our benevolent browsers
- Scroll to page header if the page is not the first one (I'm surprised
  this even works)
- Use promises rather than timers
- Simplify top page detection using .elementFromPoint rather than
  iterating over all pages. Coincidentally, this seems to work slightly
  better
2016-05-09 11:17:26 +02:00
rr- 7610761ec8 client/general: add nprogress to API calls 2016-05-08 18:59:11 +02:00
rr- f083e5fdc8 client/general: scroll to top on page change 2016-05-08 18:56:08 +02:00
rr- da1386c7d2 client/auth: forget user when they try to log in
This is to let user log in if their login cookie is broken (for example
when it refers to a non existing user). Normally, the client should
treat errors caused by cookie logins as temporary server failures,
inform the user about it and leave the cookie, so that when the server
is up again, all user needs to do is to reload the page rather than
logging again.
2016-05-08 18:04:06 +02:00
rr- 0d2fc830a6 client/build: add missing dependency 2016-05-08 18:04:06 +02:00
rr- 198cb0af3e server/users: hardcode available ranks 2016-05-08 16:59:25 +02:00
rr- 58964bcdc9 server/posts: add post listing 2016-05-07 21:50:37 +02:00
rr- 29b57b0af0 client/nav: fix accesskey alignment 2016-04-29 13:24:01 +02:00
rr- 98738dc497 client/users: fix inability to remove email 2016-04-29 13:19:11 +02:00
rr- d67a1b2f1c client/css: stylize focused elements 2016-04-29 12:58:56 +02:00
rr- 266f5c027f client/tags: add tag listing 2016-04-29 12:58:56 +02:00
rr- 0f90196ad5 client/users: fix listing users 2016-04-29 10:17:55 +02:00
rr- a30886cc70 server/search: rename order: to sort: 2016-04-22 19:37:58 +02:00
rr- a197368bc5 client/paging: fix endless pager issues 2016-04-17 09:24:05 +02:00
rr- 0bc45e9c45 server/search: support -min and -max suffixes 2016-04-17 08:31:46 +02:00
rr- 71e8e32faf client/users: change search syntax help link 2016-04-17 00:03:56 +02:00
rr- 925bfcecc5 client/help: split search help into sections 2016-04-17 00:03:45 +02:00
rr- 61d2fb88ea server/tags: add tag listing 2016-04-16 21:24:09 +02:00
rr- e4239a199c server/api: refactor + remove ID from user JSON 2016-04-16 15:49:21 +02:00
rr- b382f3398f client/users: add keyboard shortcuts to user list 2016-04-14 21:50:59 +02:00
rr- ef3dc1fa75 client/paging: refactor manual pager 2016-04-14 21:50:59 +02:00
rr- 0ddbc64320 client/css: tweak help button appearance 2016-04-14 21:50:59 +02:00
rr- c2aa497d91 client/settings: decouple settings from controller 2016-04-14 21:50:59 +02:00
rr- 00bf279396 client/views: fix access key underline 2016-04-14 21:50:59 +02:00
rr- 35c549493c server/users: support wildcards in user search 2016-04-14 21:50:59 +02:00
rr- 286df9faf3 docs+client/users: document user filtering 2016-04-14 19:58:28 +02:00
rr- f34e83b325 client/users: add filtering 2016-04-14 17:50:46 +02:00