Commit graph

623 commits

Author SHA1 Message Date
rr-
fe0ba63f19 client/comments: rework comments appearance and UX 2016-12-25 21:49:39 +01:00
rr-
f0573be715 client/css: improve list margins in comments 2016-12-22 23:45:15 +01:00
rr-
cf24d63fa4 client/css: fix lists in comments css inheritance
Markdown lists in comments inherited some unwanted CSS rules. The fix is
to make the culprit rules apply to more specific elements.
2016-12-22 23:45:14 +01:00
rr-
40fa118cca client/settings: fix hint button placement 2016-12-22 23:45:14 +01:00
rr-
32d498c74b client/markdown: allow to specify image size 2016-12-22 23:41:43 +01:00
rr-
6bf5764c6c client/posts: fix adding loop flag to non videos 2016-11-27 22:05:12 +01:00
rr-
9ae2b6aa44 client/notes: fix notes being added twice
Slight issue with event listeners.
2016-11-21 18:11:30 +01:00
rr-
e21a31e72f client/posts: fix hiding notes on interaction
Fixes #108
2016-11-13 19:10:55 +01:00
rr-
81080da06f client/settings: add ability to autoplay videos 2016-11-11 23:14:51 +01:00
rr-
bf0342df71 client/views: refactor make(Non)VoidElement
Merge into one function
2016-11-11 23:08:50 +01:00
rr-
143a015473 client/posts: control over video loops on upload
Also loop videos by default
2016-11-11 22:35:58 +01:00
rr-
20a5a58734 client/markdown: recognize entity links 2016-11-11 21:52:07 +01:00
rr-
b44b2aef7e client/posts: fix mass tag case sensitivity
Mass tagging with `TAG` marked posts tagged with `tag` as untagged.
2016-10-27 17:54:11 +02:00
rr-
39973386c6 client/posts: fix editing post safety
Broken by 865c4f3b79
2016-10-23 19:49:40 +02:00
rr-
141c9fcdc9 server/tags: merge also tag relations 2016-10-22 18:02:50 +02:00
rr-
f1445b9c24 client/posts: add post merging 2016-10-22 14:05:56 +02:00
rr-
8c0fa7f49e client/posts: fix post mgmt privilege checking 2016-10-22 14:03:34 +02:00
rr-
9aa59a228e client/css: align radioboxes to first line 2016-10-22 14:03:34 +02:00
rr-
85d6934ae9 client/notes: fix deleting last point 2016-10-03 23:29:07 +02:00
rr-
2b34d395eb client/views: escape tag/user/post links 2016-10-02 20:25:48 +02:00
rr-
419deca894 client/tags: fix escaping HTML in autocomplete
Fixes #105
2016-10-02 20:10:38 +02:00
rr-
b0c5031001 client+server/posts: reverse next/prev post role
In the post list, when we navigate to the page with ">" button, we
navigate to older posts.
In the post view, when we navigate to the page with ">" button, we
navigate to older posts as well.

However, in the post list, the ">" button is called "next page".
At the same time, in the post view, the ">" button was called "previous
post". Now it's called "next post".

The difference isn't visible to normal users nor even API consumers as
the "get posts around post X" request isn't documented.

