Commit graph

169 commits

Author SHA1 Message Date
Hugh Rundle
951eb43aa6
bypass ajax for shelf_selector statuses 2021-11-26 17:16:26 +11:00
Hugh Rundle
5b67226571
forceReload prevents ajax submission
...instead of weird hacky workarounds forcing refreshes later.
2021-11-25 19:12:03 +11:00
Joachim
8712b2fdab ESLint 2021-11-24 19:02:07 +01:00
Joachim
db5e7a886a Handle count of notifications banner 2021-11-24 19:00:30 +01:00
Chad Nelson
6be9ac4f70 Abstract JS for multivalue form fields 2021-11-21 17:32:48 -05:00
Hugh Rundle
e247e96832
remove incorrect comment 2021-11-20 19:34:37 +11:00
Hugh Rundle
a3270551f9
code cleanup 2021-11-20 19:19:51 +11:00
Hugh Rundle
b273123708
code style 2021-11-20 16:06:16 +11:00
Hugh Rundle
9ffe4d340e
trigger reading status modals from move button
- unhide reading status shelves
- trigger modals when moving to a read status shelf
- force page refresh when using move button
2021-11-20 08:06:13 +11:00
Hugh Rundle
5d7f77021b dammit eslint 2021-10-10 14:02:55 +11:00
Hugh Rundle
3d74b10c5f eslinting 2021-10-10 13:55:18 +11:00
Hugh Rundle
726217577f linting 2021-10-10 13:18:16 +11:00
Hugh Rundle
48fc85c761 adjust commenting on js file 2021-10-08 18:45:28 +11:00
Hugh Rundle
ec7d0db843 linting fixes 2021-10-05 21:48:59 +11:00
Hugh Rundle
3a90311129 update indenting for linter 2021-10-04 22:20:02 +11:00
Hugh Rundle
602664b8d7 Merge branch 'main' into groups-merge-test
Big merge of a couple of weeks' work from the main project back into this branch. :ohno:
2021-10-03 10:49:38 +11:00
Mouse Reeve
db74538345 Update for js linter 2021-10-02 11:28:16 -07:00
Mouse Reeve
b9632039f9 Link notification block to its main path 2021-10-02 11:26:22 -07:00
Mouse Reeve
d78c278665 Progress update flow for modal 2021-09-29 10:59:36 -07:00
Hugh Rundle
762202c4b0 fix UI for group curated list editing
When creating or editing a list, the group selection dropdown will only appear if the user selects "group" as the curation option (or it is already selected).

- fix typo in bookwyrm.js comments
- add data-hides trigger for hiding elements after they have been unhidden, where simple toggles are not the right approach
2021-09-27 11:03:41 +10:00
Mouse Reeve
ccdfaa3187 Linter fixes 2021-09-12 11:48:25 -07:00
Mouse Reeve
7cfb0a4271 Supports Safari in form submission event 2021-09-12 11:45:18 -07:00
Mouse Reeve
daf42a30da Adds javascript for half star ratings 2021-09-10 14:27:08 -07:00
Mouse Reeve
5c329c35f0 Warn http error 2021-09-10 10:22:28 -07:00
Mouse Reeve
5e9b8eb571 Removes unused variable 2021-09-10 10:20:40 -07:00
Mouse Reeve
08d2bff7ca General function for displaying messages 2021-09-10 10:12:37 -07:00
Mouse Reeve
e3ab5afcbd Catch error responses from API 2021-09-10 08:59:49 -07:00
Mouse Reeve
3c38a64a81 Return http responses for ajax requests 2021-09-10 08:03:22 -07:00
Mouse Reeve
909293bbb0 Re-adds error handling code written a while back
Co-authored-by: Fabien Basmaison <contact@arkhi.org>
2021-09-09 19:56:42 -07:00
Mouse Reeve
f9b9a66224 Linter appeasement 2021-09-09 17:07:48 -07:00
Mouse Reeve
9ba066ad6d Cleanup after submitting modal 2021-09-09 17:04:16 -07:00
Mouse Reeve
06b0325c1b Update dropdown options on shelve action 2021-09-09 16:43:47 -07:00
Mouse Reeve
9ee1a110a9 Update visible shelve buttons on read action 2021-09-09 15:36:58 -07:00
Mouse Reeve
5f584c1403 Lints for the Linter god 2021-09-09 08:24:36 -07:00
Mouse Reeve
055cced75b Close reply panel 2021-09-09 08:20:55 -07:00
Mouse Reeve
49f1226f3a Close modals after submit 2021-09-09 08:06:36 -07:00
Mouse Reeve
053e2cea0d Clear localstorage items 2021-09-09 07:39:38 -07:00
Mouse Reeve
dfaf085843 Move status code into the new file 2021-09-09 06:54:34 -07:00
Mouse Reeve
b0e7a5e468 Post statuses asynchronously 2021-09-08 19:30:45 -07:00
Mouse Reeve
c007f44030 Linter's have demands 2021-09-08 17:54:50 -07:00
Mouse Reeve
03b608565d Save status drafts in localstorage 2021-09-08 13:58:10 -07:00
Mouse Reeve
8b5ac6b012 Javascript linter 2021-08-17 09:28:39 -07:00
Mouse Reeve
3026a86b11 Refines preventDefault logic 2021-08-17 09:21:57 -07:00
Mouse Reeve
2f93017eaa Fixes event propogation 2021-08-17 08:45:10 -07:00
Mouse Reeve
011175a6e3 Appeases js linter 2021-08-16 12:44:36 -07:00
Mouse Reeve
e6b785d731 No-update mode for "want to read" 2021-08-16 12:28:04 -07:00
Mouse Reeve
21a954c7df Always use underscores in html ids
Plus some other shifting around
2021-08-08 19:44:12 -07:00
Mouse Reeve
e65bc09e7a Linter fixes 2021-06-08 12:42:45 -07:00
Mouse Reeve
eb12506985 No script fallback mode 2021-06-08 12:40:01 -07:00
Jason Kelly
7eb5f3b026 Making magic number more readable 2021-05-23 14:31:22 +08:00
Jason Kelly
6e655cb0e0 Added new widget to alert if a file is set at larger than 10 MB.
- Updated default widget to use template that adds a notification box.
- Added JS to add onchange & load events to look at the value in the input and trigger the notification & disable the form submits.
2021-05-23 14:12:00 +08:00
Mouse Reeve
454dd25681 Only make notification count red for mentions 2021-04-30 07:49:34 -07:00
Fabien Basmaison
b92ff9752d [assets] Remove UI and behaviours for interactions:
This commit addresses https://github.com/mouse-reeve/bookwyrm/pull/883#discussion_r609739553.
2021-04-08 17:37:29 +02:00
Fabien Basmaison
2f90b4ce66 [assets] Fix broken actions for focus and checkbox:
This commit should address the following two comments:

