2e86c939
xu
“首次提交”
|
1
|
define([],function(){var e=Dom7,a=Template7;app.initSmartSelects=function(a){a=e(a);var t;t=a.is(".smart-select")?a:a.find(".smart-select"),0!==t.length&&t.each(function(){var a=e(this),t=a.find("select");if(0!==t.length){var i=t[0];if(0!==i.length){for(var s=[],l=0;l<i.length;l++)i[l].selected&&s.push(i[l].textContent.trim());var c=a.find(".item-after");if(0===c.length)a.find(".item-inner").append('<div class="item-after">'+s.join(", ")+"</div>");else{var p=c.text();if(c.hasClass("smart-select-value"))for(l=0;l<i.length;l++)i[l].selected=i[l].textContent.trim()===p.trim();else c.text(s.join(", "))}}}})},app.smartSelectAddOption=function(a,t,i){a=e(a);var s=a.parents(".smart-select");"undefined"==typeof i?a.append(t):e(t).insertBefore(a.find("option").eq(i)),app.initSmartSelects(s);var l=s.find("select").attr("name"),c=e('.page.smart-select-page[data-select-name="'+l+'"]').length>0;c&&app.smartSelectOpen(s,!0)},app.smartSelectOpen=function(t,i){function s(){var e=t.parents(".page-content");if(0!==e.length){var a,i=parseInt(e.css("padding-top"),10),s=parseInt(e.css("padding-bottom"),10),l=e[0].offsetHeight-i-ie.height(),c=e[0].scrollHeight-i-ie.height(),p=t.offset().top-i+t[0].offsetHeight;if(p>l){var r=e.scrollTop()+p-l;r+l>c&&(a=r+l-c+s,l===c&&(a=ie.height()),e.css({"padding-bottom":a+"px"})),e.scrollTop(r,300)}}}function l(a){var i=!0;(a.target===t[0]||e(a.target).parents(t[0]).length>0)&&(i=!1),e(a.target).parents(".picker-modal").length>0&&(i=!1),i&&app.closeModal(".smart-select-picker.modal-in")}function c(a){S.selectedOptions.length>=R?a.find('input[type="checkbox"]').each(function(){this.checked?e(this).parents("li").removeClass("disabled"):e(this).parents("li").addClass("disabled")}):a.find(".disabled").removeClass("disabled")}function p(a){if(a=e(a),u){var i=app.virtualList(a.find(".virtual-list"),{items:D,template:E,height:k||void 0,searchByItem:function(e,a,t){return t.text.toLowerCase().indexOf(e.trim().toLowerCase())>=0}});a.once("popup"===o||"picker"===o?"closed":"pageBeforeRemove",function(){i&&i.destroy&&i.destroy()})}R&&c(a),a.on("change",'input[name="'+F+'"]',function(){var e=this,i=e.value,s=[];if("checkbox"===e.type){for(var l=0;l<S.options.length;l++){var p=S.options[l];p.value===i&&(p.selected=e.checked),p.selected&&s.push(p.textContent.trim())}R&&c(a)}else s=[t.find('option[value="'+i+'"]').text()],S.value=i;C.trigger("change"),t.find(".item-after").text(s.join(", ")),f&&"radio"===A&&("popup"===o?app.closeModal(te):"picker"===o?app.closeModal(ie):r.router.back())})}if(t=e(t),0!==t.length){var r=t.parents("."+app.params.viewClass);if(0!==r.length){r=r[0].f7View;var o=t.attr("data-open-in")||app.params.smartSelectOpenIn;if("popup"===o){if(e(".popup.smart-select-popup").length>0)return}else{if("picker"!==o)return;if(e(".picker-modal.modal-in").length>0&&!i){if(t[0].f7SmartSelectPicker===e(".picker-modal.modal-in:not(.modal-out)")[0])return;app.closeModal(e(".picker-modal.modal-in:not(.modal-out)"))}}var n,d=t.dataset(),m=d.pageTitle||t.find(".item-title").text(),v=d.backText||app.params.smartSelectBackText;n="picker"===o?d.pickerCloseText||d.backText||app.params.smartSelectPickerCloseText:d.popupCloseText||d.backText||app.params.smartSelectPopupCloseText;var f=void 0!==d.backOnSelect?d.backOnSelect:app.params.smartSelectBackOnSelect,h=d.formTheme||app.params.smartSelectFormTheme,b=d.navbarTheme||app.params.smartSelectNavbarTheme,g=d.toolbarTheme||app.params.smartSelectToolbarTheme,u=d.virtualList,k=d.virtualListHeight,T=0,x=d.pickerHeight||app.params.smartSelectPickerHeight,S=t.find("select")[0],C=e(S),y=C.dataset();if(!(S.disabled||t.hasClass("disabled")||C.hasClass("disabled"))){for(var I,P,j,L,N,w,O,_,M,B,H,D=[],q=(new Date).getTime(),A=S.multiple?"checkbox":"radio",F=A+"-"+q,R=C.attr("maxlength"),V=S.name,z=0;z<S.length;z++)I=e(S[z]),H=I.dataset(),j=H.optionImage||y.optionImage||d.optionImage,L=H.optionIcon||y.optionIcon||d.optionIcon,P=j||L||"checkbox"===A,M=H.optionColor,B=H.optionClass,I[0].disabled&&(B+=" disabled"),N=I.parent("optgroup")[0],w=N&&N.label,O=!1,N&&N!==_&&(O=!0,_=N,D.push({groupLabel:w,isLabel:O})),D.push({value:I[0].value,text:I[0].textContent.trim(),selected:I[0].selected,group:N,groupLabel:w,image:j,icon:L,color:M,className:B,disabled:I[0].disabled,inputType:A,id:q,hasMedia:P,checkbox:"checkbox"===A,inputName:F,material:0});app._compiledTemplates.smartSelectItem||(app._compiledTemplates.smartSelectItem=a.compile(app.params.smartSelectItemTemplate||'{{#if isLabel}}<li class="item-divider">{{groupLabel}}</li>{{else}}<li{{#if className}} class="{{className}}"{{/if}}><label class="label-{{inputType}} item-content"><input type="{{inputType}}" name="{{inputName}}" value="{{value}}" {{#if selected}}checked{{/if}}>{{#if material}}{{#if hasMedia}}<div class="item-media">{{#if icon}}<i class="icon {{icon}}"></i>{{/if}}{{#if image}}<img src="{{image}}">{{/if}}</div><div class="item-inner"><div class="item-title{{#if color}} color-{{color}}{{/if}}">{{text}}</div></div><div class="item-after"><i class="icon icon-form-{{inputType}}"></i></div>{{else}}<div class="item-media"><i class="icon icon-form-{{inputType}}"></i></div><div class="item-inner"><div class="item-title{{#if color}} color-{{color}}{{/if}}">{{text}}</div></div>{{/if}}{{else}}{{#if hasMedia}}<div class="item-media">{{#if checkbox}}<i class="icon icon-form-checkbox"></i>{{/if}}{{#if icon}}<i class="icon {{icon}}"></i>{{/if}}{{#if image}}<img src="{{image}}">{{/if}}</div>{{/if}}<div class="item-inner"><div class="item-title{{#if color}} color-{{color}}{{/if}}">{{text}}</div></div>{{/if}}</label></li>{{/if}}'));var E=app._compiledTemplates.smartSelectItem,G="";if(!u)for(var J=0;J<D.length;J++)G+=E(D[J]);var K,Q,U="",W="",X="",Y="";"picker"===o?(app._compiledTemplates.smartSelectToolbar||(app._compiledTemplates.smartSelectToolbar=a.compile(app.params.smartSelectToolbarTemplate||'<div class="toolbar {{#if toolbarTheme}}theme-{{toolbarTheme}}{{/if}}"><div class="toolbar-inner"><div class="left"></div><div class="right"><a href="javascript:void(0)" class="link close-picker"><span>{{closeText}}</span></a></div></div></div>')),U=app._compiledTemplates.smartSelectToolbar({pageTitle:m,closeText:n,openIn:o,toolbarTheme:g,inPicker:"picker"===o})):(app._compiledTemplates.smartSelectNavbar||(app._compiledTemplates.smartSelectNavbar=a.compile(app.params.smartSelectNavbarTemplate||'<div class="navbar {{#if navbarTheme}}theme-{{navbarTheme}}{{/if}}"><div class="navbar-inner">{{leftTemplate}}<div class="center sliding">{{pageTitle}}</div></div></div>')),K=app._compiledTemplates.smartSelectNavbar({pageTitle:m,backText:v,closeText:n,openIn:o,navbarTheme:b,inPopup:"popup"===o,inPage:"page"===o,leftTemplate:"popup"===o?(app.params.smartSelectPopupCloseTemplate||(T?'<div class="left"><a href="javascript:void(0)" class="link close-popup icon-only"><i class="icon icon-back"></i></a></div>':'<div class="left"><a href="javascript:void(0)" class="link close-popup"><i class="icon icon-back"></i><span>{{closeText}}</span></a></div>')).replace(/{{closeText}}/g,n):(app.params.smartSelectBackTemplate||(T?'<div class="left"><a href="javascript:void(0)" class="back link icon-only"><i class="icon icon-back"></i></a></div>':'<div class="left sliding"><a href="javascript:void(0)" class="back link"><i class="icon icon-back"></i><span>{{backText}}</span></a></div>')).replace(/{{backText}}/g,v)}),"page"===o?(Q="static",t.parents(".navbar-through").length>0&&(Q="through"),t.parents(".navbar-fixed").length>0&&(Q="fixed"),X=t.parents(".page").hasClass("no-toolbar")?"no-toolbar":"",W=t.parents(".page").hasClass("no-navbar")?"no-navbar":"navbar-"+Q,Y=t.parents(".page").hasClass("no-tabbar")?"no-tabbar":""):Q="fixed");var Z,$,ee="smart-select-"+F,ae="undefined"==typeof t.data("searchbar")?app.params.smartSelectSearchbar:"true"===t.data("searchbar");ae&&(Z=t.data("searchbar-placeholder")||"Search",$=t.data("searchbar-cancel")||"Cancel");var te,ie,se='<form class="searchbar searchbar-init" data-search-list=".smart-select-list-'+q+'" data-search-in=".item-title"><div class="searchbar-input"><input type="search" placeholder="'+Z+'"><a href="javascript:void(0)" class="searchbar-clear"></a></div>'+(T?"":'<a href="javascript:void(0)" class="searchbar-cancel">'+$+"</a>")+'</form><div class="searchbar-overlay"></div>',le=("picker"!==o&&"through"===Q?K:"")+'<div class="pages"> <div data-page="'+ee+'" data-select-name="'+V+'" class="page smart-select-page '+W+" "+X+" "+Y+'">'+("picker"!==o&&"fixed"===Q?K:"")+(ae?se:"")+' <div class="page-content">'+("picker"!==o&&"static"===Q?K:"")+' <div class="list-block '+(u?"virtual-list":"")+" smart-select-list-"+q+" "+(h?"theme-"+h:"")+'"> <ul>'+(u?"":G)+" </ul> </div> </div> </div></div>";"popup"===o?(i?(te=e(".popup.smart-select-popup .view"),te.html(le)):(te=app.popup('<div class="popup smart-select-popup smart-select-popup-'+F+'"><div class="view navbar-fixed">'+le+"</div></div>"),te=e(te)),app.initPage(te.find(".page")),p(te)):"picker"===o&&(i?(ie=e(".picker-modal.smart-select-picker .view"),ie.html(le)):(ie=app.pickerModal('<div class="picker-modal smart-select-picker smart-select-picker-'+F+'"'+(x?' style="height:'+x+'"':"")+">"+U+'<div class="picker-modal-inner"><div class="view">'+le+"</div></div></div>"),ie=e(ie),s(),e("html").on("click",l),ie.once("close",function(){t[0].f7SmartSelectPicker=void 0,e("html").off("click",l),t.parents(".page-content").css({paddingBottom:""})}),t[0].f7SmartSelectPicker=ie[0]),app.initPage(ie.find(".page")),p(ie))}}}}});
|