@eohjsc/react-native-smart-city 0.5.8 → 0.6.0-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/android/build.gradle +8 -10
- package/package.json +52 -69
- package/src/commons/Action/__test__/ItemQuickAction.test.js +2 -2
- package/src/commons/ActionGroup/NumberUpDownActionTemplate.js +3 -3
- package/src/commons/ActionGroup/OnOffSmartLock/AutoLock/ButtonWrapper.js +3 -3
- package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/__test__/index.test.js +3 -3
- package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/index.js +3 -3
- package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/ButtonWrapper.js +2 -2
- package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/__test__/index.test.js +0 -15
- package/src/commons/ActionGroup/OnOffTemplate/OnOffSimpleTemplate.js +2 -2
- package/src/commons/ActionGroup/OptionsDropdownActionTemplate.js +2 -2
- package/src/commons/ActionGroup/SmartTiviActionTemplate/SmartTiviActionTemplate.js +2 -2
- package/src/commons/ActionGroup/SmartTiviActionTemplate/component/CircleButton.js +5 -5
- package/src/commons/ActionGroup/SmartTiviActionTemplate/component/ControlPlay.js +3 -3
- package/src/commons/ActionGroup/TerminalBoxTemplate.js +2 -2
- package/src/commons/ActionGroup/TextBoxTemplate.js +2 -2
- package/src/commons/ActionGroup/ThreeButtonTemplate/__test__/ThreeButtonTemplate.test.js +4 -4
- package/src/commons/ActionGroup/TimerActionTemplate.js +3 -4
- package/src/commons/ActionGroup/TwoButtonTemplate/index.js +2 -2
- package/src/commons/ActionGroup/__test__/NumberUpDownTemplate.test.js +2 -9
- package/src/commons/ActionGroup/__test__/OnOffButtonTemplate.test.js +4 -11
- package/src/commons/ActionGroup/__test__/OnOffSmartLock.test.js +2 -9
- package/src/commons/ActionGroup/__test__/OnOffTemplate.test.js +4 -18
- package/src/commons/ActionGroup/__test__/OneBigButtonTemplate.test.js +2 -2
- package/src/commons/ActionGroup/__test__/OptionsDropdownTemplate.test.js +1 -8
- package/src/commons/ActionGroup/__test__/StatesGridActionTemplate.test.js +0 -7
- package/src/commons/ActionGroup/__test__/SwitchButtonTemplate.test.js +4 -15
- package/src/commons/ActionGroup/__test__/TerminalBoxTemplate.test.js +0 -7
- package/src/commons/ActionGroup/__test__/TextBoxTemplate.test.js +1 -8
- package/src/commons/ActionGroup/__test__/TimerActionTemplate.test.js +1 -8
- package/src/commons/ActionGroup/__test__/TimerActionTemplateWithutConfigValue.test.js +1 -8
- package/src/commons/ActionGroup/__test__/TwoButtonTemplate.test.js +2 -9
- package/src/commons/ActionGroup/__test__/index.test.js +14 -21
- package/src/commons/ActionTemplate/__test__/index.test.js +2 -0
- package/src/commons/ActionTemplate/__test__/utils.js +21 -0
- package/src/commons/ActionTemplate/index.js +1 -2
- package/src/commons/BackDefault/index.js +2 -2
- package/src/commons/ButtonPopup/index.js +2 -2
- package/src/commons/Dashboard/MyPinnedSharedUnit/__test__/MyPinnedSharedUnit.test.js +1 -12
- package/src/commons/Dashboard/MyUnit/__test__/MyUnit.test.js +27 -20
- package/src/commons/Dashboard/MyUnit/index.js +0 -1
- package/src/commons/DateTimeRangeChange/DateTimeButton.js +2 -2
- package/src/commons/Device/ConnectedViewHeader.js +2 -2
- package/src/commons/Device/DisconnectedView.js +2 -2
- package/src/commons/Device/Emergency/EmergencyDetail.js +3 -3
- package/src/commons/Device/Emergency/__test__/EmergencyDetail.test.js +2 -2
- package/src/commons/Device/FlatListItems.js +3 -3
- package/src/commons/Device/Hanet/ItemHanetDevice.js +3 -3
- package/src/commons/Device/Hanet/ItemHanetDevice.test.js +3 -11
- package/src/commons/Device/HorizontalBarChart.js +1 -1
- package/src/commons/Device/ItemAddNew/index.js +2 -2
- package/src/commons/Device/ItemDevice.js +2 -2
- package/src/commons/Device/PowerConsumptionChart.js +154 -0
- package/src/commons/Device/SonosSpeaker/index.js +3 -3
- package/src/commons/Device/WaterPurifierStatus/AlertStatusMachine.js +2 -2
- package/src/commons/Device/WaterQualitySensor/QualityIndicatorsItem.js +2 -6
- package/src/commons/DisplayChecking/index.js +2 -2
- package/src/commons/EmergencyButton/AlertSendConfirm.js +2 -2
- package/src/commons/EmergencyButton/AlertSent.js +2 -2
- package/src/commons/FieldTemplate/ChooseUserField/index.js +2 -2
- package/src/commons/Form/CurrencyInput.js +1 -15
- package/src/commons/Header/HeaderCustom.js +3 -3
- package/src/commons/HeaderAni/index.js +2 -2
- package/src/commons/IconComponent/index.js +3 -3
- package/src/commons/MenuActionAddnew/__test__/MenuActionAddNew.test.js +1 -1
- package/src/commons/MenuActionList/__test__/MenuActionList.test.js +1 -0
- package/src/commons/NavBar/index.js +2 -2
- package/src/commons/OneTapTemplate/NumberUpDownActionTemplate.js +3 -3
- package/src/commons/PreventAccess/__test__/PreventAccess.test.js +1 -13
- package/src/commons/Processing/__test__/Connecting.test.js +3 -14
- package/src/commons/SearchLocation/index.js +2 -2
- package/src/commons/SelectActionCard/index.js +2 -2
- package/src/commons/SelectSubUnit/__test__/SelectSubUnit.test.js +1 -18
- package/src/commons/SelectSubUnit/index.js +2 -2
- package/src/commons/SelectUnit/__test__/SelectUnit.test.js +1 -13
- package/src/commons/Sharing/BtnRemoveMember.js +2 -2
- package/src/commons/Sharing/StationDevicePermissions.js +2 -2
- package/src/commons/Sharing/WrapHeaderScrollable.js +1 -1
- package/src/commons/Sharing/__test__/DevicePermissionsCheckbox.test.js +1 -1
- package/src/commons/SubUnit/DeviceTemplate/ConfigAndEvaluation/ConfigAndEvaluation.js +2 -2
- package/src/commons/SubUnit/DeviceTemplate/ConfigValue/ConfigValue.js +2 -2
- package/src/commons/SubUnit/DeviceTemplate/EvaluationOverConfig/EvaluationOverConfig.js +2 -2
- package/src/commons/SubUnit/Item/index.js +2 -2
- package/src/commons/SubUnit/OneTap/ItemOneTap.js +2 -2
- package/src/commons/SubUnit/OneTap/__test__/SubUnitAutomate.test.js +11 -8
- package/src/commons/SubUnit/__test__/Favorites.test.js +1 -13
- package/src/commons/SubUnit/__test__/ShortDetail.test.js +5 -16
- package/src/commons/Tabbar/__test__/index.test.js +0 -11
- package/src/commons/Unit/HeaderUnit/index.js +4 -4
- package/src/commons/Unit/SharedUnit.js +5 -5
- package/src/commons/Unit/__test__/HeaderUnit.test.js +3 -15
- package/src/commons/Unit/__test__/SharedUnit.test.js +94 -105
- package/src/commons/UnitSummary/AirQuality/SegmentedRoundDisplay/index.js +11 -30
- package/src/commons/UnitSummary/ConfigHistoryChart/index.js +6 -61
- package/src/commons/Widgets/IFrame/IFrame.js +54 -0
- package/src/commons/Widgets/IFrame/IFrameStyles.js +35 -0
- package/src/commons/Widgets/IFrame/__tests__/IFrame.test.js +74 -0
- package/src/commons/Widgets/IFrame/index.js +0 -0
- package/src/commons/Widgets/IFrameWithConfig/IFrameWithConfig.js +163 -0
- package/src/commons/Widgets/IFrameWithConfig/IFrameWithConfigStyles.js +9 -0
- package/src/commons/Widgets/IFrameWithConfig/__tests__/IFrameWithConfig.test.js +284 -0
- package/src/commons/Widgets/IFrameWithConfig/index.js +0 -0
- package/src/commons/Widgets/Widget.js +0 -0
- package/src/commons/Widgets/index.js +0 -0
- package/src/configs/Constants.js +5 -0
- package/src/hooks/Common/__test__/useAndroidTranslucentStatusBar.test.js +4 -15
- package/src/hooks/Common/useDevicesStatus.js +42 -24
- package/src/hooks/IoT/__test__/useRemoteControl.test.js +1 -1
- package/src/hooks/IoT/__test__/useWatchConfigs.test.js +0 -7
- package/src/iot/RemoteControl/HomeAssistant.js +1 -1
- package/src/iot/RemoteControl/__test__/Bluetooth.test.js +234 -232
- package/src/navigations/AutomateStack.js +2 -2
- package/src/navigations/EmergencyContactsStack.js +2 -2
- package/src/navigations/SharedStack.js +2 -2
- package/src/navigations/UnitStack.js +2 -2
- package/src/screens/ActivityLog/hooks/index.js +7 -4
- package/src/screens/ActivityLog/index.js +2 -2
- package/src/screens/AddCommon/__test__/SelectSubUnit.test.js +4 -21
- package/src/screens/AddCommon/__test__/SelectUnit.test.js +7 -19
- package/src/screens/AddLocationMaps/__test__/index.test.js +3 -13
- package/src/screens/AddLocationMaps/index.js +4 -4
- package/src/screens/AddNewDevice/__test__/AddNewDevice.test.js +3 -20
- package/src/screens/AddNewGateway/PlugAndPlay/__test__/FirstWarning.test.js +11 -18
- package/src/screens/AddNewGateway/PlugAndPlay/__test__/ZigbeeDeviceConnectGuide.test.js +4 -21
- package/src/screens/AddNewGateway/RenameNewDevices.js +2 -2
- package/src/screens/AddNewGateway/__test__/AddNewGateway.test.js +3 -3
- package/src/screens/AddNewGateway/__test__/ConnectingModbusDevice.test.js +0 -17
- package/src/screens/AddNewGateway/__test__/ConnectingWifiDevice.test.js +4 -19
- package/src/screens/AddNewGateway/__test__/ConnectingWifiGuide.test.js +3 -15
- package/src/screens/AddNewGateway/__test__/ConnectingZigbeeDevice.test.js +31 -51
- package/src/screens/AddNewGateway/__test__/RenameNewDevices.test.js +9 -22
- package/src/screens/AddNewGateway/__test__/ScanGatewayQR.test.js +12 -19
- package/src/screens/AddNewGateway/__test__/ScanModbusQR.test.js +6 -16
- package/src/screens/AddNewGateway/__test__/ScanWifiDeviceQR.test.js +4 -15
- package/src/screens/AddNewGateway/__test__/SelectDeviceSubUnit.test.js +3 -3
- package/src/screens/AddNewGateway/__test__/SelectDeviceType.test.js +18 -10
- package/src/screens/AddNewGateway/__test__/SelectDeviceUnit.test.js +1 -1
- package/src/screens/AddNewGateway/__test__/SelectModbusGateway.test.js +12 -9
- package/src/screens/AddNewGateway/__test__/SelectZigbeeGateway.test.js +12 -9
- package/src/screens/AddNewGateway/__test__/ShareWifiPassword.test.js +7 -21
- package/src/screens/AddNewGateway/hooks/__Tests__/index.test.js +1 -10
- package/src/screens/AllGateway/DetailConfigActionInternal/__test__/index.test.js +0 -20
- package/src/screens/AllGateway/DetailConfigActionModbus/__test__/index.test.js +7 -24
- package/src/screens/AllGateway/DeviceGatewayInfo/__test__/index.test.js +0 -17
- package/src/screens/AllGateway/DeviceInternalDetail/__test__/index.test.js +84 -100
- package/src/screens/AllGateway/DeviceModbusDetail/__test__/index.test.js +64 -82
- package/src/screens/AllGateway/DeviceZigbeeDetail/__test__/index.test.js +36 -55
- package/src/screens/AllGateway/GatewayConnectionMethods/__test__/index.test.js +9 -18
- package/src/screens/AllGateway/GatewayDetail/__test__/index.test.js +10 -37
- package/src/screens/AllGateway/GatewayInfo/__test__/index.test.js +7 -32
- package/src/screens/AllGateway/__test__/index.test.js +1 -14
- package/src/screens/AllGateway/components/GatewayItem/__test__/index.test.js +0 -12
- package/src/screens/AllGateway/components/TabPaneCT/__test__/index.test.js +1 -13
- package/src/screens/AllGateway/components/TabPaneCT/index.js +1 -1
- package/src/screens/AllGateway/hooks/__test__/index.test.js +1 -8
- package/src/screens/AllGateway/test-utils.js +1 -1
- package/src/screens/Automate/AddNewAction/NewActionWrapper.js +2 -2
- package/src/screens/Automate/AddNewAction/SetupConfigCondition.js +27 -28
- package/src/screens/Automate/AddNewAction/__test__/ChooseAction.test.js +3 -3
- package/src/screens/Automate/AddNewAction/__test__/ChooseConfig.test.js +8 -5
- package/src/screens/Automate/AddNewAction/__test__/SelectControlDevices.test.js +2 -2
- package/src/screens/Automate/AddNewAction/__test__/SelectMonitorDevices.test.js +1 -18
- package/src/screens/Automate/AddNewAction/__test__/SetupConfigCondition.test.js +17 -15
- package/src/screens/Automate/AddNewAutoSmart/__test__/AddNewAutoSmart.test.js +4 -4
- package/src/screens/Automate/EditActionsList/__tests__/UpdateActionScript.test.js +38 -55
- package/src/screens/Automate/EditActionsList/__tests__/UpdateDelayScript.test.js +0 -18
- package/src/screens/Automate/EditActionsList/__tests__/UpdateNotifyScript.test.js +1 -19
- package/src/screens/Automate/EditActionsList/__tests__/index.test.js +14 -11
- package/src/screens/Automate/OneTap/__test__/AddNewOneTap.test.js +3 -3
- package/src/screens/Automate/Scenario/__test__/AddNewOneTap.test.js +2 -2
- package/src/screens/Automate/ScriptDetail/Components/AddActionScript.js +2 -2
- package/src/screens/Automate/ScriptDetail/__test__/index.test.js +33 -25
- package/src/screens/Automate/ScriptDetail/index.js +5 -6
- package/src/screens/Automate/SetSchedule/__test__/index.test.js +4 -4
- package/src/screens/Automate/SetSchedule/components/RowItem.js +3 -3
- package/src/screens/Automate/__test__/MultiUnits.test.js +5 -5
- package/src/screens/Automate/__test__/index.test.js +6 -6
- package/src/screens/Automate/index.js +2 -2
- package/src/screens/ChangePosition/__test__/index.test.js +1 -14
- package/src/screens/ConfirmUnitDeletion/__test__/ConfirmUnitDeletion.test.js +0 -12
- package/src/screens/Device/EditDevice/__test__/EditDevice.test.js +1 -11
- package/src/screens/Device/EditDevice/index.js +2 -2
- package/src/screens/Device/__test__/detail.test.js +11 -11
- package/src/screens/Device/__test__/sensorDisplayItem.test.js +3 -15
- package/src/screens/Device/components/SensorDisplayItem.js +23 -5
- package/src/screens/Device/components/__test__/VisualChart.test.js +2 -9
- package/src/screens/Device/detail.js +11 -10
- package/src/screens/Drawer/Drawer.test.js +3 -11
- package/src/screens/Drawer/index.js +3 -4
- package/src/screens/EmergencyContacts/EmergencyContactsList.js +4 -8
- package/src/screens/EmergencyContacts/EmergencyContactsSelectContacts.js +3 -3
- package/src/screens/EmergencyContacts/__test__/EmergencyContactAddNew.test.js +4 -17
- package/src/screens/EmergencyContacts/__test__/EmergencyContactList.test.js +3 -14
- package/src/screens/EmergencyContacts/__test__/EmergencyContactsSelectContacts.test.js +0 -10
- package/src/screens/EmergencySetting/components/DropDownItem.js +2 -2
- package/src/screens/EnterPassword/__test__/EnterPassword.test.js +4 -17
- package/src/screens/GuestInfo/__test__/index.test.js +0 -11
- package/src/screens/GuestInfo/components/RowGuestInfo.js +2 -2
- package/src/screens/GuestInfo/index.js +2 -2
- package/src/screens/HanetCamera/Detail.js +2 -2
- package/src/screens/HanetCamera/ManageAccess.js +3 -4
- package/src/screens/HanetCamera/MemberInfo.js +4 -4
- package/src/screens/HanetCamera/__test__/CaptureFaceID.test.js +2 -16
- package/src/screens/HanetCamera/__test__/Detail.test.js +1 -12
- package/src/screens/HanetCamera/__test__/ManageAccess.test.js +5 -16
- package/src/screens/HanetCamera/__test__/MemberInfo.test.js +5 -18
- package/src/screens/HanetCamera/components/RequestFaceIDPopup.js +2 -2
- package/src/screens/ManageAccess/__test__/ManageAccess.test.js +3 -19
- package/src/screens/ManageAccess/index.js +3 -3
- package/src/screens/MoveToAnotherSubUnit/__test__/index.test.js +5 -5
- package/src/screens/Notification/__test__/NotificationItem.test.js +9 -19
- package/src/screens/Notification/index.js +3 -3
- package/src/screens/PlayBackCamera/Styles/index.js +2 -4
- package/src/screens/PlayBackCamera/Timer.js +65 -47
- package/src/screens/PlayBackCamera/__test__/index.test.js +32 -33
- package/src/screens/PlayBackCamera/index.js +115 -112
- package/src/screens/ScanChipQR/components/QRScan/__test__/QRScan.test.js +0 -11
- package/src/screens/ScanChipQR/components/QRScan/index.js +3 -3
- package/src/screens/SelectUnit/__test__/index.test.js +1 -21
- package/src/screens/SelectUnit/index.js +2 -2
- package/src/screens/SharedUnit/TabHeader.js +2 -2
- package/src/screens/Sharing/Components/EndDevice.js +3 -3
- package/src/screens/Sharing/UnitMemberList.js +2 -2
- package/src/screens/Sharing/__test__/InfoMemberUnit.test.js +9 -4
- package/src/screens/Sharing/__test__/SelectShareDevice.test.js +2 -15
- package/src/screens/Sharing/__test__/SelectUser.test.js +2 -22
- package/src/screens/Sharing/__test__/UnitMemberList.test.js +2 -2
- package/src/screens/Sharing/__test__/UpdateShareDevice.test.js +4 -17
- package/src/screens/Sharing/hooks/__test__/index.test.js +2 -13
- package/src/screens/SmartAccount/Connecting/index.js +0 -2
- package/src/screens/SmartAccount/ListDevice/__test__/ListDevice.test.js +3 -18
- package/src/screens/SmartAccount/SuccessfullyConnected/__test__/SuccessfullyConnected.test.js +11 -21
- package/src/screens/SmartAccount/SuccessfullyConnected/index.js +3 -4
- package/src/screens/SmartAccount/__test__/Connecting.test.js +30 -36
- package/src/screens/SmartAccount/__test__/SmartAccount.test.js +12 -21
- package/src/screens/SmartIr/__test__/GroupButtonByType.test.js +7 -17
- package/src/screens/SmartIr/__test__/SelectBrand.test.js +1 -11
- package/src/screens/SmartIr/__test__/SelectDeviceType.test.js +1 -12
- package/src/screens/SmartIr/__test__/SmartIr.test.js +3 -11
- package/src/screens/SmartIr/components/GroupButtonByType/GroupButtonByType.js +3 -3
- package/src/screens/SmartIr/components/SelectBrand.js +2 -2
- package/src/screens/SubUnit/AddSubUnit.js +1 -0
- package/src/screens/SubUnit/EditSubUnit.js +3 -2
- package/src/screens/SubUnit/ManageSubUnit.js +4 -5
- package/src/screens/SubUnit/__test__/AddSubUnit.test.js +9 -31
- package/src/screens/SubUnit/__test__/Detail.test.js +4 -28
- package/src/screens/SubUnit/__test__/EditSubUnit.test.js +12 -30
- package/src/screens/SubUnit/__test__/ManageSubUnit.test.js +2 -2
- package/src/screens/SubUnit/hooks/__test__/useManageSubUnit.test.js +0 -12
- package/src/screens/SyncLGDevice/__test__/AddLGDevice.test.js +7 -20
- package/src/screens/Template/__test__/EditTemplate.test.js +2 -13
- package/src/screens/Template/__test__/GatewayList.test.js +0 -9
- package/src/screens/Template/__test__/detail.test.js +4 -4
- package/src/screens/Template/__test__/index.test.js +1 -12
- package/src/screens/Template/detail.js +2 -2
- package/src/screens/Unit/SelectAddToFavorites.js +2 -2
- package/src/screens/Unit/SelectAddress.js +4 -4
- package/src/screens/Unit/SmartAccountItem.js +2 -2
- package/src/screens/Unit/Summaries.js +26 -25
- package/src/screens/Unit/__test__/AddMenu.test.js +5 -2
- package/src/screens/Unit/__test__/CheckSendEmail.test.js +0 -12
- package/src/screens/Unit/__test__/ChooseLocation.test.js +1 -4
- package/src/screens/Unit/__test__/Detail.test.js +5 -5
- package/src/screens/Unit/__test__/ManageUnit.test.js +2 -17
- package/src/screens/Unit/__test__/MoreMenu.test.js +1 -11
- package/src/screens/Unit/__test__/SelectAddToFavorites.test.js +3 -14
- package/src/screens/Unit/__test__/SelectAddress.test.js +4 -17
- package/src/screens/Unit/__test__/SmartAccount.test.js +14 -11
- package/src/screens/Unit/__test__/SmartAccountItem.test.js +0 -11
- package/src/screens/Unit/__test__/Summaries.test.js +2 -14
- package/src/screens/Unit/components/AutomateScript/index.js +2 -2
- package/src/screens/Unit/components/ButtonWrapper/index.js +3 -4
- package/src/screens/Unit/components/Header/index.js +3 -3
- package/src/screens/Unit/components/SharedUnit/index.js +5 -5
- package/src/screens/Unit/components/__test__/Header.test.js +1 -14
- package/src/screens/Unit/components/__test__/MyUnitDevice.test.js +1 -11
- package/src/screens/Unit/components/__test__/SharedUnit.test.js +1 -11
- package/src/screens/UnitSummary/__test__/index.test.js +51 -17
- package/src/screens/UnitSummary/components/3PPowerConsumption/__test__/3PPowerConsumption.test.js +0 -12
- package/src/screens/UnitSummary/components/3PPowerConsumption/index.js +10 -23
- package/src/screens/UnitSummary/components/AirQuality/__test__/index.test.js +1 -7
- package/src/screens/UnitSummary/components/AirQuality/index.js +3 -3
- package/src/screens/UnitSummary/components/PowerConsumption/__test__/PowerConsumption.test.js +38 -14
- package/src/screens/UnitSummary/components/PowerConsumption/index.js +21 -30
- package/src/screens/UnitSummary/components/RunningDevices/__test__/index.test.js +1 -16
- package/src/screens/UnitSummary/components/Temperature/index.js +5 -1
- package/src/screens/UnitSummary/components/UvIndex/__test__/index.test.js +0 -8
- package/src/screens/UnitSummary/components/UvIndex/index.js +2 -2
- package/src/screens/UnitSummary/components/WaterQuality/Item/index.js +2 -2
- package/src/screens/UnitSummary/components/WaterQuality/__test__/index.test.js +14 -18
- package/src/screens/UnitSummary/index.js +4 -8
- package/src/utils/Converter/__test__/timer.test.js +8 -0
- package/src/utils/Functions/preloadImages.js +13 -14
- package/src/utils/Storage.js +1 -1
- package/src/commons/Device/HistoryChart.js +0 -225
- package/src/commons/Device/WindSpeed/LinearChart/__test__/LinearChart.test.js +0 -48
- package/src/commons/Device/WindSpeed/LinearChart/index.js +0 -155
- package/src/commons/UnitSummary/ConfigHistoryChart/__test__/ConfigHistoryChart.test.js +0 -289
- package/src/screens/Device/__test__/DetailHistoryChart.test.js +0 -69
- package/src/screens/Device/components/DetailHistoryChart.js +0 -118
- package/src/screens/UnitSummary/components/Temperature/ChartAverage/index.js +0 -62
- package/src/screens/UnitSummary/components/Temperature/__test__/ChartAverage.test.js +0 -17
- package/src/utils/dateHelper/getTickValues.js +0 -22
|
@@ -16,19 +16,8 @@ import { Action } from '../../../../context/actionType';
|
|
|
16
16
|
|
|
17
17
|
const mock = new MockAdapter(api.axiosInstance);
|
|
18
18
|
|
|
19
|
-
const mockedNavigate = jest.fn();
|
|
20
19
|
const mockSetAction = jest.fn();
|
|
21
20
|
|
|
22
|
-
jest.mock('@react-navigation/native', () => {
|
|
23
|
-
return {
|
|
24
|
-
...jest.requireActual('@react-navigation/native'),
|
|
25
|
-
useNavigation: () => ({
|
|
26
|
-
navigate: mockedNavigate,
|
|
27
|
-
}),
|
|
28
|
-
useIsFocused: () => true,
|
|
29
|
-
};
|
|
30
|
-
});
|
|
31
|
-
|
|
32
21
|
jest.mock('react', () => {
|
|
33
22
|
return {
|
|
34
23
|
...jest.requireActual('react'),
|
|
@@ -74,7 +63,7 @@ describe('Test MyPinnedSharedUnit', () => {
|
|
|
74
63
|
await act(async () => {
|
|
75
64
|
goToAllSharedUnits.props.onPress();
|
|
76
65
|
});
|
|
77
|
-
expect(mockedNavigate).toHaveBeenCalled();
|
|
66
|
+
expect(global.mockedNavigate).toHaveBeenCalled();
|
|
78
67
|
expect(mockSetAction).toBeCalledWith(
|
|
79
68
|
Action.IS_CHECK_CLEAR_CACHE_UNITS,
|
|
80
69
|
false
|
|
@@ -10,22 +10,12 @@ import { mockSCStore } from '../../../../context/mockStore';
|
|
|
10
10
|
import api from '../../../../utils/Apis/axios';
|
|
11
11
|
import { API } from '../../../../configs';
|
|
12
12
|
import Routes from '../../../../utils/Route';
|
|
13
|
+
import { flushPromises } from '../../../../screens/AllGateway/test-utils';
|
|
14
|
+
import FastImage from 'react-native-fast-image';
|
|
15
|
+
import { removeMultiple, STORAGE_KEY } from '../../../../utils/Storage';
|
|
13
16
|
|
|
14
17
|
const mock = new MockAdapter(api.axiosInstance);
|
|
15
18
|
|
|
16
|
-
const mockedNavigate = jest.fn();
|
|
17
|
-
|
|
18
|
-
jest.mock('@react-navigation/native', () => {
|
|
19
|
-
return {
|
|
20
|
-
...jest.requireActual('@react-navigation/native'),
|
|
21
|
-
useNavigation: () => ({
|
|
22
|
-
navigate: mockedNavigate,
|
|
23
|
-
}),
|
|
24
|
-
useIsFocused: () => true,
|
|
25
|
-
useFocusEffect: jest.fn(),
|
|
26
|
-
};
|
|
27
|
-
});
|
|
28
|
-
|
|
29
19
|
const wrapComponent = (data = {}) => (
|
|
30
20
|
<SCProvider initState={mockSCStore(data)}>
|
|
31
21
|
<MyUnit refreshing={true} />
|
|
@@ -34,7 +24,7 @@ const wrapComponent = (data = {}) => (
|
|
|
34
24
|
|
|
35
25
|
describe('Test MyUnit', () => {
|
|
36
26
|
let tree;
|
|
37
|
-
let
|
|
27
|
+
let stateData = {
|
|
38
28
|
app: { isDeleteUnitSuccessFully: true, isNeedUpdateCache: true },
|
|
39
29
|
};
|
|
40
30
|
let data = [
|
|
@@ -69,9 +59,10 @@ describe('Test MyUnit', () => {
|
|
|
69
59
|
},
|
|
70
60
|
];
|
|
71
61
|
|
|
72
|
-
beforeEach(() => {
|
|
62
|
+
beforeEach(async () => {
|
|
73
63
|
mock.resetHistory();
|
|
74
|
-
|
|
64
|
+
FastImage.preload.mockClear();
|
|
65
|
+
await removeMultiple([STORAGE_KEY.IS_FIRST_TIME_LOAD_MY_UNITS]);
|
|
75
66
|
});
|
|
76
67
|
|
|
77
68
|
const getElement = (instance) => {
|
|
@@ -89,7 +80,7 @@ describe('Test MyUnit', () => {
|
|
|
89
80
|
|
|
90
81
|
it('MyUnit no Unit', async () => {
|
|
91
82
|
await act(async () => {
|
|
92
|
-
tree = await renderer.create(wrapComponent(
|
|
83
|
+
tree = await renderer.create(wrapComponent(stateData));
|
|
93
84
|
});
|
|
94
85
|
const instance = tree.root;
|
|
95
86
|
const { textNoUnit } = getElement(instance);
|
|
@@ -99,8 +90,9 @@ describe('Test MyUnit', () => {
|
|
|
99
90
|
it('MyUnit with unit', async () => {
|
|
100
91
|
mock.onGet(API.UNIT.MY_UNITS()).replyOnce(200, data);
|
|
101
92
|
await act(async () => {
|
|
102
|
-
tree = await renderer.create(wrapComponent(
|
|
93
|
+
tree = await renderer.create(wrapComponent(stateData));
|
|
103
94
|
});
|
|
95
|
+
await flushPromises();
|
|
104
96
|
const instance = tree.root;
|
|
105
97
|
const devices = instance.findAllByType(MyUnitDevice);
|
|
106
98
|
expect(devices).toHaveLength(2);
|
|
@@ -111,7 +103,7 @@ describe('Test MyUnit', () => {
|
|
|
111
103
|
await act(async () => {
|
|
112
104
|
await button.props.onPress(data[0]);
|
|
113
105
|
});
|
|
114
|
-
expect(mockedNavigate).toBeCalledWith(Routes.UnitStack, {
|
|
106
|
+
expect(global.mockedNavigate).toBeCalledWith(Routes.UnitStack, {
|
|
115
107
|
params: { unitId: 1 },
|
|
116
108
|
screen: Routes.UnitDetail,
|
|
117
109
|
});
|
|
@@ -131,9 +123,24 @@ describe('Test MyUnit', () => {
|
|
|
131
123
|
await act(async () => {
|
|
132
124
|
await button.props.onPress(data[1]);
|
|
133
125
|
});
|
|
134
|
-
expect(mockedNavigate).toBeCalledWith('UnitStack', {
|
|
126
|
+
expect(global.mockedNavigate).toBeCalledWith('UnitStack', {
|
|
135
127
|
params: { unitId: 2 },
|
|
136
128
|
screen: 'UnitDetail',
|
|
137
129
|
});
|
|
138
130
|
});
|
|
131
|
+
|
|
132
|
+
it('Test preload image', async () => {
|
|
133
|
+
mock.onGet(API.UNIT.MY_UNITS()).replyOnce(200, [data[1]]);
|
|
134
|
+
mock.onGet(API.UNIT.UNIT_DETAIL(2)).replyOnce(200, {
|
|
135
|
+
stations: [{ background: 'background' }],
|
|
136
|
+
});
|
|
137
|
+
await act(async () => {
|
|
138
|
+
tree = await renderer.create(
|
|
139
|
+
wrapComponent({ app: { isNeedUpdateCache: false } })
|
|
140
|
+
);
|
|
141
|
+
});
|
|
142
|
+
expect(FastImage.preload).toHaveBeenCalledWith([
|
|
143
|
+
{ uri: 'background', priority: FastImage.priority.high },
|
|
144
|
+
]);
|
|
145
|
+
});
|
|
139
146
|
});
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
2
|
import { StyleSheet, TouchableOpacity } from 'react-native';
|
|
3
|
-
import
|
|
3
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
4
4
|
import { Colors } from '../../configs';
|
|
5
5
|
|
|
6
6
|
const DateTimeButton = memo(({ onPress, style, children }) => {
|
|
7
7
|
return (
|
|
8
8
|
<TouchableOpacity style={[styles.dateSelect, style]} onPress={onPress}>
|
|
9
9
|
{children}
|
|
10
|
-
<
|
|
10
|
+
<AntDesign style={styles.iconDateTime} name={'calendar'} />
|
|
11
11
|
</TouchableOpacity>
|
|
12
12
|
);
|
|
13
13
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
2
|
import { StyleSheet, View } from 'react-native';
|
|
3
|
-
import
|
|
3
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
4
4
|
import { useTranslations } from '../../hooks/Common/useTranslations';
|
|
5
5
|
import { Colors } from '../../configs';
|
|
6
6
|
import Text from '../../commons/Text';
|
|
@@ -30,7 +30,7 @@ const ConnectedViewHeader = memo(
|
|
|
30
30
|
return (
|
|
31
31
|
<View style={styles.statusContainer}>
|
|
32
32
|
<View style={styles.connectStatus}>
|
|
33
|
-
<
|
|
33
|
+
<AntDesign name={'wifi'} color={Colors.Green6} size={16} />
|
|
34
34
|
<DisplayTextConnected type={type} />
|
|
35
35
|
</View>
|
|
36
36
|
{isDisplayTime && (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
2
|
import { StyleSheet, View } from 'react-native';
|
|
3
|
-
import
|
|
3
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
4
4
|
import { useTranslations } from '../../hooks/Common/useTranslations';
|
|
5
5
|
|
|
6
6
|
import { Colors } from '../../configs';
|
|
@@ -57,7 +57,7 @@ const DisconnectedView = memo(({ sensor, type, isDeviceHasBle }) => {
|
|
|
57
57
|
</View>
|
|
58
58
|
<View style={styles.disconnectSuggestionContainer} testID={'suggestions'}>
|
|
59
59
|
<View style={styles.row}>
|
|
60
|
-
<
|
|
60
|
+
<AntDesign name={'alert'} size={16} />
|
|
61
61
|
<Text bold style={styles.boldText}>
|
|
62
62
|
{t('suggestions')}:
|
|
63
63
|
</Text>
|
|
@@ -6,7 +6,7 @@ import MediaPlayer from '../../MediaPlayer';
|
|
|
6
6
|
import { standardizeCameraScreenSize } from '../../../utils/Utils';
|
|
7
7
|
import { Colors, Device } from '../../../configs';
|
|
8
8
|
import { RowUser } from '../../RowUser';
|
|
9
|
-
import
|
|
9
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
10
10
|
import { useEmeragencyContacts } from '../../../screens/EmergencyContacts/hook';
|
|
11
11
|
import { useIsFocused } from '@react-navigation/native';
|
|
12
12
|
|
|
@@ -49,12 +49,12 @@ const EmergencyDetail = memo(({ item }) => {
|
|
|
49
49
|
key={contact.id.toString()}
|
|
50
50
|
index={index}
|
|
51
51
|
leftIcon={
|
|
52
|
-
<
|
|
52
|
+
<AntDesign name={'user'} size={20} color={Colors.White} />
|
|
53
53
|
}
|
|
54
54
|
text={contact.name}
|
|
55
55
|
rightComponent={
|
|
56
56
|
<View style={styles.rightComponent}>
|
|
57
|
-
<
|
|
57
|
+
<AntDesign
|
|
58
58
|
name={'phone'}
|
|
59
59
|
size={20}
|
|
60
60
|
color={Colors.Gray9}
|
|
@@ -12,11 +12,11 @@ const wrapComponent = (item) => (
|
|
|
12
12
|
</SCProvider>
|
|
13
13
|
);
|
|
14
14
|
|
|
15
|
-
const
|
|
15
|
+
const mockedUseIsFocused = jest.fn();
|
|
16
16
|
jest.mock('@react-navigation/core', () => {
|
|
17
17
|
return {
|
|
18
18
|
...jest.requireActual('@react-navigation/core'),
|
|
19
|
-
useIsFocused:
|
|
19
|
+
useIsFocused: mockedUseIsFocused,
|
|
20
20
|
};
|
|
21
21
|
});
|
|
22
22
|
|
|
@@ -5,7 +5,7 @@ import AlertStatusMachine from './WaterPurifierStatus/AlertStatusMachine';
|
|
|
5
5
|
import { useBoolean } from '../../hooks/Common';
|
|
6
6
|
import Text from '../Text';
|
|
7
7
|
import Routes from '../../utils/Route';
|
|
8
|
-
import
|
|
8
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
9
9
|
import { Colors, Constants } from '../../configs';
|
|
10
10
|
import { useTranslations } from '../../hooks/Common/useTranslations';
|
|
11
11
|
import { AccessibilityLabel } from '../../configs/Constants';
|
|
@@ -75,7 +75,7 @@ const FlatListItems = memo(({ data, style, title, offsetTitle }) => {
|
|
|
75
75
|
style={styles.iconInfo}
|
|
76
76
|
accessibilityLabel={AccessibilityLabel.TOUCH_INFO_FLAT_LIST_ITEM}
|
|
77
77
|
>
|
|
78
|
-
<
|
|
78
|
+
<AntDesign name={'info-circle'} size={16} color={Colors.Gray8} />
|
|
79
79
|
</TouchableOpacity>
|
|
80
80
|
)}
|
|
81
81
|
</View>
|
|
@@ -97,7 +97,7 @@ const FlatListItems = memo(({ data, style, title, offsetTitle }) => {
|
|
|
97
97
|
onPress={() => setViewFull(true)}
|
|
98
98
|
>
|
|
99
99
|
<Text style={styles.textSeeMore}>{t('see_more')}</Text>
|
|
100
|
-
<
|
|
100
|
+
<AntDesign name={'caretdown'} color={Colors.Gray8} size={16} />
|
|
101
101
|
</TouchableOpacity>
|
|
102
102
|
)}
|
|
103
103
|
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
TouchableWithoutFeedback,
|
|
6
6
|
View,
|
|
7
7
|
} from 'react-native';
|
|
8
|
-
import
|
|
8
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
9
9
|
import { useNavigation } from '@react-navigation/native';
|
|
10
10
|
|
|
11
11
|
import Text from '../../Text';
|
|
@@ -35,7 +35,7 @@ const ItemHanetDevice = memo(
|
|
|
35
35
|
return iconKit ? (
|
|
36
36
|
<FImage source={{ uri: iconKit }} style={styles.iconSensor} />
|
|
37
37
|
) : (
|
|
38
|
-
<
|
|
38
|
+
<AntDesign name={svgMain} size={32} color={Colors.Red6} />
|
|
39
39
|
);
|
|
40
40
|
};
|
|
41
41
|
|
|
@@ -58,7 +58,7 @@ const ItemHanetDevice = memo(
|
|
|
58
58
|
{title}
|
|
59
59
|
</Text>
|
|
60
60
|
<View style={styles.row}>
|
|
61
|
-
<
|
|
61
|
+
<AntDesign name="right" size={12} />
|
|
62
62
|
</View>
|
|
63
63
|
</TouchableOpacity>
|
|
64
64
|
</View>
|
|
@@ -4,6 +4,7 @@ import renderer, { act } from 'react-test-renderer';
|
|
|
4
4
|
import ItemHanetDevice from './ItemHanetDevice';
|
|
5
5
|
import { SCProvider } from '../../../context';
|
|
6
6
|
import { mockSCStore } from '../../../context/mockStore';
|
|
7
|
+
import { useNavigation } from '@react-navigation/native';
|
|
7
8
|
|
|
8
9
|
const wrapComponent = (props) => (
|
|
9
10
|
<SCProvider initState={mockSCStore({})}>
|
|
@@ -11,18 +12,9 @@ const wrapComponent = (props) => (
|
|
|
11
12
|
</SCProvider>
|
|
12
13
|
);
|
|
13
14
|
|
|
14
|
-
const mockNavigate = jest.fn();
|
|
15
|
-
jest.mock('@react-navigation/native', () => {
|
|
16
|
-
return {
|
|
17
|
-
...jest.requireActual('@react-navigation/native'),
|
|
18
|
-
useNavigation: () => ({
|
|
19
|
-
navigate: mockNavigate,
|
|
20
|
-
}),
|
|
21
|
-
};
|
|
22
|
-
});
|
|
23
|
-
|
|
24
15
|
describe('Test ItemHanetDevice', () => {
|
|
25
16
|
let tree, props;
|
|
17
|
+
const { navigate } = useNavigation();
|
|
26
18
|
|
|
27
19
|
beforeEach(() => {
|
|
28
20
|
props = {
|
|
@@ -43,7 +35,7 @@ describe('Test ItemHanetDevice', () => {
|
|
|
43
35
|
await act(async () => {
|
|
44
36
|
tree = touches[0].props.onPress();
|
|
45
37
|
});
|
|
46
|
-
expect(
|
|
38
|
+
expect(navigate).toBeCalled();
|
|
47
39
|
});
|
|
48
40
|
|
|
49
41
|
it('render ItemHanetDevice sensor has icon', async () => {
|
|
@@ -123,7 +123,7 @@ const HorizontalBarChart = memo(({ datas, config }) => {
|
|
|
123
123
|
y: item.y,
|
|
124
124
|
};
|
|
125
125
|
});
|
|
126
|
-
const dataX = (datas[0]
|
|
126
|
+
const dataX = (datas[0]?.data || []).map((item) => item.x);
|
|
127
127
|
const maxY = getMaxValueIndex(dataY);
|
|
128
128
|
if (!isEmpty(maxY.max)) {
|
|
129
129
|
dataY.splice(maxY._index, 1, { ...maxY.max, color: Colors.Primary });
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
2
|
import { TouchableWithoutFeedback, View } from 'react-native';
|
|
3
|
-
import
|
|
3
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
4
4
|
import Text from '../../Text';
|
|
5
5
|
|
|
6
6
|
import { Colors } from '../../../configs';
|
|
@@ -16,7 +16,7 @@ const ItemAddNew = memo(({ title, onAddNew, wrapStyle }) => {
|
|
|
16
16
|
<View style={[styles.container, wrapStyle]}>
|
|
17
17
|
<View style={styles.boxIcon}>
|
|
18
18
|
<View style={styles.buttonPlus}>
|
|
19
|
-
<
|
|
19
|
+
<AntDesign name="plus" size={22} color={Colors.Gray8} />
|
|
20
20
|
</View>
|
|
21
21
|
</View>
|
|
22
22
|
<View>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { memo, useCallback, useMemo } from 'react';
|
|
2
2
|
import { Platform, StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
3
3
|
import Routes from '../../utils/Route';
|
|
4
|
-
import
|
|
4
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
5
5
|
import { useNavigation } from '@react-navigation/native';
|
|
6
6
|
import { useTranslations } from '../../hooks/Common/useTranslations';
|
|
7
7
|
import ItemQuickAction from '../../commons/Action/ItemQuickAction';
|
|
@@ -146,7 +146,7 @@ const ItemDevice = memo(
|
|
|
146
146
|
>
|
|
147
147
|
{description || textConnected}
|
|
148
148
|
</Text>
|
|
149
|
-
<
|
|
149
|
+
<AntDesign name="right" size={12} />
|
|
150
150
|
</View>
|
|
151
151
|
</TouchableOpacity>
|
|
152
152
|
</ItemDeviceWrapper>
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import React, { memo, useCallback, useState, useMemo, useEffect } from 'react';
|
|
2
|
+
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import moment from 'moment';
|
|
4
|
+
import { useTranslations } from '../../hooks/Common/useTranslations';
|
|
5
|
+
|
|
6
|
+
import { Colors } from '../../configs';
|
|
7
|
+
import Text from '../Text';
|
|
8
|
+
import Button from '../Button';
|
|
9
|
+
import CurrencyInput from '../Form/CurrencyInput';
|
|
10
|
+
import DateTimeRangeChange from '../DateTimeRangeChange';
|
|
11
|
+
import HorizontalBarChart from './HorizontalBarChart';
|
|
12
|
+
import ChartAggregationOption from '../ChartAggregationOption';
|
|
13
|
+
import { formatMoney } from '../../utils/Utils';
|
|
14
|
+
|
|
15
|
+
const PowerConsumptionChart = memo(
|
|
16
|
+
({
|
|
17
|
+
datas,
|
|
18
|
+
chartConfig,
|
|
19
|
+
setChartConfig,
|
|
20
|
+
style,
|
|
21
|
+
groupBy,
|
|
22
|
+
setGroupBy,
|
|
23
|
+
onChangeDate,
|
|
24
|
+
}) => {
|
|
25
|
+
const t = useTranslations();
|
|
26
|
+
const [price, setPrice] = useState(null);
|
|
27
|
+
|
|
28
|
+
const onCalculateCost = useCallback(() => {
|
|
29
|
+
setChartConfig((config) => ({
|
|
30
|
+
...config,
|
|
31
|
+
price,
|
|
32
|
+
}));
|
|
33
|
+
}, [setChartConfig, price]);
|
|
34
|
+
|
|
35
|
+
const totalPrice = useMemo(() => {
|
|
36
|
+
const { price: chartPrice } = chartConfig;
|
|
37
|
+
if (chartPrice === '' || isNaN(chartPrice)) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const sum = datas[0].data.reduce((a, b) => a + b.y, 0);
|
|
41
|
+
const roundedSum = sum * chartPrice;
|
|
42
|
+
return roundedSum.toFixed();
|
|
43
|
+
}, [datas, chartConfig]);
|
|
44
|
+
|
|
45
|
+
const renderChart = useMemo(() => {
|
|
46
|
+
return <HorizontalBarChart datas={datas} config={chartConfig} />;
|
|
47
|
+
}, [chartConfig, datas]);
|
|
48
|
+
|
|
49
|
+
const [value, setValue] = useState([
|
|
50
|
+
moment().subtract(6, 'days'),
|
|
51
|
+
moment(),
|
|
52
|
+
]);
|
|
53
|
+
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
onChangeDate(value[0], value[1]);
|
|
56
|
+
}, [onChangeDate, value]);
|
|
57
|
+
|
|
58
|
+
const selectStart = (date) => {
|
|
59
|
+
setValue((state) => [date, state[1]]);
|
|
60
|
+
};
|
|
61
|
+
const selectEnd = (date) => {
|
|
62
|
+
setValue((state) => [state[0], date]);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
return (
|
|
66
|
+
<View style={style}>
|
|
67
|
+
<View style={styles.historyView}>
|
|
68
|
+
<View style={styles.titleHistory}>
|
|
69
|
+
<Text size={20} semibold color={Colors.Gray9}>
|
|
70
|
+
{t('history')}
|
|
71
|
+
</Text>
|
|
72
|
+
|
|
73
|
+
<ChartAggregationOption groupBy={groupBy} setGroupBy={setGroupBy} />
|
|
74
|
+
</View>
|
|
75
|
+
{groupBy === 'date' && (
|
|
76
|
+
<DateTimeRangeChange
|
|
77
|
+
startTime={value[0]}
|
|
78
|
+
endTime={value[1]}
|
|
79
|
+
selectStart={selectStart}
|
|
80
|
+
selectEnd={selectEnd}
|
|
81
|
+
/>
|
|
82
|
+
)}
|
|
83
|
+
</View>
|
|
84
|
+
|
|
85
|
+
<View style={styles.wrapCalculateCost}>
|
|
86
|
+
<Text type="H4">
|
|
87
|
+
{t('input_price_to_calculate_electricity_cost')}
|
|
88
|
+
</Text>
|
|
89
|
+
<View style={styles.row}>
|
|
90
|
+
<CurrencyInput
|
|
91
|
+
value={price}
|
|
92
|
+
onChange={setPrice}
|
|
93
|
+
minValue={0}
|
|
94
|
+
maxValue={100000000}
|
|
95
|
+
placeholder={'0'}
|
|
96
|
+
onSubmitEditing={onCalculateCost}
|
|
97
|
+
/>
|
|
98
|
+
<Button
|
|
99
|
+
type="primary"
|
|
100
|
+
title={t('calculate_cost')}
|
|
101
|
+
onPress={onCalculateCost}
|
|
102
|
+
style={styles.buttonCalculate}
|
|
103
|
+
textSemiBold={false}
|
|
104
|
+
/>
|
|
105
|
+
</View>
|
|
106
|
+
</View>
|
|
107
|
+
|
|
108
|
+
{renderChart}
|
|
109
|
+
{!!chartConfig.price && (
|
|
110
|
+
<Text type="H4">
|
|
111
|
+
{t('total_power_price')} <Text bold>{formatMoney(totalPrice)}</Text>
|
|
112
|
+
</Text>
|
|
113
|
+
)}
|
|
114
|
+
</View>
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
export default PowerConsumptionChart;
|
|
120
|
+
|
|
121
|
+
const styles = StyleSheet.create({
|
|
122
|
+
historyView: {
|
|
123
|
+
paddingTop: 16,
|
|
124
|
+
},
|
|
125
|
+
titleHistory: {
|
|
126
|
+
flexDirection: 'row',
|
|
127
|
+
alignItems: 'center',
|
|
128
|
+
justifyContent: 'space-between',
|
|
129
|
+
},
|
|
130
|
+
chartInfo: {
|
|
131
|
+
flexDirection: 'row',
|
|
132
|
+
justifyContent: 'center',
|
|
133
|
+
alignItems: 'center',
|
|
134
|
+
},
|
|
135
|
+
chartContainer: {
|
|
136
|
+
marginLeft: -8,
|
|
137
|
+
},
|
|
138
|
+
chart: {
|
|
139
|
+
height: 300,
|
|
140
|
+
},
|
|
141
|
+
wrapCalculateCost: {
|
|
142
|
+
marginTop: 12,
|
|
143
|
+
},
|
|
144
|
+
row: {
|
|
145
|
+
flexDirection: 'row',
|
|
146
|
+
alignItems: 'center',
|
|
147
|
+
marginTop: 8,
|
|
148
|
+
},
|
|
149
|
+
buttonCalculate: {
|
|
150
|
+
width: null,
|
|
151
|
+
flex: null,
|
|
152
|
+
paddingHorizontal: 12,
|
|
153
|
+
},
|
|
154
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { memo, useState } from 'react';
|
|
2
2
|
import { View, TouchableOpacity } from 'react-native';
|
|
3
3
|
import { useTranslations } from '../../../hooks/Common/useTranslations';
|
|
4
|
-
import
|
|
4
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
5
5
|
import { Slider } from '@miblanchard/react-native-slider';
|
|
6
6
|
|
|
7
7
|
import Text from '../../Text';
|
|
@@ -44,7 +44,7 @@ const SonosSpeaker = memo(() => {
|
|
|
44
44
|
</TouchableOpacity>
|
|
45
45
|
<View style={styles.threeButton}>
|
|
46
46
|
<TouchableOpacity style={styles.buttonLeft}>
|
|
47
|
-
<
|
|
47
|
+
<AntDesign name={'backward'} size={35} color={Colors.Black} />
|
|
48
48
|
</TouchableOpacity>
|
|
49
49
|
<TouchableOpacity
|
|
50
50
|
style={styles.buttonCenter}
|
|
@@ -53,7 +53,7 @@ const SonosSpeaker = memo(() => {
|
|
|
53
53
|
{active ? <SvgButtonPauseActive /> : <SvgButtonPauseNotActive />}
|
|
54
54
|
</TouchableOpacity>
|
|
55
55
|
<TouchableOpacity style={styles.buttonRight}>
|
|
56
|
-
<
|
|
56
|
+
<AntDesign name={'forward'} size={35} color={Colors.Black} />
|
|
57
57
|
</TouchableOpacity>
|
|
58
58
|
</View>
|
|
59
59
|
</View>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
2
|
import { View, StyleSheet } from 'react-native';
|
|
3
3
|
import Text from '../../../commons/Text';
|
|
4
|
-
import
|
|
4
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
5
5
|
|
|
6
6
|
const AlertStatusMachine = memo(({ message, style, icon }) => {
|
|
7
7
|
return (
|
|
8
8
|
<View style={[styles.container, style]}>
|
|
9
|
-
<
|
|
9
|
+
<AntDesign
|
|
10
10
|
name={icon}
|
|
11
11
|
size={20}
|
|
12
12
|
color={style.borderColor}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { memo } from 'react';
|
|
2
2
|
import { View, Dimensions, StyleSheet, TouchableOpacity } from 'react-native';
|
|
3
|
-
import
|
|
3
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
4
4
|
import { useNavigation } from '@react-navigation/native';
|
|
5
5
|
|
|
6
6
|
import { Colors } from '../../../configs';
|
|
@@ -35,11 +35,7 @@ const QualityIndicatorItem = memo(
|
|
|
35
35
|
onPress={() => navigation.navigate(descriptionScreen)}
|
|
36
36
|
style={styles.iconInfo}
|
|
37
37
|
>
|
|
38
|
-
<
|
|
39
|
-
name={'info-circle'}
|
|
40
|
-
size={18}
|
|
41
|
-
color={Colors.Gray8}
|
|
42
|
-
/>
|
|
38
|
+
<AntDesign name={'info-circle'} size={18} color={Colors.Gray8} />
|
|
43
39
|
</TouchableOpacity>
|
|
44
40
|
)}
|
|
45
41
|
</View>
|
|
@@ -3,7 +3,7 @@ import { View, TouchableOpacity } from 'react-native';
|
|
|
3
3
|
|
|
4
4
|
import { Colors } from '../../configs';
|
|
5
5
|
import Text from '../../commons/Text';
|
|
6
|
-
import
|
|
6
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
7
7
|
import styles from './styles';
|
|
8
8
|
import { ModalCustom } from '../Modal';
|
|
9
9
|
import Loading from '../../screens/Automate/Components/Loading';
|
|
@@ -18,7 +18,7 @@ const LoadingMessage = memo(({ visible, onClose, message }) => {
|
|
|
18
18
|
onPress={onClose}
|
|
19
19
|
>
|
|
20
20
|
<Loading
|
|
21
|
-
icon={<
|
|
21
|
+
icon={<AntDesign name={'sync'} color={Colors.Green6} size={16} />}
|
|
22
22
|
/>
|
|
23
23
|
<Text type={'Body'} style={styles.text}>
|
|
24
24
|
{message}
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { StyleSheet, View } from 'react-native';
|
|
3
3
|
import { ButtonPopup } from '../index';
|
|
4
4
|
import { useTranslations } from '../../hooks/Common/useTranslations';
|
|
5
|
-
import
|
|
5
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
6
6
|
import Text from '../Text';
|
|
7
7
|
import { Colors } from '../../configs';
|
|
8
8
|
|
|
@@ -29,7 +29,7 @@ const AlertSendConfirm = ({
|
|
|
29
29
|
bodyStyle={styles.buttonPopupBody}
|
|
30
30
|
>
|
|
31
31
|
<View style={styles.firstInfo}>
|
|
32
|
-
<
|
|
32
|
+
<AntDesign name="clock-circle" size={42} style={styles.clock} />
|
|
33
33
|
<Text semibold type="H4" style={styles.textAlertWillBe}>
|
|
34
34
|
{t('alert_will_be_sent_in')}
|
|
35
35
|
</Text>
|
|
@@ -2,7 +2,7 @@ import React, { useMemo } from 'react';
|
|
|
2
2
|
import { StyleSheet } from 'react-native';
|
|
3
3
|
import { ButtonPopup } from '../index';
|
|
4
4
|
import { useTranslations } from '../../hooks/Common/useTranslations';
|
|
5
|
-
import
|
|
5
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
6
6
|
import Text from '../Text';
|
|
7
7
|
import { Colors } from '../../configs';
|
|
8
8
|
|
|
@@ -59,7 +59,7 @@ const AlertSent = ({
|
|
|
59
59
|
type="H5"
|
|
60
60
|
style={styles.location}
|
|
61
61
|
>{`${unit?.name} - ${station?.name}`}</Text>
|
|
62
|
-
<
|
|
62
|
+
<AntDesign name="alert" size={42} style={styles.alert} />
|
|
63
63
|
<Text semibold style={styles.textAlertSent}>
|
|
64
64
|
{data.title}
|
|
65
65
|
</Text>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { memo, useEffect, useState } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import AntDesign from 'react-native-vector-icons/AntDesign';
|
|
3
3
|
import { TouchableOpacity, View } from 'react-native';
|
|
4
4
|
|
|
5
5
|
import styles from './ChooseFieldStyles';
|
|
@@ -47,7 +47,7 @@ const ChooseUserField = ({ unit, dataItem, index, setDataForm, dataForm }) => {
|
|
|
47
47
|
onPress={setShowFilterPopup}
|
|
48
48
|
>
|
|
49
49
|
<Text style={styles.value}>{choose.name}</Text>
|
|
50
|
-
<
|
|
50
|
+
<AntDesign name="right" size={20} color={Colors.Gray8} />
|
|
51
51
|
</TouchableOpacity>
|
|
52
52
|
<ChoosePopup
|
|
53
53
|
isVisible={showFilterPopup}
|