- https://github.com/mouse-reeve/bookwyrm/pull/883#discussion_r609172258
- https://github.com/mouse-reeve/bookwyrm/pull/883#discussion_r609174513
2021-04-08 11:37:14 +02:00
Fabien Basmaison
83bd417878 [assets] Update interactions code:
This commit should address https://github.com/mouse-reeve/bookwyrm/pull/883#discussion_r609381969.

- Disable the button being used to submit the form.
- Rename variables based on @mouse-reeve’s explanations. Thanks! 
2021-04-08 11:08:13 +02:00
Fabien Basmaison
f77088b964 [assets] Remove redundant class already provided by bulma:
Replace all classes `hidden` with `is-hidden` in templates, CSS and JS.
2021-04-07 17:31:00 +02:00
Fabien Basmaison
54805afb51 [assets] Tweak JSDoc. 2021-04-07 10:37:11 +02:00
Fabien Basmaison
5d569e8926 [assets] Only update status if the promise is successful:
- Use promises in `ajaxPost` and `interact`.
- Add some animations in CSS.
2021-04-07 09:24:34 +02:00
Fabien Basmaison
1c05107f2b [assets] Tweak comments. 2021-04-07 07:53:30 +02:00
Fabien Basmaison
44040201f9 [assets] Move interact function. 2021-04-06 17:57:39 +02:00
Fabien Basmaison
9d95f54aa2 [assets] Refactor toggleAction and toggleMenu a bit. 2021-04-06 17:48:56 +02:00
Fabien Basmaison
52d2f0e331 [assets] Document functions and variables:
- Use expressive names for variables.
- Add docblocks for each function.
- Add ESLint rules for comments.
2021-04-06 16:17:20 +02:00
Fabien Basmaison
5d3d00f694 [assets] Use dataset + use expressive names for some variables. 2021-04-06 15:36:34 +02:00
Fabien Basmaison
62fe2ef600 [assets] Replace inline events with addEventListener; this breaks sliding menu. 2021-04-06 11:37:23 +02:00
Fabien Basmaison
7e49b3cb26 [assets] Simplify addRemoveClass function. 2021-04-06 11:19:44 +02:00
Fabien Basmaison
70c652d565 [assets] Add rules to ESLint:
- Fix long line.
- Enforce a few stylistic habits:

    - Avoid some potential dangerous constructs.
    - `arrow-spacing`: Use at least one space around arrows.
    - `keyword-spacing`: Use at least one space around keywords (if, else, for…).
    - `no-multiple-empty-lines`: Only use one empty line between code.
	- `no-var`: Use `let` or `const` instead of `var`:
    - `padded-blocks`: Do not pad blocks.
    - `padding-line-between-statements`: Use empty lines between some statements.
    - `space-before-blocks`: Use at least one space before the opening brace of a block.
