2ba4a3bb91
Add constant RESPONSE_TYPES for use in isinstance checks.
2020-09-09 18:53:51 -07:00
049d620789
Convert cookies to werkzeug MultiDict instead of plain dict.
...
I discovered that werkzeug stores cookies in lists, with its .get
returning only the first item of the list. By converting the cookies
to a plain dict, I was breaking that functionality of cookies.get.
So, using werkzeug's MultiDict is the correct choice.
2020-09-09 18:53:26 -07:00
82758ed336
Rename color_3d_shadow -> color_shadow.
2020-09-09 15:57:53 -07:00
f5eb2467dc
Add synonyms div to specific tag page.
2020-09-09 15:52:09 -07:00
97bb9da8a6
Use (+) (x) links on /tags page, link main tag object to info.
2020-09-09 15:51:57 -07:00
270dcadf4e
Let tag_object also link to mays, forbids.
2020-09-09 14:08:06 -07:00
c425d55331
Use decorators in jinja_filters to automatically register them.
2020-09-09 13:23:16 -07:00
199a4af658
Remove unnecessary intermediate variable view.
2020-09-09 13:15:21 -07:00
71e87f83f7
Use class=hidden instead of inline style display:none.
2020-09-09 13:13:38 -07:00
edca32e81c
Simplify {%if x%} to just {{x or ''}.
2020-09-09 13:13:04 -07:00
6d5cd11612
Let search_core return tags as real lists.
...
This lets search.html deal with real objects instead of playing with
dumed-down strings.
2020-09-09 13:09:48 -07:00
d585fe92a9
Let search_core return author as real list.
...
This lets search.html deal with real objects instead of playing with
dumed-down strings.
2020-09-09 13:08:41 -07:00
94b811b3b1
Let search_core return extension as real list.
...
This lets search.html deal with real objects instead of playing with
dumed-down strings.
2020-09-09 13:07:22 -07:00
a048a48159
Use class=hidden instead of inline style display:none.
2020-09-09 12:51:59 -07:00
c0f24732e1
Remove useless intermediate variable search_kwargs.
2020-09-09 12:13:18 -07:00
c507d5f629
Fix reassign to const tag of tags.
2020-09-08 16:42:44 -07:00
53da81a283
Add .bold class.
2020-09-05 17:47:29 -07:00
348215a8ee
Add whitelist/blacklist functionality to merge_params.
2020-09-04 15:10:41 -07:00
5356b19858
Add explanation of data-prompt-class et al.
...
I think I left these blank because I felt they should be obvious.
But I'd rather have it explicit.
2020-09-04 14:50:51 -07:00
139998172f
Add spinner.BAIL for cancelling spinner without launching callback.
2020-09-04 11:25:11 -07:00
7f48c3e97c
Add css/js classes entry_with_history, _with_tagname_replacements.
2020-09-04 11:20:51 -07:00
295c9b4956
Add return to all onclicks, and ; to other javascript hooks.
2020-09-04 10:37:04 -07:00
1f88b007cd
Fine-tune use of let/const in spinner.js.
2020-09-03 15:57:02 -07:00
62e87c4b1a
Add missing space around assignment.
2020-09-03 15:46:34 -07:00
d6a46ed551
Use const for api.js url/data variables.
2020-09-03 15:42:13 -07:00
c091e5fa36
Bind mmf inputs to search button with ctrl+enter.
2020-09-03 15:39:48 -07:00
9a9edecfd2
Fix album drag-drop when you drag by the thumbnail or other child.
2020-09-03 15:39:34 -07:00
dae5815239
Give #refresh_metadata_button .button_with_spinner.
2020-09-03 15:39:11 -07:00
05b39c21fd
Replace loop uses of var with let/const.
2020-09-03 15:33:37 -07:00
8af340e442
Replace non-global uses of var with let.
2020-09-03 15:31:47 -07:00
1849c2e58b
Add tag_autocomplete's on_pageload into its namespace.
2020-09-03 14:30:57 -07:00
fe7b5de427
Replace many uses of forEach with for-of.
2020-09-03 14:18:05 -07:00
fa83324cc3
Remove width from bookmark_card, just rely on max-width.
2020-09-03 12:20:49 -07:00
0ee1599c93
Improve color of tab buttons active/inactive/hover.
2020-09-03 12:04:18 -07:00
45b42d3ca3
Add css/js class tabbed_container.
2020-09-03 11:54:14 -07:00
8dafe8c4f4
Synchronize Etiquette common.css and YCDL common.css.
2020-09-03 11:50:16 -07:00
a15f14ad06
Simplify parameter format for hotkeys.register_hotkey.
2020-09-03 11:47:40 -07:00
bff4a12fcb
Add various comments, docstrings, and console.log.
2020-09-03 11:46:26 -07:00
6b037e1120
Move several /batch functions into api.js.
2020-08-30 19:18:06 -07:00
c8ab3c22c9
Remove redundant call to removeChild.
...
appendChild already takes elements out of the old parent.
2020-08-30 17:53:46 -07:00
90873c648b
Move hotkey listener from anonymous to named function.
2020-08-30 17:53:11 -07:00
48a63a099b
Fix button_with_spinner now uses onclick instead of data-onclick.
2020-08-29 22:27:15 -07:00
8ae1086727
Remove var holder which is already on the global scope.
2020-08-29 18:58:19 -07:00
c5fbcf0056
Add z-index to photo_card_selected::after.
2020-08-28 17:56:30 -07:00
8163f33ba3
Reinstate z-index for photo_card_filename:hover.
...
For extremely long titles, it was being obscured by the photo
card on the next row.
2020-08-28 17:12:32 -07:00
9b47a6dd4e
Let photo card thumbnail images lazyload.
...
It seems that some people like lazyload and others don't. Let's try it.
2020-08-28 16:24:18 -07:00
2eed3ff1c5
Add css/js class enable_on_pageload.
2020-08-28 16:23:28 -07:00
a66aca8a17
Jankily fix button text causing breakage out of parent div.
...
I described the issue here but have yet to find the correct fix.
https://old.reddit.com/r/css/comments/i4drwa
2020-08-10 21:02:11 -07:00
7609f20dd0
Let button_with_confirm inherit original CSS when not specified.
2020-08-07 21:14:27 -07:00
b6f4874b66
Move colored button class rules below button element rules.
2020-08-07 21:07:30 -07:00
31d4e58dbc
Change hovertext from "x children" to "x child albums".
2020-07-26 19:18:27 -07:00
976534982b
Add border-radius to album cards, like photo cards.
2020-07-26 19:17:47 -07:00
3e9e7e6a52
Add more to docstring about spinner delay attribute.
2020-07-10 16:34:20 -07:00
b910094443
Show the counts of tags and tag parents / children.
...
Note that children is actually descendants.
2020-07-01 16:42:36 -07:00
592c8d6bd2
Increase tag_object line height from 1.3 to 1.5.
...
I'm finding weird behavior where on the main /tags page, hovering
over the tags shows the delete / unlink button without a problem,
but on a specific tag page hovering over this button causes the
rest of the list to shift a pixel or two.
I'm sure this line-height fix is nothing more than a bandaid and
not the right thing to change.
2020-07-01 16:40:30 -07:00
e61d436791
Use Array.isArray instead of instanceof Array.
2020-07-01 16:28:39 -07:00
0cb41f09cf
Add docstring to bind_box_to_button, and some small linting.
2020-06-30 20:33:24 -07:00
7c4229f1fa
Use dot notation instead of subscript for response.
2020-06-28 17:54:16 -07:00
68f52271f1
Dedent by using early returns.
2020-06-28 17:07:28 -07:00
b817a7e8b9
Use dot notation instead of subscript.
2020-06-28 16:55:48 -07:00
6cfa83e2d8
Add attribute "completed" to response object.
2020-06-28 16:52:08 -07:00
b81aad78dd
Rename CSS vars color_theme_* and color_site_* to color_*.
...
There was just no point to naming them like this because all of the
color vars obviously represent some part of the site's color theme.
2020-06-25 10:03:50 -07:00
fbf462af64
Fix mortifying typo tag_automplete -> tag_autocomplete.
2020-06-25 10:02:42 -07:00
8c50700290
Add more docstring to button_with_confirm data-onclick parameter.
2020-06-17 14:08:03 -07:00
a56b5274c9
Read spinner button function from onclick instead of data-onclick.
...
I think my original reason for doing this was to prevent the button
from being operational until after the spinner initialization has
completed, so you don't get any weird half-functional spinner buttons.
However, in practice I'm finding that I constantly forget about this
and it adds tedium to creating spinner buttons.
Will review if any actual problems come up.
2020-06-17 14:04:27 -07:00
d6ca8206b4
Synchronize Etiquette common.js and YCDL common.js.
2020-06-17 13:38:20 -07:00
e1033d0138
Move tagname related functions from common.js to tag_autocomplete.js.
2020-06-17 12:42:08 -07:00
fdfc7308b0
Move all spinner related functions from common.js to spinner.js.
2020-06-17 12:41:13 -07:00
91ac2315e6
Put meta before data in the json responses.
2020-06-17 12:37:22 -07:00
136a47bf10
Add support for spinner groups, all buttons spin when one clicked.
2020-06-11 18:20:20 -07:00
634f6f5188
Fix metadata spinner not closing when 0 items on clipboard.
2020-05-28 19:02:07 -07:00
2f5510fd0c
Rename variable spinner_button_count -> spinner_button_index.
2020-05-28 19:01:42 -07:00
88a6708061
Replace werkzeug.contrib with werkzeug.middleware proxyfix.
...
werkzeug.contrib has been deprecated, this is the new location
of the proxyfix.
2020-05-17 16:33:40 -07:00
18c2f0dc78
Rename vars photos -> results since results may contain albums.
2020-04-02 23:27:47 -07:00
0e0f296270
Let tags on this page buttons execute search immediately.
...
1. When the list is long, scrolling back up to hit to search
button is annoying.
2. If you select too many, there's no way to know if you're
going to wind up constructing a search with 0 results thus
wasting your time.
2020-04-02 22:52:33 -07:00
db43cac583
Fix broken tagsonthispage buttons, need to pass ul not input.
2020-04-02 22:49:33 -07:00
dd3d40de53
Experimental: Allow search results to include albums.
...
I've been thinking about this for a while but couldn't think of
the perfect way to implement it. I still haven't, so instead I'm
just starting with something and we'll see how to improve later.
At any rate, I can update the rest of the system to expect Albums
coming out of search so that if I ever have a better algorithm
everything else will already be ready for it.
For this first experiment, just any photos that are part of an album
will send that album out as a result. It doesn't even respect the
limit parameter, it's really just to see how it feels to use.
2020-04-02 22:36:40 -07:00
83c2ed7882
Redesign album grid cards to look more like photo cards.
...
Unfortunately these cards are taller rather than wider so the
already-neglected unlink buttom becomes even more horizontally crammed.
That's going to need a big fixup anyway.
2020-04-02 22:28:36 -07:00
5a394c4376
Use len(photos) >= limit instead of ==.
2020-04-02 22:21:54 -07:00
e5f2b788fe
Replace bottom & right margin with all-round 8px.
...
The two-sided margin was meant to create a particular spacing on the
albums page, but the purpose of cards is I should be able to use
them in many other contexts. So an all-round margin is easier to
work with when displaying cards anywhere else.
2020-04-02 21:59:22 -07:00
32a161baa8
Fix prev_page_url offset when on page 2 going back to page 1.
2020-04-02 21:37:50 -07:00
89c308c4a4
When submitting search, check for values left in the tag boxes.
...
I found pretty commonly that it was easy to leave some text in the
box and forget to press enter, so that tag never got added to the
actual search.
2020-04-02 17:11:29 -07:00
7fc4604025
Simplify this already_have now that the other code is gone.
2020-04-02 17:09:09 -07:00
84833832e4
Improve this comment and some whitespace.
2020-04-02 17:06:50 -07:00
f8bd34eb7a
Let add_searchtag and remove_searchtag take the ul instead of box.
...
With a name like add_searchtag you'd think it'd be past the point
of reading box input, and deeper into the abstraction zone. But nope,
it wasn't. I'll try to take this a few steps further from here too.
2020-04-02 17:04:23 -07:00
3cb8f0adcf
Remove code intended for tag trumping but currently useless.
...
I think at one point I was using full qualnames on the tag objects
in the mmf uls. But now they just show their base name, so this
code is useless. And I don't think I'll reinstate it because tags
have multiple parents now and I don't want to implement all the
lineage checking in the client js. We'll just let the server handle
the slightly less efficient query.
2020-04-02 16:56:44 -07:00
00ad82e07c
Dedent this code by doing an early return instead of if.
2020-04-02 16:25:19 -07:00
faf0c62426
Check if limit is falsey to avoid useless prevnext buttons.
...
If limit is 0 then you get prev and next links which also have
limit 0 and are pointless to click.
2020-03-28 17:38:10 -07:00
a00fb65758
Don't leave falsey values out of dict_to_params, let caller do it.
...
Explicit is better than implicit and all that.
2020-03-28 17:37:28 -07:00
a30649b0a8
Replace looping set.add with set.update.
2020-03-19 17:38:51 -07:00
9ac91d3850
Add tag delete button to specific tag page.
...
On the main tag listing, for child tags, you only get an unlink
button on hover. So if you want to delete a child tag you'd have to
unlink, then refresh, then delete. Now you can just go to its page
and delete it there.
2020-02-27 14:57:27 -08:00
30a0715980
Add photo delete buttons to hovering toolbox.
...
I tried putting them in the #left but it was looking seriously ugly.
Actually #left is always ugly because the variety of info and buttons
and text alignments. Hover toolbox is not ideal and I don't want it
to become a dumping ground, but deleting should be a rare action and I
don't want it right next to stuff like the basic metadata.
2020-02-27 14:15:13 -08:00
45cb96cc5c
Add endpoint /photo/photo_id/delete.
2020-02-26 18:57:29 -08:00
a88fcc2092
Move the clipboard checkbox into metadata list too.
2020-02-26 18:41:17 -08:00
66f73a6aab
Move the photo filename out of list to top of left.
2020-02-26 18:40:03 -08:00
596eb86f6e
Move the refresh metadata button into metadata bullet list.
2020-02-26 18:39:19 -08:00
02db1f3971
Make response_type required, explicit in all calls.
2020-02-26 17:50:36 -08:00
9d620b4b97
Remove unused imports & other small things.
2020-02-20 22:44:56 -08:00
4a193d228c
Add commit=True to frontend where necessary.
2020-02-20 00:34:28 -08:00
854fa4db51
Rename PDB.register_user -> new_user.
...
I was treating User a little bit special here, but I prefer to
have the more consistent terminology.
2020-02-20 00:18:40 -08:00