voussoir
0f039c5c48
Add remove_specific_synonym_form.
2020-09-14 17:19:25 -07:00
voussoir
5501f7279b
Don't use last-of-type to select tag object.
...
It turns out that last-of-type only considers a single tag type,
it doesn't select last element of class if it has a different tag
than the other classed elements.
2020-09-14 17:19:00 -07:00
voussoir
8659b55103
Use className instead of classList here.
2020-09-14 12:01:33 -07:00
voussoir
1442e16eb7
Add specific_tag variable into the javascript.
2020-09-14 05:55:41 -07:00
voussoir
c532b711b1
During init_all, launch individuals as setTimeouts.
...
I'm having some performance issues with button_with_confirm on /tags.
This won't magically make that faster but I'm trying to stop the main
thread from dragging at least.
2020-09-14 05:54:47 -07:00
voussoir
b98ed27291
Change url parameter /tags?synonyms -> include_synonyms.
...
I keep forgetting that the url parameter name isn't the same as the
python variable name.
2020-09-14 05:52:00 -07:00
voussoir
ff312d1e16
Let /tags pull from cached easybake export.
2020-09-14 05:49:49 -07:00
voussoir
2dc1603d5e
Use className instead of classList for initialization.
2020-09-14 05:19:10 -07:00
voussoir
5461d49cb4
Strip more whitespace from tag_object macro output.
2020-09-14 05:17:44 -07:00
voussoir
cc34c4d189
Pull out init_* function innards to separate one-item functions.
2020-09-12 20:34:59 -07:00
voussoir
329c6dd27b
Trim whitespace from html_to_element input.
2020-09-12 20:33:46 -07:00
voussoir
c11fb12069
Sort tags as they are added to photo.
2020-09-12 16:52:46 -07:00
voussoir
be7decf330
Rearrange confirm_onclick because they have return statements now.
...
Now that data-onclick begins with a return statement, this code was
not running.
2020-09-12 14:33:15 -07:00
voussoir
2fad1c58fd
Use className instead of classList, as input may have spaces.
2020-09-12 13:14:55 -07:00
voussoir
bbadd15129
Put the callbacks next to their respective form functions.
2020-09-12 11:59:03 -07:00
voussoir
eccb260a2b
Pull onclicks into separate _form functions.
2020-09-12 11:48:08 -07:00
voussoir
a51d22bf71
Rename argument specific_tag -> tagname like the other endpoints.
2020-09-12 11:43:53 -07:00
voussoir
42d4b7fafb
Add give_token, catch_etiquette_exception to all endpoints at once.
2020-09-12 11:43:25 -07:00
voussoir
f7e5b639e3
Remove *args from common.render_template. Just template_name.
2020-09-12 10:13:24 -07:00
voussoir
d00d7b4acf
Refocus add_tag_box after removing a tag.
2020-09-12 01:19:16 -07:00
voussoir
ee28779138
Pass separate tag_count into tags.html to prevent double-counting.
...
Foolishly, I was checking the length of the outputted easybake format,
which included lines for synonyms and multi-parent tags that shouldn't
be part of the tag count.
2020-09-11 23:52:23 -07:00
voussoir
f640268793
Gzip responses.
2020-09-11 23:12:37 -07:00
voussoir
b0dcc6d3c6
Separately count photo results to fix included albums counting.
...
I'm currently running an experiment where albums are also included in
search results, but they don't cost you any of your limit parameter.
So the len(results) was often bigger than limit and tricking this
paginator into thinking we needed a next page when really we didn't.
This workaround can be undone when I decide how to make the album
results more official.
2020-09-11 23:12:23 -07:00
voussoir
30c9efc043
Rename generate_thumbnail_for_video -> _form.
2020-09-11 17:06:50 -07:00
voussoir
08f6c21286
Add return to these onchange and ondrag attributes.
...
I skipped them during the commit where I added return to all onclicks
because I figure I won't be wrapping these kinds of attributes.
But I feel like it's better to be consistent and you never know when
it might happen.
2020-09-11 16:03:15 -07:00
voussoir
ad26f09ee0
On photo.html, add and remove tag lis dynamically.
...
Instead of requiring a page refresh to see the new tags. They
just won't be sorted.
Slight bummer, the datalist dropdown pretty much obscures the
whole thing anyway.
2020-09-11 15:57:06 -07:00
voussoir
892390c77a
Rewrite entry_with_history hook and use keydown instead of keyup.
2020-09-10 08:21:20 -07:00
voussoir
8aa2b8dd3c
Rewrite photo_clipboard actions to take ids instead of cards.
...
Following the previous commit about the checkbox on the /photo page,
this fixes all of the code assuming that we're dealing with photo_card
divs, the majority of which was doing nothing but accessing the id.
2020-09-10 08:20:55 -07:00
voussoir
6184476485
Let the specific_tag have class=tag_object so it looks the part.
2020-09-10 08:18:20 -07:00
voussoir
4b76bc0628
Don't access response.data.tagname until we know it's not an error.
...
This wasn't causing any issues, because it was just setting itself
to undefined, but I realized I should move it.
2020-09-10 06:48:56 -07:00
voussoir
2d01297729
Adjust photo_card_searchhidden to 2px dotted border.
2020-09-09 23:55:46 -07:00
voussoir
8d2af3255b
Add endpoints set_searchhidden, unset_searchhidden and checkbox.
2020-09-09 20:51:15 -07:00
voussoir
4569e7848c
Let apply_check_all search for the checkboxes, not the photo cards.
2020-09-09 20:09:41 -07:00
voussoir
7762a8ff07
Rename post_photo_searchhidden -> post_batch_photos_searchidden.
2020-09-09 19:27:22 -07:00
voussoir
193c8645ed
Save the user's CSS theme in a cookie so it stays across pages.
2020-09-09 19:26:11 -07:00
voussoir
804afe912f
Add css class .photo_card_searchhidden.
2020-09-09 19:24:43 -07:00
voussoir
cb881ed640
Add httponly to session cookie.
2020-09-09 19:19:35 -07:00
voussoir
2ba4a3bb91
Add constant RESPONSE_TYPES for use in isinstance checks.
2020-09-09 18:53:51 -07:00
voussoir
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
voussoir
82758ed336
Rename color_3d_shadow -> color_shadow.
2020-09-09 15:57:53 -07:00
voussoir
f5eb2467dc
Add synonyms div to specific tag page.
2020-09-09 15:52:09 -07:00
voussoir
97bb9da8a6
Use (+) (x) links on /tags page, link main tag object to info.
2020-09-09 15:51:57 -07:00
voussoir
270dcadf4e
Let tag_object also link to mays, forbids.
2020-09-09 14:08:06 -07:00
voussoir
c425d55331
Use decorators in jinja_filters to automatically register them.
2020-09-09 13:23:16 -07:00
voussoir
199a4af658
Remove unnecessary intermediate variable view.
2020-09-09 13:15:21 -07:00
voussoir
71e87f83f7
Use class=hidden instead of inline style display:none.
2020-09-09 13:13:38 -07:00
voussoir
edca32e81c
Simplify {%if x%} to just {{x or ''}.
2020-09-09 13:13:04 -07:00
voussoir
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
voussoir
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
voussoir
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