Commit graph

507 commits

Author SHA1 Message Date
Nicolas Giard 12f1cb200a
feat: set fonts for htmlized doc template (#5636) 2023-05-16 14:56:36 -05:00
Nicolas Giard 3d6ca172ce
feat: change fonts to Inter and Noto Sans Mono (#5628) 2023-05-15 16:37:00 -05:00
Jennifer Richards a0f6cdb661
feat: Process uploaded submissions asynchronously (#5580)
* fix: Use relative URL for submission status link

* refactor: Refactor/rename process_uploaded_submission async task

* feat: Add async task to process but not accept a submission

* feat: Replace upload_submission() with an async implementation (WIP)

* fix: Do not put Submission in "uploaded" state if an error occured

* refactor: Improve text/XML draft processing flow

* feat: Extract authors from text in async processing

* fix: Fix call signatures and abort submission on failed validation

* feat: Validate submission name format

* fix: Correctly validate emails from text submission

* fix: Clean up submission validation

* fix: Better display errors on upload_submission page

* feat: Reload submission status page when awaiting validation

* test: Fix call signatures; remove unused imports

* chore: Add type hint

* test: Update tests to match renamed task

* fix: Fix typo in error message

* test: Fix failing Api- and AsyncSubmissionTests

* Rename process_uploaded_submission to process_and_accept_...
* Remove outdated tests

Does not yet test new behavior.

* refactor: Break up submission_file() helper

* test: Refactor tests to run the async processing (wip)

* test: Drop test of bad PDF submission

The PDF submission field was removed, so no need to test it.

* test: Update more tests

* test: Bring back create_and_post_submission() and fix more tests

* fix: Drop to manual, don't cancel, on revision inconsistency

Fixes remaining failing SubmitTest tests

* style: Restyle upload_submission() with black

* test: Verify that async submission processing is invoked on upload

* test: Bring back old do_submission and fix tests

Properly separating the upload and async processing stages of submission
is a bigger refactoring than will fit right now. This better exercises
the submission pipeline.

* fix: Accept only XML for API submissions

* test: Test submission processing utilities

* feat: Improve status display for "validating" submissions

* chore: Remove obsolete code

* test: Update test to match amended text

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-05-09 15:21:46 -05:00
Jennifer Richards 6986cae1bf
fix: Listen for show.bs.modal on document (#5565)
Avoids losing the listener when DOM is changed dynamically.
2023-05-02 13:50:38 -05:00
Lars Eggert 732cecf0e9
fix: Re-enable interim series "add session" button (#5485)
Fixes #5478

Co-authored-by: Nicolas Giard <github@ngpixel.com>
2023-04-25 16:30:06 -05:00
Martin Thomson d3f3e1e40a
fix: Remove useless directives for Updates/Obsoletes (#5484)
These only unnecessarily narrow the space available.
See RFC 8996 for an example of where that might matter.
2023-04-14 17:43:25 -05:00
Lars Eggert 0f1a774b79
fix: Unbreak HTMLized table of contents (#5486)
Fixes #5483
2023-04-12 17:34:30 -05:00
Robert Sparks 0f1a09f635
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-03-31 10:52:45 +09:00
Lars Eggert 50e716e440
fix: Only presort tables if sort order is specified (#5408)
Thanks to @kivinen
2023-03-31 10:38:02 +09:00
Robert Sparks 01b4a91bfe
Merge remote-tracking branch 'ietf-tools/main' into feat/postgres 2023-03-29 10:41:47 +09:00
Lars Eggert 53a90a38ce
fix: Don't disable mouse hover UI functionality on touch screens (#5433)
Because devices can have both touch and mouse input.
2023-03-28 12:16:04 +09:00
Robert Sparks 52a1069901
fix: reapply styling fix for pdfization (#5428) 2023-03-27 15:08:43 +09:00
Lars Eggert 7c890ea69e
chore: Remove unused agenda-personalize.js (#5387)
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2023-03-26 14:53:31 +09:00
Lars Eggert 99cd5a39f4
chore: Remove unused arrow-ani.webp (#5386) 2023-03-26 14:15:39 +09:00
Lars Eggert 0bc0469df2
chore: Remove unused jquery-ui (#5385)
* chore: Remove unused jquery-ui

Two templates under `secr` included it, but didn't seem to use it
for anything.

* Run `yarn` after removal
2023-03-25 15:57:44 +09:00
Lars Eggert 58b3155eda
chore: Remove unused week-view.js file (#5383) 2023-03-21 08:48:40 -05:00
Lars Eggert 5ed1d69f52
chore: Remove unused room-params.js (#5384) 2023-03-21 08:48:22 -05:00
Lars Eggert 3865d5232b
chore: Remove unused agenda_timezone.js (#5388) 2023-03-21 08:42:34 -05:00
Lars Eggert 0097778239
chore: Remove empty file (#5374) 2023-03-20 10:11:50 -05:00
Lars Eggert 8dd6947ac0
fix: Make "navskip" apply to all headings in an element (#5364)
Fixes #5291
2023-03-17 13:57:22 -05:00
Lars Eggert 57030e4303
fix: Pre-sort WG doc table on date (#5361)
Fixes #5341.

Also remove some js code that was only used on the old agenda
page while I'm here.
2023-03-17 12:07:25 -05:00
Lars Eggert a544cc91f9
fix: Import CSS from ea8e9e3489/rfc.css (#5339)
Fixes #5293
2023-03-14 12:23:08 -05:00
Lars Eggert 61504b14aa
chore: Replace unmaintained bootstrap-datepicker with vanillajs-datepicker (#5259)
* chore: Replace unmaintained bootstrap-datepicker with vanillajs-datepicker

Fixes #3569.

* Fix tests

* Fix another test
2023-03-09 10:12:26 -06:00
Lars Eggert 0237411ed5
feat: Add calendar view to "important dates" page (#5260)
Fixes #3512
2023-03-08 13:05:33 -06:00
Jennifer Richards 91a6c9a0df
chore: Remove unused ajax_get_utc() view and related plumbing (#5239)
* chore: Remove unused get_ajax_utc() view and related plumbing

* chore: Remove accidentally committed code
2023-02-28 14:36:55 -06:00
Lars Eggert d6d1525da2
feat: Add group stats sunburst plots to active WG page (#5126)
* feat: Add group stats sunburst plots to active WG page

* Cleanups

* Sort/color areas consistently

* Move graphs to area page

* Move sunbursts

* Add test

* Move most sunbursts to modals

* Remove parametrization from URLs

* Fix test

* Make `only_active` a bool

* Reformat

* Reformat more
2023-02-22 12:05:06 -06:00
Lars Eggert cb7abbceab
fix: Prevent ADs and chairs from being added to bethere constraint (#5169)
* fix: Prevent ADs and chairs from added to `bethere` constraint

Fixes #5163 and #3890

* Fix tests and change from "people" to "participants", to hopefully make it
clearer it's not ADs and chairs.

* Rewrap

* Update ietf/secr/sreq/forms.py

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>

---------

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
Co-authored-by: Jennifer Richards <jennifer@painless-security.com>
2023-02-21 11:03:33 -06:00
Jennifer Richards 6a3694e814
fix: Guard against null form-group around name fields in sreq view (#5175) 2023-02-21 09:53:57 -06:00
Lars Eggert 8734193974
feat: Style preformatted alert messages better (#5152)
* feat: Style preformatted alert messages better

* Fix test
2023-02-16 09:05:32 -06:00
Lars Eggert 0900db01b5
Use viewport-width-based "fluid typography" for font scaling. (#5151)
Instead of media queries. Simplifies the CSS, is more robust, and works for more
screen sizes.
2023-02-15 16:05:29 -06:00
Lars Eggert d96c8f7b75
chore: Update to fullcalendar@6 (#5125)
* chore: Update to fullcalendar@6

Also properly apply bs5 styling to upcoming meeting calendar.

* Fix test
2023-02-14 16:22:35 -06:00
Lars Eggert 1e3c826810
fix: Fix document display on very narrow screens (#5080)
Issue by @martinthomson
2023-02-14 16:05:40 -06:00
Lars Eggert 800da449f5
fix: Restore responsive font sizes for rfc2html renderings (#5136) 2023-02-13 08:09:42 -06:00
Lars Eggert e280b25d0f
fix: Identify cancelled meetings in calendar (#5117)
Fixes #4815
2023-02-09 17:07:48 -06:00
Lars Eggert cda2cfd119
fix: Handle plaintext documents with lines of 80ch (#5098) 2023-02-07 13:15:01 -06:00
Lars Eggert 35d124106a
fix: Limit overflow-wrap: break-word to paragraphs and references (#5078)
Fixes #5073.

Thanks @martinthomson
2023-02-06 11:40:46 -06:00
Martin Thomson bfe25fce5a
feat: Lighter styling on internal irefs (#5071)
Documents like
https://datatracker.ietf.org/doc/html/draft-ietf-ohai-ohttp-06 use a
tagging scheme for certain keywords that turns them into links.  This
can be useful in giving people the ability to quickly jump to the
definition of an important term, but it tends to produce a lot of visual
noise.  The resulting links are blue and underlined, which can be
distracting when there are lots of these links.

This change removes styling for these links.  If there is an `<iref>`
tag (which renders as an empty `<span>`) immediately preceding a link
and that link is tagged `class="internal"`, link styling is removed.
These will still result in the cursor changing to a pointer, but the
blue and underlining will reduce line noise.

Note that this change depends on a corresponding change in kramdown-rfc
that reorders the generation of the iref and xref tags.  The above
document will not change in appearance as a result, because that version
of kramdown-rfc generated the tags in the wrong order.  A new version
generated with an updated kramdown-rfc is forthcoming.
2023-02-02 10:12:58 -06:00
Jennifer Richards 408c1ea9a4
fix: Show overfull style based on max, not sum, of session durations (#5044)
* fix: Show overfull style based on max, not sum, of session durations

* style: Avoid shadowing 'sessions' from outer scope
2023-01-27 16:24:24 -06:00
Jennifer Richards 040af97c11
refactor: Simplify tests and comply with StandardJS style (#5026)
* refactor: Simplify tests and comply with StandardJS style

Use === instead of ==, except where it's used to match both null and
undefined.

* style: further tweaks
2023-01-25 15:09:13 -06:00
Lars Eggert 61f7984d5c
fix: Handle unset cookies correctly (#5023)
Fixes #5015
2023-01-24 09:02:21 -06:00
Lars Eggert cfce342ff6
fix: Linewrap lines > 72ch in htmlized view (#4974)
* fix: Linewrap lines > 72ch in htmlized view

* fix: Make Safari break long words (URLs)

* Use same fix as d242f1ff1f
2023-01-18 10:39:15 -06:00
Lars Eggert d7a7033a42
fix: Let charter revisions be variable length in the version paginator (#4989)
* fix: Let charter revisions be variable length in the version paginator

Fixes #4988

* Address review comments. Also make major charter revisions bold for readability.
2023-01-18 10:36:21 -06:00
Lars Eggert 6dd295b1a5
Insert nav subheadings in the right place. (#4967)
* Insert nav subheadings in the right place.

Fixes #4924

* Undo erroneous commit
2023-01-12 12:23:11 -06:00
Jennifer Richards de62fd72d9
fix: Allow additional draft forms to be added to IPR disclosure edit form (#4952)
* chore: Remove commented-out template content

* fix: Correctly number newly added draft_form inputs on IPR edit form

* fix: Initialize select2 when adding a new field instance
2023-01-06 15:24:08 -06:00
Lars Eggert 4b1c10f6ab
feat: Add preference to make citation links go straight to cited docs (#4886)
* feat: Add preference to make citation links go straight to cited documents

* Use localStorage
2022-12-19 13:30:08 -06:00
Lars Eggert bc2b5f72ef
More fixes for HTMLization and PDFization (#4899)
* More fixes for HTMLization and PDFization

* Remove print

* More fixed from @martinthomson

* Hopefully fix #4885

* Apply suggestion from @rjsparks
2022-12-19 09:04:44 -06:00
Lars Eggert cab9b1c5e5
fix: Remove spurious title attribute (#4917) 2022-12-19 09:01:06 -06:00
Lars Eggert e6e0d8fc1a
feat: Diff arbitrary versions from new HTMLization page (#4863)
* feat: Diff arbitrary versions from new HTMLization page

Fixes #4859

* Rework this based on @rjsparks' suggestion. Not quite done yet.

* Progress

* Fix HTML

* Don't show compare buttons if there aren't at least two versions

* Remove spurious title attribute

* Use and style select2 for the version diff dropdowns

* Roll in code review suggestions

* Some tests!
2022-12-16 10:46:05 -06:00
Lars Eggert 8a599b749b
fix: Set font size from cookie before DOM is ready, to avoid flickering (#4882)
* fix: Set font size from cookie before DOM is ready, to avoid flickering

* fix: Use localStorage instead of cookies where possible
2022-12-15 09:36:30 -06:00
Lars Eggert 017b5f54d1
fix: Force font-size and line-height for plaintext PDFization (#4879)
Fixes #4343
2022-12-13 10:10:14 -06:00
Lars Eggert 49f586ed4f
fix: Apply CSS suggestion by @martinthomson (#4872)
Fixes #4869
2022-12-13 08:41:35 -06:00
Lars Eggert efb9f135c3
fix: Apply various suggestions from @martinthomson (#4849)
* With bs 5.2.3, no need to rewrite dots in ids and hrefs.

* Remove leftover console.log().

* Inherit color for <code>

* Don't wrap boilerplate URLs; makes it look more like text version.
2022-12-08 08:58:28 -06:00
Lars Eggert 220be21998
chore: Use codespell to fix typos in code. (#4797)
* chore: Use codespell to fix typos in code.

Second part of replacement of #4651

@rjsparks, I probably need to revert some things here, and I also
still need to add that new migration - how do I do that?

* Revert migrations

* Migrate "Whitelisted" to "Allowlisted"

* TEST_COVERAGE_MASTER_FILE -> TEST_COVERAGE_MAIN_FILE

* Fix permissions

* Add suggestions from @jennifer-richards
2022-12-07 15:10:35 -06:00
Jennifer Richards 3af68b6fbb
fix: avoid readonly attribute on select element (#4819)
* fix: avoid readonly attribute on select element

* chore: remove now-unused CSS for select2

* test: don't ignore `readonly` on `select`

* refactor: simplify OutgoingLiaisonForm base class overrides
2022-12-02 15:39:21 -06:00
Robert Sparks 9457e2b1e1
feat: better htmlization views (#4825)
* feat: Use bs5 for htmlized doc (#4082)

Co-authored-by: Martin Thomson <mt@lowentropy.net>

* fix: Various fixes to HTMLized document view (#4501)

* fix: Pref labels were switched

* fix: Fix ToC for htmlized docs

* Replace datatracker button with document name link to datatracker

* ui: Make fonts even larger on larger window widths

* fix: Document format buttons open new tabs

* fix: Various suggestions from Jay

* fix: Don't show "htmlized" self-link under formats

* ui: Font size fix for iOS

* ui: More little tweaks

* feat/htmlize fixes and improvements (#4506)

* fix: Don't open htmlized view in new tab

* fix: Tests were failing

* feat: Add pref settings to cap max font size

* feat: Add ability to hide side panel

* fix: And more `feat/htmlize` fixes (#4511)

* fix: Remove superfluous scrollbars

* fix: Show email links for authors

* fix: Only show "email authors" button for latest reversion

* fix: Remove duplicate code, fix nav scrolling

* feat: Add RFCs to revision lists

* feat: Add pref option to control dependency inlining

* fix: Add analytical tags

* feat: Notify user of rendering inconsistencies

* feat: Split out bootstrap-icons when not inlining dependencies

* fix: Revision list and minor other fixes

* feat: Show stream logo when possible (#4516)

* fix: Remove superfluous scrollbars

* fix: Show email links for authors

* fix: Only show "email authors" button for latest reversion

* fix: Remove duplicate code, fix nav scrolling

* feat: Add RFCs to revision lists

* feat: Add pref option to control dependency inlining

* fix: Add analytical tags

* feat: Notify user of rendering inconsistencies

* feat: Split out bootstrap-icons when not inlining dependencies

* fix: Revision list and minor other fixes

* feat: Show stream logos when possible

* fix: Pick up CSS changes from https://github.com/martinthomson/rfc-txt-html (#4520)

* fix: Remove superfluous scrollbars

* fix: Show email links for authors

* fix: Only show "email authors" button for latest reversion

* fix: Remove duplicate code, fix nav scrolling

* feat: Add RFCs to revision lists

* feat: Add pref option to control dependency inlining

* fix: Add analytical tags

* feat: Notify user of rendering inconsistencies

* feat: Split out bootstrap-icons when not inlining dependencies

* fix: Revision list and minor other fixes

* feat: Show stream logos when possible

* fix: Pick up CSS changes from https://github.com/martinthomson/rfc-txt-html

* chore: add debug script to replicate GitHub Actions test environment

* chore: cleanup from merge of main

* fix: Fix PDFixation crash due to referencing renamed CSS asset (#4665)

* fix: Rename some CSS classes to handle recent xml2rfc changes (#4791)

* Merge main

* fix: Rename some CSS classes to handle recent xml2rfc changes

Fixes #4784.

* chore: repair merge damage

* chore: more merge corrections

* chore: one more merge correction

* fix: npm dependencies

* fix: Change default font size (#4817)

* Fix dependency issues

* Cap fontsize at 12pt by default

Co-authored-by: Nicolas Giard <github@ngpixel.com>

Co-authored-by: Lars Eggert <lars@eggert.org>
Co-authored-by: Martin Thomson <mt@lowentropy.net>
Co-authored-by: Nicolas Giard <github@ngpixel.com>
2022-12-02 15:17:14 -06:00
Lars Eggert 6eabd4a3a1
chore: Use codespell to fix typos in comments. (#4794)
First part of replacement of #4651
2022-11-28 10:36:36 -06:00
Robert Sparks 2c304d0364
feat: UI enhancements to allow control-click etc on the search results (provided by @kivinen - see #4747)
Fixes #4711 i.e., allows using control-click or context menu to open items in the top right search list to open multiple documents in different tabs.

Authored by @kivinen
2022-11-14 17:08:28 -06:00
Jennifer Richards 331bf8d2dc
fix: revert change from readonly to disabled on liaison from contact (#4708)
* feat: apply 'readonly' property to select2 inputs

* fix: revert change from readonly to disabled on liaison from contact
2022-11-06 12:27:36 +00:00
Lars Eggert 5ac3874ce9
fix: Format NomCom feedback table per suggestion of @richsalz (#4625)
Also makes table header alignment the same as for columns, site-wide.

Fixes #4529
2022-10-21 11:04:10 -05:00
Lars Eggert 76b88b1658
fix: Replace some deprecated jQuery with recommended replacements (#4607) 2022-10-19 14:36:15 -05:00
Lars Eggert 0cc0281fe8
fix: Fix table sort functionality for tables with colspan attributes (#4605)
Fixes #4555
2022-10-19 11:59:09 -05:00
Lars Eggert 66533827e1
fix: Fix status change form (#4598)
* fix: Fix status change form

Also make it so that select2 search fields get focus when they open.

* Remove feat
2022-10-18 09:59:04 -05:00
Lars Eggert 5f7c585252
feat: Auto-focus select2 search fields when they open (#4599) 2022-10-18 09:42:00 -05:00
Robert Sparks c1556a3bc5
fix: revert photo-on-menubar enhancement (#4564)
* fix: revert photo-on-menubar enhancement

* fix: revert styling added for menubar photo.
2022-10-12 13:25:47 -05:00
Jennifer Richards 9709dbdf1c
fix: work around dataTransfer.getData limitation in agenda editor (#4553)
* fix: work around dataTransfer.getData limitation in agenda editor

* refactor: be slightly more careful checking dataTransfer type

* chore: remove debug statement
2022-10-10 08:48:23 -05:00
Lars Eggert 3e2b1fc92e
feat: Add a bug report link to the menu bar (#4525)
This required making some horizontal room for it, mostly by showing a
user photo or shorter tag when they are logged in.
2022-09-30 09:20:43 -05:00
Lars Eggert 5fcf2aa44a
ui: Hyphenate table headers, and optionally force-wrap them (#4441) 2022-09-13 09:07:21 -05:00
Jennifer Richards a3550c1920
fix: show()/hide() timeslots/sessions on schedule editor (#4385) 2022-08-29 17:52:33 -05:00
Lars Eggert e666894d55
fix: Fix CSS query selectors (#4372) 2022-08-26 12:51:27 -05:00
Nicolas Giard 2c522ee169
fix: use white ietf text logo in header (#4283) 2022-07-27 15:43:06 -05:00
Mark Donnelly 109c646450
fix: Update timezone on the interim create page (#4262)
* Fix: Update timezone on the interim create page

The interim creation screen will set the timezone to the timezone of
the browser.  Unfortunately, the UI element was never refreshed, so
it remained on its loaded default, thus telling the user the wrong
value.

This change adds a timezone widget refresh to the end of the function that
loads the browser's local timezone into the timezone value.

This change also adds code to update the 'Local timezone' help text
for the start time and end time input bozes to
call out the selected timezone specifically.

Fixes #3898

* Fix: Change var to const for code review
2022-07-26 12:16:14 -05:00
Jennifer Richards 608b8e16a4
feat: only offer IAB/IESG members for bofreq responsible leadership (#4276)
* refactor: avoid using select2 data-* attrs on html elements

Using "data-ajax--url" shadows explicit configuration in our
select2.js wrapper. Use "data-select2-ajax-url" to avoid this.

Also add ability to omit the ajax setup entirely by returning
None from ajax_url().

* chore: hook up a flag to disable ajax for SearchablePersonsField

* refactor: send select2 prefetch data as array and allow config of min input length

* feat: only offer IAB/IESG members for bofreq responsible leadership

* test: area directors/IAB members should be options for bofreq responsible leaders

* test: update tests to match changes to SearchableField

* fix: clean up SearchablePersonsField breakage when searching by email address

* chore: finish incomplete comment
2022-07-26 11:23:00 -05:00
Lars Eggert 28b8ed0c84
fix: Allow searching for non-alphanumeric characters (#4266)
* fix: Allow searching for non-alphanumeric characters

Fixes #3675

@rjsparks, this avoids us needing to fork list.js. If you prefer a fork, let me
know.

* Add a TODO
2022-07-26 09:38:34 -05:00
Lars Eggert 98af0e8a58
fix: Make dropdowns toggle correctly on click/hover combo (#4265)
Fixes #4095
2022-07-24 07:13:12 -05:00
Lars Eggert e94614e0a8
feat: Add opengraph information to document pages (#4207)
* feat: Add opengraph information to document pages

* Apply suggestions from code review

Co-authored-by: Mark Nottingham <mnot@mnot.net>

* Add IRTF and IAB logo and make card PNGs for all

* Use the cards and restore stuff that somehow got dropped

* Try and make Twitter use the "large image" card format

Co-authored-by: Mark Nottingham <mnot@mnot.net>
2022-07-23 12:07:04 -05:00
Lars Eggert ce050fc508
chore: Update bootstrap to 5.2.0 (#4034)
* bootstrap -> 5.2.0

* Update other deps
2022-07-21 15:56:27 -05:00
Lars Eggert e465f1f0f0
feat: Replace graphviz with d3 (#4067)
* feat: Use d3 for doc dependencies

* Interim commit

* Progress

* Progress

* Auto pan and zoom

* Arrows

* Remove graphviz and the code that uses it

* More graphviz-related changes

* Interim commit

* Move things into place

* Add test

* Final touches

* Make SVG work in Chrome

* Get the docs more similarly to how the group doc page does it

* Reindent

* Add ability to download the SVG, and use bs fonts.

* Follow @rjsparks' advice on how to compute the reference list

* Interim commit

* Add legend

* Speed up simulation

* Fix tooltips

* fix: escape a period in a new url regex

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-07-21 12:14:45 -05:00
Lars Eggert 8b3cf2a9fc
fix(ui): Make the heading and textarea font sizes a bit smaller (#4212)
* ui: Make the heading and textarea font sizes a bit smaller

* Address review commit from @NGPixel
2022-07-13 16:22:08 -05:00
Nicolas Giard aa9490faf6
feat(ui): new dynamic agenda view (#4086)
* feat: agenda page in vue (wip)

* feat: scroll to agenda day

* fix: vue 3 composition api + eslint settings

* fix: agenda day scroll match indicator

* fix: convert vite deps to yarn

* fix: missing lodash + legacy build step

* fix: agenda - move calendar into drawer

* fix: improve agenda filter UI

* fix: download ics + move agenda into own component

* feat: use fullcalendar for agenda calendar view (wip)

* feat: add events to agenda calendar

* feat: agenda filter UI improvements

* feat: agenda add to calendar dropdown

* feat: agenda calendar filter + timezone + event coloring

* feat: agenda calendar color improvements

* chore: exclude dist-neue from git

* feat: agenda calendar event modal

* fix: rebuild yarn deps

* chore: add run migration task to vscode

* fix: agenda buttons display flag

* feat: agenda event modal component

* feat: show calendar event quick info on hover

* fix: clear calendar quick info on timezone change

* feat: agenda list view improvements

* feat: agenda list row coloring

* feat: agenda list note

* feat: agenda list icons for office hours + hackathon

* fix: agenda top links

* refactor: use pinia as store for agenda components

* feat: agenda jump to now

* fix: agenda mobile improvements

* feat: agenda search

* feat: agenda search improvements

* feat: agenda event recordings buttons for post-meeting

* fix: agenda switch to meeting timezone on load

* feat: agenda pre & live session buttons

* fix: remove agenda utc + personalize links in top menu

* feat: add pre-vue loading state on page load

* feat: filter from agenda picker mode

* fix: agenda UI improvements

* fix: django-vite non-dev mode

* chore: update yarn dependencies for vue + vite

* feat: agenda settings panel + UI improvements

* feat: agenda settings colors + import/export feature

* feat: agenda color assignments + responsive UI improvements

* feat: agenda realtime red line + debug datetime offset

* feat: agenda add aria labels for settings

* feat: add new agenda path + pages/menu

* fix: bring base/menu.html up to main

* fix: agenda various fixes

* test: add new agenda item to meetings menu for item count

* chore: restore devcontainer extensions list

* fix: agenda UI improvements + montserrat default font

* feat: agenda bolder text + hide event icons options

* feat: agenda warning badge

* fix: agenda various UI improvements + intersectionObserver fix

* feat: agenda floorplan page + various UI improvements

* feat: agenda floor plan pin

* feat: view floor plan room from agenda

* feat: agenda floor plan mobile optimization

* feat: adjust calendar options + default calendar view in settings

* feat: agenda persist picked events + change base font only on new agenda page

* feat: agenda mobile view optimizations

* fix: add .vite to cached volumes

* fix: mobile view for filters, calendar, settings panels

* test: upgrade cypress existing tests to work on bs5 + update dependencies

* fix: use named url patterns to avoid hardcoded URLs. Add rudimentary test coverage for the neue views.

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-07-13 16:20:23 -05:00
Lars Eggert 091144d7c1
Update deps (#4203)
* chore: Update deps

There are these yarn messages, which I don't understand, but @NGPixel may.

```
➤ YN0000: ┌ Resolution step
➤ YN0060: │ @parcel/optimizer-image@npm:2.6.2 provides @parcel/core (pec760) with version 2.5.0, which doesn't satisfy what @parcel/workers requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p1835f) with version 2.5.0, which doesn't satisfy what @parcel/fs requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p40766) with version 2.5.0, which doesn't satisfy what @parcel/workers requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (p60182) with version 2.5.0, which doesn't satisfy what @parcel/cache requests
➤ YN0060: │ @parcel/types@npm:2.6.2 provides @parcel/core (pe24cb) with version 2.5.0, which doesn't satisfy what @parcel/package-manager requests
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed
```

* Use .yarnrc.yml from @NGPixel

* Fix tests.

I have no idea why they started failing, the both the js code and the tests have
not changed in months...
2022-07-08 16:07:57 -05:00
Lars Eggert 75bb797d9e
fix: Fix floorplan (#4160)
* fix: Fix the floorplan location highlighter

* Revert erroneous commit
2022-07-06 14:18:44 -05:00
Lars Eggert cfa0886343
fix: Make the IPR search form work when enter is pressed (#4114) 2022-06-22 11:59:32 -05:00
Lars Eggert bbeb9aece7
fix: Various accumulated fixes (#4106)
This makes (more) sure the table sort chevron doesn't wrap, by removing trailing
whitespace from table headers.

It also fixes various whitespace nits related to buttonlists.
2022-06-21 13:00:41 -05:00
Lars Eggert 6e97628a64
fix(ui): badge -> badge rounded-pill (#4076)
* ui: badge -> badge rounded-pill

To make badges look a little less like small buttons.

* Rip out copy&paste error
2022-06-15 13:43:49 -05:00
Lars Eggert 7fc601ee69
fix: Don't let the sort chevron wrap (#4075)
I couldn't figure out a way to not let it wrap *and* float it to the right,
however,

Fixes #4071
2022-06-14 17:37:06 -05:00
Lars Eggert d0e6fd62cb
fix: Make document revisions in timeline clickable again (#4065)
Fixes #4064
2022-06-13 11:16:41 -05:00
Lars Eggert 525ce6bc68
fix: Correctly scroll to URL fragment after augmenting tables (#4040)
* fix: Correctly scroll to URL fragment after augmenting tables

* feat: Only add search field to longer tables

* Tweak vertical whitespace around search field

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-06-01 11:56:25 -05:00
Lars Eggert 8b339b74e4
fix: Fix include of bootstrap-icons (#4039)
This got broken in #4035, which included some things it wasn't meant to.
2022-06-01 10:55:01 -05:00
Lars Eggert 60ba38defe
fix: Nav links got broken in #3980 (#4032)
Righthand-nav links were no longer clickable since #3980. Fix that.
2022-05-31 17:06:15 -05:00
Lars Eggert 74f2a85d64
refactor: replace flot with highcharts (#4030)
* chore: Replace flot with highcharts

Since flot hasn't been updated since 2014 and was only used in one
place. Simplify how highcharts is initialized and used, and re-enable
pre-bs5 export functionality.

* Fix tests

* Remove some console.log statements
2022-05-31 17:05:27 -05:00
Lars Eggert 337d2ad387
feat: Switch to SVG logo; use it (and new bitmaps) in more places (#4035)
* feat: Switch to SVG logo; use it (and new bitmaps) in more places

* Run images through image_optim

* Copy icons from base template

* Tint icons red when in dev mode
2022-05-31 17:03:43 -05:00
Lars Eggert bf22223877
Update d3 (#4016)
* Over to slate

* Port to d3@4

* Port to d3@5

* Port to d3@7 (current release)

* Fix axis font size
2022-05-24 11:07:14 -05:00
Lars Eggert 9a24ee7e94
fix: Make AD position colors more noticeable (#4013)
* fix: Make AD position colors more noticeable

Also remove the striping of the table, which makes it easier to notice which
documents are missing a ballot.

* Make "yes" a bit darker

* Stripe the table for non-ADs
2022-05-24 09:51:34 -05:00
Lars Eggert a1518e4dcb
fix(ui): debounce the scroll event to make chrome happy (#3958)
* fix: Debounce the scroll event, to make Chrome happy

* Address review comments

* fix: Prevent overscrolling from scrolling the main content

Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-05-18 14:01:22 -05:00
Lars Eggert de6d8b2b2a
fix: Prevent righthand-nav from overlapping the footer on short screens (#3980)
Co-authored-by: Robert Sparks <rjsparks@nostrum.com>
2022-05-18 13:19:23 -05:00
Lars Eggert de7ff7e84e
test: fix more validation issues (#3975)
* fix: Avoid numeric IDs on NomCom pages

* fix: Correctly group last names with lowercase/i18n parts

* Remove some unneeded CSS

* fix: Remove extra div closing tag
2022-05-18 10:58:39 -05:00
Jennifer Richards 4a5583845e
fix(ui): import moment.js library with moment-timezone support in wrapper (#3977)
* fix: import moment.js library with moment-timezone support in wrapper

Packaging changes broke the mechanism used to make moment.tz available
to javascript code. This eliminates the separate moment.js and
moment-timezone-with-data-10-year-range.js wrappers and instead
imports the timezone-augmented version directly. This provides both
the timezone support and the regular moment features.

* refactor: put moment on window instead of global for consistency
2022-05-18 09:23:07 -05:00
Lars Eggert b265bac1fe
fix: Fix action holder form buttons (#3956)
Fixes #3943
2022-05-13 14:01:14 -05:00
Jennifer Richards cb996c5c0b
fix: refactor/correct calculation of week-view event start/end times (#3947)
* fix: use DST-friendly tz calculation for TimeSlot end times

Around DST changes, localize(time + duration).astimezone() is not
the same as localize(time).astimezone() + duration. The latter allows
tz-aware times to do their magic and give correct clock times.

* fix: refactor/correct calculation of week-view event start/end times

There were bugs in the timestamp calculations around DST switchover.
This corrects those and tries to clarify and improve documentation in
the relevant code.
2022-05-11 16:08:47 -05:00
Lars Eggert 5f8d4ed718
More HTML nitfixing (#3934)
* Unicode messages are triggered by both db content and tests

* Make ids unique

* Avoid "No value found" message on page

* Strip HTML from history entries, it's often broken

* Check HTML sources for occurrences of "** No value found for" and fix them

* Fix another occurrence of "** No value found for"

* Fix more occurrences of "** No value found for"

* Fix document revision stripping

* Force breaks of long (garbage) words

* Check URL validity before urlizing them

* Handle some additional corner cases

* Linkify action items

* Don't create profile/email links for System

* Handle headings with HTML elements in them better

* Fix comment

* Fix another occurrence of "** No value found for"

* Better I-D URLization that handles more edge cases. Also, test for them.

* Remove print

* Handle charters better

* Cache for one day
2022-05-10 12:37:14 -05:00