Commit graph

249 commits

Author SHA1 Message Date
rr-
263d4f3626 client/paging: fix unbinding endless pager 2016-08-24 10:55:31 +02:00
rr-
2ef63fcc7a client/tag-input: move removal links to left 2016-08-24 00:47:15 +02:00
rr-
7f4a2c1ceb client/posts: show tag/note counters in expanders 2016-08-23 23:19:40 +02:00
rr-
cc78766585 client/posts: use object URLs in upload form 2016-08-23 23:14:21 +02:00
rr-
f9754edcce client/general: fix autocomplete control
Regression from d5e197e.
2016-08-23 23:14:21 +02:00
rr-
ad8ed89e3c client/general: show empty thumbnails as grid 2016-08-23 23:14:05 +02:00
rr-
495f98a65f client/auth: fix edit sidebar for management only 2016-08-23 23:14:05 +02:00
rr-
9124639564 client/auth: fix user forms reachable via URL 2016-08-23 23:14:05 +02:00
rr-
3c03c001e2 client/auth: fix tag forms reachable via URL 2016-08-23 23:14:05 +02:00
rr-
3ff48667a0 client/auth: fix swapped tag deleting and merging 2016-08-23 23:14:05 +02:00
rr-
34022d8fc8 client/auth: fix not hiding anonymity checkbox 2016-08-23 23:14:05 +02:00
rr-
e90b8972c7 client/auth: fix being able to rate/fav things 2016-08-23 23:12:29 +02:00
rr-
4ca7c49239 client/auth: fix masstag privilege bypass
Visiting mass-tag URL directly ignored masstag privileges and showed
tag/untag controls (although didn't show the controls in the header).
After this change, bypassing mass tag privileges got a little bit
harder. (It's still possible for the user to talk directly to the API
after all.)
2016-08-23 23:12:29 +02:00
rr-
1e9ee0838a client/auth: hide signup link in top nav if needed 2016-08-23 23:12:29 +02:00
rr-
08c6c2c145 client/auth: show errors early in controllers
In other words, verify the privileges client-side before issuing an
request to the server. This commit focuses on routing (e.g. clicking a
link while not logged in), rather than DOM element visibility that
should be already taken care of.
2016-08-23 23:12:29 +02:00
rr-
124e871022 client/users: stop native completion
Disabled for user registration and editing where it causes more mess
than good.
2016-08-22 21:46:30 +02:00
rr-
fec31d7946 client/users: add exit confirmation for edit form 2016-08-22 21:38:34 +02:00
rr-
ea947ed91e client/tags: add exit confirmation for edit form 2016-08-22 21:38:31 +02:00
rr-
d8d4654849 client/events: adjust event names
1. "change" should be used to passive changes.
2. "submit" should be used to form submits.

These are not interchangeable.
2016-08-22 21:36:45 +02:00
rr-
d5e197e6ea client/general: add empty href for link buttons
In e464e69 I removed href='#' but I noticed that it broke some things.
Readding href serves two purposes:

- it makes links reachable with Tab key
- it makes links clickable with Enter key

The alternative to this approach was to introduce [tabindex] and [role]
attributes. But not only using tabindex=0 with <a/> is questionable,
it'd require adding a keyboard handler that'd intercept space and return
key presses and simulated link clicks. Since it's best to leave this
kind of thing to the native UI, I went with readding hrefs instead. I
believe that hash hrefs, even though being a common practice, are silly,
so I decided to settle down with empty hrefs.

As a bonus, I added a snippet that prevents middle mouse clicks from
opening such links/buttons in new tabs, which was the motivation for
e464e69.
2016-08-22 01:40:30 +02:00
rr-
c7f36c893f client/expanders: extract HTML 2016-08-22 01:40:30 +02:00
rr-
0a326972c3 client/tag-input: add 'add' button 2016-08-22 00:54:11 +02:00
rr-
d0c0652720 client/tag-input: extract HTML template 2016-08-22 00:54:11 +02:00
rr-
5bcf44aa2d client/posts: implement upload form 2016-08-21 23:43:36 +02:00
rr-
f0ed82b0de client/models: fix post list missing comment count 2016-08-21 20:11:38 +02:00
rr-
03b5e933bf client/file-dropper: add URL support 2016-08-20 22:47:45 +02:00
rr-
ecd50f5c88 client/file-dropper: refactor to use events 2016-08-20 22:47:45 +02:00
rr-
8feac2950b client/file-dropper: fix selecting multiple files 2016-08-20 22:47:45 +02:00
rr-
1f54a127d0 client/posts: fix deleting posts 2016-08-20 13:08:02 +02:00
rr-
9014baab92 client/snapshots: add snapshots browser 2016-08-20 13:01:17 +02:00
rr-
03a7bd0d5c client/api: fix working with UTF8 entity IDs 2016-08-16 21:42:11 +02:00
rr-
023ec9a976 client/password-reset: fix event binding
Every time the password reset form was loaded, the form submit event
listener was attached to a non-disposable DOM node rather than the DOM
node whose life scope was bound to the viewed page. As such, submitting
the form, leaving the page, returning back to it and sending the request
again caused the 'submit' event to fire twice - one time from the
non-disposed event handler and one from the current handler. This
resulted in the request being sent twice, and getting two confirmation
messages on the screen.

Fortunately, since the password reset requests are GET requests, they're
intercepted by the internal cache of the client API facade, so the
client just saw duplicate messages without the requests being actually
sent to the backend - meaning no extra mails were sent.
2016-08-14 16:57:46 +02:00
rr-
6b77404ecf client/tags: fix handling malformed tag export 2016-08-13 13:38:37 +02:00
rr-
cef3ad8e48 client/models: fix changing avatar 2016-08-13 11:57:27 +02:00
rr-
5200f834f7 client/models: fix modifying lists in post model
The lists in the post model (current state and original state) referred
to the same objects, so that making changes to current state was seen as
if no change has been made. This broke mass tag - it always thought
there were no changes to post tags.
2016-08-08 17:59:49 +02:00
rr-
059bac877b client/models: fix notifying about list changes 2016-08-08 17:45:57 +02:00
rr-
46435182f6 client/posts: fix mass tag not sending version 2016-08-08 17:45:49 +02:00
rr-
79b3973f9e client/general: use resource versioning 2016-08-07 09:55:51 +02:00
rr-
70a65cc0a3 client/notes: fix saving post breaking selection
The problem was with dangling references - the saved post has been
replacing the note collection with entirely new class instances, whereas
the notes control clung onto old references. Now the control detects
such reloads and acts accordingly.
2016-08-05 23:04:29 +02:00
rr-
8e9ddf796f client/notes: add exit prompt for polygon changes 2016-08-05 23:04:29 +02:00
rr-
3235d70b1b client/notes: make content appear at centroids
Previously it used the centroid of polygon's bounding box, not the
polygon's centroid.
2016-08-05 23:04:21 +02:00
rr-
b7149ba7d6 client/notes: make keyboard scaling use centroids
Previously it used first polygon point.
2016-08-05 23:04:11 +02:00
rr-
9013f15c1a client/notes: add scaling notes with shift key 2016-08-05 23:03:43 +02:00
rr-
1b62daed9a client/general: clean up, refactor 2016-08-05 23:02:41 +02:00
rr-
9304e309f6 client/settings: add posts per page option 2016-08-05 23:02:41 +02:00
rr-
d5a00fe4b9 client/posts: add note editing 2016-08-05 23:02:41 +02:00
rr-
7f53abb498 client/tags: remove unused cruft 2016-08-04 00:30:24 +02:00
rr-
67f803a2f2 client/general: fix support for deleted users 2016-08-02 12:27:02 +02:00
rr-
688740afa9 client/posts: fix mass tag for unprivileged users 2016-08-02 12:27:02 +02:00
rr-
0c64d1fe1c client/posts: add post deleting 2016-08-02 12:27:01 +02:00