1
- import { CompAction } from "lowcoder-core" ;
2
- import SimpleStringControl from "../controls/simpleStringControl" ;
3
-
4
- export class SimpleVariableHeaderComp extends SimpleStringControl {
1
+ import { CompAction , SimpleComp } from "lowcoder-core" ;
2
+ import { ControlParams , ControlPropertyViewWrapper , EditorContext , EditText , PopupCard } from "@lowcoder-ee/index.sdk" ;
3
+ import { useEffect , useState } from "react" ;
4
+ import { trans } from "@lowcoder-ee/i18n" ;
5
+ import { Input } from "lowcoder-design/src/components/Input" ;
6
+ import { checkName } from "../utils/rename" ;
7
+ const SimpleVariableHeaderPropertyView = ( { params, comp} : any ) => {
8
+ const [ error , setError ] = useState < string | undefined > ( "" ) ;
9
+ const [ value , setValue ] = useState ( comp . value ) ;
10
+ useEffect ( ( ) => {
11
+ setValue ( comp . value ) ;
12
+ setError ( undefined ) ;
13
+ } , [ comp ] ) ;
14
+ return (
15
+ < ControlPropertyViewWrapper { ...params } >
16
+ < Input
17
+ value = { value }
18
+ placeholder = { params . placeholder }
19
+ onChange = { ( e ) => {
20
+ const error = checkName ( e . target . value ) ;
21
+ setError ( error || undefined ) ;
22
+ setValue ( e . target . value ) ;
23
+ } }
24
+ onBlur = { ( e ) => {
25
+ if ( ! error ) comp . dispatchChangeValueAction ( value ) ;
26
+ else {
27
+ setValue ( comp . value ) ;
28
+ setError ( undefined ) ;
29
+ }
30
+ } }
31
+ />
32
+ { /* <EditText
33
+ // disabled={readOnly}
34
+ text={comp.value}
35
+ onFinish={(value) => {
36
+ if (editorState.rename(comp.value, value)) {
37
+ // editorState.setSelectedBottomRes(value, type);
38
+ setError("");
39
+ }
40
+ }}
41
+ onChange={(value) => setError(editorState.checkRename(comp.value, value))}
42
+ style={{ maxWidth: '100%', width: '100%' }}
43
+ /> */ }
44
+ < PopupCard
45
+ editorFocus = { ! ! error }
46
+ title = { error ? trans ( "error" ) : "" }
47
+ content = { error }
48
+ hasError = { ! ! error }
49
+ />
50
+ </ ControlPropertyViewWrapper >
51
+ ) ;
52
+ }
53
+ export class SimpleVariableHeaderComp extends SimpleComp < string > {
5
54
override reduce ( action : CompAction ) : this {
6
55
// if (isBroadcastAction<RenameAction>(action, CompActionTypes.RENAME)) {
7
56
// if (this.getView() === action.action.oldName) {
@@ -10,4 +59,17 @@ export class SimpleVariableHeaderComp extends SimpleStringControl {
10
59
// }
11
60
return super . reduce ( action ) ;
12
61
}
62
+
63
+ readonly IGNORABLE_DEFAULT_VALUE = "" ;
64
+ protected getDefaultValue ( ) : string {
65
+ return "" ;
66
+ }
67
+
68
+ getPropertyView ( ) {
69
+ return this . propertyView ( { } ) ;
70
+ }
71
+
72
+ propertyView ( params : ControlParams ) {
73
+ return < SimpleVariableHeaderPropertyView params = { params } comp = { this } > </ SimpleVariableHeaderPropertyView >
74
+ }
13
75
}
0 commit comments