@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.
Files changed (304) hide show
  1. package/README.md +1 -1
  2. package/android/build.gradle +8 -10
  3. package/package.json +52 -69
  4. package/src/commons/Action/__test__/ItemQuickAction.test.js +2 -2
  5. package/src/commons/ActionGroup/NumberUpDownActionTemplate.js +3 -3
  6. package/src/commons/ActionGroup/OnOffSmartLock/AutoLock/ButtonWrapper.js +3 -3
  7. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/__test__/index.test.js +3 -3
  8. package/src/commons/ActionGroup/OnOffSmartLock/PasscodeList/index.js +3 -3
  9. package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/ButtonWrapper.js +2 -2
  10. package/src/commons/ActionGroup/OnOffSmartLock/SetupGeneratePasscode/__test__/index.test.js +0 -15
  11. package/src/commons/ActionGroup/OnOffTemplate/OnOffSimpleTemplate.js +2 -2
  12. package/src/commons/ActionGroup/OptionsDropdownActionTemplate.js +2 -2
  13. package/src/commons/ActionGroup/SmartTiviActionTemplate/SmartTiviActionTemplate.js +2 -2
  14. package/src/commons/ActionGroup/SmartTiviActionTemplate/component/CircleButton.js +5 -5
  15. package/src/commons/ActionGroup/SmartTiviActionTemplate/component/ControlPlay.js +3 -3
  16. package/src/commons/ActionGroup/TerminalBoxTemplate.js +2 -2
  17. package/src/commons/ActionGroup/TextBoxTemplate.js +2 -2
  18. package/src/commons/ActionGroup/ThreeButtonTemplate/__test__/ThreeButtonTemplate.test.js +4 -4
  19. package/src/commons/ActionGroup/TimerActionTemplate.js +3 -4
  20. package/src/commons/ActionGroup/TwoButtonTemplate/index.js +2 -2
  21. package/src/commons/ActionGroup/__test__/NumberUpDownTemplate.test.js +2 -9
  22. package/src/commons/ActionGroup/__test__/OnOffButtonTemplate.test.js +4 -11
  23. package/src/commons/ActionGroup/__test__/OnOffSmartLock.test.js +2 -9
  24. package/src/commons/ActionGroup/__test__/OnOffTemplate.test.js +4 -18
  25. package/src/commons/ActionGroup/__test__/OneBigButtonTemplate.test.js +2 -2
  26. package/src/commons/ActionGroup/__test__/OptionsDropdownTemplate.test.js +1 -8
  27. package/src/commons/ActionGroup/__test__/StatesGridActionTemplate.test.js +0 -7
  28. package/src/commons/ActionGroup/__test__/SwitchButtonTemplate.test.js +4 -15
  29. package/src/commons/ActionGroup/__test__/TerminalBoxTemplate.test.js +0 -7
  30. package/src/commons/ActionGroup/__test__/TextBoxTemplate.test.js +1 -8
  31. package/src/commons/ActionGroup/__test__/TimerActionTemplate.test.js +1 -8
  32. package/src/commons/ActionGroup/__test__/TimerActionTemplateWithutConfigValue.test.js +1 -8
  33. package/src/commons/ActionGroup/__test__/TwoButtonTemplate.test.js +2 -9
  34. package/src/commons/ActionGroup/__test__/index.test.js +14 -21
  35. package/src/commons/ActionTemplate/__test__/index.test.js +2 -0
  36. package/src/commons/ActionTemplate/__test__/utils.js +21 -0
  37. package/src/commons/ActionTemplate/index.js +1 -2
  38. package/src/commons/BackDefault/index.js +2 -2
  39. package/src/commons/ButtonPopup/index.js +2 -2
  40. package/src/commons/Dashboard/MyPinnedSharedUnit/__test__/MyPinnedSharedUnit.test.js +1 -12
  41. package/src/commons/Dashboard/MyUnit/__test__/MyUnit.test.js +27 -20
  42. package/src/commons/Dashboard/MyUnit/index.js +0 -1
  43. package/src/commons/DateTimeRangeChange/DateTimeButton.js +2 -2
  44. package/src/commons/Device/ConnectedViewHeader.js +2 -2
  45. package/src/commons/Device/DisconnectedView.js +2 -2
  46. package/src/commons/Device/Emergency/EmergencyDetail.js +3 -3
  47. package/src/commons/Device/Emergency/__test__/EmergencyDetail.test.js +2 -2
  48. package/src/commons/Device/FlatListItems.js +3 -3
  49. package/src/commons/Device/Hanet/ItemHanetDevice.js +3 -3
  50. package/src/commons/Device/Hanet/ItemHanetDevice.test.js +3 -11
  51. package/src/commons/Device/HorizontalBarChart.js +1 -1
  52. package/src/commons/Device/ItemAddNew/index.js +2 -2
  53. package/src/commons/Device/ItemDevice.js +2 -2
  54. package/src/commons/Device/PowerConsumptionChart.js +154 -0
  55. package/src/commons/Device/SonosSpeaker/index.js +3 -3
  56. package/src/commons/Device/WaterPurifierStatus/AlertStatusMachine.js +2 -2
  57. package/src/commons/Device/WaterQualitySensor/QualityIndicatorsItem.js +2 -6
  58. package/src/commons/DisplayChecking/index.js +2 -2
  59. package/src/commons/EmergencyButton/AlertSendConfirm.js +2 -2
  60. package/src/commons/EmergencyButton/AlertSent.js +2 -2
  61. package/src/commons/FieldTemplate/ChooseUserField/index.js +2 -2
  62. package/src/commons/Form/CurrencyInput.js +1 -15
  63. package/src/commons/Header/HeaderCustom.js +3 -3
  64. package/src/commons/HeaderAni/index.js +2 -2
  65. package/src/commons/IconComponent/index.js +3 -3
  66. package/src/commons/MenuActionAddnew/__test__/MenuActionAddNew.test.js +1 -1
  67. package/src/commons/MenuActionList/__test__/MenuActionList.test.js +1 -0
  68. package/src/commons/NavBar/index.js +2 -2
  69. package/src/commons/OneTapTemplate/NumberUpDownActionTemplate.js +3 -3
  70. package/src/commons/PreventAccess/__test__/PreventAccess.test.js +1 -13
  71. package/src/commons/Processing/__test__/Connecting.test.js +3 -14
  72. package/src/commons/SearchLocation/index.js +2 -2
  73. package/src/commons/SelectActionCard/index.js +2 -2
  74. package/src/commons/SelectSubUnit/__test__/SelectSubUnit.test.js +1 -18
  75. package/src/commons/SelectSubUnit/index.js +2 -2
  76. package/src/commons/SelectUnit/__test__/SelectUnit.test.js +1 -13
  77. package/src/commons/Sharing/BtnRemoveMember.js +2 -2
  78. package/src/commons/Sharing/StationDevicePermissions.js +2 -2
  79. package/src/commons/Sharing/WrapHeaderScrollable.js +1 -1
  80. package/src/commons/Sharing/__test__/DevicePermissionsCheckbox.test.js +1 -1
  81. package/src/commons/SubUnit/DeviceTemplate/ConfigAndEvaluation/ConfigAndEvaluation.js +2 -2
  82. package/src/commons/SubUnit/DeviceTemplate/ConfigValue/ConfigValue.js +2 -2
  83. package/src/commons/SubUnit/DeviceTemplate/EvaluationOverConfig/EvaluationOverConfig.js +2 -2
  84. package/src/commons/SubUnit/Item/index.js +2 -2
  85. package/src/commons/SubUnit/OneTap/ItemOneTap.js +2 -2
  86. package/src/commons/SubUnit/OneTap/__test__/SubUnitAutomate.test.js +11 -8
  87. package/src/commons/SubUnit/__test__/Favorites.test.js +1 -13
  88. package/src/commons/SubUnit/__test__/ShortDetail.test.js +5 -16
  89. package/src/commons/Tabbar/__test__/index.test.js +0 -11
  90. package/src/commons/Unit/HeaderUnit/index.js +4 -4
  91. package/src/commons/Unit/SharedUnit.js +5 -5
  92. package/src/commons/Unit/__test__/HeaderUnit.test.js +3 -15
  93. package/src/commons/Unit/__test__/SharedUnit.test.js +94 -105
  94. package/src/commons/UnitSummary/AirQuality/SegmentedRoundDisplay/index.js +11 -30
  95. package/src/commons/UnitSummary/ConfigHistoryChart/index.js +6 -61
  96. package/src/commons/Widgets/IFrame/IFrame.js +54 -0
  97. package/src/commons/Widgets/IFrame/IFrameStyles.js +35 -0
  98. package/src/commons/Widgets/IFrame/__tests__/IFrame.test.js +74 -0
  99. package/src/commons/Widgets/IFrame/index.js +0 -0
  100. package/src/commons/Widgets/IFrameWithConfig/IFrameWithConfig.js +163 -0
  101. package/src/commons/Widgets/IFrameWithConfig/IFrameWithConfigStyles.js +9 -0
  102. package/src/commons/Widgets/IFrameWithConfig/__tests__/IFrameWithConfig.test.js +284 -0
  103. package/src/commons/Widgets/IFrameWithConfig/index.js +0 -0
  104. package/src/commons/Widgets/Widget.js +0 -0
  105. package/src/commons/Widgets/index.js +0 -0
  106. package/src/configs/Constants.js +5 -0
  107. package/src/hooks/Common/__test__/useAndroidTranslucentStatusBar.test.js +4 -15
  108. package/src/hooks/Common/useDevicesStatus.js +42 -24
  109. package/src/hooks/IoT/__test__/useRemoteControl.test.js +1 -1
  110. package/src/hooks/IoT/__test__/useWatchConfigs.test.js +0 -7
  111. package/src/iot/RemoteControl/HomeAssistant.js +1 -1
  112. package/src/iot/RemoteControl/__test__/Bluetooth.test.js +234 -232
  113. package/src/navigations/AutomateStack.js +2 -2
  114. package/src/navigations/EmergencyContactsStack.js +2 -2
  115. package/src/navigations/SharedStack.js +2 -2
  116. package/src/navigations/UnitStack.js +2 -2
  117. package/src/screens/ActivityLog/hooks/index.js +7 -4
  118. package/src/screens/ActivityLog/index.js +2 -2
  119. package/src/screens/AddCommon/__test__/SelectSubUnit.test.js +4 -21
  120. package/src/screens/AddCommon/__test__/SelectUnit.test.js +7 -19
  121. package/src/screens/AddLocationMaps/__test__/index.test.js +3 -13
  122. package/src/screens/AddLocationMaps/index.js +4 -4
  123. package/src/screens/AddNewDevice/__test__/AddNewDevice.test.js +3 -20
  124. package/src/screens/AddNewGateway/PlugAndPlay/__test__/FirstWarning.test.js +11 -18
  125. package/src/screens/AddNewGateway/PlugAndPlay/__test__/ZigbeeDeviceConnectGuide.test.js +4 -21
  126. package/src/screens/AddNewGateway/RenameNewDevices.js +2 -2
  127. package/src/screens/AddNewGateway/__test__/AddNewGateway.test.js +3 -3
  128. package/src/screens/AddNewGateway/__test__/ConnectingModbusDevice.test.js +0 -17
  129. package/src/screens/AddNewGateway/__test__/ConnectingWifiDevice.test.js +4 -19
  130. package/src/screens/AddNewGateway/__test__/ConnectingWifiGuide.test.js +3 -15
  131. package/src/screens/AddNewGateway/__test__/ConnectingZigbeeDevice.test.js +31 -51
  132. package/src/screens/AddNewGateway/__test__/RenameNewDevices.test.js +9 -22
  133. package/src/screens/AddNewGateway/__test__/ScanGatewayQR.test.js +12 -19
  134. package/src/screens/AddNewGateway/__test__/ScanModbusQR.test.js +6 -16
  135. package/src/screens/AddNewGateway/__test__/ScanWifiDeviceQR.test.js +4 -15
  136. package/src/screens/AddNewGateway/__test__/SelectDeviceSubUnit.test.js +3 -3
  137. package/src/screens/AddNewGateway/__test__/SelectDeviceType.test.js +18 -10
  138. package/src/screens/AddNewGateway/__test__/SelectDeviceUnit.test.js +1 -1
  139. package/src/screens/AddNewGateway/__test__/SelectModbusGateway.test.js +12 -9
  140. package/src/screens/AddNewGateway/__test__/SelectZigbeeGateway.test.js +12 -9
  141. package/src/screens/AddNewGateway/__test__/ShareWifiPassword.test.js +7 -21
  142. package/src/screens/AddNewGateway/hooks/__Tests__/index.test.js +1 -10
  143. package/src/screens/AllGateway/DetailConfigActionInternal/__test__/index.test.js +0 -20
  144. package/src/screens/AllGateway/DetailConfigActionModbus/__test__/index.test.js +7 -24
  145. package/src/screens/AllGateway/DeviceGatewayInfo/__test__/index.test.js +0 -17
  146. package/src/screens/AllGateway/DeviceInternalDetail/__test__/index.test.js +84 -100
  147. package/src/screens/AllGateway/DeviceModbusDetail/__test__/index.test.js +64 -82
  148. package/src/screens/AllGateway/DeviceZigbeeDetail/__test__/index.test.js +36 -55
  149. package/src/screens/AllGateway/GatewayConnectionMethods/__test__/index.test.js +9 -18
  150. package/src/screens/AllGateway/GatewayDetail/__test__/index.test.js +10 -37
  151. package/src/screens/AllGateway/GatewayInfo/__test__/index.test.js +7 -32
  152. package/src/screens/AllGateway/__test__/index.test.js +1 -14
  153. package/src/screens/AllGateway/components/GatewayItem/__test__/index.test.js +0 -12
  154. package/src/screens/AllGateway/components/TabPaneCT/__test__/index.test.js +1 -13
  155. package/src/screens/AllGateway/components/TabPaneCT/index.js +1 -1
  156. package/src/screens/AllGateway/hooks/__test__/index.test.js +1 -8
  157. package/src/screens/AllGateway/test-utils.js +1 -1
  158. package/src/screens/Automate/AddNewAction/NewActionWrapper.js +2 -2
  159. package/src/screens/Automate/AddNewAction/SetupConfigCondition.js +27 -28
  160. package/src/screens/Automate/AddNewAction/__test__/ChooseAction.test.js +3 -3
  161. package/src/screens/Automate/AddNewAction/__test__/ChooseConfig.test.js +8 -5
  162. package/src/screens/Automate/AddNewAction/__test__/SelectControlDevices.test.js +2 -2
  163. package/src/screens/Automate/AddNewAction/__test__/SelectMonitorDevices.test.js +1 -18
  164. package/src/screens/Automate/AddNewAction/__test__/SetupConfigCondition.test.js +17 -15
  165. package/src/screens/Automate/AddNewAutoSmart/__test__/AddNewAutoSmart.test.js +4 -4
  166. package/src/screens/Automate/EditActionsList/__tests__/UpdateActionScript.test.js +38 -55
  167. package/src/screens/Automate/EditActionsList/__tests__/UpdateDelayScript.test.js +0 -18
  168. package/src/screens/Automate/EditActionsList/__tests__/UpdateNotifyScript.test.js +1 -19
  169. package/src/screens/Automate/EditActionsList/__tests__/index.test.js +14 -11
  170. package/src/screens/Automate/OneTap/__test__/AddNewOneTap.test.js +3 -3
  171. package/src/screens/Automate/Scenario/__test__/AddNewOneTap.test.js +2 -2
  172. package/src/screens/Automate/ScriptDetail/Components/AddActionScript.js +2 -2
  173. package/src/screens/Automate/ScriptDetail/__test__/index.test.js +33 -25
  174. package/src/screens/Automate/ScriptDetail/index.js +5 -6
  175. package/src/screens/Automate/SetSchedule/__test__/index.test.js +4 -4
  176. package/src/screens/Automate/SetSchedule/components/RowItem.js +3 -3
  177. package/src/screens/Automate/__test__/MultiUnits.test.js +5 -5
  178. package/src/screens/Automate/__test__/index.test.js +6 -6
  179. package/src/screens/Automate/index.js +2 -2
  180. package/src/screens/ChangePosition/__test__/index.test.js +1 -14
  181. package/src/screens/ConfirmUnitDeletion/__test__/ConfirmUnitDeletion.test.js +0 -12
  182. package/src/screens/Device/EditDevice/__test__/EditDevice.test.js +1 -11
  183. package/src/screens/Device/EditDevice/index.js +2 -2
  184. package/src/screens/Device/__test__/detail.test.js +11 -11
  185. package/src/screens/Device/__test__/sensorDisplayItem.test.js +3 -15
  186. package/src/screens/Device/components/SensorDisplayItem.js +23 -5
  187. package/src/screens/Device/components/__test__/VisualChart.test.js +2 -9
  188. package/src/screens/Device/detail.js +11 -10
  189. package/src/screens/Drawer/Drawer.test.js +3 -11
  190. package/src/screens/Drawer/index.js +3 -4
  191. package/src/screens/EmergencyContacts/EmergencyContactsList.js +4 -8
  192. package/src/screens/EmergencyContacts/EmergencyContactsSelectContacts.js +3 -3
  193. package/src/screens/EmergencyContacts/__test__/EmergencyContactAddNew.test.js +4 -17
  194. package/src/screens/EmergencyContacts/__test__/EmergencyContactList.test.js +3 -14
  195. package/src/screens/EmergencyContacts/__test__/EmergencyContactsSelectContacts.test.js +0 -10
  196. package/src/screens/EmergencySetting/components/DropDownItem.js +2 -2
  197. package/src/screens/EnterPassword/__test__/EnterPassword.test.js +4 -17
  198. package/src/screens/GuestInfo/__test__/index.test.js +0 -11
  199. package/src/screens/GuestInfo/components/RowGuestInfo.js +2 -2
  200. package/src/screens/GuestInfo/index.js +2 -2
  201. package/src/screens/HanetCamera/Detail.js +2 -2
  202. package/src/screens/HanetCamera/ManageAccess.js +3 -4
  203. package/src/screens/HanetCamera/MemberInfo.js +4 -4
  204. package/src/screens/HanetCamera/__test__/CaptureFaceID.test.js +2 -16
  205. package/src/screens/HanetCamera/__test__/Detail.test.js +1 -12
  206. package/src/screens/HanetCamera/__test__/ManageAccess.test.js +5 -16
  207. package/src/screens/HanetCamera/__test__/MemberInfo.test.js +5 -18
  208. package/src/screens/HanetCamera/components/RequestFaceIDPopup.js +2 -2
  209. package/src/screens/ManageAccess/__test__/ManageAccess.test.js +3 -19
  210. package/src/screens/ManageAccess/index.js +3 -3
  211. package/src/screens/MoveToAnotherSubUnit/__test__/index.test.js +5 -5
  212. package/src/screens/Notification/__test__/NotificationItem.test.js +9 -19
  213. package/src/screens/Notification/index.js +3 -3
  214. package/src/screens/PlayBackCamera/Styles/index.js +2 -4
  215. package/src/screens/PlayBackCamera/Timer.js +65 -47
  216. package/src/screens/PlayBackCamera/__test__/index.test.js +32 -33
  217. package/src/screens/PlayBackCamera/index.js +115 -112
  218. package/src/screens/ScanChipQR/components/QRScan/__test__/QRScan.test.js +0 -11
  219. package/src/screens/ScanChipQR/components/QRScan/index.js +3 -3
  220. package/src/screens/SelectUnit/__test__/index.test.js +1 -21
  221. package/src/screens/SelectUnit/index.js +2 -2
  222. package/src/screens/SharedUnit/TabHeader.js +2 -2
  223. package/src/screens/Sharing/Components/EndDevice.js +3 -3
  224. package/src/screens/Sharing/UnitMemberList.js +2 -2
  225. package/src/screens/Sharing/__test__/InfoMemberUnit.test.js +9 -4
  226. package/src/screens/Sharing/__test__/SelectShareDevice.test.js +2 -15
  227. package/src/screens/Sharing/__test__/SelectUser.test.js +2 -22
  228. package/src/screens/Sharing/__test__/UnitMemberList.test.js +2 -2
  229. package/src/screens/Sharing/__test__/UpdateShareDevice.test.js +4 -17
  230. package/src/screens/Sharing/hooks/__test__/index.test.js +2 -13
  231. package/src/screens/SmartAccount/Connecting/index.js +0 -2
  232. package/src/screens/SmartAccount/ListDevice/__test__/ListDevice.test.js +3 -18
  233. package/src/screens/SmartAccount/SuccessfullyConnected/__test__/SuccessfullyConnected.test.js +11 -21
  234. package/src/screens/SmartAccount/SuccessfullyConnected/index.js +3 -4
  235. package/src/screens/SmartAccount/__test__/Connecting.test.js +30 -36
  236. package/src/screens/SmartAccount/__test__/SmartAccount.test.js +12 -21
  237. package/src/screens/SmartIr/__test__/GroupButtonByType.test.js +7 -17
  238. package/src/screens/SmartIr/__test__/SelectBrand.test.js +1 -11
  239. package/src/screens/SmartIr/__test__/SelectDeviceType.test.js +1 -12
  240. package/src/screens/SmartIr/__test__/SmartIr.test.js +3 -11
  241. package/src/screens/SmartIr/components/GroupButtonByType/GroupButtonByType.js +3 -3
  242. package/src/screens/SmartIr/components/SelectBrand.js +2 -2
  243. package/src/screens/SubUnit/AddSubUnit.js +1 -0
  244. package/src/screens/SubUnit/EditSubUnit.js +3 -2
  245. package/src/screens/SubUnit/ManageSubUnit.js +4 -5
  246. package/src/screens/SubUnit/__test__/AddSubUnit.test.js +9 -31
  247. package/src/screens/SubUnit/__test__/Detail.test.js +4 -28
  248. package/src/screens/SubUnit/__test__/EditSubUnit.test.js +12 -30
  249. package/src/screens/SubUnit/__test__/ManageSubUnit.test.js +2 -2
  250. package/src/screens/SubUnit/hooks/__test__/useManageSubUnit.test.js +0 -12
  251. package/src/screens/SyncLGDevice/__test__/AddLGDevice.test.js +7 -20
  252. package/src/screens/Template/__test__/EditTemplate.test.js +2 -13
  253. package/src/screens/Template/__test__/GatewayList.test.js +0 -9
  254. package/src/screens/Template/__test__/detail.test.js +4 -4
  255. package/src/screens/Template/__test__/index.test.js +1 -12
  256. package/src/screens/Template/detail.js +2 -2
  257. package/src/screens/Unit/SelectAddToFavorites.js +2 -2
  258. package/src/screens/Unit/SelectAddress.js +4 -4
  259. package/src/screens/Unit/SmartAccountItem.js +2 -2
  260. package/src/screens/Unit/Summaries.js +26 -25
  261. package/src/screens/Unit/__test__/AddMenu.test.js +5 -2
  262. package/src/screens/Unit/__test__/CheckSendEmail.test.js +0 -12
  263. package/src/screens/Unit/__test__/ChooseLocation.test.js +1 -4
  264. package/src/screens/Unit/__test__/Detail.test.js +5 -5
  265. package/src/screens/Unit/__test__/ManageUnit.test.js +2 -17
  266. package/src/screens/Unit/__test__/MoreMenu.test.js +1 -11
  267. package/src/screens/Unit/__test__/SelectAddToFavorites.test.js +3 -14
  268. package/src/screens/Unit/__test__/SelectAddress.test.js +4 -17
  269. package/src/screens/Unit/__test__/SmartAccount.test.js +14 -11
  270. package/src/screens/Unit/__test__/SmartAccountItem.test.js +0 -11
  271. package/src/screens/Unit/__test__/Summaries.test.js +2 -14
  272. package/src/screens/Unit/components/AutomateScript/index.js +2 -2
  273. package/src/screens/Unit/components/ButtonWrapper/index.js +3 -4
  274. package/src/screens/Unit/components/Header/index.js +3 -3
  275. package/src/screens/Unit/components/SharedUnit/index.js +5 -5
  276. package/src/screens/Unit/components/__test__/Header.test.js +1 -14
  277. package/src/screens/Unit/components/__test__/MyUnitDevice.test.js +1 -11
  278. package/src/screens/Unit/components/__test__/SharedUnit.test.js +1 -11
  279. package/src/screens/UnitSummary/__test__/index.test.js +51 -17
  280. package/src/screens/UnitSummary/components/3PPowerConsumption/__test__/3PPowerConsumption.test.js +0 -12
  281. package/src/screens/UnitSummary/components/3PPowerConsumption/index.js +10 -23
  282. package/src/screens/UnitSummary/components/AirQuality/__test__/index.test.js +1 -7
  283. package/src/screens/UnitSummary/components/AirQuality/index.js +3 -3
  284. package/src/screens/UnitSummary/components/PowerConsumption/__test__/PowerConsumption.test.js +38 -14
  285. package/src/screens/UnitSummary/components/PowerConsumption/index.js +21 -30
  286. package/src/screens/UnitSummary/components/RunningDevices/__test__/index.test.js +1 -16
  287. package/src/screens/UnitSummary/components/Temperature/index.js +5 -1
  288. package/src/screens/UnitSummary/components/UvIndex/__test__/index.test.js +0 -8
  289. package/src/screens/UnitSummary/components/UvIndex/index.js +2 -2
  290. package/src/screens/UnitSummary/components/WaterQuality/Item/index.js +2 -2
  291. package/src/screens/UnitSummary/components/WaterQuality/__test__/index.test.js +14 -18
  292. package/src/screens/UnitSummary/index.js +4 -8
  293. package/src/utils/Converter/__test__/timer.test.js +8 -0
  294. package/src/utils/Functions/preloadImages.js +13 -14
  295. package/src/utils/Storage.js +1 -1
  296. package/src/commons/Device/HistoryChart.js +0 -225
  297. package/src/commons/Device/WindSpeed/LinearChart/__test__/LinearChart.test.js +0 -48
  298. package/src/commons/Device/WindSpeed/LinearChart/index.js +0 -155
  299. package/src/commons/UnitSummary/ConfigHistoryChart/__test__/ConfigHistoryChart.test.js +0 -289
  300. package/src/screens/Device/__test__/DetailHistoryChart.test.js +0 -69
  301. package/src/screens/Device/components/DetailHistoryChart.js +0 -118
  302. package/src/screens/UnitSummary/components/Temperature/ChartAverage/index.js +0 -62
  303. package/src/screens/UnitSummary/components/Temperature/__test__/ChartAverage.test.js +0 -17
  304. package/src/utils/dateHelper/getTickValues.js +0 -22
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import renderer, { act } from 'react-test-renderer';
2
+ import renderer, { act, create } from 'react-test-renderer';
3
3
  import MockAdapter from 'axios-mock-adapter';
4
4
 
5
5
  import { AccessibilityLabel } from '../../../../../configs/Constants';
@@ -13,17 +13,6 @@ import { Today } from '../../../../../commons';
13
13
 
14
14
  const mock = new MockAdapter(api.axiosInstance);
15
15
 
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
- useFocusEffect: (func) => func(),
25
- };
26
- });
27
16
  const wrapComponent = (summaryDetail) => (
28
17
  <SCProvider initState={mockSCStore({})}>
29
18
  <PowerConsumption summaryDetail={summaryDetail} />
@@ -104,9 +93,44 @@ describe('Test PowerConsumption', () => {
104
93
  },
105
94
  };
106
95
 
107
- mock.onGet(API.VALUE_CONSUME.DISPLAY_HISTORY()).reply(200);
96
+ const data = [
97
+ {
98
+ config: 207,
99
+ data: [
100
+ {
101
+ x: 'Thu-20.06',
102
+ y: 7.94,
103
+ },
104
+ {
105
+ x: 'Wed-19.06',
106
+ y: 9.73,
107
+ },
108
+ {
109
+ x: 'Tue-18.06',
110
+ y: 4.11,
111
+ },
112
+ {
113
+ x: 'Mon-17.06',
114
+ y: 8.52,
115
+ },
116
+ {
117
+ x: 'Sun-16.06',
118
+ y: 5.72,
119
+ },
120
+ {
121
+ x: 'Sat-15.06',
122
+ y: 9.53,
123
+ },
124
+ {
125
+ x: 'Fri-14.06',
126
+ y: 11.83,
127
+ },
128
+ ],
129
+ },
130
+ ];
131
+ mock.onGet(API.VALUE_CONSUME.DISPLAY_HISTORY()).reply(200, data);
108
132
  await act(async () => {
109
- tree = await renderer.create(wrapComponent(summaryDetail));
133
+ tree = await create(wrapComponent(summaryDetail));
110
134
  });
111
135
  const instance = tree.root;
112
136
  const Todays = instance.findByType(Today);
@@ -1,4 +1,4 @@
1
- import React, { memo, useMemo, useEffect, useState } from 'react';
1
+ import React, { memo, useMemo, useState, useCallback } from 'react';
2
2
  import { StyleSheet } from 'react-native';
3
3
  import { useTranslations } from '../../../../hooks/Common/useTranslations';
4
4
  import moment from 'moment';
@@ -8,7 +8,7 @@ import Text from '../../../../commons/Text';
8
8
  import { Section, Today } from '../../../../commons';
9
9
  import ListQualityIndicator from '../../../../commons/Device/WaterQualitySensor/ListQualityIndicator';
10
10
  import PMSensorIndicator from '../../../../commons/Device/PMSensor/PMSensorIndicator';
11
- import HistoryChart from '../../../../commons/Device/HistoryChart';
11
+ import PowerConsumptionChart from '../../../../commons/Device/PowerConsumptionChart';
12
12
  import { AccessibilityLabel } from '../../../../configs/Constants';
13
13
  import { axiosGet } from '../../../../utils/Apis/axios';
14
14
  import VisualChart from '../../../Device/components/VisualChart';
@@ -20,8 +20,7 @@ const PowerConsumption = memo(({ summaryDetail }) => {
20
20
  const { volt, current, active_power, power_factor, total_power } =
21
21
  listConfigs || {};
22
22
  useWatchConfigs([volt, current, active_power, power_factor, total_power]);
23
- const [startDate, setStartDate] = useState(moment().subtract(6, 'days'));
24
- const [endDate, setEndDate] = useState(moment());
23
+
25
24
  const [groupBy, setGroupBy] = useState('date');
26
25
  const [getData, setData] = useState([]);
27
26
  const [chartConfig, setChartConfig] = useState({
@@ -32,13 +31,15 @@ const PowerConsumption = memo(({ summaryDetail }) => {
32
31
  return !!listConfigs;
33
32
  }, [listConfigs]);
34
33
 
35
- // eslint-disable-next-line react-hooks/exhaustive-deps
36
- const createDataItem = (id, color, title, measure) => ({
37
- id,
38
- color,
39
- title,
40
- measure,
41
- });
34
+ const createDataItem = useCallback(
35
+ (id, color, title, measure) => ({
36
+ id,
37
+ color,
38
+ title,
39
+ measure,
40
+ }),
41
+ []
42
+ );
42
43
 
43
44
  const configs = useMemo(() => {
44
45
  const data = [];
@@ -77,10 +78,10 @@ const PowerConsumption = memo(({ summaryDetail }) => {
77
78
  ),
78
79
  ]
79
80
  : [];
80
- }, [total_power]);
81
+ }, [createDataItem, total_power]);
81
82
 
82
- useEffect(() => {
83
- const fetchData = async () => {
83
+ const fetchData = useCallback(
84
+ async (startDate, endDate) => {
84
85
  let params = new URLSearchParams();
85
86
  params.append('config', total_power);
86
87
  params.append('group_by', groupBy);
@@ -97,11 +98,9 @@ const PowerConsumption = memo(({ summaryDetail }) => {
97
98
  if (success) {
98
99
  setData(data);
99
100
  }
100
- };
101
- if (total_power) {
102
- fetchData();
103
- }
104
- }, [startDate, endDate, total_power, groupBy]);
101
+ },
102
+ [groupBy, total_power]
103
+ );
105
104
 
106
105
  return (
107
106
  <>
@@ -123,22 +122,14 @@ const PowerConsumption = memo(({ summaryDetail }) => {
123
122
  </Text>
124
123
 
125
124
  <PMSensorIndicator data={dataTotal} style={styles.styleTotalPower} />
126
- {!!getData?.length && (
127
- <HistoryChart
125
+ {total_power && (
126
+ <PowerConsumptionChart
127
+ onChangeDate={fetchData}
128
128
  datas={getData}
129
129
  chartConfig={chartConfig}
130
130
  setChartConfig={setChartConfig}
131
- formatType={'date'}
132
- startDate={startDate}
133
- endDate={endDate}
134
- setEndDate={setEndDate}
135
- setStartDate={setStartDate}
136
131
  groupBy={groupBy}
137
132
  setGroupBy={setGroupBy}
138
- configuration={{
139
- type: 'horizontal_bar_chart',
140
- config: 'power_consumption',
141
- }}
142
133
  />
143
134
  )}
144
135
  </Section>
@@ -12,17 +12,6 @@ const wrapComponent = (unit, summaryDetail) => (
12
12
  </SCProvider>
13
13
  );
14
14
 
15
- const mockedNavigate = jest.fn();
16
- jest.mock('@react-navigation/native', () => {
17
- return {
18
- ...jest.requireActual('@react-navigation/native'),
19
- useNavigation: () => ({
20
- navigate: mockedNavigate,
21
- }),
22
- useIsFocused: () => true,
23
- };
24
- });
25
-
26
15
  const mockConnectHomeAssistant = jest.fn();
27
16
  jest.mock('../../../../../hooks/IoT', () => {
28
17
  return {
@@ -34,10 +23,6 @@ jest.mock('../../../../../hooks/IoT', () => {
34
23
  });
35
24
 
36
25
  describe('test RunningDevices', () => {
37
- afterEach(() => {
38
- mockedNavigate.mockClear();
39
- });
40
-
41
26
  let list_svgMain = [
42
27
  '',
43
28
  'sensor',
@@ -128,7 +113,7 @@ describe('test RunningDevices', () => {
128
113
  await act(async () => {
129
114
  button[0].props.onPress();
130
115
  });
131
- expect(mockedNavigate).toBeCalledWith('DeviceDetail', {
116
+ expect(global.mockedNavigate).toBeCalledWith('DeviceDetail', {
132
117
  sensorData: summaryDetail.devices[0],
133
118
  station: 'station',
134
119
  title: undefined,
@@ -25,18 +25,21 @@ const Temperature = ({ summaryDetail }) => {
25
25
  () => [
26
26
  {
27
27
  id: temp,
28
+ key: 'temp',
28
29
  svgMain: <SvgTemperature />,
29
30
  title: `${t('text_temperature')}`,
30
31
  measure: '°C',
31
32
  },
32
33
  {
33
34
  id: humi,
35
+ key: 'humi',
34
36
  svgMain: <SvgHumidity />,
35
37
  title: `${t('text_humidity')}`,
36
38
  measure: '%',
37
39
  },
38
40
  {
39
41
  id: wind,
42
+ key: 'wind',
40
43
  svgMain: <SvgWind />,
41
44
  title: `${t('text_wind')}`,
42
45
  des: `${t('text_win_direction')}: ${windDirection || t('loading')}`,
@@ -44,6 +47,7 @@ const Temperature = ({ summaryDetail }) => {
44
47
  },
45
48
  {
46
49
  id: rain,
50
+ key: 'rain',
47
51
  svgMain: <SvgRain />,
48
52
  title: `${t('text_rain')}`,
49
53
  measure: '',
@@ -78,7 +82,7 @@ const Temperature = ({ summaryDetail }) => {
78
82
  <Today style={styles.textIndoor} />
79
83
  <View style={styles.boxTemperature}>
80
84
  {dataTemperature.map((item) => (
81
- <ItemTemperature {...item} key={item.id} />
85
+ <ItemTemperature {...item} key={item.key} />
82
86
  ))}
83
87
  </View>
84
88
  </Section>
@@ -9,14 +9,6 @@ import api from '../../../../../utils/Apis/axios';
9
9
 
10
10
  new MockAdapter(api.axiosInstance);
11
11
 
12
- jest.mock('@react-navigation/native', () => {
13
- return {
14
- ...jest.requireActual('@react-navigation/native'),
15
- useRoute: jest.fn(),
16
- useFocusEffect: (func) => func(),
17
- };
18
- });
19
-
20
12
  const wrapComponent = (data) => (
21
13
  <SCProvider initState={mockSCStore({})}>
22
14
  <UvIndex {...data} />
@@ -1,6 +1,6 @@
1
1
  import React, { memo, useMemo } from 'react';
2
2
  import { View } from 'react-native';
3
- import { IconOutline } from '@ant-design/icons-react-native';
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';
@@ -37,7 +37,7 @@ const UvIndex = memo(({ summaryDetail }) => {
37
37
  <Today />
38
38
  <SegmentedRoundChart data={data} />
39
39
  <View style={styles.boxHealth}>
40
- <IconOutline name="alert" size={20} style={styles.iconMargin} />
40
+ <AntDesign name="alert" size={20} style={styles.iconMargin} />
41
41
  <Text
42
42
  semibold
43
43
  color={Colors.Gray9}
@@ -1,6 +1,6 @@
1
1
  import React, { memo } from 'react';
2
2
  import { View, StyleSheet, TouchableOpacity } from 'react-native';
3
- import { IconOutline } from '@ant-design/icons-react-native';
3
+ import AntDesign from 'react-native-vector-icons/AntDesign';
4
4
  import { useNavigation } from '@react-navigation/native';
5
5
 
6
6
  import Text from '../../../../../commons/Text';
@@ -23,7 +23,7 @@ const Item = memo(({ id, svgMain, title, measure, des, color, waterType }) => {
23
23
  <Text>{title}</Text>
24
24
  {waterType && (
25
25
  <TouchableOpacity onPress={goToDetail} style={styles.buttonInfo}>
26
- <IconOutline
26
+ <AntDesign
27
27
  style={styles.row}
28
28
  name="info-circle"
29
29
  size={20}
@@ -8,19 +8,9 @@ import { SCProvider } from '../../../../../context';
8
8
  import { mockSCStore } from '../../../../../context/mockStore';
9
9
  import MockAdapter from 'axios-mock-adapter';
10
10
  import api from '../../../../../utils/Apis/axios';
11
+ import { useNavigation } from '@react-navigation/native';
11
12
 
12
13
  new MockAdapter(api.axiosInstance);
13
- const mockNavigate = jest.fn();
14
- jest.mock('@react-navigation/native', () => {
15
- return {
16
- ...jest.requireActual('@react-navigation/native'),
17
- useRoute: jest.fn(),
18
- useNavigation: () => ({
19
- navigate: mockNavigate,
20
- }),
21
- useFocusEffect: (func) => func(),
22
- };
23
- });
24
14
 
25
15
  const wrapComponent = (data) => (
26
16
  <SCProvider initState={mockSCStore({})}>
@@ -29,10 +19,10 @@ const wrapComponent = (data) => (
29
19
  );
30
20
 
31
21
  describe('Test WaterQualityGuide', () => {
22
+ const { navigate } = useNavigation();
32
23
  let data;
33
24
  beforeEach(() => {
34
25
  Date.now = jest.fn(() => new Date('2021-01-24T12:00:00.000Z'));
35
- mockNavigate.mockClear();
36
26
  data = {
37
27
  summaryDetail: {
38
28
  ph_id: 1,
@@ -45,6 +35,7 @@ describe('Test WaterQualityGuide', () => {
45
35
  ph: 1,
46
36
  tur: 2,
47
37
  clo: 3,
38
+ temp: 4,
48
39
  },
49
40
  },
50
41
  };
@@ -83,25 +74,30 @@ describe('Test WaterQualityGuide', () => {
83
74
  await act(async () => {
84
75
  buttons[0].props.onPress();
85
76
  });
86
- expect(mockNavigate).toHaveBeenCalledTimes(1);
87
- expect(mockNavigate).toHaveBeenCalledWith(Routes.WaterQualityGuide, {
77
+ expect(navigate).toHaveBeenCalledTimes(1);
78
+ expect(navigate).toHaveBeenCalledWith(Routes.WaterQualityGuide, {
88
79
  waterType: 'turbidity',
89
80
  });
90
81
 
91
82
  await act(async () => {
92
83
  buttons[1].props.onPress();
93
84
  });
94
- expect(mockNavigate).toHaveBeenCalledTimes(2);
95
- expect(mockNavigate).toHaveBeenCalledWith(Routes.WaterQualityGuide, {
85
+ expect(navigate).toHaveBeenCalledTimes(2);
86
+ expect(navigate).toHaveBeenCalledWith(Routes.WaterQualityGuide, {
96
87
  waterType: 'ph',
97
88
  });
98
89
 
99
90
  await act(async () => {
100
91
  buttons[2].props.onPress();
101
92
  });
102
- expect(mockNavigate).toHaveBeenCalledTimes(3);
103
- expect(mockNavigate).toHaveBeenCalledWith(Routes.WaterQualityGuide, {
93
+ expect(navigate).toHaveBeenCalledTimes(3);
94
+ expect(navigate).toHaveBeenCalledWith(Routes.WaterQualityGuide, {
104
95
  waterType: 'clo',
105
96
  });
97
+
98
+ await act(async () => {
99
+ buttons[3].props.onPress();
100
+ });
101
+ expect(navigate).toHaveBeenCalledTimes(3); // not call navigate
106
102
  });
107
103
  });
@@ -2,7 +2,7 @@ import React, { memo, useCallback, useEffect, useState } from 'react';
2
2
  import { View, StyleSheet } from 'react-native';
3
3
  import { useNavigation } from '@react-navigation/native';
4
4
  import { TouchableOpacity } from 'react-native';
5
- import { IconOutline } from '@ant-design/icons-react-native';
5
+ import AntDesign from 'react-native-vector-icons/AntDesign';
6
6
  import moment from 'moment';
7
7
 
8
8
  import { useTranslations } from '../../hooks/Common/useTranslations';
@@ -129,9 +129,9 @@ const UnitSummary = memo(({ route }) => {
129
129
  fetchSummaryDetail();
130
130
  }, [fetchSummaryDetail, summary?.screen]);
131
131
 
132
- const onRefresh = useCallback(() => {
132
+ const onRefresh = useCallback(async () => {
133
133
  setLoading(true);
134
- fetchSummaryDetail();
134
+ await fetchSummaryDetail();
135
135
  }, [fetchSummaryDetail]);
136
136
 
137
137
  const { dataNotification } = useReceiveNotifications();
@@ -168,11 +168,7 @@ const UnitSummary = memo(({ route }) => {
168
168
  accessibilityLabel={AccessibilityLabel.UNIT_SUMMARY_GUIDE_TOUCH}
169
169
  onPress={() => navigation.navigate(GuideName)}
170
170
  >
171
- <IconOutline
172
- name="info-circle"
173
- size={27}
174
- color={Colors.Black}
175
- />
171
+ <AntDesign name="info-circle" size={27} color={Colors.Black} />
176
172
  </TouchableOpacity>
177
173
  </View>
178
174
  ) : null
@@ -17,6 +17,14 @@ describe('Test timer', () => {
17
17
  expect(result).toBe('1 seconds ago');
18
18
  });
19
19
 
20
+ it('Test timeDifference when previous is string', async () => {
21
+ result = await timeDifference(
22
+ new Date('2022-08-01T03:24:01'),
23
+ '2022-08-01T03:24:00'
24
+ );
25
+ expect(result).toBe('1 seconds ago');
26
+ });
27
+
20
28
  it('Test timeDifference when elapsed < msPerMinute and symbol=true', async () => {
21
29
  result = await timeDifference(
22
30
  new Date('2022-08-01T03:24:01'),
@@ -7,7 +7,7 @@ export const preloadImagesFromUnits = async (units, storeKey) => {
7
7
  const isFirstTime = await getData(storeKey);
8
8
  if (units?.length && !isFirstTime) {
9
9
  await storeData(storeKey, 'true');
10
- Promise.all(
10
+ const results = await Promise.all(
11
11
  units.map(async (item) => {
12
12
  const unitId =
13
13
  storeKey === STORAGE_KEY.IS_FIRST_TIME_LOAD_MY_UNITS
@@ -22,18 +22,17 @@ export const preloadImagesFromUnits = async (units, storeKey) => {
22
22
  return success && data;
23
23
  }
24
24
  })
25
- // eslint-disable-next-line promise/prefer-await-to-then
26
- ).then((results) => {
27
- const icons = results
28
- .map((item) => item?.stations?.map((i) => i?.background) || [])
29
- .flat()
30
- .filter(Boolean);
31
- FastImage.preload(
32
- icons.map((uri) => ({
33
- uri,
34
- priority: FastImage.priority.high,
35
- }))
36
- );
37
- });
25
+ );
26
+
27
+ const icons = results
28
+ .map((item) => item?.stations?.map((i) => i?.background) || [])
29
+ .flat()
30
+ .filter(Boolean);
31
+ FastImage.preload(
32
+ icons.map((uri) => ({
33
+ uri,
34
+ priority: FastImage.priority.high,
35
+ }))
36
+ );
38
37
  }
39
38
  };
@@ -1,4 +1,4 @@
1
- import AsyncStorage from '@react-native-community/async-storage';
1
+ import AsyncStorage from '@react-native-async-storage/async-storage';
2
2
 
3
3
  export const STORAGE_KEY = {
4
4
  FIREBASE_APP_CONFIG: 'app_config',