The change is motivated not only by consistency, but to also improve
compatibility with Vimperator's `[[` and `]]`. Vimperator assumes the
word "next" refers to ">" and the word "previous" refers to "<".
2016-10-02 17:07:08 +02:00
rr-
8f275206af client/search: correct case in autocompleted tags 2016-09-29 22:54:51 +02:00
rr-
977cc47966 client/search: escape : in tag search 2016-09-29 22:47:41 +02:00
rr-
7648f479a9 client/posts: add 'skip duplicates' to upload form
Closes #102
2016-09-29 22:26:37 +02:00
rr-
7862fecbc9 client/posts: add upload cancelling 2016-09-29 21:55:20 +02:00
rr-
f44f2335da client/posts: disable form controls during upload
Closes #99
2016-09-29 12:39:43 +02:00
rr-
67cb12e9d9 client/build: work around uglifyjs bug #1286
https://github.com/mishoo/UglifyJS2/issues/1286
2016-09-29 11:24:22 +02:00
rr-
a69bdba63f client/build: ditch arrayToObject
UglifyJS seems to have troubles using it, I didn't want to investigate
it too much as it's just a syntactic sugar used in about 4 places so I
just removed it altogether
2016-09-29 11:16:55 +02:00
rr-
0df3ceb439 client/build: work around uglifyjs bug #1308
https://github.com/mishoo/UglifyJS2/issues/1308
2016-09-29 11:16:18 +02:00
rr-
3436bc3ef8 client/build: improve reporting build errors 2016-09-29 11:15:58 +02:00
rr-
3d122441a2 client/general: remove 404 image
It used to be relevant when we had Tsukasa for mascot, but since the 2.x
strives to look more "professional" and there's no Tsukasa in the
README, it just looks out of place.
2016-09-29 10:53:34 +02:00
rr-
d31acc5952 client/views: show "!" in document title on errors
Closes #96
2016-09-26 22:48:13 +02:00
rr-
4f497d311a client/api: support Unicode passwords 2016-09-24 08:49:47 +02:00
rr-
01fadd8f8c client/api: fix reporting errors for bad logins 2016-09-24 08:49:07 +02:00
rr-
119c2449cd client/tags: fix tagging with aliases
Fixes #93
2016-09-18 10:50:13 +02:00
rr-
600db78a45 client/posts: fix exiting mass tag (pt. 2)
Fixes #94
2016-09-18 10:38:53 +02:00
rr-
5eb130b02a client/tags: blind fix for tags.json race
I don't want to make the UI wait for tags.json to load, I'd rather not
color categories on some pages instead.
2016-09-16 21:34:38 +02:00
rr-
91decaf9fe client/tags: fix exiting mass tag
Exiting mass tag didn't remove [+] [-] buttons on post thumbnails.
2016-09-16 21:31:09 +02:00
rr-
cf1e1670c4 client/posts: allow clicking on upload thumbnails 2016-09-10 16:13:57 +02:00
rr-
b68f833ce9 client/css: increase button margin in upload form 2016-09-10 15:50:01 +02:00
rr-
2be21a7213 client/css: fix tag creation time being wrapped 2016-09-10 15:49:56 +02:00
rr-
f31f67bfec client/comments: fix adding comment after voting 2016-09-10 15:23:54 +02:00
rr-
0f0e6c4e24 client/posts: add border around tagless posts 2016-09-10 11:36:51 +02:00
rr-
19eea226a6 client/search: fix dangling 'no data to show'
Concerned only endless scroll
2016-09-10 11:36:51 +02:00
rr-
ad87506044 client/settings: fix updating settings
Updating settings in browsing settings view has been reseting safety
settings in post list.
2016-09-10 11:36:51 +02:00
rr-
3149c43b7e client/settings: change checkbox label
Makes it consistent with others checkboxes, each one of which uses a
verb in its label
2016-09-10 11:36:03 +02:00
rr-
293b28117b client/posts: link to duplicates in upload form 2016-09-10 11:36:02 +02:00
rr-
5b565e3b00 client/errors: show errors in inline Markdown 2016-09-10 11:36:02 +02:00
rr-
e05e0e5fd2 client/util: refactor Markdown formatter code 2016-09-10 11:36:02 +02:00
rr-
2c283f3058 client/posts: move submit buttons to top 2016-09-10 09:57:20 +02:00
rr-
b829f89f1b client/posts: change 'submit'->'save' in edit form 2016-09-10 09:50:58 +02:00
rr-
7fa8593b0a client/general: improve URL escaping
Specifically, cater for /, + and % in URL components.
2016-09-04 02:07:22 +02:00
rr-
988664117a client/posts: don't show notes on flash posts 2016-08-31 22:20:21 +02:00
rr-
acd989cabb client/tags: fix URL redirections
User controller didn't need intervention but I refactored it to match
tag controller anyway.
2016-08-28 23:57:53 +02:00
rr-
997eb3de63 client/tags: fix detecting changes to names
Since 243ab15 the order of tag aliases matters, so the changes need to
pick up also permuting - which were ignored before.
2016-08-28 23:48:50 +02:00
rr-
4bfdd4c5cb client/notes: don't steal arrow keys in textarea 2016-08-28 23:40:28 +02:00
rr-
dfc65e5a7c client/general: add < > vim navigation hints
For example, in Vimperator, one now can navigate to previous/next page
or post by pressing f< or f>.
2016-08-28 23:40:28 +02:00
rr-
5a152dbc0c client/search: go back to page 1 on query change 2016-08-28 23:40:28 +02:00
rr-
e4f9c26776 client/posts: go back to page 1 on safety change 2016-08-28 23:40:28 +02:00
rr-
cf1d15354d client/paging: avoid redrawing header navigation 2016-08-28 23:40:28 +02:00
rr-
e83e1b06a1 client/general: remove spurious console.log 2016-08-28 22:23:20 +02:00
rr-
79d7b83e39 client/posts: fix mass tag 2016-08-28 22:23:20 +02:00
rr-
6b042504b0 client/home: fix reporting backend errors
The code mistakenly referred to a non-existing field. Now it matches the
rest of the error handlers.
2016-08-28 20:00:50 +02:00
rr-
6d0bf90b47 client/css: fix ghost margins for messages 2016-08-28 20:00:50 +02:00
rr-
22342a29ad client/file-dropper: fix URL validation 2016-08-27 23:45:07 +02:00
rr-
9dc438c391 client/expanders: fix setting empty expander title 2016-08-27 22:19:01 +02:00
rr-
63ec28ddb3 client/posts: don't show notes on videos 2016-08-27 22:19:01 +02:00
rr-
02d631a65d client/css: improve appearance on small screens 2016-08-27 22:19:01 +02:00
rr-
f63d024777 client/css: improve comment edit form background
If text area was bigger than the post, switching to preview mode
showed gray space under the text. Now the preview pane's background
should fill the whole edit box size.
2016-08-27 22:19:01 +02:00
rr-
514c4349e0 client/css: split into files 2016-08-27 22:19:01 +02:00
rr-
702ec3e6fe client/settings: increase default post count to 42
Since on big resolutions the posts use 7 columns, it makes sense to use
a multiple of that.
2016-08-27 22:19:01 +02:00
rr-
473f2a4ddc client/posts: make rating icons consistent 2016-08-27 22:19:01 +02:00
rr-
c21309aa35 client/models: don't modify API responses
API responses are cached internally - if they're modified, they're
modified in cache too. This can lead to certain anomalies, that can be
easily solved by making object copies.
2016-08-27 15:39:47 +02:00
rr-
63e8683fb8 client/tags: change 'edit time' to 'created on' 2016-08-27 15:29:40 +02:00
rr-
8f230f5701 client/css: fix wrapping tags in read-only sidebar 2016-08-26 23:52:03 +02:00
rr-
422b99ac8d server/search: add content-checksum 2016-08-26 16:26:06 +02:00
rr-
7451d16baf client/css: fix tag list style 2016-08-25 00:04:34 +02:00
rr-
9283851862 client/css: don't wrap long file names 2016-08-24 13:32:44 +02:00
rr-
0a488afbd8 client/posts: add webm thumbs to upload form 2016-08-24 13:29:29 +02:00
rr-
3da4c54030 client/posts: add controls for reordering uploads 2016-08-24 13:00:17 +02:00
rr-
c64453a15c client/tag-input: scroll suggestions up on refresh 2016-08-24 10:58:58 +02:00
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-
f035140c9f client/css: simplify tag list outline workarounds
Rather than messing with negative margins, just make the outline inset
by replacing it with inset box-shadow.
2016-08-24 00:24:20 +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-
d753bdfab1 client/auth: fix edit tag tab visibility 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-
803a1350fa client/css: colorize 1st note point during drawing 2016-08-23 21:02:18 +02:00
rr-
fd2b4706a6 client/css: adjust thumbnail margins 2016-08-23 20:55:51 +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-
44b2d9b830 client/expanders: change appearance 2016-08-22 01:40:30 +02:00
rr-
c7f36c893f client/expanders: extract HTML 2016-08-22 01:40:30 +02:00
rr-
2335aaff20 client/tags: fix outline for focused compact tags
It was being hidden due to overflow: hidden. In other news, I hate CSS.
2016-08-22 01:40:11 +02:00
rr-
0a326972c3 client/tag-input: add 'add' button 2016-08-22 00:54:11 +02:00
rr-
81f14e154e client/tag-input: extract CSS 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-
dbd36256ce client/file-dropper: support Vimperator focus 2016-08-20 22:47:45 +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-
aac0ce6ee4 client/css: improve error messages under comments 2016-08-08 18:00:02 +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-
d23300645f client/tags: fix tag category template 2016-08-05 23:12:42 +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-
9383fd2b27 client/settings: rearrange the form, add hints 2016-08-05 23:02:41 +02:00
rr-
d5a00fe4b9 client/posts: add note editing 2016-08-05 23:02:41 +02:00
rr-
721900ee2f client/css: fix wrapping long tags 2016-08-04 00:30:24 +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-
11d3853122 client/css: tweaks margins 2016-08-02 12:27:01 +02:00
rr-
0c64d1fe1c client/posts: add post deleting 2016-08-02 12:27:01 +02:00
rr-
179cf57cb9 client/posts: add post featuring 2016-08-02 12:27:01 +02:00
rr-
3b800b9731 client/css: fix button height
Regression from 797e5d4
2016-08-02 12:27:01 +02:00
rr-
51ea06d837 client/posts: add expanders to edit sidebar 2016-08-02 12:27:01 +02:00
rr-
b9f2db1c63 client/tags: add toggle suggestions opacity 2016-08-01 21:50:00 +02:00
rr-
3176709288 client/posts: clear messages before submit
Saving the post twice resulted in two 'Post saved!' messages.
2016-07-31 23:55:22 +02:00
rr-
9ee973ce1c client/posts: add custom thumbnail discarding 2016-07-31 23:54:29 +02:00
rr-
673bb52d4a client/tags: add ability to turn off suggestions 2016-07-31 23:07:01 +02:00
rr-
97b217dc31 client/tags: add [delete] key support in tag input 2016-07-31 22:35:09 +02:00
rr-
e291369701 client/build: fix minifying adding ghost spaces
HTML minifier added ghost spaces around some of <%- %> even despite <!--
--> trick.
2016-07-30 23:12:32 +02:00
rr-
6e3462187d client/tags: disable relations for pasted tags 2016-07-30 23:12:31 +02:00
rr-
1fbeecb0a2 client/help: correct obsolete information 2016-07-30 23:12:31 +02:00
rr-
e464e69b36 client/general: remove faux href='#' from links 2016-07-30 23:12:31 +02:00
rr-
29bc41f5da client/tags: don't mark duplicated implications 2016-07-30 23:12:31 +02:00
rr-
245ce258a9 client/tags: improve copying tag list
- Don't copy tag count
- Don't copy × button
- Copy spaces between tags
2016-07-30 23:12:08 +02:00
rr-
72072db078 client/tags: show tag suggestions in tag input 2016-07-30 23:10:58 +02:00
rr-
c1c47de3a5 client/posts: links in edit mode preserve mode 2016-07-30 23:10:58 +02:00
rr-
4b75aab816 client/posts: implement exit confirmation 2016-07-30 23:10:58 +02:00
rr-
193e34aff8 client/posts: improve form behavior when saving
- Disable and enable the form
- Notify about success in the sidebar
- Notify about errors in the sidebar rather than using a native alert
2016-07-30 23:10:58 +02:00
rr-
dbf44ed58f client/tags: mark used tags in autocomplete 2016-07-30 23:10:58 +02:00
rr-
81afd383fa client/tags: fade out tag colors after 2.5s 2016-07-30 23:10:58 +02:00
rr-
af455b901f client/tags: make implications yellow 2016-07-30 23:10:58 +02:00
rr-
e4954140f8 client/tags: rewrite tag input
Suggestions will be reimplemented in separate commit
2016-07-30 23:10:38 +02:00
rr-
7e6e59417e client/tags: allow deleting used tags 2016-07-30 13:43:15 +02:00
rr-
f63851e2cf client/build: fix JSCS warnings 2016-07-30 13:43:15 +02:00
rr-
d91352a3b0 client/general: ditch tabular forms 2016-07-30 13:41:44 +02:00
rr-
797e5d4244 client/css: fix combobox height on Firefox
https://bugzilla.mozilla.org/show_bug.cgi?id=454625
2016-07-30 13:41:44 +02:00
rr-
611cb3b9f9 client/home: fix post not being bound to its model
This resulted in errors while presenting post content control - it tried
to use methods that were available only in the actual model.
2016-07-30 13:41:44 +02:00
rr-
76e9307449 client/tags: fix window title 2016-07-29 11:00:26 +02:00
rr-
ef4806e142 client/posts: display edit link for tagless posts 2016-07-28 23:10:41 +02:00
rr-
1ed7ad4173 client/posts: add simple thumbnail editing 2016-07-28 23:10:40 +02:00
rr-
3d8eaab57a client/posts: add post content editing 2016-07-27 22:27:33 +02:00
rr-
6635b507f2 client/posts: fix losing query after exiting edit 2016-07-26 23:20:16 +02:00
rr-
8de7541bc5 client/posts: fix stripping query for edit page 2016-07-26 23:20:15 +02:00
rr-
3f7ccfaea2 client/users: refactor to match other models 2016-07-26 23:20:15 +02:00
rr-
d2a5e1056d client/models: discard field declarations
This has important side effect that matters when we check for data
changes using _orig dictionary. Previously, _orig was empty (so its
members fields were undefiend) whereas the real fields were declared as
nulls. This meant that for new entities, the conditions were always
true, which is unintended. Now both _orig and the class itself are
initially populated with _updateFromResponse which syncs the state
between them, removing the problem.
2016-07-26 23:15:05 +02:00
rr-
7022686b77 client/tags: improve privilege checking
- Hide fields that are uneditable, rather than disabling them
- Support fragmented edit privileges (e.g. roles than can edit only some
  aspects of tags) - up until now the client tried to send everything at
  once, which resulted in errors for such cases.
