@ledvance/group-ui-biz-bundle 1.0.115 → 1.0.117

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
@@ -4,7 +4,7 @@
4
4
  "name": "@ledvance/group-ui-biz-bundle",
5
5
  "pid": [],
6
6
  "uiid": "",
7
- "version": "1.0.115",
7
+ "version": "1.0.117",
8
8
  "scripts": {},
9
9
  "dependencies": {
10
10
  "@ledvance/base": "^1.x",
@@ -146,9 +146,10 @@ const BiorhythmEditPage = (props: { theme?: ThemeType }) => {
146
146
  <View style={{ height: cx(20) }} />
147
147
  <TextField
148
148
  value={state.planData.name}
149
- showError={state.planData.name?.length > 32}
149
+ showError={state.planData.name?.length > 32 || nameRepeatFlag}
150
150
  maxLength={33}
151
- errorText={I18n.getLang('add_new_dynamic_mood_alert_text')}
151
+ tipColor={nameRepeatFlag ? props.theme?.global.error : undefined}
152
+ errorText={I18n.getLang(nameRepeatFlag ? 'string_light_pp_field_sm_add_error1' : 'add_new_dynamic_mood_alert_text')}
152
153
  placeholder={I18n.getLang('add_new_trigger_time_inputfield_value_text')}
153
154
  onChangeText={text => {
154
155
  state.planData.name = text
@@ -136,9 +136,9 @@ const EnergyConsumptionPage = (props: { theme?: ThemeType }) => {
136
136
  const solarEnergy: number = sum(solarEnergyGenerationRes.map(item => item?.totalElectricity || 0))
137
137
  const wifiEnergy: number = sum(wifiEnergyGenerationRes.map(item => item?.totalElectricity || 0))
138
138
  // @ts-ignore
139
- const solarGroup: DpResultByMonthResData[] = solarRes.filter(v => !v.error);
139
+ const solarGroup: DpResultByMonthResData[] = solarRes.filter(v => v && !v.error);
140
140
  // @ts-ignore
141
- const wifiGroup: DpResultByMonthResData[] = wifiRes.filter(v => !v.error);
141
+ const wifiGroup: DpResultByMonthResData[] = wifiRes.filter(v => v && !v.error);
142
142
  // 初始化合并后的对象
143
143
  const solarData = getMergeData(solarGroup)
144
144
  const wifiData = getMergeData(wifiGroup)
@@ -43,6 +43,10 @@ const BarChartWithTouch = (props: BarChartProps) => {
43
43
  }
44
44
  return max
45
45
  }, [dataKwhY]);
46
+ const gridRight = useMemo(() => {
47
+ const max = Math.max(...dataPriceY.map(it => Number(it)))
48
+ return max > 999 ? '12%' : '10%'
49
+ }, [dataPriceY])
46
50
  const option = {
47
51
  tooltip: {
48
52
  show: true,
@@ -56,6 +60,9 @@ const BarChartWithTouch = (props: BarChartProps) => {
56
60
  color: theme?.global.fontColor,
57
61
  }
58
62
  },
63
+ grid: {
64
+ right: gridRight,
65
+ },
59
66
  xAxis: {
60
67
  data: dataX,
61
68
  axisTick: {
@@ -160,13 +167,13 @@ const BarChartWithTouch = (props: BarChartProps) => {
160
167
  customMapData: {}
161
168
  };
162
169
  return (
163
- <View style={{flex: 1}}>
164
- <ECharts
165
- option={option}
166
- ref={echarts}
167
- height={height}
168
- />
169
- </View>
170
+ <View style={{flex: 1}}>
171
+ <ECharts
172
+ option={option}
173
+ ref={echarts}
174
+ height={height}
175
+ />
176
+ </View>
170
177
  );
171
178
  };
172
179
 
@@ -18,7 +18,7 @@ export interface FixedTimingItem {
18
18
  endTime: number
19
19
  openTime: number
20
20
  closeTime: number
21
- settingTime: number
21
+ settingTime: number
22
22
  color: {
23
23
  hue: number
24
24
  saturation: number
@@ -26,6 +26,7 @@ export interface FixedTimingItem {
26
26
  brightness: number
27
27
  temperature: number
28
28
  }
29
+ isColorMode?: boolean
29
30
  index?: number
30
31
  name?: string
31
32
  }
@@ -61,23 +61,25 @@ const FixedTimingForLightDetailPage = (props: { theme?: ThemeType }) => {
61
61
  const initItem = newFixedTimingItem();
62
62
  const state = useReactive({
63
63
  item: params.mode === 'add' ? cloneDeep(initItem) : cloneDeep(params.item),
64
+ compareItem: params.mode === 'add' ? cloneDeep(initItem) : cloneDeep(params.item),
64
65
  onHour: '00',
65
66
  onMinute: '01',
66
67
  offHour: '00',
67
68
  offMinute: '01',
68
69
  loading: false,
69
- isColorMode: false
70
70
  })
71
71
 
72
72
  useEffect(() => {
73
73
  const { brightness, temperature, hue, saturation, value } = state.item.color
74
- state.isColorMode = brightness === 0 && temperature === 0 && (hue !== 0 || saturation !== 0 || value !== 0)
75
- if (state.isColorMode) {
74
+ const isColorMode = brightness === 0 && temperature === 0 && (hue !== 0 || saturation !== 0 || value !== 0)
75
+ if (isColorMode) {
76
76
  state.item.color.brightness = 100
77
77
  } else {
78
78
  state.item.color.saturation = 100
79
79
  state.item.color.value = 100
80
80
  }
81
+ state.item.isColorMode = isColorMode
82
+ state.compareItem = cloneDeep(state.item)
81
83
  }, [])
82
84
 
83
85
  useEffect(() => {
@@ -113,7 +115,7 @@ const FixedTimingForLightDetailPage = (props: { theme?: ThemeType }) => {
113
115
  }, [state.item.startTime, state.item.endTime, state.onHour, state.onMinute, state.offHour, state.offMinute])
114
116
 
115
117
  const showConfirm = useMemo(() => {
116
- return !isEqual(state.item, params.mode === 'edit' ? params.item : initItem)
118
+ return !isEqual(state.item, state.compareItem)
117
119
  }, [JSON.stringify(state.item), JSON.stringify(params.item)])
118
120
 
119
121
  const canSave = useMemo(() => {
@@ -129,11 +131,11 @@ const FixedTimingForLightDetailPage = (props: { theme?: ThemeType }) => {
129
131
  ...state.item,
130
132
  power: true,
131
133
  color: {
132
- hue: state.isColorMode ? state.item.color.hue : 0,
133
- saturation: state.isColorMode ? state.item.color.saturation : 0,
134
- value: state.isColorMode ? state.item.color.value : 0,
135
- temperature: state.isColorMode ? 0 : state.item.color.temperature,
136
- brightness: state.isColorMode ? 0 : state.item.color.brightness
134
+ hue: state.item.isColorMode ? state.item.color.hue : 0,
135
+ saturation: state.item.isColorMode ? state.item.color.saturation : 0,
136
+ value: state.item.isColorMode ? state.item.color.value : 0,
137
+ temperature: state.item.isColorMode ? 0 : state.item.color.temperature,
138
+ brightness: state.item.isColorMode ? 0 : state.item.color.brightness
137
139
  },
138
140
  settingTime: new Date().getTime()
139
141
  };
@@ -317,9 +319,9 @@ const FixedTimingForLightDetailPage = (props: { theme?: ThemeType }) => {
317
319
  isSupportColor={params.isSupportColor}
318
320
  isSupportBrightness={params.isSupportBrightness}
319
321
  isSupportTemperature={params.isSupportTemperature}
320
- isColorMode={state.isColorMode}
322
+ isColorMode={state.item.isColorMode || false}
321
323
  reserveSV={true}
322
- setIsColorMode={(v) => state.isColorMode = v}
324
+ setIsColorMode={(v) => state.item.isColorMode = v}
323
325
  h={state.item.color.hue}
324
326
  s={state.item.color.saturation}
325
327
  v={state.item.color.value}
@@ -215,7 +215,7 @@ const FlagEditPage = (props: { theme?: ThemeType }) => {
215
215
  maxLength={33}
216
216
  showError={state.mood.name.length > 32 || nameRepeat}
217
217
  tipColor={nameRepeat ? props.theme?.global.error : undefined}
218
- tipIcon={nameRepeat ? res.ic_text_field_input_error : undefined}
218
+ tipIcon={nameRepeat ? { uri: res.ic_text_field_input_error } : undefined}
219
219
  errorText={I18n.getLang(nameRepeat ? 'string_light_pp_field_sm_add_error1' : 'add_new_dynamic_mood_alert_text')} />
220
220
  {(params.moduleParams.isMixLight || params.moduleParams.isCeilingLight) && <><Card style={styles.adjustCard}>
221
221
  <Spacer height={cx(16)} />
@@ -391,11 +391,10 @@ const FlagEditPage = (props: { theme?: ThemeType }) => {
391
391
  state.mood.colors = state.mood.colors.map(() => (
392
392
  { h, s, v }
393
393
  ))
394
- } else {
395
- state.currentNode.h = h
396
- state.currentNode.s = s
397
- state.currentNode.v = v
398
394
  }
395
+ state.currentNode.h = h
396
+ state.currentNode.s = s
397
+ state.currentNode.v = v
399
398
  }}
400
399
  onHSVChangeComplete={(h, s, v) => {
401
400
  if (state.colorPaintBucketSelected) {
@@ -403,9 +402,6 @@ const FlagEditPage = (props: { theme?: ThemeType }) => {
403
402
  { h, s, v }
404
403
  ))
405
404
  } else {
406
- state.currentNode.h = h
407
- state.currentNode.s = s
408
- state.currentNode.v = v
409
405
  state.mood.colors = state.mood.colors.map((item, idx) => {
410
406
  if (idx === state.colorPaintBucketIdx) {
411
407
  return { h, s, v }
@@ -413,6 +409,9 @@ const FlagEditPage = (props: { theme?: ThemeType }) => {
413
409
  return item
414
410
  })
415
411
  }
412
+ state.currentNode.h = h
413
+ state.currentNode.s = s
414
+ state.currentNode.v = v
416
415
  }}
417
416
  />
418
417
  <Spacer height={cx(16)} />
@@ -16,7 +16,7 @@ export interface RandomTimingItem {
16
16
  weeks: number[]
17
17
  startTime: number
18
18
  endTime: number
19
- settingTime: number
19
+ settingTime: number
20
20
  color: {
21
21
  hue: number
22
22
  saturation: number
@@ -24,6 +24,7 @@ export interface RandomTimingItem {
24
24
  brightness: number
25
25
  temperature: number
26
26
  }
27
+ isColorMode?: boolean
27
28
  index?: number
28
29
  name?: string
29
30
  }
@@ -48,7 +48,8 @@ const newRandomTimingItem = (): RandomTimingItem => {
48
48
  value: 100,
49
49
  brightness: 100,
50
50
  temperature: 0,
51
- }
51
+ },
52
+ isColorMode: false
52
53
  }
53
54
  }
54
55
 
@@ -58,23 +59,25 @@ const RandomTimingForLightDetailPage = (props: { theme?: ThemeType }) => {
58
59
  const initItem = newRandomTimingItem();
59
60
  const state = useReactive({
60
61
  item: params.mode === 'add' ? cloneDeep(initItem) : cloneDeep(params.item),
62
+ compareItem: params.mode === 'add' ? cloneDeep(initItem) : cloneDeep(params.item),
61
63
  loading: false,
62
- isColorMode: false
63
64
  })
64
65
 
65
66
  useEffect(() => {
66
67
  const { brightness, temperature, hue, saturation, value } = state.item.color
67
- state.isColorMode = brightness === 0 && temperature === 0 && (hue !== 0 || saturation !== 0 || value !== 0)
68
- if (state.isColorMode) {
68
+ const isColorMode = brightness === 0 && temperature === 0 && (hue !== 0 || saturation !== 0 || value !== 0)
69
+ if (isColorMode) {
69
70
  state.item.color.brightness = 100
70
71
  } else {
71
72
  state.item.color.saturation = 100
72
73
  state.item.color.value = 100
73
74
  }
75
+ state.item.isColorMode = isColorMode
76
+ state.compareItem = cloneDeep(state.item)
74
77
  }, [])
75
78
 
76
79
  const showConfirm = useMemo(() => {
77
- return !isEqual(state.item, params.mode === 'edit' ? params.item : initItem)
80
+ return !isEqual(state.item, state.compareItem)
78
81
  }, [JSON.stringify(state.item), JSON.stringify(params.item)])
79
82
 
80
83
  const canSave = useMemo(() => {
@@ -110,11 +113,11 @@ const RandomTimingForLightDetailPage = (props: { theme?: ThemeType }) => {
110
113
  ...state.item,
111
114
  power: true,
112
115
  color: {
113
- hue: state.isColorMode ? state.item.color.hue : 0,
114
- saturation: state.isColorMode ? state.item.color.saturation : 0,
115
- value: state.isColorMode ? state.item.color.value : 0,
116
- temperature: state.isColorMode ? 0 : state.item.color.temperature,
117
- brightness: state.isColorMode ? 0 : state.item.color.brightness
116
+ hue: state.item.isColorMode ? state.item.color.hue : 0,
117
+ saturation: state.item.isColorMode ? state.item.color.saturation : 0,
118
+ value: state.item.isColorMode ? state.item.color.value : 0,
119
+ temperature: state.item.isColorMode ? 0 : state.item.color.temperature,
120
+ brightness: state.item.isColorMode ? 0 : state.item.color.brightness
118
121
  },
119
122
  settingTime: new Date().getTime()
120
123
  }, true);
@@ -272,9 +275,9 @@ const RandomTimingForLightDetailPage = (props: { theme?: ThemeType }) => {
272
275
  isSupportColor={params.isSupportColor}
273
276
  isSupportBrightness={params.isSupportBrightness}
274
277
  isSupportTemperature={params.isSupportTemperature}
275
- isColorMode={state.isColorMode}
278
+ isColorMode={state.item.isColorMode || false}
276
279
  reserveSV={true}
277
- setIsColorMode={(v) => state.isColorMode = v}
280
+ setIsColorMode={(v) => state.item.isColorMode = v}
278
281
  h={state.item.color.hue}
279
282
  s={state.item.color.saturation}
280
283
  v={state.item.color.value}