diff --git a/www/js/zui/picker/zui.picker.min.js b/www/js/zui/picker/zui.picker.min.js index 6d01179538..aac752a8f8 100644 --- a/www/js/zui/picker/zui.picker.min.js +++ b/www/js/zui/picker/zui.picker.min.js @@ -1,7 +1,7 @@ /*! - * ZUI: 选择器 - v1.9.2 - 2021-03-10 + * ZUI: 选择器 - v1.9.2 - 2021-07-09 * http://openzui.com * GitHub: https://github.com/easysoft/zui.git * Copyright (c) 2021 cnezsoft.com; Licensed MIT */ -!function(e,t,i){"use strict";var o="zui.picker",r={},n={lang:null,remote:null,remoteConverter:null,remoteOnly:!1,onRemoteError:null,disableEmptySearch:!1,textKey:"text",valueKey:"value",keysKey:"keys",multi:"auto",formItem:"auto",list:null,allowSingleDeselect:null,showMultiSelectedOptions:!1,autoSelectFirst:!1,optionItemFormatter:null,maxSelectedCount:0,maxListCount:50,hideEmptyTextOption:!0,searchValueKey:!0,emptyResultHint:null,hideOnWindowScroll:!0,inheritFormItemClasses:!1,emptySearchResultHint:null,accurateSearchHint:null,remoteErrorHint:null,deleteByBackspace:!0,disableScrollOnShow:!0,maxDropHeight:250,dropDirection:"auto",dropWidth:"100%",maxAutoDropWidth:450,multiValueSplitter:",",searchDelay:200,autoClearDrop:6e4,fixLabelFor:!0,hotkey:!0,onSelect:null,onDeselect:null,beforeChange:null,onChange:null,onReady:null,onNoResults:null,onShowingDrop:null,onHidingDrop:null,onShowedDrop:null,onHiddenDrop:null,valueMustInList:!0},s={zh_cn:{emptyResultHint:"没有可选项",emptySearchResultHint:"没有找到 “{0}”",accurateSearchHint:"请提供更多关键词缩小匹配范围",remoteErrorHint:"无法从服务器获取结果 - {0}"},zh_tw:{emptyResultHint:"沒有可選項",emptySearchResultHint:"沒有找到 “{0}”",accurateSearchHint:"請提供更多關鍵詞縮小匹配範圍",remoteErrorHint:"無法從服務器獲取結果 - {0}"},en:{emptyResultHint:"No options",emptySearchResultHint:'Cannot found "{0}"',accurateSearchHint:"Suggest to provide more keywords",remoteErrorHint:"Unable to get result from server: {0}"}},l=function(t,i){var r=this;r.name=o,r.$=e(t),r.id="pk_"+(r.$.attr("id")||e.zui.uuid()),i=r.options=e.extend({},l.DEFAULTS,this.$.data(),i);var n=e.zui.clientLang?e.zui.clientLang():"en",a=i.lang||n;r.lang=e.zui.getLangData?e.zui.getLangData(o,a,s):s[a]||s[n];var p,c,u=i.formItem,d='.form-item,input[type="hidden"],select,input[type="text"]';if(p="self"===u?r.$:"auto"!==u&&u?r.$.find(u):r.$.is(d)?r.$:r.$.find(d).first(),!p.length)return console.error&&console.error("Cannot found form item for picker.");if(p.is('input[type="hidden"]'))c="hidden";else if(p.is("select"))c="select";else{if(!p.is('input[type="text"]'))return console.error&&console.error("Unknown form type for picker.");c="text"}i.inheritFormItemClasses&&f.addClass(p.attr("class")),r.formType=c,r.$formItem=p.removeClass("picker").hide(),r.selfFormItem=p.is(r.$);var h=i.multi;h&&"auto"!==h||(h="select"===c&&"multiple"===p.attr("multiple")),h=!!h,r.multi=h;var v=i.list;v?r.setList("function"==typeof v?v({search:r.search,limit:i.maxListCount}):v,!0):"select"===c?r.updateFromSelect():r.setList([],!0);var f;f=!r.selfFormItem&&r.$.hasClass("picker")?r.$:e('
').insertAfter(r.$),f.addClass("picker").toggleClass("picker-multi",h).toggleClass("picker-single",!h);var g=f.children(".picker-selections");g.length?g.empty():g=e('
');var m=r.id+"-search",y=e('').appendTo(g);if(!h){var k=e('
');i.allowSingleDeselect&&k.append(''),k.appendTo(g),r.$singleSelection=k}f.toggleClass("picker-input-empty",!y.val().length).append(g),r.$container=f,r.$selections=g,r.$search=y,r.search="";var S=i.placeholder;if(void 0===S&&(S=p.attr("placeholder")),"string"==typeof S&&S.length&&g.append(e('
').text(S)),i.placeholder=S,i.fixLabelFor){var L=p.attr("id");L&&e('label[for="'+L+'"]').attr("for",m)}var x=void 0!==i.defaultValue?i.defaultValue:p.val();if(r.setValue(x,!0),y.on("focus",function(){f.addClass("picker-focus"),r.showDropList()}).on("blur",function(){f.removeClass("picker-focus")}).on("input change",function(){var e=y.val();h&&y.width(14*e.length),f.toggleClass("picker-input-empty",!e.length),r.tryUpdateList(e)}),i.hotkey&&y.on("keydown",function(e){var t=e.key||e.which;if(r.dropListShowed){var o=r.activeValue,n="string"==typeof o;if("Enter"===t||13===t)n&&(r.select(o,h),h||y.blur(),e.preventDefault());else if("ArrowDown"===t||40===t){var s,l=r.$activeOption;if(l&&(s=l.next(".picker-option"),h))for(;s.length&&s.hasClass("picker-option-selected");)s=s.next(".picker-option");s&&s.length||(s=r.$optionsList.children(h?".picker-option:not(.picker-option-selected)":".picker-option").first()),s.length&&r.activeOption(s),e.preventDefault()}else if("ArrowUp"===t||30===t){var a,l=r.$activeOption;if(l&&(a=l.prev(".picker-option"),h))for(;a.length&&a.hasClass("picker-option-selected");)a=a.prev(".picker-option");a&&a.length||(a=r.$optionsList.children(h?".picker-option:not(.picker-option-selected)":".picker-option").last()),a.length&&r.activeOption(a),e.preventDefault()}else i.deleteByBackspace&&h&&("Backspace"===t||8===t)&&r.value&&r.value.length&&!y.val().length&&r.deselect(r.value[r.value.length-1])}}),h){g.on("mousedown",function(e){if(r.dropListShowed)return e.preventDefault(),void e.stopPropagation()}).on("mouseup",function(t){g.hasClass("sortable-sorting")||e(t.target).closest(".picker-selection-remove").length||r.dropListShowed||r.focus()});var w=i.sortValuesByDnd;if(w&&e.fn.sortable){f.addClass("picker-sortable");var C={selector:".picker-selection",stopPropagation:!0,start:function(){r.hideDropList()},finish:function(t){var i=[];e.each(t.list,function(e,t){i.push(t.item.data("value"))}),r.setValue(i.slice(),!1,!0)}};"object"==typeof w&&e.extend(C,w),g.sortable(C)}}g.on("click",".picker-selection-remove",function(t){if(r.multi){var i=e(this).closest(".picker-selection");r.deselect(i.data("value"))}else r.deselect();t.stopPropagation()}),p.on("chosen:updated",function(){r.updateFromSelect(),r.setValue(p.val()),r.updateList()}).on("chosen:activate",r.focus).on("chosen:open",r.showDropList).on("chosen:close",r.hideDropList),f.addClass("picker-ready"),setTimeout(function(){r.triggerEvent("ready",{picker:r},"","chosen:ready")},0)};l.prototype.destroy=function(){var t=this,i=t.options;t.hideDropList();var r=t.$search;r.off("focus blur input change"),i.hotkey&&r.off("keydown"),r.remove();var n=t.$selections;n.off("click"),t.multi&&n.off("mousedown mouseup"),n.remove();var s=t.$formItem;t.selectOptionsBackup&&(s.empty(),e.each(t.selectOptionsBackup,function(t,o){var r={value:o[i.valueKey]},n=o[i.keysKey];void 0!==n&&(r["data-"+i.keysKey]=n),s.append(e("