<!--
Thanks for contributing!
Provide a description of your changes below and a general summary in the
title
Please look at the following checklist to ensure that your PR can be
accepted quickly:
-->
## Jira Ticket
[SP-1594](https://syncrow.atlassian.net/browse/SP-1594)
## Description
1. Implemented `Bloc` and `Services` to integrate the device location
into the side panel of the AQI Analytics module.
2. Fixed bugs in side panel caused by `Expanded` widgets.
## Type of Change
<!--- Put an `x` in all the boxes that apply: -->
- [x] ✨ New feature (non-breaking change which adds functionality)
- [x] 🛠️ Bug fix (non-breaking change which fixes an issue)
- [ ] ❌ Breaking change (fix or feature that would cause existing
functionality to change)
- [ ] 🧹 Code refactor
- [ ] ✅ Build configuration change
- [ ] 📝 Documentation
- [ ] 🗑️ Chore
[SP-1594]:
https://syncrow.atlassian.net/browse/SP-1594?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
1. Overlapping line not removed.
2. The colors of the data on X axis and Y axis are not identical to design.
3. Day 1 and 2 are missing on the X axis.
4. When the chart loads, we see it coming from the top right corner (check the attached video).
5. Display all available devices even if they have no data and make the chart empty state.
* Called the widget of presence sensor status widgets.
* Enahnced `PowerClampEnergyDataDeviceDropdown` design and made it a dropdown.
* connected the realtime feature to the occupancy side bar, but with a mock id.
* revert default tab to energyManagement.
* set the default tab to occupancy for ease of development.
* Implemented an initial design for the occupancy chart.
* Add Occupacy model and service for occupancy data handling.
* Created `OccupancyBloc`.
* Implemented the sidebar of Occupancy view.
* Moved `OccupancyEndSideBar` widget to its own file.
* Removed unnecessary widgets.
* Matched the `OccupancyChart` with the figma design.
* Added `AnalyticsDateFilterButton` to `OccupancyChartBox`.
* Hides `AnalyticsDateFilterButton` that is in the page header, when the selected tab isn't `AnalyticsPageTab.energyManagement`.
* Added animation to`AnalyticsDateFilterButton`.
* modified the implementation of `FakeOccupacyService` to clamp all the generated values to less than a 100.
* Injected `OccupancyBloc` into `AnalyticsPage`.
* Made `OccupancyChart` read its data from `OccupancyBloc`.
* Refactor AnalyticsCommunitiesSidebar to load data based on selected tab and implement loadEnergyManagementData method
* Refactor Analytics views to use StatefulWidget and load data in initState
* Created `OccupancyHeatMapModel`.
* Add FakeOccupancyHeatMapService implementation.
* Created `OccupancyHeatMapBloc`.
* Injected `OccupancyHeatMapBloc` into `AnalyticsPage`.
* Add OccupancyHeatMapBox widget and integrate into AnalyticsOccupancyView
* Matching the heat map with the design, and added week days.
* Made the HeatMap cells have a dashed border.
* shows months.
* responsiveness.
* Integrate OccupancyHeatMapBloc and update OccupancyHeatMapBox to display heat map data with error handling
* Integrate OccupancyHeatMapBloc and update OccupancyHeatMapBox to display heat map data with error handling
* made the heatmap loading fast af by using painters instead of individually creating a widget for every single event.
* Extracted `OccupancyHeatMapMonths` into its own widgte.
* Moved `OccupancyHeatMapMonths` to its own file.
* Adjusted design of `OccupancyHeatMapMonths`.
* Adjust layout flex properties for `OccupancyEndSideBar` and its parent column in `AnalyticsOccupancyView`.
* moved `OccupancyPaintItem` to `OccupancyPainter`s file.
* removed comments from `OccupancyPainter`.
* used color.withValues instead of .withOpacity.
* re-added `OccupancyHeatMapGradient`.
* Revert initial tab to `energyManagement`.
* Made datepicker dynamic for multiple states.
* Add year picker functionality to date filter button and implement dynamic date selection
* Align date filter button to the end in occupancy chart and heat map boxes for improved UI consistency.
* Enahnced color of border in `OccupancyPainter`.
* Add ClearOccupancyHeatMapEvent to reset heat map state and update occupancy data helper to trigger event on empty selections
* show percentage of value in tool tip of `OccupancyChart`.
* SP-1494-api-integration.
* fixed left stide titles intervals in total energy consumption chart.
* Adjusted tooltip and title intervals in energy management charts to improve accuracy by incrementing displayed values by one.
* Refactor AnalyticsCommunitiesSidebar to use AnalyticsSpaceTreeView and enhance community/space selection handling
* Gave every tab its own selection logic using the strategy design pattern, along with clearing the selection when changing tabes to avoid collision between features.