44use Ajax \service \AjaxTransition ;
55use Ajax \service \Javascript ;
66use Ajax \service \JString ;
7- use Ubiquity \utils \base \UString ;
87
98/**
109 *
@@ -178,7 +177,7 @@ public static function _correctParams($params, $ajaxParameters = []) {
178177 return "" ;
179178 }
180179 if (\preg_match ("@^\{.*?\}$@ " , $ params )) {
181- if (! isset ($ ajaxParameters ['contentType ' ]) || ! UString ::contains ('json ' , $ ajaxParameters ['contentType ' ])) {
180+ if (! isset ($ ajaxParameters ['contentType ' ]) || ! JString ::contains ('json ' , $ ajaxParameters ['contentType ' ])) {
182181 return '$.param( ' . $ params . ') ' ;
183182 } else {
184183 return 'JSON.stringify( ' . $ params . ') ' ;
@@ -582,6 +581,8 @@ public function getHref($element, $responseElement = "", $parameters = array())
582581 $ parameters ["attr " ] = "href " ;
583582 if (JString::isNull ($ responseElement )) {
584583 $ responseElement = '%$(self).attr("data-target")% ' ;
584+ } else {
585+ $ responseElement = '%$(self).attr("data-target") || " ' . $ responseElement . '"% ' ;
585586 }
586587 if (! isset ($ parameters ["historize " ])) {
587588 $ parameters ["historize " ] = true ;
@@ -597,13 +598,15 @@ public function getHref($element, $responseElement = "", $parameters = array())
597598 * @param string $responseElement
598599 * the target of the ajax request (data-target attribute of the element is used if responseElement is omited)
599600 * @param array $parameters
600- * default : array("preventDefault"=>true,"stopPropagation"=>true,"params"=>"{}","jsCallback"=>NULL,"attr"=>"href","hasLoader"=>true,"ajaxLoader"=>null,"immediatly"=>true,"jqueryDone"=>"html","jsCondition"=>NULL,"headers"=>null,"historize"=>false )
601+ * default : array("preventDefault"=>true,"stopPropagation"=>true,"params"=>"{}","jsCallback"=>NULL,"attr"=>"href","hasLoader"=>true,"ajaxLoader"=>null,"immediatly"=>true,"jqueryDone"=>"html","jsCondition"=>NULL,"headers"=>null,"historize"=>true )
601602 * @return $this
602603 */
603604 public function postHref ($ element , $ responseElement = "" , $ parameters = array ()) {
604605 $ parameters ["attr " ] = "href " ;
605606 if (JString::isNull ($ responseElement )) {
606607 $ responseElement = '%$(this).attr("data-target")% ' ;
608+ } else {
609+ $ responseElement = '%$(self).attr("data-target") || " ' . $ responseElement . '"% ' ;
607610 }
608611 if (! isset ($ parameters ["historize " ])) {
609612 $ parameters ["historize " ] = true ;
@@ -698,26 +701,14 @@ private function _postForm($url, $form, $responseElement, $parameters = []) {
698701 }
699702 $ params = "{} " ;
700703 $ validation = false ;
701- $ hasFiles = false ;
702704 \extract ($ parameters );
703705 $ async = ($ async ) ? "true " : "false " ;
704706 $ jsCallback = isset ($ jsCallback ) ? $ jsCallback : "" ;
705707 $ retour = $ this ->_getAjaxUrl ($ url , $ attr );
706708 $ retour .= "\n$('# " . $ form . "').trigger('ajaxSubmit'); " ;
707- if (! $ hasFiles ) {
708- $ retour .= "\nvar params=$('# " . $ form . "').serialize(); \n" ;
709- if (isset ($ params )) {
710- $ retour .= "params+='&'+ " . self ::_correctParams ($ params ) . "; \n" ;
711- }
712- $ ajaxParameters = [];
713- } else {
714- $ retour .= "\nvar params=new FormData($('# " . $ form . "')[0]); \n" ;
715- $ ajaxParameters = [
716- 'enctype ' => "'multipart/form-data' " ,
717- 'processData ' => "false " ,
718- 'contentType ' => "false " ,
719- 'timeout ' => 600000
720- ];
709+ $ retour .= "\nvar params=$('# " . $ form . "').serialize(); \n" ;
710+ if (isset ($ params )) {
711+ $ retour .= "params+='&'+ " . self ::_correctParams ($ params ) . "; \n" ;
721712 }
722713 $ responseElement = $ this ->_getResponseElement ($ responseElement );
723714 $ retour .= "var self=this; \n" ;
@@ -731,7 +722,7 @@ private function _postForm($url, $form, $responseElement, $parameters = []) {
731722 "method " => "'POST' " ,
732723 "data " => "params " ,
733724 "async " => $ async
734- ] + $ ajaxParameters ;
725+ ];
735726 if (isset ($ headers )) {
736727 $ ajaxParameters ["headers " ] = $ headers ;
737728 }
0 commit comments