2016-07-26 20:49:48 +02:00
rr-
b378ce7ede client/posts: move relations above tags 2016-07-26 20:38:12 +02:00
rr-
8a68e182fd client/posts: implement loop video flag 2016-07-26 20:38:12 +02:00
rr-
865c4f3b79 client/posts: respect edit privileges in sidebar 2016-07-26 20:38:12 +02:00
rr-
0db70f7951 client/css: stylize cursor of disabled elements 2016-07-26 19:57:41 +02:00
rr-
faf461419f client/posts: fix JSCS complaint 2016-07-17 21:15:50 +02:00
rr-
7488abb332 client/posts: add simple editing 2016-07-17 20:32:00 +02:00
rr-
651c3f6925 client/posts: fix post edit route 2016-07-17 19:00:40 +02:00
rr-
2a39ec165d client/general: add title to every page 2016-07-13 21:50:07 +02:00
rr-
394e51ed21 client/general: improve scrolling 2016-07-13 17:18:28 +02:00
rr-
5d8dd9cb05 client/paging: fix endless scroll return path
Since some refactors it has always been returning to page 1.
2016-07-08 00:54:24 +02:00
rr-
8901658c17 client/posts: strip junk from post permalinks
Thanks for inspiration, StackExchange
2016-07-08 00:54:24 +02:00
rr-
5ac5eb5503 client/general: refactor URL parameter handling 2016-07-08 00:54:24 +02:00
rr-
cd1f4709f0 client/home: change apparance 2016-07-08 00:08:44 +02:00
rr-
6140872cd9 client/posts: add implications recursively 2016-07-06 23:03:37 +02:00
rr-
fccedc090f client/posts: add mass tag 2016-07-06 23:03:37 +02:00
rr-
99011b02d7 client/home: fix missing info on featured post 2016-07-06 00:07:46 +02:00
rr-
7e62751e4e client/tags: fix hovering over autocomplete in FF
Hovering over an autocomplete box always selected the last element
rather than the element under the cursor. This is because resultIndex
was bound by reference.