2021-04-06 10:42:52 +02:00
Fabien Basmaison
991d897ac7 [assets] Listen to events as soon as possible. 2021-04-06 09:57:52 +02:00
Fabien Basmaison
2f2f7db086 [assets] Use classes for JS files:
- Classes strictly parse code implicitly.
- Fix previously updated code.
2021-04-06 09:44:59 +02:00
Fabien Basmaison
f430363be0 [assets] Simplify a function expression. 2021-04-06 09:11:56 +02:00
Fabien Basmaison
f6c3e581b9 [assets] Replace Array.from(document.getElementsByClassName(…)) by querySelectorAll(…). 2021-04-06 09:11:27 +02:00
Fabien Basmaison
6b0a3ce4b1 [assets] Move localStorage chunks of code to their own file:
This should prevent a sync issue with updateDisplay not always being loaded on time.
2021-04-06 09:06:51 +02:00
Fabien Basmaison
cbed5e331b [assets] Move some frontend assets to _vendor_ directories:
This simplifies linting of files we have no grasp on, and clarifies responsibilities.

- Add .eslintignore.
- Restrict linting to bookwyrm/static.
2021-04-05 16:17:11 +02:00
Fabien Basmaison
5aea7343b4 [assets] Rename some files for consistency. 2021-04-05 16:16:48 +02:00
Fabien Basmaison
6971c9b133 [assets] Move toggleAllCheckboxes code to its own file. 2021-04-05 16:16:05 +02:00
Fabien Basmaison
53f03457cc Add linter for JS files with basic recommended rules:
- Add Github Action.
- Fix JS files to match rules; mostly `globals` and `exported`.
2021-03-31 17:07:28 +02:00
Mouse Reeve
b8cd1d5bce Show unread status reload link 2021-03-23 12:52:38 -07:00
Fabien Basmaison
fa79070b59 [lint] Update editorconfig linting:
- Add settings for comments.
- Remove custom settings that don’t work.
- Fix vendor JS file:
2021-03-20 16:33:18 +01:00
Mouse Reeve
c31bf1f0c8 Fixes loading javascript listeners 2021-03-19 15:59:28 -07:00
Mouse Reeve
5ad645c225 Move check all js into separate file 2021-03-19 10:51:45 -07:00
Mouse Reeve
443daab128 Move tabs javascript into separate file 2021-03-19 10:47:32 -07:00
Mouse Reeve
baee0796cd Moves localstorage handlers into its own file 2021-03-18 09:02:07 -07:00
Mouse Reeve
091ad53061 JS linting and whitespace fixes 2021-03-13 12:14:34 -08:00
Fabien Basmaison
097b8e5811 Fix toggling all checkboxes of failed imports:
- Rename classes and function to something more descriptive.
- Listen to the element checked status instead of a click on a non‑focusable element.
- Use specific DOM targets instead of relying on the DOM ancestor tree.
- Add a skip‑link to the end of the list and avoid tabbing through all failed items.
- Update related i18n strings in French.
- Avoid having the label on the whole width to prevent accidental click.
- Move `fieldset` out of `ul`.
2021-03-05 15:41:21 +01:00
Ned Zimmerman
263b13f157 Adapt tab handler to vanilla JS, fix focus jump, improve accessible naming of tabs/panels 2021-02-28 14:04:04 -04:00
Ned Zimmerman
bc7f830b2b Merge branch 'upstream' into tab-keyboard-accessibility 2021-02-27 11:53:27 -04:00
Ned Zimmerman
9580bec154 feat: modify tabbed interfaces to support keyboard accessibility (fixes #526) 2021-02-27 11:47:03 -04:00
Mouse Reeve
76491e4e35 Back off notification polling 2021-02-09 10:38:43 -08:00
Mouse Reeve
b53ef73faf Feed templates 2021-01-29 10:25:31 -08:00
Mouse Reeve
2411b4fe79 puts @'mentions directly in compose box 2021-01-19 16:16:22 -08:00
Mouse Reeve
1778e8dd46 Uses timeout instead of interval 2021-01-19 14:59:46 -08:00
Mouse Reeve
94a41498cf Remove counts when notifications are deleted 2021-01-19 14:32:08 -08:00
Mouse Reeve
3fce67a60d Only update on change 2021-01-19 14:25:04 -08:00
Mouse Reeve
394666357f Poll for notifications 2021-01-18 16:32:02 -08:00
Mouse Reeve
c7b03fec5a Fixes rate action 2021-01-18 09:57:44 -08:00
Mouse Reeve
7308d8d1e9 javascript cleanup
I got my linter working!
2021-01-18 08:26:04 -08:00
Mouse Reeve
3f136c40da Uses js pattern for tabs 2021-01-17 20:19:09 -08:00
Mouse Reeve
0a70d6e981 Makes dropdown clickable, and work with screen reader
I'm lightly peeved with bulma that it wasn't clear how to make hover
menus accessible, but clickable menus are just fine with my anyway.
2021-01-17 16:29:46 -08:00
Mouse Reeve
47d5b907ac Readthrough interactions 2021-01-17 10:10:59 -08:00
Mouse Reeve
f7e3cbda84 Uses toggle button snippet for content warning 2021-01-17 08:50:47 -08:00
Mouse Reeve
afdf5fc8ec starts replacing pure css buttons with javascript buttons
RIP, but it was time
2021-01-17 08:26:28 -08:00