74
74
}</pre>
75
75
* </dd>
76
76
*
77
- * <dt>formConfirmPopupType = string, default = dialog</dt>
77
+ * <dt>formPopupType = string, default = dialog</dt>
78
78
* <dd>定义提示框的类型: dialog, popup</dd>
79
79
*
80
+ * <dt>formConfirmPopupType = string, default = dialog</dt>
81
+ * <dd>定义确认提示框的类型: dialog, popup</dd>
82
+ *
80
83
* <dt>formResetUrl = url</dt>
81
84
* <dd>表单重置时, 返回的URL</dd>
82
85
*
@@ -560,7 +563,7 @@ window.parent
560
563
if ( _fatalError ) {
561
564
var _msg = JC . f . printf ( '服务端错误, 无法解析返回数据: <p class="auExtErr" style="color:red">{0}</p>'
562
565
, _data ) ;
563
- JC . Dialog && JC . Dialog . alert ? JC . Dialog . alert ( _msg , 1 ) : alert ( _msg ) ;
566
+ _p . trigger ( 'SHOW_POPUP' , [ _p . _model . formPopupType ( ) , _msg , null , 1 ] ) ;
564
567
return ;
565
568
}
566
569
@@ -582,10 +585,12 @@ window.parent
582
585
, _p
583
586
) ;
584
587
588
+ /*
585
589
_p._model.formResetAfterSubmit()
586
590
&& !_p._model.userFormAjaxDone()
587
591
&& _resetBtn.length
588
592
&& _p.selector().trigger('reset');
593
+ */
589
594
590
595
} ) ;
591
596
/**
@@ -606,13 +611,17 @@ window.parent
606
611
_btn && ( _btn = $ ( _btn ) ) ;
607
612
if ( ! ( _btn && _btn . length ) ) return ;
608
613
609
- var _popup ;
614
+ var _popup , _type = _p . _model . formConfirmPopupType ( _btn ) || 'dialog' ;
615
+ _type += '.confirm' ;
616
+ _popup = _p . triggerHandler ( 'SHOW_POPUP' , [ _type , _p . _model . formSubmitConfirm ( _btn ) , _btn , 2 ] ) ;
610
617
618
+ /*
611
619
if( _p._model.formConfirmPopupType( _btn ) == 'dialog' ){
612
620
_popup = JC.Dialog.confirm( _p._model.formSubmitConfirm( _btn ), 2 );
613
621
}else{
614
622
_popup = JC.confirm( _p._model.formSubmitConfirm( _btn ), _btn, 2 );
615
623
}
624
+ */
616
625
617
626
_popup . on ( 'confirm' , function ( ) {
618
627
_p . selector ( ) . data ( FormLogic . Model . SUBMIT_CONFIRM_BUTTON , null ) ;
@@ -647,13 +656,17 @@ window.parent
647
656
_btn && ( _btn = $ ( _btn ) ) ;
648
657
if ( ! ( _btn && _btn . length ) ) return ;
649
658
650
- var _popup ;
659
+ var _popup , _type = _p . _model . formConfirmPopupType ( _btn ) || 'dialog' ;
660
+ _type += '.confirm' ;
661
+ _popup = _p . triggerHandler ( 'SHOW_POPUP' , [ _type , _p . _model . formResetConfirm ( _btn ) , _btn , 2 ] ) ;
651
662
663
+ /*
652
664
if( _p._model.formConfirmPopupType( _btn ) == 'dialog' ){
653
665
_popup = JC.Dialog.confirm( _p._model.formResetConfirm( _btn ), 2 );
654
666
}else{
655
667
_popup = JC.confirm( _p._model.formResetConfirm( _btn ), _btn, 2 );
656
668
}
669
+ */
657
670
658
671
_popup . on ( 'confirm' , function ( ) {
659
672
_p . selector ( ) . data ( FormLogic . Model . RESET_CONFIRM_BUTTON , null ) ;
@@ -694,6 +707,41 @@ window.parent
694
707
_p . _model . formResetCallback ( ) && _p . _model . formResetCallback ( ) . call ( _p . selector ( ) , _srcEvt , _p ) ;
695
708
} , _p , 'asdfawerasdfase_reset' , 100 ) ;
696
709
} ) ;
710
+
711
+
712
+ _p . on ( 'SHOW_POPUP' , function ( _evt , _type , _str , _src , _status , _cb ) {
713
+ _type = ( _type || '' ) . toLowerCase ( ) ;
714
+ var _popup ;
715
+
716
+ switch ( _type ) {
717
+ case 'dialog.confirm' : {
718
+ _popup = JC . Dialog . confirm ( _str , _status , _cb ) ;
719
+ break ;
720
+ }
721
+ case 'popup.confirm' : {
722
+ _popup = JC . confirm ( _str , _src , _status , _cb ) ;
723
+ break ;
724
+ }
725
+ case 'popup.msgbox' : {
726
+ _popup = JC . msgbox ( _str , _src , _status , _cb ) ;
727
+ break ;
728
+ }
729
+ case 'dialog.msgbox' : {
730
+ _popup = JC . Dialog . msgbox ( _str , _status , _cb ) ;
731
+ break ;
732
+ }
733
+ case 'popup' : {
734
+ _popup = JC . alert ( _str , _src , _status , _cb ) ;
735
+ break ;
736
+ }
737
+ default : {
738
+ _popup = JC . Dialog . alert ( _str , _status , _cb ) ;
739
+ break ;
740
+ }
741
+ }
742
+
743
+ return _popup ;
744
+ } ) ;
697
745
}
698
746
, _inited :
699
747
function ( ) {
@@ -999,6 +1047,7 @@ window.parent
999
1047
var _form = $ ( this )
1000
1048
, _panel
1001
1049
, _url = ''
1050
+ , _type = _p . _model . formPopupType ( ) + '.msgbox' ;
1002
1051
;
1003
1052
1004
1053
_json . data
@@ -1009,19 +1058,21 @@ window.parent
1009
1058
&& ( _url = _json . url )
1010
1059
;
1011
1060
1061
+
1012
1062
if ( _json . errorno ) {
1013
- _panel = JC . Dialog . alert ( _json . errmsg || '操作失败, 请重新尝试!' , 1 ) ;
1063
+ _p . triggerHandler ( 'SHOW_POPUP' , [ _type , _json . errmsg || '操作失败, 请重新尝试!' , _btn , 1 ] ) ;
1014
1064
} else {
1015
- _panel = JC . Dialog . msgbox ( _json . errmsg || '操作成功' , 0 , function ( ) {
1065
+ _panel = _p . triggerHandler ( 'SHOW_POPUP' , [ _type , _json . errmsg || '操作成功' , null , 0 , function ( ) {
1016
1066
_url = _url || _p . _model . formAjaxDoneAction ( ) ;
1017
1067
if ( _url ) {
1018
1068
try { _url = decodeURIComponent ( _url ) ; } catch ( ex ) { }
1019
1069
/ ^ U R L / . test ( _url ) && ( _url = JC . f . urlDetect ( _url ) ) ;
1020
1070
JC . f . reloadPage ( _url ) ;
1021
1071
}
1022
- } , _p . _model . formPopupCloseMs ( ) ) ;
1072
+ } , _p . _model . formPopupCloseMs ( ) ] ) ;
1023
1073
}
1024
1074
}
1075
+
1025
1076
, formPopupCloseMs :
1026
1077
function ( _btn ) {
1027
1078
var _p = this
@@ -1068,13 +1119,28 @@ window.parent
1068
1119
1069
1120
, formConfirmPopupType :
1070
1121
function ( _btn ) {
1071
- var _r = this . stringProp ( 'formConfirmPopupType' ) || 'dialog' ;
1122
+ var _r = this . stringProp ( 'formConfirmPopupType' ) ;
1072
1123
_btn && ( _btn = $ ( _btn ) ) . length
1073
1124
&& _btn . is ( '[formConfirmPopupType]' )
1074
1125
&& ( _r = _btn . attr ( 'formConfirmPopupType' ) )
1075
1126
;
1127
+
1128
+ _r = _r || this . formPopupType ( _btn ) ;
1129
+
1130
+ return _r . toLowerCase ( ) ;
1131
+ }
1132
+
1133
+ , formPopupType :
1134
+ function ( _btn ) {
1135
+ var _r = this . stringProp ( 'formPopupType' ) || 'dialog' ;
1136
+
1137
+ _btn && ( _btn = $ ( _btn ) ) . length
1138
+ && _btn . is ( '[formPopupType]' )
1139
+ && ( _r = _btn . attr ( 'formPopupType' ) )
1140
+ ;
1076
1141
return _r . toLowerCase ( ) ;
1077
1142
}
1143
+
1078
1144
, formResetUrl :
1079
1145
function ( ) {
1080
1146
var _p = this
@@ -1115,7 +1181,6 @@ window.parent
1115
1181
_msg = $ ( _item ) . attr ( 'datavalidFormLogicMsg' ) || _msg ;
1116
1182
return _msg ;
1117
1183
}
1118
-
1119
1184
} ) ;
1120
1185
1121
1186
JC . f . extendObject ( FormLogic . View . prototype , {
@@ -1172,8 +1237,8 @@ window.parent
1172
1237
if ( JC . f . parseBool ( _status ) ) return ;
1173
1238
1174
1239
if ( _p . _model . showDataValidError ( _item ) ) {
1175
- //JC.msgbox( _p._model.datavalidFormLogicMsg( _item ), _item, 2 ) ;
1176
- JC . Dialog . msgbox ( _p . _model . datavalidFormLogicMsg ( _item ) , 2 ) ;
1240
+ var _popupType = _p . _model . formPopupType ( ) + '.msgbox' ;
1241
+ _p . triggerHandler ( 'SHOW_POPUP' , [ _popupType , _p . _model . datavalidFormLogicMsg ( _item ) , _item , 2 ] ) ;
1177
1242
1178
1243
JC . f . safeTimeout ( function ( ) {
1179
1244
_item . trigger ( 'blur' ) ;
@@ -1182,7 +1247,6 @@ window.parent
1182
1247
return false ;
1183
1248
} ) ;
1184
1249
}
1185
-
1186
1250
} ) ;
1187
1251
1188
1252
$ ( document ) . delegate ( 'input[formSubmitConfirm], button[formSubmitConfirm]' , 'click' , function ( _evt ) {
0 commit comments