Faris Armoush
49e93329c8
Sp 1511 fe build occupancy heat map weekly monthly intensity view ( #178 )
...
* 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`.
2025-05-11 16:58:13 +03:00
Faris Armoush
d6f0b53b59
Sp 1494 api integration ( #180 )
...
* 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.
2025-05-11 16:46:00 +03:00
Faris Armoush
7154693379
SP-1495-fix-deployment by wrapping ChartsLoadingWidget.CircularProgressIndicator with a padding instead of adding padding as a property of CircularProgressIndicator. ( #175 )
2025-05-08 16:32:50 +03:00
Faris Armoush
2e2bc99501
Merge pull request #176 from SyncrowIOT/SP-1510-FE-Build-Occupancy-Bar-Chart-Monthly-Consumption-View
...
Sp 1510 fe build occupancy bar chart monthly consumption view
2025-05-08 16:32:21 +03:00
Faris Armoush
53222bee81
Merge pull request #174 from SyncrowIOT/SP-1495-FE-Build-Energy-Consumption-per-Device-Chart-Placeholder
...
Sp 1495 fe build energy consumption per device chart placeholder
2025-05-07 15:54:37 +03:00
Faris Armoush
bfb9158652
Replaced hardcoded device id from RemotePowerClampInfoService.getInfo, and instead used the one from the method parameter.
2025-05-07 15:47:41 +03:00
Faris Armoush
7f03222c12
Removed unnecessary widgets.
2025-05-07 15:46:24 +03:00
Faris Armoush
5e6c14efeb
added loading indicators to charts.
2025-05-07 12:20:46 +03:00
Faris Armoush
9bbf3e75fa
bugfixes.
2025-05-07 11:55:04 +03:00
Faris Armoush
303b0236f1
Added default error message for edge case.
2025-05-07 11:44:29 +03:00
Faris Armoush
4e3e63723e
added error messages everywhere.
2025-05-07 11:43:05 +03:00
Faris Armoush
38ff20f86a
Created initial remote implementation for all the services in the energy management module.
2025-05-07 11:28:31 +03:00
Faris Armoush
d539e6266e
gets data when changing the date.
2025-05-07 11:12:39 +03:00
Faris Armoush
7467f8d0ea
Removed the analytics overview view for now, since there will be no implementation for it.
2025-05-07 10:59:55 +03:00
Faris Armoush
a11e20147e
preparing for integration, by fetching data when selecting a community.
2025-05-07 10:58:46 +03:00
Faris Armoush
55a6974bdc
deselect selected spaces when selecting a new space in analytics side bar.
2025-05-06 15:53:43 +03:00
Faris Armoush
f8f58a24b8
.
2025-05-06 15:47:30 +03:00
Faris Armoush
682e69e65f
modify data to migrate to days instead of months.
2025-05-06 15:44:33 +03:00
Faris Armoush
59a59231ec
Merge branches 'SP-1495-FE-Build-Energy-Consumption-per-Device-Chart-Placeholder' and 'SP-1495-FE-Build-Energy-Consumption-per-Device-Chart-Placeholder' of https://github.com/SyncrowIOT/web into SP-1495-FE-Build-Energy-Consumption-per-Device-Chart-Placeholder
2025-05-06 15:02:46 +03:00
Faris Armoush
ad41a2a87e
Implemented calendar widget and bloc.
2025-05-06 15:02:09 +03:00
Faris Armoush
974aa8f2a4
Implemented calendar widget and bloc.
2025-05-06 14:59:54 +03:00
Faris Armoush
428cd34492
Fixed device cell sizing.
2025-05-06 13:19:55 +03:00
Faris Armoush
1a6121c452
Made analytics energy management view scrollable, to allow for a better UX experience.
2025-05-06 12:24:47 +03:00
Faris Armoush
e8f9ae944c
Refactor BlocListener in PowerClampEnergyDataWidget to simplify state handling
2025-05-06 09:17:35 +03:00
Faris Armoush
7e37aed026
formatted PowerClampInfoBloc.
2025-05-06 09:09:27 +03:00
Faris Armoush
d89e227599
removed unnecesary type annotations from FirebaseRealtimeDeviceService.
2025-05-06 09:06:33 +03:00
Faris Armoush
5a68b22f0c
Update RealtimeDeviceChangesBloc to handle loading and failure states
2025-05-06 09:05:16 +03:00
Faris Armoush
38184ca8b2
Integrated realtime data.
2025-05-05 16:58:48 +03:00
Faris Armoush
4d5de7bc05
making good progress on realtime data integration.
2025-05-05 16:34:56 +03:00
Faris Armoush
1a3006fa43
Power clamp info integration.
2025-05-05 12:57:27 +03:00
Faris Armoush
490ca2057e
Reduce bar width in EnergyConsumptionPerDeviceChart for improved visual clarity.
2025-05-05 10:34:23 +03:00
Faris Armoush
06637a16bb
Add EnergyConsumptionPerDevice functionality and update related components
2025-05-05 10:32:12 +03:00
Faris Armoush
696978a78d
Injected EnergyConsumptionPerDeviceBloc into AnalyticsPage.
2025-05-05 10:20:43 +03:00
Faris Armoush
818e4e4d51
Created EnergyConsumptionPerDeviceBloc.
2025-05-05 10:19:52 +03:00
Faris Armoush
af877d7839
Created EnergyConsumptionPerDeviceService and a fake implementation for it.
2025-05-05 10:15:35 +03:00
Faris Armoush
a33b1e3f49
uses MediaQuery.sizeOf instead of MediaQuery.of.
2025-05-05 10:02:48 +03:00
Faris Armoush
c3cce334ab
data populator.
2025-05-05 09:56:29 +03:00
Faris Armoush
947e9e404c
left side intervals.
2025-05-05 09:54:17 +03:00
Faris Armoush
cd8264b6ce
Progress on making EnergyManagementView responsive.
2025-05-05 09:47:54 +03:00
Faris Armoush
7467be6980
Refactored PowerClampPhase to be more readable by extracting widgets into helper private methods to enhance readability.
2025-05-05 09:15:13 +03:00
Faris Armoush
0353c73dac
Moved PowerClampPhase widget to its own file.
2025-05-05 09:12:27 +03:00
Faris Armoush
a050792f32
extracted PowerClampPhase into its own widget.
2025-05-05 09:11:11 +03:00
Faris Armoush
464f7b7347
working on responsiveness.
2025-05-04 16:50:28 +03:00
Faris Armoush
cd54574279
progress towards drawing the phases widgts.
2025-05-04 16:07:51 +03:00
Faris Armoush
18acae3e85
Added type annotation.
2025-05-04 15:02:27 +03:00
Faris Armoush
f081a7fc2d
implemented header, and power clamp data widgets.
2025-05-04 14:59:49 +03:00
Faris Armoush
5996ff3928
Extracted fetching energy management data from the widgets themselves to the parent widget AnalyticsEnergyManagementView.
2025-05-04 14:29:35 +03:00
Faris Armoush
a0d1cb988a
moved EnergyConsumptionByPhasesTitle to its own file.
2025-05-04 14:26:52 +03:00
Faris Armoush
c3ec9000d4
Extracted EnergyConsumptionByPhasesTitle into its own widget to improve readability and assert separation of concerns.
2025-05-04 14:26:38 +03:00
Faris Armoush
3d6a60b406
load energy consumption by phases from bloc, and made the widget use the said data.
2025-05-04 14:24:53 +03:00
Faris Armoush
69c9240641
Injected EnergyConsumptionByPhasesBloc into AnalyticsPage.
2025-05-04 14:22:01 +03:00
Faris Armoush
098013e5c8
Created EnergyConsumptionByPhasesBloc.
2025-05-04 14:20:59 +03:00
Faris Armoush
11fb9e4894
Abstracted EnergyConsumptionByPhasesService, and created a fake implementation that returns mock data, which also simulates a network delay.
2025-05-04 14:20:52 +03:00
Faris Armoush
390da9213d
Made PhasesEnergyConsumption extend from Equatable.
2025-05-04 14:19:15 +03:00
Faris Armoush
cae8b029fe
Created GetEnergyConsumptionByPhasesParam class.
2025-05-04 14:18:56 +03:00
Faris Armoush
6b883c8bb3
Implemented Energy Consumption by Phases chart.
2025-05-04 13:22:38 +03:00
Faris Armoush
08c99bcbcb
Renamed EnergyConsumptionByPhasesChart to EnergyConsumptionByPhasesChartBox
2025-05-04 12:02:09 +03:00
Faris Armoush
f6448d3eff
Implement EnergyConsumptionByPhasesChart with structured layout and phase indicators
2025-05-04 12:01:40 +03:00
Faris Armoush
a657a9a25e
Refactor padding and add const constructors for improved performance and consistency in chart widgets
2025-05-04 11:20:47 +03:00
Faris Armoush
f55fa25bdf
Added prefer_const_constructors to analysis_options.yaml.
2025-05-04 11:11:32 +03:00
Faris Armoush
7242218b2f
Textstyles.
2025-05-04 11:10:22 +03:00
Faris Armoush
e43de3f64c
Introduce ChartTitle widget for consistent chart headings in EnergyConsumptionPerDeviceChartBox and TotalEnergyConsumptionChartBox
2025-05-04 11:08:56 +03:00
Faris Armoush
9c250986b2
Moved EnergyConsumptionPerDeviceDevicesList to its own file.
2025-05-04 10:55:52 +03:00
Faris Armoush
d8faafd1c0
Extracted and implemented EnergyConsumptionPerDeviceDevicesList.
2025-05-04 10:55:32 +03:00
Faris Armoush
24c30ddcb5
Refactor chart data generation in EnergyConsumptionPerDeviceChart for improved readability and maintainability
2025-05-04 10:47:39 +03:00
Faris Armoush
bafd2b4d13
Extracted reusbale logic and ui componenets into a shared helper class for the total energy chart, and energy cosumption per devices, to avoid any code duplication. If another chart required some change, we dont need to edit the helper itself, we can just add out own implementation into the new chart.
2025-05-04 10:46:12 +03:00
Faris Armoush
56f9b1fc9a
Update padding in AnalyticsEnergyManagementView and simplify title visibility in TotalEnergyConsumptionChart
2025-05-04 09:37:11 +03:00
Faris Armoush
97f8c6c8c9
Create EnergyConsumptionPerDeviceChartBox widget and update imports in AnalyticsEnergyManagementView
2025-04-30 16:54:11 +03:00
Faris Armoush
6e527503c1
Add missing Divider widget above TotalEnergyConsumptionChart in TotalEnergyConsumptionChartBox
2025-04-30 16:39:07 +03:00
Faris Armoush
d6ef06c1b3
Simplify widget structure in TotalEnergyConsumptionChart by removing unnecessary FittedBox wrapper around month title text.
2025-04-30 16:07:37 +03:00
Faris Armoush
c9aaf2580f
Refactor TotalEnergyConsumptionChart to accept chartData as a parameter that it takes from TotalEnergyConsumptionBlocand update TotalEnergyConsumptionChartBox to use Bloc for state management.
2025-04-30 15:56:17 +03:00
Faris Armoush
d9cd5d0438
Injected TotalEnergyConsumptionBloc into AnalyticsPage.
2025-04-30 15:46:05 +03:00
Faris Armoush
3eb87dfde1
Created TotalEnergyConsumptionBloc and its implementation.
2025-04-30 15:45:07 +03:00
Faris Armoush
f29ff2551f
Rename method getTotalEnergyConsumption to load in TotalEnergyConsumptionService and FakeTotalEnergyConsumptionService for consistency.
2025-04-30 15:34:10 +03:00
Faris Armoush
67dd59ee9c
Add GetTotalEnergyConsumptionParam and FakeTotalEnergyConsumptionService implementations
2025-04-30 15:30:25 +03:00
Faris Armoush
bb3c3906d1
Add EnergyDataModel and update TotalEnergyConsumptionChart to use it
2025-04-30 15:15:05 +03:00
Faris Armoush
3873deca90
Created EnergyData model.
2025-04-30 15:09:30 +03:00
Faris Armoush
9431dd4500
extracted reusable helper methods into global extensions.
2025-04-30 15:02:53 +03:00
Faris Armoush
63718185e7
Refactor TotalEnergyConsumptionChart to TotalEnergyConsumptionChartBox for improved layout and encapsulation.
2025-04-30 14:59:01 +03:00
Faris Armoush
1f4e82d567
Enhance TotalEnergyConsumptionChart layout and tooltip functionality.
2025-04-30 14:56:01 +03:00
Faris Armoush
9f68d171ff
progress towards making TotalEnergyConsumptionChart functional and look like the design.
2025-04-30 13:08:28 +03:00
Faris Armoush
6eba640037
bump-dependencies
2025-04-30 09:48:02 +03:00
Faris Armoush
7a088074e3
Prepared the layout of all charts.
2025-04-30 09:44:04 +03:00
Faris Armoush
d8f40badc0
animated tab buttons.
2025-04-30 09:20:02 +03:00
Faris Armoush
fdd5d0feed
rem oved comments and removed copyWith fromAnalyticsTabState because the state object only has one property, so i replaced the state object with AnalyticsPageTab enum.
2025-04-30 09:17:52 +03:00
Faris Armoush
fb1f79c7bb
Made AnalyticsPageTabsAndChildren responsive.
2025-04-30 09:14:30 +03:00
Faris Armoush
1923ac7014
Progress towards 1493.
2025-04-29 17:00:06 +03:00
Faris Armoush
c114161357
SP-1492.
2025-04-29 14:17:08 +03:00
Faris Armoush
888d444752
Merge pull request #160 from SyncrowIOT/SP-1478-FE-On-devices-management-page-when-we-open-power-clamp-device-loading-indicator-remains-loading-and-no-data-is-displayed
...
Sp 1478 fe on devices management page when we open power clamp device loading indicator remains loading and no data is displayed
2025-04-28 08:59:17 +03:00
Faris Armoush
bab5e06968
Merge pull request #159 from SyncrowIOT/SP-1463-rework
...
Sp 1463 rework
2025-04-28 08:58:39 +03:00
Faris Armoush
ac2996629e
resolved an exception that was thrown when resizing the DeviceSearchFilters.
2025-04-27 15:42:50 +03:00
Faris Armoush
51c52c66cb
SP-1478-FE-On-devices-management-page-when-we-open-power-clamp-device-loading-indicator-remains-loading-and-no-data-is-displayed
2025-04-27 15:18:19 +03:00
Faris Armoush
0f56273d99
SP-1408
2025-04-27 12:10:38 +03:00
Faris Armoush
34d4d892d9
refactor: streamline value calculations in FlushMountedPresenceSensorControlView
2025-04-27 11:11:38 +03:00
Faris Armoush
3193fd26fe
refactor: update presence delay value and enhance request handling in DebouncedBatchControlDevicesService
2025-04-27 11:04:54 +03:00
Faris Armoush
43802a9fad
refactor: update detection value calculations and adjust parameters for presence delay
2025-04-27 10:57:44 +03:00
Faris Armoush
6e0b1775f0
fix: reorder constructor parameters for consistency in FlushMountedPresenceSensorControlView
2025-04-27 10:55:18 +03:00
Faris Armoush
233fb2ee2c
refactor: improve formatting of clamp method for near and far detection values
2025-04-27 10:55:03 +03:00
Faris Armoush
b26928b3d5
fixed ui bugs.
2025-04-27 10:14:35 +03:00
Faris Armoush
6fc35a7b9a
enhanced device debouncing to accomodate for multiple calls from the different devices functions calls.
2025-04-27 10:14:19 +03:00