service.searchbox_wev8.js 2.98 KB
define("mService/searchbox_html",function(){return'<div class="page-content page-searchbox">\t<div class="wev-search">\t\t<div class="wev-search-inner">\t\t\t<form disabledEnterSubmit action="">\t\t\t\t<input type="search">\t\t\t</form>\t\t\t<div class="wev-clear-btn"></div>            <div class="wev-scan-btn"></div>\t\t</div>        <div class="wev-searchbox-btn-wrap">           <div class="btn cancel">$i18n{CANCEL}</div>        </div>\t</div>    <div class="wev-history">        <div class="history-header wev-clearfix">            <p class="history-title"></p>            <i class="history-del"></i>        </div>        <div class="history-content">        </div>        <div class="wev-no-data"></div>    </div></div>'}),define("mService/searchbox",["mUtil"],function(b){var p={get:function(e){return JSON.parse(localStorage.getItem(e)||"[]")},set:function(e,t){try{var i=this.get(e)||[],n=i.indexOf(t),a=i.length;a&&-1!=n&&i.splice(n,1),19<a&&i.splice(0,a-19),i.push(t),localStorage.setItem(e,JSON.stringify(i))}catch(e){b.console.error(e.message)}},clear:function(e){localStorage.removeItem(e)}};return{mounted:function(t,e){var i={tip:"",scan:!0,history:!0,closeCallback:function(){b.back()},success:function(){}};$.extend(i,e);var n=t.find(".wev-search"),a=t.find("input[type='search']"),c=t.find(".btn.cancel"),r=t.find(".wev-clear-btn"),s=t.find(".wev-scan-btn"),o=t.find(".wev-history"),l=t.find(".history-content"),d=t.find(".history-del"),h=t.find(".wev-no-data");b.getMultiLabel({6037:"历史搜索",6038:"暂无历史搜索记录"},function(e){t.find(".history-title").html(e[6037]),h.html(e[6038])});var v="mobile_searchbox_history_"+i.compid,f=i.history;t.find("form[disabledEnterSubmit]").keydown(function(e){if(13==e.keyCode)return!1}),i.scan&&s.on("click",function(){Mobile_NS.scanQRCode(function(e){a.val(e).trigger("input"),e=e.trim(),i.onSearch&&i.onSearch.call(this,e),f&&e&&(p.set(v,e),u.render())})}).show(),a.on("input",function(){var e=this.value;n.toggleClass("wev-has-value",""!=e)}).keyup(function(e){if(13==e.keyCode){var t=this.value;t=t.trim(),i.onSearch&&i.onSearch.call(this,t),f&&t&&(p.set(v,t),u.render()),this.blur()}}).attr("placeholder",i.tip).focus(),i.searchkey&&!i.toThirdPage&&a.val(i.searchkey).focus().triggerHandler("input"),c.on("click",function(){var e=i.closeCallback;e&&e()}),r.on("click",function(){a.val("").focus().triggerHandler("input")}),d.on("click",function(){b.getLabel(6039,"确认删除全部历史记录?",function(e){Mobile_NS.confirm(e,function(){l.empty(),d.hide(),h.show(),p.clear(v)})})}),t.find(".history-content").on("click",".btn",function(){var e=$(this).data("key")+"";i.onSearch&&i.onSearch.call(this,e),p.set(v,e),u.render(),a.val(e).triggerHandler("input")});var u={render:function(){var e=p.get(v).reverse();if(e.length){var t=["{@each datas as d}",'<div data-key="${d}" class="btn">$${d.replaceAll(" ", "&nbsp;")}</div>',"{@/each}"].join(""),i=b.parseTemplate(t,{datas:e});l.html(i),d.show(),h.hide()}else d.hide(),h.show()}};f?u.render():(o.hide(),p.clear(v))}}});