This looks like a bug in FF implementation of "for (let [x, y] of ...)"
-rather than binding "x" and "y" to the scope of the loop, it's
equivalent to "for (var [x, y] of ...)", which causes nasty anomalies
for functions created inside the loop body.
2016-07-05 23:59:10 +02:00
rr-
abd8e9e89c client/general: handle spaces in autocomplete 2016-07-03 19:38:17 +02:00
rr-
7ae2778e48 client/css: fix sizing of large posts 2016-07-03 18:30:33 +02:00
rr-
83cc53be07 client/posts: show post relations 2016-07-03 18:30:32 +02:00
rr-
1f413763bd client/posts: remember fit mode 2016-06-29 18:54:49 +02:00
rr-
c8e57146f3 client/tags: add usage count 2016-06-28 22:04:55 +02:00
rr-
7b4645b54b client/tags: improve tag regex handling 2016-06-23 12:47:56 +02:00
rr-
2f20bc1619 client/general: fix certain error handlers 2016-06-23 12:47:56 +02:00
rr-
c7f6663c36 client/general: escape entity names in links 2016-06-23 12:47:56 +02:00
rr-
6ea129a9ef client/views: escape HTML
This lets client use < > in tag names.
2016-06-23 12:47:56 +02:00
rr-
f3049e5546 client/tags: add summary view, add tag description 2016-06-23 00:17:11 +02:00
rr-
a6d6aa2f4d client/api: encode spaces (and others) in URLs 2016-06-23 00:15:25 +02:00
rr-
1a75c61f65 client/tags: fix tag categories with spaces 2016-06-23 00:15:25 +02:00
rr-
1c5f44a91c client/tags: fix sorting by tag usage 2016-06-23 00:15:25 +02:00
rr-
c0fd46c890 client/views: fix complex templates 2016-06-23 00:15:24 +02:00
rr-
eb09677bf8 client/general: replace direct API with models 2016-06-20 23:52:09 +02:00
rr-
5f4b67a2bc client/views: improve HTML to DOM converter
Putting a <tr> in the template resulted in... something weird. Adapting
tricks from JQuery with additional fixes.
2016-06-20 21:44:04 +02:00
rr-
e4b4276f3b client/top-nav: fix activating list items 2016-06-19 21:38:39 +02:00
rr-
d5c3d21951 client/api: fix cache not cleared on login
This led to weird anomalies when logging with valid password and then
with invalid one.
2016-06-19 21:38:39 +02:00
rr-
39c0c4f338 client/posts: remember search for prev/next post 2016-06-18 11:47:08 +02:00
rr-
a697aba1b0 client/general: remove api calls from controls
Introduce some missing models along the way
2016-06-18 10:35:20 +02:00
rr-
54e3099c56 client/general: refactor control flow
- Controller lifetime is bound to route lifetime
- View lifetime is bound to controller lifetime
- Control lifetime is bound to view lifetime
- Enhanced event dispatching
- Enhanced responsiveness in some places
- Views communicate user input to controllers via new event system
2016-06-18 10:35:20 +02:00
rr-
8c424ae4ab client/tags: fix link to used tags 2016-06-17 21:25:37 +02:00
rr-
7f46f72a74 client/auth: fix password reminder 2016-06-17 00:38:43 +02:00
rr-
974bc7e908 client/css: fix tag delete form ghost margin 2016-06-16 23:42:50 +02:00
rr-
2ac8d8650c client/posts: introduce post model
Now to replace all the api calls in views with event system... and then
do the same for user, tag and comment
2016-06-14 07:50:22 +02:00
rr-
6fcf81e55d client/posts: split controllers 2016-06-14 07:50:22 +02:00
rr-
0f1e234a5d client/top-nav: trying out actual mvc 2016-06-13 22:43:07 +02:00
rr-
e93af8b577 client/events: add experimental EventTarget 2016-06-13 20:11:17 +02:00
rr-
892c154b34 client/polyfill: add NodeList.querySelectorAll 2016-06-13 20:10:55 +02:00
rr-
7116903438 client/css: remove ghost margin near comment form
It appeared only on Chrome?
2016-06-13 20:10:11 +02:00
rr-
f1686f8449 client/css: reduce margin around comment form 2016-06-13 20:10:00 +02:00
rr-
6b68c77e17 server/posts: add relation-count token 2016-06-13 20:09:15 +02:00
rr-
c508d37d54 client/css: improve tag edit view 2016-06-12 22:46:22 +02:00
rr-
f24ea3450d client/comments: fix canceling preview 2016-06-12 22:33:31 +02:00
rr-
e800e6c21b client/comments: fix sort order
Each time the user clicked 'comments' tab, the comments were reversed.
2016-06-12 22:19:05 +02:00
rr-
3cbcbf1140 client/general: fix jscs warnings 2016-06-12 22:10:20 +02:00
rr-
0547ec5aa2 client/paging: remember results in history 2016-06-12 22:02:15 +02:00
rr-
95b3b09cbc client/router: remember scroll position 2016-06-12 21:58:05 +02:00
rr-
e10ed4bce8 client/router: refactor call chains 2016-06-12 21:57:19 +02:00
rr-
ee829e42d2 client/paging: improve endless scroll 2016-06-12 21:43:20 +02:00
rr-
76882b59ef client/router: introduce own router
I'm tired of page.js lack of documentation around finer quirks, and
being forced to read its crap code. Refactored into classes, removed
unused cruft.
2016-06-12 21:43:20 +02:00
rr-
4295e1c827 client/misc: fix Markdown permalinks 2016-06-12 18:15:27 +02:00
rr-
a28b4bdd3e client/comments: add comment adding 2016-06-12 18:11:56 +02:00
rr-
b9fc626ace client/comments: fix link placement for Vimperator 2016-06-12 17:10:03 +02:00
rr-
b1b261beb8 client/posts: fix safety buttons 2016-06-12 14:10:51 +02:00
rr-
1e48140b00 client/comments: add global comment list 2016-06-12 14:04:52 +02:00
rr-
7e8a9a0948 client/comments: add comment list view for post 2016-06-12 12:54:08 +02:00
rr-
0908323290 client/posts: add keyboard shortcuts 2016-06-11 22:34:31 +02:00
rr-
56432e6089 client/posts: add transparency grid
Can be turned off in browsing settings.
2016-06-11 22:34:01 +02:00
rr-
07603be35e client/posts: add Vimperator hints to vote buttons 2016-06-11 22:34:01 +02:00
rr-
e9fb93d5c8 server/general: rename _fields to fields 2016-06-11 22:33:33 +02:00
rr-
9e13c05517 client/misc: fix invalid markup for SJIS 2016-06-11 22:33:33 +02:00