magix-components
Version:
1 lines • 7.46 kB
JavaScript
define("mx-dropdown/multiple",["magix","$","../mx-monitor/index"],function(e,t,i){var s=e("magix"),a=e("$"),r=e("../mx-monitor/index");s.applyStyle("m",".cn{position:relative;width:340px;background-color:#fff;border:1px solid #e6e6e6;border-radius:4px;display:inline-block;vertical-align:middle;height:32px}.cn:hover{border-color:#ccc}.co{color:#333;position:relative;width:100%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0 30px 0 12px;border-radius:3px}.cp{cursor:not-allowed;background-color:#fbfbfb}.cp:hover{border-color:#e6e6e6}.cp .co{cursor:not-allowed}.cq{position:absolute;right:0;top:2px;font-size:28px;color:#ccc;-webkit-transition:top .3s,-webkit-transform .3s;transition:top .3s,-webkit-transform .3s;transition:transform .3s,top .3s;transition:transform .3s,top .3s,-webkit-transform .3s}.cr .cq{-webkit-transform:rotate(180deg);transform:rotate(180deg);top:0}.cr,.cr:hover{border-color:#6363e6}.cs{height:30px;line-height:30px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.ct{color:#999}.cu{position:absolute;top:100%;left:-1px;width:350px;margin-top:5px;border-radius:4px;z-index:300;border:1px solid #e6e6e6;background-color:#fff;display:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cr .cu{display:block}.cv{overflow:auto;max-height:192px;padding-bottom:3px;padding-top:5px}.cw{display:block;width:100%;padding:9px 9px 4px}.cx{padding:0;width:100%}.cy{color:#ccc;position:absolute;left:15px;top:18px}.cz{padding-left:28px;width:100%;height:28px;line-height:28px}.cA{padding:5px;color:#999;display:block;cursor:default}.cB{padding:3px 4px}.cC{color:#666;display:block;width:100%;padding:0 6px;height:26px;line-height:26px;border-radius:4px}.cD{width:32%;float:left;margin-left:2px;margin-bottom:2px}.cE{color:#666;display:block;padding:0 12px;height:29px;line-height:29px;border-radius:4px}.cC:active,.cC:focus,.cC:hover,.cE:active,.cE:focus,.cE:hover{color:#333;background-color:#f0f0f0}.cF,.cF:active,.cF:focus,.cF:hover{color:#fff;background-color:#6363e6}.cG{border-top:1px solid #e6e6e6;margin:0 10px;padding:10px 0}");var c=function(e,t,i,s){if(!e[t]||i){var a=i||"";s||(a+=""),e[t]=a}return e[t]};i.exports=s.View.extend({tmpl:{html:'<div mx-guid="g0" class="co" mx-click="__bw()" title="<%=$$.selectedText%>"><span mx-guid="g1" class="cs<%if($$.phLabel){%> ct<%}%>">2</span><span class="_ cq"></span></div><div mx-guid="g2" class="cu">3</div>',subs:[{keys:["selectedText"],path:'div[mx-guid="g0"]',attr:'title="<%=$$.selectedText%>"',attrs:[{n:"title",p:1}]},{keys:["phLabel","selectedText"],path:'span[mx-guid="g1"]',tmpl:"<%=$$.selectedText%>",s:"2",attr:'class="cs<%if($$.phLabel){%> ct<%}%>"',attrs:[{n:"class",p:1,f:"className"}],mask:"21"},{keys:["rList","searchbox"],path:'div[mx-guid="g2"]',tmpl:'<%if($$.rList){if($$.searchbox){%><div class="cw"><label class="cx"><span class="_ cy"></span><input mx-keyup="__by()" mx-paste="__by()" mx-change="__bA()" mx-focusin="__bA()" mx-focusout="__bA()" placeholder="搜索关键词" class="an cz"></label></div><%}%><ul mx-guid="g3" class="cv" id="list_<%=$$.viewId%>">4</ul><div class="cG"><button class="al am" mx-click="__a({enter:true})">确定</button><button class="al s" mx-click="__a()">取消</button></div><%}%>',s:"3"},{keys:["selected","list","textKey","valueKey"],path:'ul[mx-guid="g3"]',pKeys:["rList","searchbox"],tmpl:'<%var a=$$.selected.split(\',\'),b=void 0,c=void 0;for(var d=0;d<$$.list.length;d++){var e=$$.list[d];if(e&&e.group){%><li class="cA aj" title="<%=e[$$.textKey]%>"><%=e[$$.textKey]%></li><%}else{if($$.textKey&&$$.valueKey){b=e[$$.textKey];c=e[$$.valueKey];}else{b=e;c=e;}var f=$$.inArray(c+\'\',a)>-1;if(c===\'\'){%><li title="<%=b%>" class="cB"><a href="#" class="cC aj <%if(f){%> cF<%}%>" mx-click="__bz({item:\'<%@e%>\'})"><%=b%></a></li><%}else{%><li class="cB ag"><ul><%for(;d<$$.list.length;d++){e=$$.list[d];if(e&&e.group){d--;break;}if($$.textKey&&$$.valueKey){b=e[$$.textKey];c=e[$$.valueKey];}else{b=e;c=e;}var g=$$.inArray(c+\'\',a)>-1%><li class="cD"><a href="#" class="cE aj<%if(g){%> cF<%}%>" mx-click="__bz({item:\'<%@e%>\'})"><%=b%></a></li><%}%></ul></li><%}}}%>',s:"4"}]},init:function(e){var t=this;r.__d(),t.on("destroy",function(){r.__f(t),r.__g()}),t.updater.set({viewId:t.id,inArray:a.inArray});var i=a("#"+t.id);t.__h=i,i.addClass("cn"),t.assign(e)},assign:function(e){var t=this;c(t,"__bl",e.list,!0);var i=c(t,"__bm",e.selected),r=c(t,"__bn",e.textKey),o=c(t,"__bo",e.valueKey),l=c(t,"__bp",e.emptyText);if(t.__bq=e.searchbox+""=="true",t.__bB=e.disabled+""=="true",!t.__bl){var n,_=[];t.__h.children().each(function(e,t){t=a(t),n="true"==t.attr("group"),_.push({group:n,text:t.text(),value:n?s.guid():t.attr("value")})}),r=t.__bn="text",o=t.__bo="value",t.__bl=_}var p=t.__bl,d=s.toMap(p,o);if(l)if(r&&o){if(!d[""]){var u={};u[r]=l,u[o]="",p.unshift(u),d[""]=u}}else d[l]||(p.unshift(l),d[l]=l);return t.__bm=i,t.__bC=d,!0},__i:function(e){var t=this;return s.inside(e,t.id)},render:function(){var e=this;e.__h[e.__bB?"addClass":"removeClass"]("cp"),e.__bD(e.__bm)},__a:function(e){var t=this;if(t.__h.hasClass("cr")){var i=t.updater.get();if(s.has(t,"__bE")){var a=e&&i.selected!==t.__bE;e?t.__bD(i.selected):t.__bD(t.__bE),a&&t.__h.val(i.selected).trigger({type:"change",keys:{text:i.textKey,value:i.valueKey},values:(i.selected+"").split(",")}),delete t.__bE}t.__h.removeClass("cr").trigger("focusout"),r.__f(t)}},__e:function(){var e=this;if(!e.__h.hasClass("cr")){e.updater.get("rList")||e.updater.digest({rList:!0}),e.__h.addClass("cr").trigger("focusin");var t=a("#list_"+e.id),i=t.find(".cF").position();if(i){var s=t.height(),c=t.prop("scrollTop");if(i.top<0||i.top>s){var o=i.top-s+c+s/2;t.prop("scrollTop",o)}}r.__k(e)}},__bF:function(e,t){for(var i=this.__bC,s=[],a=0,r=e;a<r.length;a++){var c=i[r[a]]||{};t?s.push(c[t]):s.push(c)}return s},__bD:function(e){var t=this;e=e||"",e+="";var i=t.__bn||"",s=t.__bo||"",a=e.split(","),r="",c=t.__bl;a.length?r=t.__bF(a,i):(e=c[0],r=c[0],i&&s&&(r=(e=e[s])[i])),t.updater.digest({list:c,textKey:i,valueKey:s,searchbox:t.__bq,phLabel:""===e,selected:t.__bm=e,selectedText:r}),t.__h.val(e)},__bv:function(e,t){var i=this;clearTimeout(i.__bu);var s=i.__bl,a=[],r=0,c=s.length,o=i.__bn,l=i.__bo;if(e){var n=function(){if(r<c){for(var _=Math.min(r+400,c),p=r,d=void 0,u=void 0,b=void 0;p<_;p++)u=d=s[p],b=d,o&&l&&(u=d[o],b=d[l]),((u+"").indexOf(e)>=0||(b+"").indexOf(e)>=0)&&a.push(d);r=_,i.__bu=setTimeout(i.wrapAsync(n),20)}else t(a)};n()}else t(s)},"__bw<click>":function(){var e=this,t=e.__h;t.hasClass("cr")?e.__a():t.hasClass("cp")||e.__e()},"__by<keyup,paste>":function(e){var t=this;clearTimeout(t.__bx);var i=a.trim(e.eventTarget.value);t.__bx=setTimeout(t.wrapAsync(function(){i!=t.__bG&&t.__bv(t.__bG=i,function(e){t.updater.digest({list:e})})}),300)},"__bz<click>":function(e){e.preventDefault();var t=this,i=e.params.item,r=t.updater,c=r.get();s.has(t,"__bE")||(t.__bE=c.selected);var o=t.__bo,l=t.__bn,n=i,_=i;l&&o&&(_=i[l],n=i[o]);var p=[""];(_!=t.__bp||n)&&(p=c.selected.split(","));var d=a.inArray("",p);d>-1&&p.splice(d,1),-1==(d=a.inArray(n+"",p))?p.push(n):p.splice(d,1),p.length||c.emptyText&&(p=[""]),n=p.join(","),r.digest({selected:t.__bm=n})},"__bA<change,focusin,focusout>":function(e){e.stopPropagation()},"__a<click>":function(e){this.__a(e.params.enter)}})});