Commit graph

380 commits

Author SHA1 Message Date
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
Lars Eggert 5598762608
fix: add more HTML validation & fixes (#3891)
* Update vnu.jar

* Fix py2 -> py3 issue

* Run pyupgrade

* test: Add default-jdk to images

* test: Add option to also validate HTML with vnu.jar

Since it's already installed in bin. Don't do this by default, since it
increases the time needed for tests by ~50%.

* fix: Stop the urlizer from urlizing in linkified mailto: text

* More HTML fixes

* More HTML validation fixes

* And more HTML fixes

* Fix floating badge

* Ignore unicode errors

* Only URLize docs that are existing

* Final fixes

* Don't URLize everything during test-crawl

* Feed HTML into vnu using python rather than Java to speed things up

* Allow test-crawl to start vnu on a different port

* Increase retry count to vnu. Restore batch size to 30.

* More HTML validation fixes

* Use urllib3 to make requests to vnu, since overriding requests_mock is tricky

* Undo commit of unmodified file

* Also urlize ftp links

* Fix matching of file name

* More HTML fixes

* Add `is_valid_url` filter

* weekday -> data-weekday

* urlencode URLs

* Add and use vnu_fmt_message. Bump vnu max buffer.

* Simplify doc_exists

* Don't add tab link to mail archive if the URL is invalid

* Run urlize_ietf_docs before linkify

Reduces the possibility of generating incorrect HTML

* Undo superfluous change

* Runner fixes

* Consolidate vnu message filtering into vnu_filter_message

* Correctly handle multiple persons with same name

* Minimze diff

* Fix HTML nits

* Print source snippet in vnu_fmt_message

* Only escape if there is something to escape

* Fix snippet

* Skip crufty old IPR declarations

* Only include modal when needed. Add handles.

* Fix wordwrap+linkification

* Update ietf/doc/templatetags/ietf_filters.py

* Update ietf/doc/templatetags/tests_ietf_filters.py

* Don't right-align second column
2022-05-03 13:55:48 -05:00
Lars Eggert 19796c56c9
fix: Stretch righthand-nav to viewport edge (#3921)
* fix: Stretch righthand-nav to viewport edge

Fixes #3848

* Also improve tz-select display, while we're here

* Change func name
2022-05-03 09:35:10 -05:00
Nicolas Giard 8ea883cb7e
chore: switch to Yarn 3 (#3819)
* refactor: switch to yarn 3

* chore: add other os+cpu to yarn supported architectures

* chore: add gitattributes

* chore: add missing yarn native modules rebuild step

* chore: replace npx with yarn in test_runner + update readme

* chore: remove bootstrap-datepicker github dependency, use local instead
2022-04-25 15:54:05 -05:00
Lars Eggert cd9a2ee229
fix: Color the background of table rows for an AD based on their ballot (#3867)
Instead of just adding a colored bar on the right-hand side.
2022-04-22 11:05:37 -05:00
Lars Eggert 92e67aca8f
fix: Make the author button work on doc submit (#3850) 2022-04-20 10:52:54 -05:00
Lars Eggert f8c06fa5cf
fix: Use unique data-sort attributes (#3836)
* fix: Use unique `data-sort` attributes

So list.js properly sorts columns.

* Address @rjsparks' comments
2022-04-19 10:16:32 -05:00
Jennifer Richards 310e828262
fix: offset scrollspy so righthand-nav highlights the correct entry (#3820)
Also rewrites scroll_to_element() using javascript. This seems to be less flaky
than the ActionChains implementation. Slight change in behavior - now scrolls
the requested element to the middle of the window instead of barely into view.
2022-04-14 15:35:07 -03:00
Robert Sparks 0944312c20
feat: remove room-view. Fixes #3810. (#3815)
Also changes .editorconfig to not strip trailing whitespace
2022-04-12 17:35:07 -03:00
Lars Eggert 09a898e88e
fix: Improve the layout of the photo pages (#3807) 2022-04-12 12:02:16 -03:00
Lars Eggert 3245678e10
fix: Hide tooltips after review wish icon is clicked (#3799)
Similar how it's done with the track/untrack icon.

Also remove duplicate javascript for this functionality.
2022-04-08 14:55:41 -03:00
Lars Eggert 19e639f779
fix: .visually-hidden -> .d-none (#3800)
In bs5, `.visually-hidden` is the equivalent of bs3's `.sr-only`, i.e., it's
still shown on screen readers, which is not what we want. Use `.d-none` instead,
which is the equivalent of bs3's `.hidden`.
2022-04-08 14:53:56 -03:00
Jennifer Richards 2247a368dc
fix: improve RH panel behavior at small viewport sizes (#3801)
* fix: align nav links to top of RH panel
* fix: allow timezone picker to wrap
* fix: improve RH panel behavior at small viewport sizes
  * drop card styling
  * use `btn-group-sm` for compact timezone picker
  * limit overall height of #righthand-panel
  * remove redundant CSS merge artifact
2022-04-08 14:52:55 -03:00
Jennifer Richards eab4705dc1
fix: debug time zone widget and add to agenda RH nav panel (#3792) 2022-04-07 22:57:21 -03:00
Jennifer Richards 45df4f6dfd
fix: restore current session indicator/link on the agenda page (#3790) 2022-04-07 15:13:43 -03:00
Lars Eggert 3234f1a121
test: Validate HTML rendered during tests (#3782) 2022-04-07 13:30:38 -03:00
Jennifer Richards db254f7a48
fix: tweak review assignment tooltips and control row height (#3788) 2022-04-07 09:48:23 -03:00
Jennifer Richards 7738319c2a
fix: render meeting schedule editor icons using bootstrap-icons (#3777)
Uses template tags to render `ConstraintName` instances as HTML. Fixes #3557.
2022-04-05 18:57:08 -03:00
Jennifer Richards 016ee71855
feat: persist timeslot types made visible in the schedule editor (#3778)
This adds a POST action to the edit_meeting_schedule view that sets a list
of currently visible timeslot types in the user's session. On display of
the schedule editor, this is consulted before defaulting to show only 'regular'
timeslots. An ajax request is made to update the session when changing the
settings in the editor.
2022-04-05 16:00:59 -03:00
Jennifer Richards 3865c4bc9c
fix: restore function of unassigned review management page (#3774)
* style: reformat manage-review-requests.js as StandardJS style

* refactor: use switch statement instead of if/else-if/else

* style: remove needless line break

* fix: fix jquery selectors to be less fragile and easier to read

* fix: clean up bs5 HTML/CSS for review request buttons
2022-04-01 17:42:12 -03:00
Robert Sparks ef4ad545b9
fix: left-align date columns in all tablesorter-classed tables. (#3772) 2022-03-30 18:45:39 -03:00
Lars Eggert 870fed030f
fix: More fixes for narrow screens (#3662)
* fix: More fixes for narrow screens

Need to keep checking for issues, there are more.

* Make columns more narrow on narrow screens

* More fixes

* More fixes

* Test fixes

* Fix more tests

* Close tbody
2022-03-24 12:40:48 -03:00
Lars Eggert d47692546e
fix: Re-add agenda day navigation targets to right-hand nav (#3723)
Fixes #3698
2022-03-22 07:22:25 -05:00
Lars Eggert eb5423d084
ci: Also check generated HTML with the "vnu" validator (#3682)
* ci: Also check generated HTML with the "vnu" validator

Because HTML Tidy apparently misses a bunch of errors.

* thead -> tbody

* More fixes

* More fixes

* Start checker in test runner
2022-03-21 12:50:23 -05:00
Lars Eggert 52969aefca
feat: Mobile agenda improvements (#3655)
* fix: Improve agenda page for mobile (narrow) screens

* Remove unrelated change

* Remove FIXME
2022-03-16 09:30:21 -05:00
Lars Eggert fd8d9762f2
fix: Use fixed lengths for the first three columns of "meta" tables (#3637)
Fixes #3615.
2022-03-14 11:32:28 -05:00
Jennifer Richards 93d3daa324 fix: handle remote_instructions field correctly on interim request form 2022-03-08 12:15:22 -04:00
Jennifer Richards 3d7b267a64 fix: only add page navigation panel to compatible templates
Only add right-hand page navigation panel to #content elements that have
the ietf-auto-nav class and test that the base template's DOM is compatible
with the panel.
2022-03-08 12:01:24 -04:00