rr-
67f803a2f2
client/general: fix support for deleted users
2016-08-02 12:27:02 +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-
865c4f3b79
client/posts: respect edit privileges in sidebar
2016-07-26 20:38:12 +02:00
rr-
7488abb332
client/posts: add simple editing
2016-07-17 20:32:00 +02:00
rr-
394e51ed21
client/general: improve scrolling
2016-07-13 17:18:28 +02:00
rr-
5ac5eb5503
client/general: refactor URL parameter handling
2016-07-08 00:54:24 +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-
1a75c61f65
client/tags: fix tag categories with spaces
2016-06-23 00:15:25 +02:00
rr-
c0fd46c890
client/views: fix complex templates
2016-06-23 00:15:24 +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-
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-
892c154b34
client/polyfill: add NodeList.querySelectorAll
2016-06-13 20:10:55 +02:00
rr-
3cbcbf1140
client/general: fix jscs warnings
2016-06-12 22:10:20 +02:00
rr-
4295e1c827
client/misc: fix Markdown permalinks
2016-06-12 18:15:27 +02:00
rr-
7e8a9a0948
client/comments: add comment list view for post
2016-06-12 12:54:08 +02:00
rr-
9e13c05517
client/misc: fix invalid markup for SJIS
2016-06-11 22:33:33 +02:00
rr-
8303c08437
client/users: make avatars clickable
2016-06-11 17:36:02 +02:00
rr-
7566d2e0f3
client/general: respect privileges
2016-06-11 17:36:02 +02:00
rr-
abd679888a
client/general: make fatal errors fatal
2016-06-11 17:36:02 +02:00
rr-
d445a4c93f
client/general: simplify input creation
2016-06-08 22:51:15 +02:00
rr-
07329d33a4
client/posts: add post view (without comments yet)
2016-06-08 22:43:03 +02:00
rr-
009e13c6d8
client/polyfill: add .querySelector to NodeList
2016-06-08 22:39:49 +02:00
rr-
c114cec642
client/posts: add safety buttons
2016-06-03 19:47:09 +02:00
rr-
fd2df3966d
client/home: show top nav after all, improve looks
2016-06-01 23:42:42 +02:00
rr-
53fd6fb29b
client/home: view featured post, add search form
2016-05-29 12:41:22 +02:00
rr-
6d6cce20dd
client/misc: add formatMarkdown()
2016-05-29 12:41:22 +02:00
rr-
bab88f4739
client/top-nav: reuse makeAccessLink
2016-05-29 12:40:53 +02:00
rr-
79f22d27cd
client/views: reuse mutation observer
2016-05-29 12:40:36 +02:00
rr-
d99c03b9fa
client/home: render disk usage and post count
2016-05-22 22:39:31 +02:00
rr-
7ea4718b1b
client/tags: add suggesting related tags
2016-05-22 22:17:11 +02:00
rr-
98c6128829
client/build: true template precompiling
...
Rather than putting templates in DOM nodes, output JS functions
themselves.
This fixes transpiling for IE11, where ES6 parts of the templates
wouldn't get passed through Babel.
2016-05-21 10:04:23 +02:00
rr-
052a7ca684
client/general: use 'ctx' variable for templates
2016-05-21 09:46:53 +02:00
rr-
bae238794a
client/general: reduce lodash usages
2016-05-21 08:27:10 +02:00
rr-
a32c5d1399
client/misc: remove String.format()
...
...and replace them with ES6 template literals I've just learned about.
2016-05-21 00:08:43 +02:00
rr-
249d6073c0
client/build: remove babel when not transpiling
2016-05-21 00:08:43 +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-
2cba1a432f
client/general: replace underscore with lodash
2016-05-14 13:12:01 +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-
3856e9fd0d
client/general: fix JSCS warnings
2016-05-10 14:13:24 +02:00
rr-
27cce56054
client/tags: add tag category editing
2016-05-10 13:26:17 +02:00
rr-
6405fbe9f2
client/general: replace handlebars with underscore
2016-05-09 22:36:29 +02:00
rr-
b382f3398f
client/users: add keyboard shortcuts to user list
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
rr-
90559ffcdb
client/build: fix IE11 transpiling
2016-04-14 17:50:38 +02:00
rr-
905faf3721
client/css: scale to device width
2016-04-14 17:50:04 +02:00
rr-
43c657e371
client/paging: don't include empty parameters
2016-04-13 22:15:40 +02:00
rr-
d18a8090b1
client/build: transpile ES6 for older browsers
2016-04-13 20:13:10 +02:00
rr-
5796b07908
client/build: don't keep templates in DOM
2016-04-13 18:58:34 +02:00
rr-
b7a67fc01c
views/paging: add endless pager
2016-04-13 00:27:36 +02:00
rr-
7874614be3
client/messages: fix batch messages appearance
2016-04-12 18:25:52 +02:00
rr-
d3979d63dc
client/paging: notify about empty results
2016-04-12 18:25:08 +02:00
rr-
21c15f4cb9
client/settings: add accountless settings
2016-04-11 22:48:47 +02:00
rr-
1086bca3c2
client/views: fix rendering non-void elements
2016-04-11 19:23:53 +02:00
rr-
d6daf84da0
client/users: add basic users listing
2016-04-11 19:23:53 +02:00
rr-
4dcee37567
client/users: support avatar changing
2016-04-10 18:54:19 +02:00
rr-
e268d679d3
client/views: move form controls to HB helpers
2016-04-10 16:23:33 +02:00
rr-
8f5890ab67
client/general: refactor promises
2016-04-09 23:41:56 +02:00
rr-
5053598a13
client/views: extract empty view
...
...so that UsersController doesn't mess with DOM.
2016-04-09 22:39:13 +02:00
rr-
8e525b48a6
client/general: correct A:R for thumbnails
2016-04-09 22:38:57 +02:00
rr-
2e1823b708
client/views: replace inheritance with composition
2016-04-09 22:23:24 +02:00
rr-
5bd7f1fa6c
client/views: move notifications to controllers
2016-04-08 13:48:23 +02:00
rr-
7871c69aa3
client/users: implement account settings
...
(Without avatars yet.)
2016-04-08 10:18:39 +02:00
rr-
fe5946b4b0
client/misc: extract polyfills to separate file
2016-04-08 09:48:47 +02:00
rr-
8be93f6c70
client/users: add user view prototype
2016-04-07 00:08:18 +02:00
rr-
85ed552fce
client/home: format absolute time
2016-04-05 17:57:26 +02:00