Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create property timeline view #3899

Merged
merged 195 commits into from
Mar 26, 2023
Merged

Conversation

perryr16
Copy link
Contributor

@perryr16 perryr16 commented Mar 15, 2023

Any background context you want to provide?

See #3769

What's this PR do?

  • Adds timeline features
  • Refactors scenario and measure layout
  • Migration to retroactively create events for existing databases
  • Auto generates events when a Note, Analysis, or Building File is created
  • Notes and Analyses have a cascade delete relationship with events

How should this be manually tested?

setup:

  • populate a single property across multiple cycles

Notes:

  • create a note in cycle A, create a note in cycle B. Check the timeline view and ensure notes are in the correct cycles
  • delete a note and ensure the timeline event has also been deleted

Analyses:

  • create an analysis in cycle A and in cycle B. Check the timeline for the correct placement
  • delete an analysis and ensure the event has also been deleted

AT Uploads:

  • upload 2 building sync files for cycle A. upload a building sync file for Cycle B. Ensure the scenarios and measures table at the bottom of the property detail shows the correct AT files for the selected cycle.
  • Check the timeline for ATEvents
  • Go to property detail and delete a scenario. Check the timeline has been updated for the removed scenario.

Timeline:

  • toggle "collapse all" and "expand all". Confirm expected functionality
  • sort by "Date, Oldest to Newest", sort by "Date, Newest to Oldest"
  • Use the event selection to deselect a type of event. Ensure the type is not listed in the timeline.

What are the relevant tickets?

#3769 Create Property Timeline Table
#3843 Create property timeline view UI
#3768 Create a new navigation item in property detail for Property Timeline
#3890 Edit Scenarios and measures on Property Details Page
#3777 Add a view set for measures

Screenshots (if appropriate)

Mockups

Property Detail Scenarios and Measures
Screenshot 2023-03-20 at 11 35 56 AM

Timeline Collapsed
Screenshot 2023-03-20 at 11 33 12 AM

Timeline Expanded
Screenshot 2023-03-20 at 11 34 42 AM

Event Selection
Screenshot 2023-03-20 at 11 35 15 AM

perryr16 and others added 30 commits January 26, 2023 15:37
perryr16 and others added 7 commits March 17, 2023 12:50
commit 21a366b
Author: Ross Perry <perryr16@gmail.com>
Date:   Fri Mar 17 12:50:03 2023 -0600

    refactor event tests for serializer changes

commit 088d526
Author: Ross Perry <perryr16@gmail.com>
Date:   Fri Mar 17 11:49:17 2023 -0600

    null true for audit date

commit 3c8c86d
Author: Ross Perry <perryr16@gmail.com>
Date:   Fri Mar 17 10:52:06 2023 -0600

    protect against undefined filtering

commit bcae8d2
Author: Ross Perry <perryr16@gmail.com>
Date:   Fri Mar 17 10:36:31 2023 -0600

    filter check

commit 5e9d1d8
Author: Ross Perry <perryr16@gmail.com>
Date:   Fri Mar 17 10:29:42 2023 -0600

    precommit

commit 2ca7931
Author: Ross Perry <perryr16@gmail.com>
Date:   Fri Mar 17 10:26:23 2023 -0600

    troubleshooting test suite
@perryr16 perryr16 marked this pull request as ready for review March 20, 2023 17:10
axelstudios and others added 16 commits March 22, 2023 07:18
# Conflicts:
#	locale/en_US/LC_MESSAGES/django.mo
#	locale/en_US/LC_MESSAGES/django.po
#	locale/fr_CA/LC_MESSAGES/django.mo
#	locale/fr_CA/LC_MESSAGES/django.po
#	seed/static/seed/js/controllers/inventory_detail_controller.js
…view-ui

# Conflicts:
#	seed/migrations/0189_backfill_events.py
- Fixed showing line breaks in notes
- Fixed bottom border on Event Selection grid, and removed scrollbar
- Fixed `Full Analysis` links
- Fixed `undefined` upload messages for uploads without cycles
- Fixed 500 error that permanently breaks a property if no scenarios are found
- Fixed blank French translations
- Fixed broken `cycle-` ids
- Removed scrollbars and sorting from analysis/note ui-grids
- Optimized images
- Removed unused files
- Updated package lockfiles to v3, sorted dependencies
- Image optimization
- Removed unused file
@axelstudios
Copy link
Member

axelstudios commented Mar 25, 2023

I fixed several issues:

  • Fixed collapse status being reset every time event type/sort changed
  • Fixed showing line breaks in notes
  • Fixed bottom border on Event Selection grid, and removed scrollbar
  • Fixed Full Analysis links
  • Fixed undefined upload messages for uploads without cycles
  • Fixed 500 error that permanently breaks a property if no scenarios are found
  • Fixed blank French translations
  • Fixed broken cycle- ids
  • Removed scrollbars and sorting from analysis/note ui-grids
  • Optimized images
  • Removed unused files
  • Updated package lockfiles to v3, sorted dependencies

Potential bugs/issues

  • Very long notes: should they wrap inside of the grid? Currently the text gets truncated and you can't read anything off-screen
  • Property Detail grids can grow wider if the page is resized, but never smaller
  • Events API uses pagination with 100,000 records per page, why not just remove pagination?
  • There are several inefficiencies by calling functions inside of loops from the view

@axelstudios axelstudios merged commit 5f30ebf into develop Mar 26, 2023
@axelstudios axelstudios deleted the 3843-Create-property-timeline-view-ui branch March 26, 2023 01:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Add this label to new features. This will be reflected in the change log when generated.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants