@eohjsc/react-native-smart-city 0.4.90 → 0.4.92
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/package.json
CHANGED
|
@@ -10,12 +10,23 @@ import styles from './styles';
|
|
|
10
10
|
const ProgressBar = memo(({ data = [], item, isWidgetOrder }) => {
|
|
11
11
|
const t = useTranslations();
|
|
12
12
|
|
|
13
|
+
const minValue = useMemo(() => {
|
|
14
|
+
return Number(item?.configuration?.min_value) || 0;
|
|
15
|
+
}, [item?.configuration?.min_value]);
|
|
13
16
|
const maxValue = useMemo(() => {
|
|
14
17
|
return Number(item?.configuration?.max_value) || 60;
|
|
15
18
|
}, [item?.configuration?.max_value]);
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
|
|
20
|
+
let { value = 0, measure, unit } = data.length ? data[0] : {};
|
|
18
21
|
const isNotValue = ['', null, undefined, NaN].includes(value);
|
|
22
|
+
|
|
23
|
+
if (isNotValue) {
|
|
24
|
+
value = minValue;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const distance = maxValue - minValue;
|
|
28
|
+
const percent = (value - minValue) / distance;
|
|
29
|
+
|
|
19
30
|
return (
|
|
20
31
|
<View style={(isWidgetOrder && styles.wrapOrderItem) || styles.container}>
|
|
21
32
|
<Text size={16} style={styles.textLabel}>
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import React, { memo, useCallback, useMemo, useState } from 'react';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import { Text as ReactText, StyleSheet, View } from 'react-native';
|
|
3
|
+
import Svg, { Circle, Path, Text } from 'react-native-svg';
|
|
4
4
|
|
|
5
|
+
import { Colors, Fonts } from '../../../../configs';
|
|
6
|
+
import AccessibilityLabel from '../../../../configs/AccessibilityLabel';
|
|
5
7
|
import {
|
|
6
8
|
drawArc,
|
|
7
9
|
polarToCartesian,
|
|
8
10
|
} from '../../../UnitSummary/AirQuality/SegmentedRoundDisplay/helper';
|
|
9
|
-
import { Colors, Fonts } from '../../../../configs';
|
|
10
|
-
import AccessibilityLabel from '../../../../configs/AccessibilityLabel';
|
|
11
11
|
|
|
12
12
|
const { PI } = Math;
|
|
13
13
|
|
|
14
14
|
const Anemometer = memo(
|
|
15
15
|
({
|
|
16
|
-
data = [],
|
|
16
|
+
data = [{ value: 0 }],
|
|
17
17
|
width = 240,
|
|
18
18
|
size = 170,
|
|
19
19
|
strokeWidth = 16,
|
|
@@ -29,11 +29,19 @@ const Anemometer = memo(
|
|
|
29
29
|
y: size / 2,
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
+
const minValue = useMemo(() => {
|
|
33
|
+
return Number(item?.configuration?.min_value) || 0;
|
|
34
|
+
}, [item?.configuration?.min_value]);
|
|
35
|
+
|
|
32
36
|
const maxValue = useMemo(() => {
|
|
33
37
|
return Number(item?.configuration?.max_value) || 60;
|
|
34
38
|
}, [item?.configuration?.max_value]);
|
|
35
39
|
|
|
36
|
-
const
|
|
40
|
+
const configValue = data.length && data[0]?.value;
|
|
41
|
+
|
|
42
|
+
const isValidValue = ![null, undefined, NaN].includes(configValue);
|
|
43
|
+
const value = isValidValue ? configValue : minValue;
|
|
44
|
+
|
|
37
45
|
const measure = data.length ? data[0].unit || data[0].measure : 'm/s';
|
|
38
46
|
|
|
39
47
|
const radius = (size - strokeWidth) / 2;
|
|
@@ -44,7 +52,10 @@ const Anemometer = memo(
|
|
|
44
52
|
const strokeLength = (strokeAngle * circumference) / 360 - 1;
|
|
45
53
|
const strokeDasharrayBg = `${strokeLength} 1`;
|
|
46
54
|
const arc = circumference * 0.75;
|
|
47
|
-
|
|
55
|
+
|
|
56
|
+
const total = minValue + maxValue;
|
|
57
|
+
const distance = maxValue - minValue;
|
|
58
|
+
const offset = arc - (((value || 0) - minValue) / distance) * arc;
|
|
48
59
|
|
|
49
60
|
const textAngles = useCallback(() => {
|
|
50
61
|
let arr = [];
|
|
@@ -67,7 +78,7 @@ const Anemometer = memo(
|
|
|
67
78
|
fontFamily={Fonts.Regular}
|
|
68
79
|
key={i.toString()}
|
|
69
80
|
>
|
|
70
|
-
{
|
|
81
|
+
{minValue}
|
|
71
82
|
</Text>
|
|
72
83
|
);
|
|
73
84
|
}
|
|
@@ -88,7 +99,7 @@ const Anemometer = memo(
|
|
|
88
99
|
textAnchor="middle"
|
|
89
100
|
fontFamily={Fonts.Regular}
|
|
90
101
|
>
|
|
91
|
-
{
|
|
102
|
+
{0.5 * total}
|
|
92
103
|
</Text>
|
|
93
104
|
);
|
|
94
105
|
}
|
|
@@ -116,13 +127,15 @@ const Anemometer = memo(
|
|
|
116
127
|
}
|
|
117
128
|
return arr;
|
|
118
129
|
}, [
|
|
130
|
+
size,
|
|
119
131
|
numberOfSection,
|
|
132
|
+
width,
|
|
120
133
|
startAngle,
|
|
121
134
|
strokeAngle,
|
|
122
|
-
size,
|
|
123
|
-
width,
|
|
124
|
-
maxValue,
|
|
125
135
|
txtColor,
|
|
136
|
+
minValue,
|
|
137
|
+
total,
|
|
138
|
+
maxValue,
|
|
126
139
|
]);
|
|
127
140
|
|
|
128
141
|
// eslint-disable-next-line no-shadow
|
|
@@ -188,9 +201,11 @@ const Anemometer = memo(
|
|
|
188
201
|
onPressOut={handleShowToolTip(false)}
|
|
189
202
|
accessibilityLabel={AccessibilityLabel.GAUGE_VALUE}
|
|
190
203
|
>
|
|
191
|
-
{
|
|
192
|
-
? value.toString().
|
|
193
|
-
|
|
204
|
+
{isValidValue
|
|
205
|
+
? value.toString().length > 10
|
|
206
|
+
? value.toString().substring(0, 10) + '...'
|
|
207
|
+
: value
|
|
208
|
+
: '--'}
|
|
194
209
|
</Text>
|
|
195
210
|
</Svg>
|
|
196
211
|
{isShowToolTip && (
|
|
@@ -218,7 +218,7 @@ const ScriptDetail = ({ route }) => {
|
|
|
218
218
|
onGoBack={goBack}
|
|
219
219
|
>
|
|
220
220
|
<View style={styles.wrapContent}>
|
|
221
|
-
{!!can_edit &&
|
|
221
|
+
{!!can_edit && (
|
|
222
222
|
<View style={styles.row}>
|
|
223
223
|
<Text type="H3" semibold>
|
|
224
224
|
{t('enable_this_script')}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import React, { useCallback, useState } from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
3
|
import ActionGroup from '../../../commons/ActionGroup';
|
|
4
|
-
import { AccessibilityLabel } from '../../../configs/Constants';
|
|
5
|
-
import { DetailHistoryChart } from './DetailHistoryChart';
|
|
6
|
-
import CurrentRainSensor from '../../../commons/Device/RainningSensor/CurrentRainSensor';
|
|
7
|
-
import PMSensorIndicator from '../../../commons/Device/PMSensor/PMSensorIndicator';
|
|
8
|
-
import Anemometer from '../../../commons/Device/WindSpeed/Anemometer';
|
|
9
|
-
import styles from '../styles';
|
|
10
|
-
import Compass from '../../../commons/Device/WindDirection/Compass';
|
|
11
4
|
import DeviceAlertStatus from '../../../commons/Device/DeviceAlertStatus';
|
|
12
|
-
import FlatListItems from '../../../commons/Device/FlatListItems';
|
|
13
|
-
import ListQualityIndicator from '../../../commons/Device/WaterQualitySensor/ListQualityIndicator';
|
|
14
|
-
import EmergencyDetail from '../../../commons/Device/Emergency/EmergencyDetail';
|
|
15
5
|
import EmergencyButton from '../../../commons/Device/Emergency/EmergencyButton';
|
|
6
|
+
import EmergencyDetail from '../../../commons/Device/Emergency/EmergencyDetail';
|
|
7
|
+
import FlatListItems from '../../../commons/Device/FlatListItems';
|
|
16
8
|
import FooterInfo from '../../../commons/Device/FooterInfo';
|
|
9
|
+
import PMSensorIndicator from '../../../commons/Device/PMSensor/PMSensorIndicator';
|
|
10
|
+
import ProgressBar from '../../../commons/Device/ProgressBar';
|
|
11
|
+
import CurrentRainSensor from '../../../commons/Device/RainningSensor/CurrentRainSensor';
|
|
12
|
+
import ListQualityIndicator from '../../../commons/Device/WaterQualitySensor/ListQualityIndicator';
|
|
13
|
+
import Compass from '../../../commons/Device/WindDirection/Compass';
|
|
14
|
+
import Anemometer from '../../../commons/Device/WindSpeed/Anemometer';
|
|
17
15
|
import MediaPlayerDetail from '../../../commons/MediaPlayerDetail';
|
|
18
|
-
import
|
|
16
|
+
import { AccessibilityLabel } from '../../../configs/Constants';
|
|
19
17
|
import { useSCContextSelector } from '../../../context';
|
|
20
18
|
import { useRemoteControl } from '../../../hooks/IoT';
|
|
21
19
|
import { useConfigGlobalState } from '../../../iot/states';
|
|
20
|
+
import SmartIr from '../../../screens/SmartIr';
|
|
22
21
|
import { useEvaluateValue } from '../hooks/useEvaluateValue';
|
|
23
|
-
import
|
|
22
|
+
import styles from '../styles';
|
|
23
|
+
import { DetailHistoryChart } from './DetailHistoryChart';
|
|
24
24
|
import VisualChart from './VisualChart';
|
|
25
25
|
|
|
26
26
|
export const SensorDisplayItem = ({
|