/** * Yii JavaScript module. * * @link https://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license https://www.yiiframework.com/license/ * @author Qiang Xue * @since 2.0 */ window.yii=(function($){var pub={reloadableScripts:[],clickableSelector:'a, button, input[type="submit"], input[type="button"], input[type="reset"], '+'input[type="image"]',changeableSelector:'select, input, textarea',getCsrfParam:function(){return $('meta[name=csrf-param]').attr('content')},getCsrfToken:function(){return $('meta[name=csrf-token]').attr('content')},setCsrfToken:function(name,value){$('meta[name=csrf-param]').attr('content',name);$('meta[name=csrf-token]').attr('content',value)},refreshCsrfToken:function(){var token=pub.getCsrfToken();if(token){$('form input[name="'+pub.getCsrfParam()+'"]').val(token)}},confirm:function(message,ok,cancel){if(window.confirm(message)){!ok||ok()}else{!cancel||cancel()}},handleAction:function($e,event){var $form=$e.attr('data-form')?$('#'+$e.attr('data-form')):$e.closest('form'),method=!$e.data('method')&&$form?$form.attr('method'):$e.data('method'),action=$e.attr('href'),isValidAction=action&&action!=='#',params=$e.data('params'),areValidParams=params&&$.isPlainObject(params),pjax=$e.data('pjax'),usePjax=pjax!==undefined&&pjax!==0&&$.support.pjax,pjaxContainer,pjaxOptions={},conflictParams=['submit','reset','elements','length','name','acceptCharset','action','enctype','method','target'];$.each(conflictParams,function(index,param){if(areValidParams&¶ms.hasOwnProperty(param)){console.error("Parameter name '"+param+"' conflicts with a same named form property. "+"Please use another name.")}});if(usePjax){pjaxContainer=$e.data('pjax-container');if(pjaxContainer===undefined||!pjaxContainer.length){pjaxContainer=$e.closest('[data-pjax-container]').attr('id')?('#'+$e.closest('[data-pjax-container]').attr('id')):''} if(!pjaxContainer.length){pjaxContainer='body'} pjaxOptions={container:pjaxContainer,push:!!$e.data('pjax-push-state'),replace:!!$e.data('pjax-replace-state'),scrollTo:$e.data('pjax-scrollto'),pushRedirect:$e.data('pjax-push-redirect'),replaceRedirect:$e.data('pjax-replace-redirect'),skipOuterContainers:$e.data('pjax-skip-outer-containers'),timeout:$e.data('pjax-timeout'),originalEvent:event,originalTarget:$e}} if(method===undefined){if(isValidAction){usePjax?$.pjax.click(event,pjaxOptions):window.location.assign(action)}else if($e.is(':submit')&&$form.length){if(usePjax){$form.on('submit',function(e){$.pjax.submit(e,pjaxOptions)})} $form.trigger('submit')} return} var oldMethod,oldAction,newForm=!$form.length;if(!newForm){oldMethod=$form.attr('method');$form.attr('method',method);if(isValidAction){oldAction=$form.attr('action');$form.attr('action',action)}}else{if(!isValidAction){action=pub.getCurrentUrl()} $form=$('
',{method:method,action:action});var target=$e.attr('target');if(target){$form.attr('target',target)} if(!/(get|post)/i.test(method)){$form.append($('',{name:'_method',value:method,type:'hidden'}));method='post';$form.attr('method',method)} if(/post/i.test(method)){var csrfParam=pub.getCsrfParam();if(csrfParam){$form.append($('',{name:csrfParam,value:pub.getCsrfToken(),type:'hidden'}))}} $form.hide().appendTo('body')} var activeFormData=$form.data('yiiActiveForm');if(activeFormData){activeFormData.submitObject=$e} if(areValidParams){$.each(params,function(name,value){$form.append($('').attr({name:name,value:value,type:'hidden'}))})} if(usePjax){$form.on('submit',function(e){$.pjax.submit(e,pjaxOptions)})} $form.trigger('submit');$.when($form.data('yiiSubmitFinalizePromise')).done(function(){if(newForm){$form.remove();return} if(oldAction!==undefined){$form.attr('action',oldAction)} $form.attr('method',oldMethod);if(areValidParams){$.each(params,function(name){$('input[name="'+name+'"]',$form).remove()})}})},getQueryParams:function(url){var pos=url.indexOf('?');if(pos<0){return{}} var pairs=$.grep(url.substring(pos+1).split('#')[0].split('&'),function(value){return value!==''});var params={};for(var i=0,len=pairs.length;i1?decodeURIComponent(pair[1].replace(/\+/g,'%20')):'';if(!name.length){continue} if(params[name]===undefined){params[name]=value||''}else{if(!$.isArray(params[name])){params[name]=[params[name]]} params[name].push(value||'')}} return params},initModule:function(module){if(module.isActive!==undefined&&!module.isActive){return} if($.isFunction(module.init)){module.init()} $.each(module,function(){if($.isPlainObject(this)){pub.initModule(this)}})},init:function(){initCsrfHandler();initRedirectHandler();initAssetFilters();initDataMethods()},getBaseCurrentUrl:function(){return window.location.protocol+'//'+window.location.host},getCurrentUrl:function(){return window.location.href}};function initCsrfHandler(){$.ajaxPrefilter(function(options,originalOptions,xhr){if(!options.crossDomain&&pub.getCsrfParam()){xhr.setRequestHeader('X-CSRF-Token',pub.getCsrfToken())}});pub.refreshCsrfToken()} function initRedirectHandler(){$(document).ajaxComplete(function(event,xhr){var url=xhr&&xhr.getResponseHeader('X-Redirect');if(url){window.location.assign(url)}})} function initAssetFilters(){var loadedScripts={};$('script[src]').each(function(){var url=getAbsoluteUrl(this.src);loadedScripts[url]=!0});$.ajaxPrefilter('script',function(options,originalOptions,xhr){if(options.dataType=='jsonp'){return} var url=getAbsoluteUrl(options.url),forbiddenRepeatedLoad=loadedScripts[url]===!0&&!isReloadableAsset(url),cleanupRunning=loadedScripts[url]!==undefined&&loadedScripts[url].xhrDone===!0;if(forbiddenRepeatedLoad||cleanupRunning){xhr.abort();return} if(loadedScripts[url]===undefined||loadedScripts[url]===!0){loadedScripts[url]={xhrList:[],xhrDone:!1}} xhr.done(function(data,textStatus,jqXHR){if(loadedScripts[jqXHR.yiiUrl].xhrDone===!0){return} loadedScripts[jqXHR.yiiUrl].xhrDone=!0;for(var i=0,len=loadedScripts[jqXHR.yiiUrl].xhrList.length;i