File tree Expand file tree Collapse file tree 4 files changed +81
-1
lines changed Expand file tree Collapse file tree 4 files changed +81
-1
lines changed Original file line number Diff line number Diff line change @@ -32,6 +32,7 @@ module.exports = {
3232 user . role = fakerator . random . arrayElement ( roles ) . id ;
3333 //user.mobile = fakerator.phone.phoneNumber();
3434 user . avatar = fakerator . internet . avatar ( ) ;
35+ user . sex = fakerator . random . arrayElement ( [ "male" , "female" ] ) ;
3536
3637 user . skills = fakerator . utimes ( fakerator . random . arrayElement , 2 , skills ) ;
3738
Original file line number Diff line number Diff line change @@ -234,6 +234,18 @@ module.exports = {
234234
235235 } ,
236236
237+ {
238+ type : "switch" ,
239+ label : "Sex (switch field)" ,
240+ model : "sex" ,
241+ multi : true ,
242+ default : "male" ,
243+ textOn : "Female" ,
244+ textOff : "Male" ,
245+ valueOn : "female" ,
246+ valueOff : "male"
247+ } ,
248+
237249 {
238250 type : "slider" ,
239251 label : "Rank (slider field)" ,
Original file line number Diff line number Diff line change 99 import abstractField from " ./abstractField" ;
1010
1111 export default {
12- mixins: [ abstractField ]
12+ mixins: [ abstractField ],
13+
14+ methods: {
15+
16+ formatValueToField (value ) {
17+ if (value != null && this .schema .valueOn )
18+ return value == this .schema .valueOn ;
19+
20+ return value;
21+ },
22+
23+ formatValueToModel (value ) {
24+ if (value != null && this .schema .valueOn ) {
25+ if (value)
26+ return this .schema .valueOn ;
27+ else
28+ return this .schema .valueOff ;
29+ }
30+
31+ return value;
32+ }
33+ }
1334 };
1435 </script >
1536
Original file line number Diff line number Diff line change @@ -102,4 +102,50 @@ describe("FieldSwitch.vue", () => {
102102
103103 } ) ;
104104
105+ describe ( "check template with custom On/Off values" , ( ) => {
106+ let schema = {
107+ type : "switch" ,
108+ model : "sex" ,
109+ textOn : "Female" ,
110+ textOff : "Male" ,
111+ valueOn : "female" ,
112+ valueOff : "male"
113+ } ;
114+ let model = { sex : "female" } ;
115+ let input ;
116+
117+ before ( ( ) => {
118+ createField ( schema , model , false ) ;
119+ input = el . querySelector ( "input" ) ;
120+ } ) ;
121+
122+ it ( "check input value" , ( done ) => {
123+ vm . $nextTick ( ( ) => {
124+ expect ( input . checked ) . to . be . true ;
125+ done ( ) ;
126+ } ) ;
127+ } ) ;
128+
129+ it ( "input value should be the model value after changed" , ( done ) => {
130+ model . sex = "male" ;
131+ vm . $nextTick ( ( ) => {
132+ expect ( input . checked ) . to . be . false ;
133+ done ( ) ;
134+ } ) ;
135+
136+ } ) ;
137+
138+ it ( "model value should be the input value if changed" , ( done ) => {
139+ input . checked = true ;
140+ trigger ( input , "change" ) ;
141+
142+ vm . $nextTick ( ( ) => {
143+ expect ( model . sex ) . to . be . equal ( "female" ) ;
144+ done ( ) ;
145+ } ) ;
146+
147+ } ) ;
148+
149+ } ) ;
150+
105151} ) ;
You can’t perform that action at this time.
0 commit comments