fineui是帆软报表和BI产品线所使用的前端框架。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

53 lines
1.5 MiB

/*! fineui 2020-02-24 17:11:50 */
function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var _global;_global="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,null==_global.BI&&(_global.BI={prepares:[]}),null==_global.BI.prepares&&(_global.BI.prepares=[]),function(){function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}function arrayAggregator(array,setter,iteratee,accumulator){for(var index=-1,length=null==array?0:array.length;++index<length;){var value=array[index];setter(accumulator,value,iteratee(value),array)}return accumulator}function arrayEach(array,iteratee){for(var index=-1,length=null==array?0:array.length;++index<length&&iteratee(array[index],index,array)!==!1;);return array}function arrayEvery(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(!predicate(array[index],index,array))return!1;return!0}function arrayFilter(array,predicate){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];predicate(value,index,array)&&(result[resIndex++]=value)}return result}function arrayIncludes(array,value){var length=null==array?0:array.length;return!!length&&baseIndexOf(array,value,0)>-1}function arrayIncludesWith(array,value,comparator){for(var index=-1,length=null==array?0:array.length;++index<length;)if(comparator(value,array[index]))return!0;return!1}function arrayMap(array,iteratee){for(var index=-1,length=null==array?0:array.length,result=Array(length);++index<length;)result[index]=iteratee(array[index],index,array);return result}function arrayPush(array,values){for(var index=-1,length=values.length,offset=array.length;++index<length;)array[offset+index]=values[index];return array}function arrayReduce(array,iteratee,accumulator,initAccum){var index=-1,length=null==array?0:array.length;for(initAccum&&length&&(accumulator=array[++index]);++index<length;)accumulator=iteratee(accumulator,array[index],index,array);return accumulator}function arraySome(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(predicate(array[index],index,array))return!0;return!1}function asciiToArray(string){return string.split("")}function baseFindKey(collection,predicate,eachFunc){var result;return eachFunc(collection,function(value,key,collection){if(predicate(value,key,collection))return result=key,!1}),result}function baseFindIndex(array,predicate,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?1:-1);fromRight?index--:++index<length;)if(predicate(array[index],index,array))return index;return-1}function baseIndexOf(array,value,fromIndex){return value===value?strictIndexOf(array,value,fromIndex):baseFindIndex(array,baseIsNaN,fromIndex)}function baseIsNaN(value){return value!==value}function baseProperty(key){return function(object){return null==object?undefined:object[key]}}function basePropertyOf(object){return function(key){return null==object?undefined:object[key]}}function baseReduce(collection,iteratee,accumulator,initAccum,eachFunc){return eachFunc(collection,function(value,index,collection){accumulator=initAccum?(initAccum=!1,value):iteratee(accumulator,value,index,collection)}),accumulator}function baseSortBy(array,comparer){var length=array.length;for(array.sort(comparer);length--;)array[length]=array[length].value;return array}function baseTimes(n,iteratee){for(var index=-1,result=Array(n);++index<n;)result[index]=iteratee(index);return result}function baseUnary(func){return function(value){return func(value)}}function baseValues(object,props){return arrayMap(props,function(key){return object[key]})}function cacheHas(cache,key){return cache.has(key)}function charsStartIndex(strSymbols,chrSymbols){for(var index=-1,length=strSymbols.length;++index<length&&baseIndexOf(chrSymbols,strSymbols[index],0)>-1;);return index}function charsEndIndex(strSymbols,chrSymbols){for(var index=strSymbols.length;index--&&baseIndexOf(chrSymbols,strSymbols[index],0)>-1;);return index}function countHolders(array,placeholder){for(var length=array.length,result=0;length--;)array[length]===placeholder&&++result;return result}function getValue(object,key){return null==object?undefined:object[key]}function hasUnicode(string){return reHasUnicode.test(string)}function iteratorToArray(iterator){for(var data,result=[];!(data=iterator.next()).done;)result.push(data.value);return result}function mapToArray(map){var index=-1,result=Array(map.size);return map.forEach(function(value,key){result[++index]=[key,value]}),result}function overArg(func,transform){return function(arg){return func(transform(arg))}}function replaceHolders(array,placeholder){for(var index=-1,length=array.length,resIndex=0,result=[];++index<length;){var value=array[index];value!==placeholder&&value!==PLACEHOLDER||(array[index]=PLACEHOLDER,result[resIndex++]=index)}return result}function safeGet(object,key){return"__proto__"==key?undefined:object[key]}function setToArray(set){var index=-1,result=Array(set.size);return set.forEach(function(value){result[++index]=value}),result}function strictIndexOf(array,value,fromIndex){for(var index=fromIndex-1,length=array.length;++index<length;)if(array[index]===value)return index;return-1}function stringSize(string){return hasUnicode(string)?unicodeSize(string):asciiSize(string)}function stringToArray(string){return hasUnicode(string)?unicodeToArray(string):asciiToArray(string)}function unicodeSize(string){for(var result=reUnicode.lastIndex=0;reUnicode.test(string);)++result;return result}function unicodeToArray(string){return string.match(reUnicode)||[]}function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper)return value;if(hasOwnProperty.call(value,"__wrapped__"))return wrapperClone(value)}return new LodashWrapper(value)}function baseLodash(){}function LodashWrapper(value,chainAll){this.__wrapped__=value,this.__actions__=[],this.__chain__=!!chainAll,this.__index__=0,this.__values__=undefined}function LazyWrapper(value){this.__wrapped__=value,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=MAX_ARRAY_LENGTH,this.__views__=[]}function lazyClone(){var result=new LazyWrapper(this.__wrapped__);return result.__actions__=copyArray(this.__actions__),result.__dir__=this.__dir__,result.__filtered__=this.__filtered__,result.__iteratees__=copyArray(this.__iteratees__),result.__takeCount__=this.__takeCount__,result.__views__=copyArray(this.__views__),result}function lazyReverse(){if(this.__filtered__){var result=new LazyWrapper(this);result.__dir__=-1,result.__filtered__=!0}else result=this.clone(),result.__dir__*=-1;return result}function lazyValue(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray(array),isRight=dir<0,arrLength=isArr?array.length:0,view=getView(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin(length,this.__takeCount__);if(!isArr||!isRight&&arrLength==length&&takeCount==length)return baseWrapperValue(array,this.__actions__);var result=[];outer:for(;length--&&resIndex<takeCount;){index+=dir;for(var iterIndex=-1,value=array[index];++iterIndex<iterLength;){var data=iteratees[iterIndex],iteratee=data.iteratee,type=data.type,computed=iteratee(value);if(type==LAZY_MAP_FLAG)value=computed;else if(!computed){if(type==LAZY_FILTER_FLAG)continue outer;break outer}}result[resIndex++]=value}return result}function Hash(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0}function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];return this.size-=result?1:0,result}function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?undefined:result}return hasOwnProperty.call(data,key)?data[key]:undefined}function hashHas(key){var data=this.__data__;return nativeCreate?data[key]!==undefined:hasOwnProperty.call(data,key)}function hashSet(key,value){var data=this.__data__;return this.size+=this.has(key)?0:1,data[key]=nativeCreate&&value===undefined?HASH_UNDEFINED:value,this}function ListCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function listCacheClear(){this.__data__=[],this.size=0}function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0)return!1;var lastIndex=data.length-1;return index==lastIndex?data.pop():splice.call(data,index,1),--this.size,!0}function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?undefined:data[index][1]}function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1}function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this}function MapCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Map||ListCache),string:new Hash}}function mapCacheDelete(key){var result=getMapData(this,key)["delete"](key);return this.size-=result?1:0,result}function mapCacheGet(key){return getMapData(this,key).get(key)}function mapCacheHas(key){return getMapData(this,key).has(key)}function mapCacheSet(key,value){var data=getMapData(this,key),size=data.size;return data.set(key,value),this.size+=data.size==size?0:1,this}function SetCache(values){var index=-1,length=null==values?0:values.length;for(this.__data__=new MapCache;++index<length;)this.add(values[index])}function setCacheAdd(value){return this.__data__.set(value,HASH_UNDEFINED),this}function setCacheHas(value){return this.__data__.has(value)}function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}function stackClear(){this.__data__=new ListCache,this.size=0}function stackDelete(key){var data=this.__data__,result=data["delete"](key);return this.size=data.size,result}function stackGet(key){return this.__data__.get(key)}function stackHas(key){return this.__data__.has(key)}function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map||pairs.length<LARGE_ARRAY_SIZE-1)return pairs.push([key,value]),this.size=++data.size,this;data=this.__data__=new MapCache(pairs)}return data.set(key,value),this.size=data.size,this}function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value.length,String):[],length=result.length;for(var key in value)!inherited&&!hasOwnProperty.call(value,key)||skipIndexes&&("length"==key||isBuff&&("offset"==key||"parent"==key)||isType&&("buffer"==key||"byteLength"==key||"byteOffset"==key)||isIndex(key,length))||result.push(key);return result}function assignMergeValue(object,key,value){(value===undefined||eq(object[key],value))&&(value!==undefined||key in object)||baseAssignValue(object,key,value)}function assignValue(object,key,value){var objValue=object[key];hasOwnProperty.call(object,key)&&eq(objValue,value)&&(value!==undefined||key in object)||baseAssignValue(object,key,value)}function assocIndexOf(array,key){for(var length=array.length;length--;)if(eq(array[length][0],key))return length;return-1}function baseAggregator(collection,setter,iteratee,accumulator){return baseEach(collection,function(value,key,collection){setter(accumulator,value,iteratee(value),collection)}),accumulator}function baseAssign(object,source){return object&&copyObject(source,keys(source),object)}function baseAssignIn(object,source){return object&&copyObject(source,keysIn(source),object)}function baseAssignValue(object,key,value){"__proto__"==key&&defineProperty?defineProperty(object,key,{configurable:!0,enumerable:!0,value:value,writable:!0}):object[key]=value}function baseAt(object,paths){for(var index=-1,length=paths.length,result=Array(length),skip=null==object;++index<length;)result[index]=skip?undefined:get(object,paths[index]);return result}function baseClamp(number,lower,upper){return number===number&&(upper!==undefined&&(number=number<=upper?number:upper),lower!==undefined&&(number=number>=lower?number:lower)),number}function baseClone(value,bitmask,customizer,key,object,stack){var result,isDeep=bitmask&CLONE_DEEP_FLAG,isFlat=bitmask&CLONE_FLAT_FLAG,isFull=bitmask&CLONE_SYMBOLS_FLAG;if(customizer&&(result=object?customizer(value,key,object,stack):customizer(value)),result!==undefined)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=initCloneArray(value),!isDeep)return copyArray(value,result)}else{var tag=getTag(value),isFunc=tag==funcTag||tag==genTag;if(isBuffer(value))return cloneBuffer(value,isDeep);if(tag==objectTag||tag==argsTag||isFunc&&!object){if(result=isFlat||isFunc?{}:initCloneObject(value),!isDeep)return isFlat?copySymbolsIn(value,baseAssignIn(result,value)):copySymbols(value,baseAssign(result,value))}else{if(!cloneableTags[tag])return object?value:{};result=initCloneByTag(value,tag,isDeep)}}stack||(stack=new Stack);var stacked=stack.get(value);if(stacked)return stacked;if(stack.set(value,result),isSet(value))return value.forEach(function(subValue){result.add(baseClone(subValue,bitmask,customizer,subValue,value,stack))}),result;if(isMap(value))return value.forEach(function(subValue,key){result.set(key,baseClone(subValue,bitmask,customizer,key,value,stack))}),result;var keysFunc=isFull?isFlat?getAllKeysIn:getAllKeys:isFlat?keysIn:keys,props=isArr?undefined:keysFunc(value);return arrayEach(props||value,function(subValue,key){props&&(key=subValue,subValue=value[key]),assignValue(result,key,baseClone(subValue,bitmask,customizer,key,value,stack))}),result}function baseDelay(func,wait,args){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return setTimeout(function(){func.apply(undefined,args)},wait)}function baseDifference(array,values,iteratee,comparator){var index=-1,includes=arrayIncludes,isCommon=!0,length=array.length,result=[],valuesLength=values.length;if(!length)return result;iteratee&&(values=arrayMap(values,baseUnary(iteratee))),comparator?(includes=arrayIncludesWith,isCommon=!1):values.length>=LARGE_ARRAY_SIZE&&(includes=cacheHas,isCommon=!1,values=new SetCache(values));outer:for(;++index<length;){var value=array[index],computed=null==iteratee?value:iteratee(value);if(value=comparator||0!==value?value:0,isCommon&&computed===computed){for(var valuesIndex=valuesLength;valuesIndex--;)if(values[valuesIndex]===computed)continue outer;result.push(value)}else includes(values,computed,comparator)||result.push(value)}return result}function baseEvery(collection,predicate){var result=!0;return baseEach(collection,function(value,index,collection){return result=!!predicate(value,index,collection)}),result}function baseExtremum(array,iteratee,comparator){for(var index=-1,length=array.length;++index<length;){var value=array[index],current=iteratee(value);if(null!=current&&(computed===undefined?current===current&&!isSymbol(current):comparator(current,computed)))var computed=current,result=value}return result}function baseFilter(collection,predicate){var result=[];return baseEach(collection,function(value,index,collection){predicate(value,index,collection)&&result.push(value)}),result}function baseFlatten(array,depth,predicate,isStrict,result){var index=-1,length=array.length;for(predicate||(predicate=isFlattenable),result||(result=[]);++index<length;){var value=array[index];depth>0&&predicate(value)?depth>1?baseFlatten(value,depth-1,predicate,isStrict,result):arrayPush(result,value):isStrict||(result[result.length]=value)}return result}function baseForOwn(object,iteratee){return object&&baseFor(object,iteratee,keys)}function baseForOwnRight(object,iteratee){return object&&baseForRight(object,iteratee,keys)}function baseFunctions(object,props){return arrayFilter(props,function(key){return isFunction(object[key])})}function baseGet(object,path){path=castPath(path,object);for(var index=0,length=path.length;null!=object&&index<length;)object=object[toKey(path[index++])];return index&&index==length?object:undefined}function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray(object)?result:arrayPush(result,symbolsFunc(object))}function baseGetTag(value){return null==value?value===undefined?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(value)?getRawTag(value):objectToString(value)}function baseGt(value,other){return value>other}function baseHas(object,key){return null!=object&&hasOwnProperty.call(object,key)}function baseHasIn(object,key){return null!=object&&key in Object(object)}function baseIntersection(arrays,iteratee,comparator){for(var includes=comparator?arrayIncludesWith:arrayIncludes,length=arrays[0].length,othLength=arrays.length,othIndex=othLength,caches=Array(othLength),maxLength=1/0,result=[];othIndex--;){var array=arrays[othIndex];othIndex&&iteratee&&(array=arrayMap(array,baseUnary(iteratee))),maxLength=nativeMin(array.length,maxLength),caches[othIndex]=!comparator&&(iteratee||length>=120&&array.length>=120)?new SetCache(othIndex&&array):undefined}array=arrays[0];var index=-1,seen=caches[0];outer:for(;++index<length&&result.length<maxLength;){var value=array[index],computed=iteratee?iteratee(value):value;if(value=comparator||0!==value?value:0,!(seen?cacheHas(seen,computed):includes(result,computed,comparator))){for(othIndex=othLength;--othIndex;){var cache=caches[othIndex];if(!(cache?cacheHas(cache,computed):includes(arrays[othIndex],computed,comparator)))continue outer}seen&&seen.push(computed),result.push(value)}}return result}function baseInverter(object,setter,iteratee,accumulator){return baseForOwn(object,function(value,key,object){setter(accumulator,iteratee(value),key,object)}),accumulator}function baseInvoke(object,path,args){path=castPath(path,object),object=parent(object,path);var func=null==object?object:object[toKey(last(path))];return null==func?undefined:apply(func,object,args)}function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(value)==argsTag}function baseIsDate(value){return isObjectLike(value)&&baseGetTag(value)==dateTag}function baseIsEqual(value,other,bitmask,customizer,stack){return value===other||(null==value||null==other||!isObjectLike(value)&&!isObjectLike(other)?value!==value&&other!==other:baseIsEqualDeep(value,other,bitmask,customizer,baseIsEqual,stack))}function baseIsEqualDeep(object,other,bitmask,customizer,equalFunc,stack){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other);objTag=objTag==argsTag?objectTag:objTag,othTag=othTag==argsTag?objectTag:othTag;var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer(object)){if(!isBuffer(other))return!1;objIsArr=!0,objIsObj=!1}if(isSameTag&&!objIsObj)return stack||(stack=new Stack),objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):equalByTag(object,other,objTag,bitmask,customizer,equalFunc,stack);if(!(bitmask&COMPARE_PARTIAL_FLAG)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;return stack||(stack=new Stack),equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}return!!isSameTag&&(stack||(stack=new Stack),equalObjects(object,other,bitmask,customizer,equalFunc,stack))}function baseIsMap(value){return isObjectLike(value)&&getTag(value)==mapTag}function baseIsMatch(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(null==object)return!length;for(object=Object(object);index--;){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object))return!1}for(;++index<length;){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===undefined&&!(key in object))return!1}else{var stack=new Stack;if(customizer)var result=customizer(objValue,srcValue,key,object,source,stack);if(!(result===undefined?baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG,customizer,stack):result))return!1}}return!0}function baseIsNative(value){if(!isObject(value)||isMasked(value))return!1;var pattern=isFunction(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}function baseIsRegExp(value){return isObjectLike(value)&&baseGetTag(value)==regexpTag}function baseIsSet(value){return isObjectLike(value)&&getTag(value)==setTag}function baseIsTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]}function baseIteratee(value){return"function"==typeof value?value:null==value?identity:"object"==typeof value?isArray(value)?baseMatchesProperty(value[0],value[1]):baseMatches(value):property(value)}function baseKeys(object){if(!isPrototype(object))return nativeKeys(object);var result=[];for(var key in Object(object))hasOwnProperty.call(object,key)&&"constructor"!=key&&result.push(key);return result}function baseKeysIn(object){if(!isObject(object))return nativeKeysIn(object);var isProto=isPrototype(object),result=[];for(var key in object)("constructor"!=key||!isProto&&hasOwnProperty.call(object,key))&&result.push(key);return result}function baseLt(value,other){return value<other}function baseMap(collection,iteratee){var index=-1,result=isArrayLike(collection)?Array(collection.length):[];return baseEach(collection,function(value,key,collection){result[++index]=iteratee(value,key,collection)}),result}function baseMatches(source){var matchData=getMatchData(source);return 1==matchData.length&&matchData[0][2]?matchesStrictComparable(matchData[0][0],matchData[0][1]):function(object){return object===source||baseIsMatch(object,source,matchData)}}function baseMatchesProperty(path,srcValue){return isKey(path)&&isStrictComparable(srcValue)?matchesStrictComparable(toKey(path),srcValue):function(object){var objValue=get(object,path);return objValue===undefined&&objValue===srcValue?hasIn(object,path):baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}function baseMerge(object,source,srcIndex,customizer,stack){object!==source&&baseFor(source,function(srcValue,key){if(isObject(srcValue))stack||(stack=new Stack),baseMergeDeep(object,source,key,srcIndex,baseMerge,customizer,stack);else{var newValue=customizer?customizer(safeGet(object,key),srcValue,key+"",object,source,stack):undefined;newValue===undefined&&(newValue=srcValue),assignMergeValue(object,key,newValue)}},keysIn)}function baseMergeDeep(object,source,key,srcIndex,mergeFunc,customizer,stack){var objValue=safeGet(object,key),srcValue=safeGet(source,key),stacked=stack.get(srcValue);if(stacked)return void assignMergeValue(object,key,stacked);var newValue=customizer?customizer(objValue,srcValue,key+"",object,source,stack):undefined,isCommon=newValue===undefined;if(isCommon){var isArr=isArray(srcValue),isBuff=!isArr&&isBuffer(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray(srcValue);newValue=srcValue,isArr||isBuff||isTyped?isArray(objValue)?newValue=objValue:isArrayLikeObject(objValue)?newValue=copyArray(objValue):isBuff?(isCommon=!1,newValue=cloneBuffer(srcValue,!0)):isTyped?(isCommon=!1,newValue=cloneTypedArray(srcValue,!0)):newValue=[]:isPlainObject(srcValue)||isArguments(srcValue)?(newValue=objValue,isArguments(objValue)?newValue=toPlainObject(objValue):(!isObject(objValue)||srcIndex&&isFunction(objValue))&&(newValue=initCloneObject(srcValue))):isCommon=!1}isCommon&&(stack.set(srcValue,newValue),mergeFunc(newValue,srcValue,srcIndex,customizer,stack),stack["delete"](srcValue)),assignMergeValue(object,key,newValue)}function baseOrderBy(collection,iteratees,orders){var index=-1;iteratees=arrayMap(iteratees.length?iteratees:[identity],baseUnary(baseIteratee));var result=baseMap(collection,function(value,key,collection){var criteria=arrayMap(iteratees,function(iteratee){return iteratee(value)});return{criteria:criteria,index:++index,value:value}});return baseSortBy(result,function(object,other){return compareMultiple(object,other,orders)})}function basePick(object,paths){return basePickBy(object,paths,function(value,path){return hasIn(object,path)})}function basePickBy(object,paths,predicate){for(var index=-1,length=paths.length,result={};++index<length;){var path=paths[index],value=baseGet(object,path);predicate(value,path)&&baseSet(result,castPath(path,object),value)}return result}function basePropertyDeep(path){return function(object){return baseGet(object,path)}}function baseRandom(lower,upper){return lower+nativeFloor(nativeRandom()*(upper-lower+1))}function baseRange(start,end,step,fromRight){for(var index=-1,length=nativeMax(nativeCeil((end-start)/(step||1)),0),result=Array(length);length--;)result[fromRight?length:++index]=start,start+=step;return result}function baseRest(func,start){return setToString(overRest(func,start,identity),func+"")}function baseSet(object,path,value,customizer){if(!isObject(object))return object;path=castPath(path,object);for(var index=-1,length=path.length,lastIndex=length-1,nested=object;null!=nested&&++index<length;){var key=toKey(path[index]),newValue=value;if(index!=lastIndex){var objValue=nested[key];newValue=customizer?customizer(objValue,key,nested):undefined,newValue===undefined&&(newValue=isObject(objValue)?objValue:isIndex(path[index+1])?[]:{})}assignValue(nested,key,newValue),nested=nested[key]}return object}function baseSlice(array,start,end){var index=-1,length=array.length;start<0&&(start=-start>length?0:length+start),end=end>length?length:end,end<0&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);++index<length;)result[index]=array[index+start];return result}function baseSome(collection,predicate){var result;return baseEach(collection,function(value,index,collection){return result=predicate(value,index,collection),!result}),!!result}function baseToString(value){if("string"==typeof value)return value;if(isArray(value))return arrayMap(value,baseToString)+"";if(isSymbol(value))return symbolToString?symbolToString.call(value):"";var result=value+"";return"0"==result&&1/value==-INFINITY?"-0":result}function baseUniq(array,iteratee,comparator){var index=-1,includes=arrayIncludes,length=array.length,isCommon=!0,result=[],seen=result;if(comparator)isCommon=!1,includes=arrayIncludesWith;else if(length>=LARGE_ARRAY_SIZE){var set=iteratee?null:createSet(array);if(set)return setToArray(set);isCommon=!1,includes=cacheHas,seen=new SetCache}else seen=iteratee?[]:result;outer:for(;++index<length;){var value=array[index],computed=iteratee?iteratee(value):value;if(value=comparator||0!==value?value:0,isCommon&&computed===computed){for(var seenIndex=seen.length;seenIndex--;)if(seen[seenIndex]===computed)continue outer;iteratee&&seen.push(computed),result.push(value)}else includes(seen,computed,comparator)||(seen!==result&&seen.push(computed),result.push(value))}return result}function baseUnset(object,path){return path=castPath(path,object),object=parent(object,path),null==object||delete object[toKey(last(path))]}function baseWrapperValue(value,actions){var result=value;return result instanceof LazyWrapper&&(result=result.value()),arrayReduce(actions,function(result,action){return action.func.apply(action.thisArg,arrayPush([result],action.args))},result)}function baseZipObject(props,values,assignFunc){for(var index=-1,length=props.length,valsLength=values.length,result={};++index<length;){var value=index<valsLength?values[index]:undefined;assignFunc(result,props[index],value)}return result}function castArrayLikeObject(value){return isArrayLikeObject(value)?value:[]}function castPath(value,object){return isArray(value)?value:isKey(value,object)?[value]:stringToPath(toString(value))}function castSlice(array,start,end){var length=array.length;return end=end===undefined?length:end,!start&&end>=length?array:baseSlice(array,start,end)}function cloneBuffer(buffer,isDeep){if(isDeep)return buffer.slice();var length=buffer.length,result=allocUnsafe?allocUnsafe(length):new buffer.constructor(length);return buffer.copy(result),result}function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);return new Uint8Array(result).set(new Uint8Array(arrayBuffer)),result}function cloneDataView(dataView,isDeep){var buffer=isDeep?cloneArrayBuffer(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer,dataView.byteOffset,dataView.byteLength)}function cloneRegExp(regexp){var result=new regexp.constructor(regexp.source,reFlags.exec(regexp));return result.lastIndex=regexp.lastIndex,result}function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.call(symbol)):{}}function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}function compareAscending(value,other){if(value!==other){var valIsDefined=value!==undefined,valIsNull=null===value,valIsReflexive=value===value,valIsSymbol=isSymbol(value),othIsDefined=other!==undefined,othIsNull=null===other,othIsReflexive=other===other,othIsSymbol=isSymbol(other);if(!othIsNull&&!othIsSymbol&&!valIsSymbol&&value>other||valIsSymbol&&othIsDefined&&othIsReflexive&&!othIsNull&&!othIsSymbol||valIsNull&&othIsDefined&&othIsReflexive||!valIsDefined&&othIsReflexive||!valIsReflexive)return 1;if(!valIsNull&&!valIsSymbol&&!othIsSymbol&&value<other||othIsSymbol&&valIsDefined&&valIsReflexive&&!valIsNull&&!valIsSymbol||othIsNull&&valIsDefined&&valIsReflexive||!othIsDefined&&valIsReflexive||!othIsReflexive)return-1}return 0}function compareMultiple(object,other,orders){for(var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;++index<length;){var result=compareAscending(objCriteria[index],othCriteria[index]);if(result){if(index>=ordersLength)return result;var order=orders[index];return result*("desc"==order?-1:1)}}return object.index-other.index}function composeArgs(args,partials,holders,isCurried){for(var argsIndex=-1,argsLength=args.length,holdersLength=holders.length,leftIndex=-1,leftLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(leftLength+rangeLength),isUncurried=!isCurried;++leftIndex<leftLength;)result[leftIndex]=partials[leftIndex];for(;++argsIndex<holdersLength;)(isUncurried||argsIndex<argsLength)&&(result[holders[argsIndex]]=args[argsIndex]);for(;rangeLength--;)result[leftIndex++]=args[argsIndex++];return result}function composeArgsRight(args,partials,holders,isCurried){for(var argsIndex=-1,argsLength=args.length,holdersIndex=-1,holdersLength=holders.length,rightIndex=-1,rightLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(rangeLength+rightLength),isUncurried=!isCurried;++argsIndex<rangeLength;)result[argsIndex]=args[argsIndex];for(var offset=argsIndex;++rightIndex<rightLength;)result[offset+rightIndex]=partials[rightIndex];
for(;++holdersIndex<holdersLength;)(isUncurried||argsIndex<argsLength)&&(result[offset+holders[holdersIndex]]=args[argsIndex++]);return result}function copyArray(source,array){var index=-1,length=source.length;for(array||(array=Array(length));++index<length;)array[index]=source[index];return array}function copyObject(source,props,object,customizer){var isNew=!object;object||(object={});for(var index=-1,length=props.length;++index<length;){var key=props[index],newValue=customizer?customizer(object[key],source[key],key,object,source):undefined;newValue===undefined&&(newValue=source[key]),isNew?baseAssignValue(object,key,newValue):assignValue(object,key,newValue)}return object}function copySymbols(source,object){return copyObject(source,getSymbols(source),object)}function copySymbolsIn(source,object){return copyObject(source,getSymbolsIn(source),object)}function createAggregator(setter,initializer){return function(collection,iteratee){var func=isArray(collection)?arrayAggregator:baseAggregator,accumulator=initializer?initializer():{};return func(collection,setter,baseIteratee(iteratee,2),accumulator)}}function createAssigner(assigner){return baseRest(function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:undefined,guard=length>2?sources[2]:undefined;for(customizer=assigner.length>3&&"function"==typeof customizer?(length--,customizer):undefined,guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=length<3?undefined:customizer,length=1),object=Object(object);++index<length;){var source=sources[index];source&&assigner(object,source,index,customizer)}return object})}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){if(null==collection)return collection;if(!isArrayLike(collection))return eachFunc(collection,iteratee);for(var length=collection.length,index=fromRight?length:-1,iterable=Object(collection);(fromRight?index--:++index<length)&&iteratee(iterable[index],index,iterable)!==!1;);return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;length--;){var key=props[fromRight?length:++index];if(iteratee(iterable[key],key,iterable)===!1)break}return object}}function createBind(func,bitmask,thisArg){function wrapper(){var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return fn.apply(isBind?thisArg:this,arguments)}var isBind=bitmask&WRAP_BIND_FLAG,Ctor=createCtor(func);return wrapper}function createCtor(Ctor){return function(){var args=arguments;switch(args.length){case 0:return new Ctor;case 1:return new Ctor(args[0]);case 2:return new Ctor(args[0],args[1]);case 3:return new Ctor(args[0],args[1],args[2]);case 4:return new Ctor(args[0],args[1],args[2],args[3]);case 5:return new Ctor(args[0],args[1],args[2],args[3],args[4]);case 6:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5]);case 7:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5],args[6])}var thisBinding=baseCreate(Ctor.prototype),result=Ctor.apply(thisBinding,args);return isObject(result)?result:thisBinding}}function createCurry(func,bitmask,arity){function wrapper(){for(var length=arguments.length,args=Array(length),index=length,placeholder=getHolder(wrapper);index--;)args[index]=arguments[index];var holders=length<3&&args[0]!==placeholder&&args[length-1]!==placeholder?[]:replaceHolders(args,placeholder);if(length-=holders.length,length<arity)return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,undefined,args,holders,undefined,undefined,arity-length);var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return apply(fn,this,args)}var Ctor=createCtor(func);return wrapper}function createFind(findIndexFunc){return function(collection,predicate,fromIndex){var iterable=Object(collection);if(!isArrayLike(collection)){var iteratee=baseIteratee(predicate,3);collection=keys(collection),predicate=function(key){return iteratee(iterable[key],key,iterable)}}var index=findIndexFunc(collection,predicate,fromIndex);return index>-1?iterable[iteratee?collection[index]:index]:undefined}}function createHybrid(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity){function wrapper(){for(var length=arguments.length,args=Array(length),index=length;index--;)args[index]=arguments[index];if(isCurried)var placeholder=getHolder(wrapper),holdersCount=countHolders(args,placeholder);if(partials&&(args=composeArgs(args,partials,holders,isCurried)),partialsRight&&(args=composeArgsRight(args,partialsRight,holdersRight,isCurried)),length-=holdersCount,isCurried&&length<arity){var newHolders=replaceHolders(args,placeholder);return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,thisArg,args,newHolders,argPos,ary,arity-length)}var thisBinding=isBind?thisArg:this,fn=isBindKey?thisBinding[func]:func;return length=args.length,argPos?args=reorder(args,argPos):isFlip&&length>1&&args.reverse(),isAry&&ary<length&&(args.length=ary),this&&this!==root&&this instanceof wrapper&&(fn=Ctor||createCtor(fn)),fn.apply(thisBinding,args)}var isAry=bitmask&WRAP_ARY_FLAG,isBind=bitmask&WRAP_BIND_FLAG,isBindKey=bitmask&WRAP_BIND_KEY_FLAG,isCurried=bitmask&(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG),isFlip=bitmask&WRAP_FLIP_FLAG,Ctor=isBindKey?undefined:createCtor(func);return wrapper}function createInverter(setter,toIteratee){return function(object,iteratee){return baseInverter(object,setter,toIteratee(iteratee),{})}}function createPartial(func,bitmask,thisArg,partials){function wrapper(){for(var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(leftLength+argsLength),fn=this&&this!==root&&this instanceof wrapper?Ctor:func;++leftIndex<leftLength;)args[leftIndex]=partials[leftIndex];for(;argsLength--;)args[leftIndex++]=arguments[++argsIndex];return apply(fn,isBind?thisArg:this,args)}var isBind=bitmask&WRAP_BIND_FLAG,Ctor=createCtor(func);return wrapper}function createRange(fromRight){return function(start,end,step){return step&&"number"!=typeof step&&isIterateeCall(start,end,step)&&(end=step=undefined),start=toFinite(start),end===undefined?(end=start,start=0):end=toFinite(end),step=step===undefined?start<end?1:-1:toFinite(step),baseRange(start,end,step,fromRight)}}function createRecurry(func,bitmask,wrapFunc,placeholder,thisArg,partials,holders,argPos,ary,arity){var isCurry=bitmask&WRAP_CURRY_FLAG,newHolders=isCurry?holders:undefined,newHoldersRight=isCurry?undefined:holders,newPartials=isCurry?partials:undefined,newPartialsRight=isCurry?undefined:partials;bitmask|=isCurry?WRAP_PARTIAL_FLAG:WRAP_PARTIAL_RIGHT_FLAG,bitmask&=~(isCurry?WRAP_PARTIAL_RIGHT_FLAG:WRAP_PARTIAL_FLAG),bitmask&WRAP_CURRY_BOUND_FLAG||(bitmask&=~(WRAP_BIND_FLAG|WRAP_BIND_KEY_FLAG));var newData=[func,bitmask,thisArg,newPartials,newHolders,newPartialsRight,newHoldersRight,argPos,ary,arity],result=wrapFunc.apply(undefined,newData);return isLaziable(func)&&setData(result,newData),result.placeholder=placeholder,setWrapToString(result,func,bitmask)}function createWrap(func,bitmask,thisArg,partials,holders,argPos,ary,arity){var isBindKey=bitmask&WRAP_BIND_KEY_FLAG;if(!isBindKey&&"function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);var length=partials?partials.length:0;if(length||(bitmask&=~(WRAP_PARTIAL_FLAG|WRAP_PARTIAL_RIGHT_FLAG),partials=holders=undefined),ary=ary===undefined?ary:nativeMax(toInteger(ary),0),arity=arity===undefined?arity:toInteger(arity),length-=holders?holders.length:0,bitmask&WRAP_PARTIAL_RIGHT_FLAG){var partialsRight=partials,holdersRight=holders;partials=holders=undefined}var data=isBindKey?undefined:getData(func),newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity];if(data&&mergeData(newData,data),func=newData[0],bitmask=newData[1],thisArg=newData[2],partials=newData[3],holders=newData[4],arity=newData[9]=newData[9]===undefined?isBindKey?0:func.length:nativeMax(newData[9]-length,0),!arity&&bitmask&(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG)&&(bitmask&=~(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG)),bitmask&&bitmask!=WRAP_BIND_FLAG)result=bitmask==WRAP_CURRY_FLAG||bitmask==WRAP_CURRY_RIGHT_FLAG?createCurry(func,bitmask,arity):bitmask!=WRAP_PARTIAL_FLAG&&bitmask!=(WRAP_BIND_FLAG|WRAP_PARTIAL_FLAG)||holders.length?createHybrid.apply(undefined,newData):createPartial(func,bitmask,thisArg,partials);else var result=createBind(func,bitmask,thisArg);var setter=data?baseSetData:setData;return setWrapToString(setter(result,newData),func,bitmask)}function customDefaultsMerge(objValue,srcValue,key,object,source,stack){return isObject(objValue)&&isObject(srcValue)&&(stack.set(srcValue,objValue),baseMerge(objValue,srcValue,undefined,customDefaultsMerge,stack),stack["delete"](srcValue)),objValue}function customOmitClone(value){return isPlainObject(value)?undefined:value}function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength))return!1;var stacked=stack.get(array);if(stacked&&stack.get(other))return stacked==other;var index=-1,result=!0,seen=bitmask&COMPARE_UNORDERED_FLAG?new SetCache:undefined;for(stack.set(array,other),stack.set(other,array);++index<arrLength;){var arrValue=array[index],othValue=other[index];if(customizer)var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack);if(compared!==undefined){if(compared)continue;result=!1;break}if(seen){if(!arraySome(other,function(othValue,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack)))return seen.push(othIndex)})){result=!1;break}}else if(arrValue!==othValue&&!equalFunc(arrValue,othValue,bitmask,customizer,stack)){result=!1;break}}return stack["delete"](array),stack["delete"](other),result}function equalByTag(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset)return!1;object=object.buffer,other=other.buffer;case arrayBufferTag:return!(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array(object),new Uint8Array(other)));case boolTag:case dateTag:case numberTag:return eq(+object,+other);case errorTag:return object.name==other.name&&object.message==other.message;case regexpTag:case stringTag:return object==other+"";case mapTag:var convert=mapToArray;case setTag:var isPartial=bitmask&COMPARE_PARTIAL_FLAG;if(convert||(convert=setToArray),object.size!=other.size&&!isPartial)return!1;var stacked=stack.get(object);if(stacked)return stacked==other;bitmask|=COMPARE_UNORDERED_FLAG,stack.set(object,other);var result=equalArrays(convert(object),convert(other),bitmask,customizer,equalFunc,stack);return stack["delete"](object),result;case symbolTag:if(symbolValueOf)return symbolValueOf.call(object)==symbolValueOf.call(other)}return!1}function equalObjects(object,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,objProps=getAllKeys(object),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial)return!1;for(var index=objLength;index--;){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty.call(other,key)))return!1}var stacked=stack.get(object);if(stacked&&stack.get(other))return stacked==other;var result=!0;stack.set(object,other),stack.set(other,object);for(var skipCtor=isPartial;++index<objLength;){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer)var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);if(!(compared===undefined?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=!1;break}skipCtor||(skipCtor="constructor"==key)}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;objCtor!=othCtor&&"constructor"in object&&"constructor"in other&&!("function"==typeof objCtor&&objCtor instanceof objCtor&&"function"==typeof othCtor&&othCtor instanceof othCtor)&&(result=!1)}return stack["delete"](object),stack["delete"](other),result}function flatRest(func){return setToString(overRest(func,undefined,flatten),func+"")}function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}function getAllKeysIn(object){return baseGetAllKeys(object,keysIn,getSymbolsIn)}function getFuncName(func){for(var result=func.name+"",array=realNames[result],length=hasOwnProperty.call(realNames,result)?array.length:0;length--;){var data=array[length],otherFunc=data.func;if(null==otherFunc||otherFunc==func)return data.name}return result}function getHolder(func){var object=hasOwnProperty.call(lodash,"placeholder")?lodash:func;return object.placeholder}function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data["string"==typeof key?"string":"hash"]:data.map}function getMatchData(object){for(var result=keys(object),length=result.length;length--;){var key=result[length],value=object[key];result[length]=[key,value,isStrictComparable(value)]}return result}function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined}function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=undefined;var unmasked=!0}catch(e){}var result=nativeObjectToString.call(value);return unmasked&&(isOwn?value[symToStringTag]=tag:delete value[symToStringTag]),result}function getView(start,end,transforms){for(var index=-1,length=transforms.length;++index<length;){var data=transforms[index],size=data.size;switch(data.type){case"drop":start+=size;break;case"dropRight":end-=size;break;case"take":end=nativeMin(end,start+size);break;case"takeRight":start=nativeMax(start,end-size)}}return{start:start,end:end}}function getWrapDetails(source){var match=source.match(reWrapDetails);return match?match[1].split(reSplitDetails):[]}function hasPath(object,path,hasFunc){path=castPath(path,object);for(var index=-1,length=path.length,result=!1;++index<length;){var key=toKey(path[index]);if(!(result=null!=object&&hasFunc(object,key)))break;object=object[key]}return result||++index!=length?result:(length=null==object?0:object.length,!!length&&isLength(length)&&isIndex(key,length)&&(isArray(object)||isArguments(object)))}function initCloneArray(array){var length=array.length,result=new array.constructor(length);return length&&"string"==typeof array[0]&&hasOwnProperty.call(array,"index")&&(result.index=array.index,result.input=array.input),result}function initCloneObject(object){return"function"!=typeof object.constructor||isPrototype(object)?{}:baseCreate(getPrototype(object))}function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return cloneArrayBuffer(object);case boolTag:case dateTag:return new Ctor((+object));case dataViewTag:return cloneDataView(object,isDeep);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:return cloneTypedArray(object,isDeep);case mapTag:return new Ctor;case numberTag:case stringTag:return new Ctor(object);case regexpTag:return cloneRegExp(object);case setTag:return new Ctor;case symbolTag:return cloneSymbol(object)}}function insertWrapDetails(source,details){var length=details.length;if(!length)return source;var lastIndex=length-1;return details[lastIndex]=(length>1?"& ":"")+details[lastIndex],details=details.join(length>2?", ":" "),source.replace(reWrapComment,"{\n/* [wrapped with "+details+"] */\n")}function isFlattenable(value){return isArray(value)||isArguments(value)||!!(spreadableSymbol&&value&&value[spreadableSymbol])}function isIndex(value,length){var type=typeof value;return length=null==length?MAX_SAFE_INTEGER:length,!!length&&("number"==type||"symbol"!=type&&reIsUint.test(value))&&value>-1&&value%1==0&&value<length}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;return!!("number"==type?isArrayLike(object)&&isIndex(index,object.length):"string"==type&&index in object)&&eq(object[index],value)}function isKey(value,object){if(isArray(value))return!1;var type=typeof value;return!("number"!=type&&"symbol"!=type&&"boolean"!=type&&null!=value&&!isSymbol(value))||(reIsPlainProp.test(value)||!reIsDeepProp.test(value)||null!=object&&value in Object(object))}function isKeyable(value){var type=typeof value;return"string"==type||"number"==type||"symbol"==type||"boolean"==type?"__proto__"!==value:null===value}function isLaziable(func){var funcName=getFuncName(func),other=lodash[funcName];if("function"!=typeof other||!(funcName in LazyWrapper.prototype))return!1;if(func===other)return!0;var data=getData(other);return!!data&&func===data[0]}function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}function isPrototype(value){var Ctor=value&&value.constructor,proto="function"==typeof Ctor&&Ctor.prototype||objectProto;return value===proto}function isStrictComparable(value){return value===value&&!isObject(value)}function matchesStrictComparable(key,srcValue){return function(object){return null!=object&&(object[key]===srcValue&&(srcValue!==undefined||key in Object(object)))}}function memoizeCapped(func){var result=memoize(func,function(key){return cache.size===MAX_MEMOIZE_SIZE&&cache.clear(),key}),cache=result.cache;return result}function mergeData(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask<(WRAP_BIND_FLAG|WRAP_BIND_KEY_FLAG|WRAP_ARY_FLAG),isCombo=srcBitmask==WRAP_ARY_FLAG&&bitmask==WRAP_CURRY_FLAG||srcBitmask==WRAP_ARY_FLAG&&bitmask==WRAP_REARG_FLAG&&data[7].length<=source[8]||srcBitmask==(WRAP_ARY_FLAG|WRAP_REARG_FLAG)&&source[7].length<=source[8]&&bitmask==WRAP_CURRY_FLAG;if(!isCommon&&!isCombo)return data;srcBitmask&WRAP_BIND_FLAG&&(data[2]=source[2],newBitmask|=bitmask&WRAP_BIND_FLAG?0:WRAP_CURRY_BOUND_FLAG);var value=source[3];if(value){var partials=data[3];data[3]=partials?composeArgs(partials,value,source[4]):value,data[4]=partials?replaceHolders(data[3],PLACEHOLDER):source[4]}return value=source[5],value&&(partials=data[5],data[5]=partials?composeArgsRight(partials,value,source[6]):value,data[6]=partials?replaceHolders(data[5],PLACEHOLDER):source[6]),value=source[7],value&&(data[7]=value),srcBitmask&WRAP_ARY_FLAG&&(data[8]=null==data[8]?source[8]:nativeMin(data[8],source[8])),null==data[9]&&(data[9]=source[9]),data[0]=source[0],data[1]=newBitmask,data}function nativeKeysIn(object){var result=[];if(null!=object)for(var key in Object(object))result.push(key);return result}function objectToString(value){return nativeObjectToString.call(value)}function overRest(func,start,transform){return start=nativeMax(start===undefined?func.length-1:start,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),array=Array(length);++index<length;)array[index]=args[start+index];index=-1;for(var otherArgs=Array(start+1);++index<start;)otherArgs[index]=args[index];return otherArgs[start]=transform(array),apply(func,this,otherArgs)}}function parent(object,path){return path.length<2?object:baseGet(object,baseSlice(path,0,-1))}function reorder(array,indexes){for(var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=copyArray(array);length--;){var index=indexes[length];array[length]=isIndex(index,arrLength)?oldArray[index]:undefined}return array}function setWrapToString(wrapper,reference,bitmask){var source=reference+"";return setToString(wrapper,insertWrapDetails(source,updateWrapDetails(getWrapDetails(source),bitmask)))}function shortOut(func){var count=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=HOT_SPAN-(stamp-lastCalled);if(lastCalled=stamp,remaining>0){if(++count>=HOT_COUNT)return arguments[0]}else count=0;return func.apply(undefined,arguments)}}function toKey(value){if("string"==typeof value||isSymbol(value))return value;var result=value+"";return"0"==result&&1/value==-INFINITY?"-0":result}function toSource(func){if(null!=func){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}function updateWrapDetails(details,bitmask){return arrayEach(wrapFlags,function(pair){var value="_."+pair[0];bitmask&pair[1]&&!arrayIncludes(details,value)&&details.push(value)}),details.sort()}function wrapperClone(wrapper){if(wrapper instanceof LazyWrapper)return wrapper.clone();var result=new LodashWrapper(wrapper.__wrapped__,wrapper.__chain__);return result.__actions__=copyArray(wrapper.__actions__),result.__index__=wrapper.__index__,result.__values__=wrapper.__values__,result}function compact(array){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];value&&(result[resIndex++]=value)}return result}function concat(){var length=arguments.length;if(!length)return[];for(var args=Array(length-1),array=arguments[0],index=length;index--;)args[index-1]=arguments[index];return arrayPush(isArray(array)?copyArray(array):[array],baseFlatten(args,1))}function drop(array,n,guard){var length=null==array?0:array.length;return length?(n=guard||n===undefined?1:toInteger(n),baseSlice(array,n<0?0:n,length)):[]}function findIndex(array,predicate,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=null==fromIndex?0:toInteger(fromIndex);return index<0&&(index=nativeMax(length+index,0)),baseFindIndex(array,baseIteratee(predicate,3),index)}function findLastIndex(array,predicate,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=length-1;return fromIndex!==undefined&&(index=toInteger(fromIndex),index=fromIndex<0?nativeMax(length+index,0):nativeMin(index,length-1)),baseFindIndex(array,baseIteratee(predicate,3),index,!0)}function flatten(array){var length=null==array?0:array.length;return length?baseFlatten(array,1):[]}function flattenDeep(array){var length=null==array?0:array.length;return length?baseFlatten(array,INFINITY):[]}function head(array){return array&&array.length?array[0]:undefined}function indexOf(array,value,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=null==fromIndex?0:toInteger(fromIndex);return index<0&&(index=nativeMax(length+index,0)),baseIndexOf(array,value,index)}function initial(array){var length=null==array?0:array.length;return length?baseSlice(array,0,-1):[]}function last(array){var length=null==array?0:array.length;return length?array[length-1]:undefined}function reverse(array){return null==array?array:nativeReverse.call(array)}function slice(array,start,end){var length=null==array?0:array.length;return length?(end&&"number"!=typeof end&&isIterateeCall(array,start,end)?(start=0,end=length):(start=null==start?0:toInteger(start),end=end===undefined?length:toInteger(end)),baseSlice(array,start,end)):[]}function take(array,n,guard){return array&&array.length?(n=guard||n===undefined?1:toInteger(n),baseSlice(array,0,n<0?0:n)):[]}function takeRight(array,n,guard){var length=null==array?0:array.length;return length?(n=guard||n===undefined?1:toInteger(n),n=length-n,baseSlice(array,n<0?0:n,length)):[]}function uniq(array){return array&&array.length?baseUniq(array):[]}function uniqBy(array,iteratee){return array&&array.length?baseUniq(array,baseIteratee(iteratee,2)):[]}function unzip(array){if(!array||!array.length)return[];var length=0;return array=arrayFilter(array,function(group){if(isArrayLikeObject(group))return length=nativeMax(group.length,length),!0}),baseTimes(length,function(index){return arrayMap(array,baseProperty(index))})}function zipObject(props,values){return baseZipObject(props||[],values||[],assignValue)}function chain(value){var result=lodash(value);return result.__chain__=!0,result}function tap(value,interceptor){return interceptor(value),value}function thru(value,interceptor){return interceptor(value)}function wrapperChain(){return chain(this)}function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)}function wrapperNext(){this.__values__===undefined&&(this.__values__=toArray(this.value()));var done=this.__index__>=this.__values__.length,value=done?undefined:this.__values__[this.__index__++];return{done:done,value:value}}function wrapperToIterator(){return this}function wrapperPlant(value){for(var result,parent=this;parent instanceof baseLodash;){var clone=wrapperClone(parent);clone.__index__=0,clone.__values__=undefined,result?previous.__wrapped__=clone:result=clone;var previous=clone;parent=parent.__wrapped__}return previous.__wrapped__=value,result}function wrapperReverse(){var value=this.__wrapped__;if(value instanceof LazyWrapper){var wrapped=value;return this.__actions__.length&&(wrapped=new LazyWrapper(this)),wrapped=wrapped.reverse(),wrapped.__actions__.push({func:thru,args:[reverse],thisArg:undefined}),new LodashWrapper(wrapped,this.__chain__)}return this.thru(reverse)}function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)}function every(collection,predicate,guard){var func=isArray(collection)?arrayEvery:baseEvery;return guard&&isIterateeCall(collection,predicate,guard)&&(predicate=undefined),func(collection,baseIteratee(predicate,3))}function filter(collection,predicate){var func=isArray(collection)?arrayFilter:baseFilter;return func(collection,baseIteratee(predicate,3))}function forEach(collection,iteratee){var func=isArray(collection)?arrayEach:baseEach;return func(collection,baseIteratee(iteratee,3))}function map(collection,iteratee){var func=isArray(collection)?arrayMap:baseMap;return func(collection,baseIteratee(iteratee,3))}function reduce(collection,iteratee,accumulator){var func=isArray(collection)?arrayReduce:baseReduce,initAccum=arguments.length<3;return func(collection,baseIteratee(iteratee,4),accumulator,initAccum,baseEach)}function reject(collection,predicate){var func=isArray(collection)?arrayFilter:baseFilter;return func(collection,negate(baseIteratee(predicate,3)))}function size(collection){if(null==collection)return 0;if(isArrayLike(collection))return isString(collection)?stringSize(collection):collection.length;var tag=getTag(collection);return tag==mapTag||tag==setTag?collection.size:baseKeys(collection).length}function some(collection,predicate,guard){var func=isArray(collection)?arraySome:baseSome;return guard&&isIterateeCall(collection,predicate,guard)&&(predicate=undefined),func(collection,baseIteratee(predicate,3))}function before(n,func){var result;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return n=toInteger(n),function(){return--n>0&&(result=func.apply(this,arguments)),n<=1&&(func=undefined),result}}function debounce(func,wait,options){function invokeFunc(time){var args=lastArgs,thisArg=lastThis;return lastArgs=lastThis=undefined,lastInvokeTime=time,result=func.apply(thisArg,args)}function leadingEdge(time){return lastInvokeTime=time,timerId=setTimeout(timerExpired,wait),leading?invokeFunc(time):result}function remainingWait(time){var timeSinceLastCall=time-lastCallTime,timeSinceLastInvoke=time-lastInvokeTime,timeWaiting=wait-timeSinceLastCall;return maxing?nativeMin(timeWaiting,maxWait-timeSinceLastInvoke):timeWaiting}function shouldInvoke(time){var timeSinceLastCall=time-lastCallTime,timeSinceLastInvoke=time-lastInvokeTime;return lastCallTime===undefined||timeSinceLastCall>=wait||timeSinceLastCall<0||maxing&&timeSinceLastInvoke>=maxWait}function timerExpired(){var time=now();return shouldInvoke(time)?trailingEdge(time):void(timerId=setTimeout(timerExpired,remainingWait(time)))}function trailingEdge(time){return timerId=undefined,trailing&&lastArgs?invokeFunc(time):(lastArgs=lastThis=undefined,result)}function cancel(){timerId!==undefined&&clearTimeout(timerId),lastInvokeTime=0,lastArgs=lastCallTime=lastThis=timerId=undefined}function flush(){return timerId===undefined?result:trailingEdge(now())}function debounced(){var time=now(),isInvoking=shouldInvoke(time);if(lastArgs=arguments,lastThis=this,lastCallTime=time,isInvoking){if(timerId===undefined)return leadingEdge(lastCallTime);if(maxing)return timerId=setTimeout(timerExpired,wait),invokeFunc(lastCallTime)}return timerId===undefined&&(timerId=setTimeout(timerExpired,wait)),result}var lastArgs,lastThis,maxWait,result,timerId,lastCallTime,lastInvokeTime=0,leading=!1,maxing=!1,trailing=!0;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return wait=toNumber(wait)||0,isObject(options)&&(leading=!!options.leading,maxing="maxWait"in options,maxWait=maxing?nativeMax(toNumber(options.maxWait)||0,wait):maxWait,trailing="trailing"in options?!!options.trailing:trailing),debounced.cancel=cancel,debounced.flush=flush,debounced}function memoize(func,resolver){if("function"!=typeof func||null!=resolver&&"function"!=typeof resolver)throw new TypeError(FUNC_ERROR_TEXT);var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key))return cache.get(key);var result=func.apply(this,args);return memoized.cache=cache.set(key,result)||cache,result};return memoized.cache=new(memoize.Cache||MapCache),memoized}function negate(predicate){if("function"!=typeof predicate)throw new TypeError(FUNC_ERROR_TEXT);return function(){var args=arguments;switch(args.length){case 0:return!predicate.call(this);case 1:return!predicate.call(this,args[0]);case 2:return!predicate.call(this,args[0],args[1]);case 3:return!predicate.call(this,args[0],args[1],args[2])}return!predicate.apply(this,args)}}function once(func){return before(2,func)}function rest(func,start){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=start===undefined?start:toInteger(start),baseRest(func,start)}function throttle(func,wait,options){var leading=!0,trailing=!0;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return isObject(options)&&(leading="leading"in options?!!options.leading:leading,trailing="trailing"in options?!!options.trailing:trailing),debounce(func,wait,{leading:leading,maxWait:wait,trailing:trailing})}function clone(value){return baseClone(value,CLONE_SYMBOLS_FLAG)}function cloneDeep(value){return baseClone(value,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG)}function eq(value,other){return value===other||value!==value&&other!==other}function isArrayLike(value){return null!=value&&isLength(value.length)&&!isFunction(value)}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}function isBoolean(value){return value===!0||value===!1||isObjectLike(value)&&baseGetTag(value)==boolTag}function isEmpty(value){if(null==value)return!0;if(isArrayLike(value)&&(isArray(value)||"string"==typeof value||"function"==typeof value.splice||isBuffer(value)||isTypedArray(value)||isArguments(value)))return!value.length;var tag=getTag(value);if(tag==mapTag||tag==setTag)return!value.size;if(isPrototype(value))return!baseKeys(value).length;for(var key in value)if(hasOwnProperty.call(value,key))return!1;return!0}function isEqual(value,other){return baseIsEqual(value,other)}function isFinite(value){return"number"==typeof value&&nativeIsFinite(value)}function isFunction(value){if(!isObject(value))return!1;var tag=baseGetTag(value);return tag==funcTag||tag==genTag||tag==asyncTag||tag==proxyTag}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return null!=value&&("object"==type||"function"==type)}function isObjectLike(value){return null!=value&&"object"==typeof value}function isNaN(value){return isNumber(value)&&value!=+value}function isNull(value){return null===value}function isNumber(value){return"number"==typeof value||isObjectLike(value)&&baseGetTag(value)==numberTag}function isPlainObject(value){if(!isObjectLike(value)||baseGetTag(value)!=objectTag)return!1;var proto=getPrototype(value);
if(null===proto)return!0;var Ctor=hasOwnProperty.call(proto,"constructor")&&proto.constructor;return"function"==typeof Ctor&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}function isString(value){return"string"==typeof value||!isArray(value)&&isObjectLike(value)&&baseGetTag(value)==stringTag}function isSymbol(value){return"symbol"==typeof value||isObjectLike(value)&&baseGetTag(value)==symbolTag}function isUndefined(value){return value===undefined}function toArray(value){if(!value)return[];if(isArrayLike(value))return isString(value)?stringToArray(value):copyArray(value);if(symIterator&&value[symIterator])return iteratorToArray(value[symIterator]());var tag=getTag(value),func=tag==mapTag?mapToArray:tag==setTag?setToArray:values;return func(value)}function toFinite(value){if(!value)return 0===value?value:0;if(value=toNumber(value),value===INFINITY||value===-INFINITY){var sign=value<0?-1:1;return sign*MAX_INTEGER}return value===value?value:0}function toInteger(value){var result=toFinite(value),remainder=result%1;return result===result?remainder?result-remainder:result:0}function toNumber(value){if("number"==typeof value)return value;if(isSymbol(value))return NAN;if(isObject(value)){var other="function"==typeof value.valueOf?value.valueOf():value;value=isObject(other)?other+"":other}if("string"!=typeof value)return 0===value?value:+value;value=value.replace(reTrim,"");var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NAN:+value}function toPlainObject(value){return copyObject(value,keysIn(value))}function toString(value){return null==value?"":baseToString(value)}function create(prototype,properties){var result=baseCreate(prototype);return null==properties?result:baseAssign(result,properties)}function findKey(object,predicate){return baseFindKey(object,baseIteratee(predicate,3),baseForOwn)}function findLastKey(object,predicate){return baseFindKey(object,baseIteratee(predicate,3),baseForOwnRight)}function get(object,path,defaultValue){var result=null==object?undefined:baseGet(object,path);return result===undefined?defaultValue:result}function has(object,path){return null!=object&&hasPath(object,path,baseHas)}function hasIn(object,path){return null!=object&&hasPath(object,path,baseHasIn)}function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,!0):baseKeysIn(object)}function omitBy(object,predicate){return pickBy(object,negate(baseIteratee(predicate)))}function pickBy(object,predicate){if(null==object)return{};var props=arrayMap(getAllKeysIn(object),function(prop){return[prop]});return predicate=baseIteratee(predicate),basePickBy(object,props,function(value,path){return predicate(value,path[0])})}function result(object,path,defaultValue){path=castPath(path,object);var index=-1,length=path.length;for(length||(length=1,object=undefined);++index<length;){var value=null==object?undefined:object[toKey(path[index])];value===undefined&&(index=length,value=defaultValue),object=isFunction(value)?value.call(object):value}return object}function set(object,path,value){return null==object?object:baseSet(object,path,value)}function values(object){return null==object?[]:baseValues(object,keys(object))}function clamp(number,lower,upper){return upper===undefined&&(upper=lower,lower=undefined),upper!==undefined&&(upper=toNumber(upper),upper=upper===upper?upper:0),lower!==undefined&&(lower=toNumber(lower),lower=lower===lower?lower:0),baseClamp(toNumber(number),lower,upper)}function random(lower,upper,floating){if(floating&&"boolean"!=typeof floating&&isIterateeCall(lower,upper,floating)&&(upper=floating=undefined),floating===undefined&&("boolean"==typeof upper?(floating=upper,upper=undefined):"boolean"==typeof lower&&(floating=lower,lower=undefined)),lower===undefined&&upper===undefined?(lower=0,upper=1):(lower=toFinite(lower),upper===undefined?(upper=lower,lower=0):upper=toFinite(upper)),lower>upper){var temp=lower;lower=upper,upper=temp}if(floating||lower%1||upper%1){var rand=nativeRandom();return nativeMin(lower+rand*(upper-lower+freeParseFloat("1e-"+((rand+"").length-1))),upper)}return baseRandom(lower,upper)}function escape(string){return string=toString(string),string&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string}function trim(string,chars,guard){if(string=toString(string),string&&(guard||chars===undefined))return string.replace(reTrim,"");if(!string||!(chars=baseToString(chars)))return string;var strSymbols=stringToArray(string),chrSymbols=stringToArray(chars),start=charsStartIndex(strSymbols,chrSymbols),end=charsEndIndex(strSymbols,chrSymbols)+1;return castSlice(strSymbols,start,end).join("")}function constant(value){return function(){return value}}function identity(value){return value}function iteratee(func){return baseIteratee("function"==typeof func?func:baseClone(func,CLONE_DEEP_FLAG))}function matches(source){return baseMatches(baseClone(source,CLONE_DEEP_FLAG))}function mixin(object,source,options){var props=keys(source),methodNames=baseFunctions(source,props);null!=options||isObject(source)&&(methodNames.length||!props.length)||(options=source,source=object,object=this,methodNames=baseFunctions(source,keys(source)));var chain=!(isObject(options)&&"chain"in options&&!options.chain),isFunc=isFunction(object);return arrayEach(methodNames,function(methodName){var func=source[methodName];object[methodName]=func,isFunc&&(object.prototype[methodName]=function(){var chainAll=this.__chain__;if(chain||chainAll){var result=object(this.__wrapped__),actions=result.__actions__=copyArray(this.__actions__);return actions.push({func:func,args:arguments,thisArg:object}),result.__chain__=chainAll,result}return func.apply(object,arrayPush([this.value()],arguments))})}),object}function noConflict(){return root._===this&&(root._=oldDash),this}function noop(){}function property(path){return isKey(path)?baseProperty(toKey(path)):basePropertyDeep(path)}function stubArray(){return[]}function stubFalse(){return!1}function uniqueId(prefix){var id=++idCounter;return toString(prefix)+id}function max(array){return array&&array.length?baseExtremum(array,identity,baseGt):undefined}function min(array){return array&&array.length?baseExtremum(array,identity,baseLt):undefined}var undefined,VERSION="4.17.5",LARGE_ARRAY_SIZE=200,FUNC_ERROR_TEXT="Expected a function",HASH_UNDEFINED="__lodash_hash_undefined__",MAX_MEMOIZE_SIZE=500,PLACEHOLDER="__lodash_placeholder__",CLONE_DEEP_FLAG=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG=4,COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2,WRAP_BIND_FLAG=1,WRAP_BIND_KEY_FLAG=2,WRAP_CURRY_BOUND_FLAG=4,WRAP_CURRY_FLAG=8,WRAP_CURRY_RIGHT_FLAG=16,WRAP_PARTIAL_FLAG=32,WRAP_PARTIAL_RIGHT_FLAG=64,WRAP_ARY_FLAG=128,WRAP_REARG_FLAG=256,WRAP_FLIP_FLAG=512,HOT_COUNT=800,HOT_SPAN=16,LAZY_FILTER_FLAG=1,LAZY_MAP_FLAG=2,LAZY_WHILE_FLAG=3,INFINITY=1/0,MAX_SAFE_INTEGER=9007199254740991,MAX_INTEGER=1.7976931348623157e308,NAN=NaN,MAX_ARRAY_LENGTH=4294967295,wrapFlags=[["ary",WRAP_ARY_FLAG],["bind",WRAP_BIND_FLAG],["bindKey",WRAP_BIND_KEY_FLAG],["curry",WRAP_CURRY_FLAG],["curryRight",WRAP_CURRY_RIGHT_FLAG],["flip",WRAP_FLIP_FLAG],["partial",WRAP_PARTIAL_FLAG],["partialRight",WRAP_PARTIAL_RIGHT_FLAG],["rearg",WRAP_REARG_FLAG]],argsTag="[object Arguments]",arrayTag="[object Array]",asyncTag="[object AsyncFunction]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",nullTag="[object Null]",objectTag="[object Object]",promiseTag="[object Promise]",proxyTag="[object Proxy]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",undefinedTag="[object Undefined]",weakMapTag="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",reUnescapedHtml=/[&<>"']/g,reHasUnescapedHtml=RegExp(reUnescapedHtml.source),reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reTrim=/^\s+|\s+$/g,reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /,reEscapeChar=/\\(\\)?/g,reFlags=/\w*$/,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsHostCtor=/^\[object .+?Constructor\]$/,reIsOctal=/^0o[0-7]+$/i,reIsUint=/^(?:0|[1-9]\d*)$/,rsAstralRange="\\ud800-\\udfff",rsComboMarksRange="\\u0300-\\u036f",reComboHalfMarksRange="\\ufe20-\\ufe2f",rsComboSymbolsRange="\\u20d0-\\u20ff",rsComboRange=rsComboMarksRange+reComboHalfMarksRange+rsComboSymbolsRange,rsVarRange="\\ufe0e\\ufe0f",rsAstral="["+rsAstralRange+"]",rsCombo="["+rsComboRange+"]",rsFitz="\\ud83c[\\udffb-\\udfff]",rsModifier="(?:"+rsCombo+"|"+rsFitz+")",rsNonAstral="[^"+rsAstralRange+"]",rsRegional="(?:\\ud83c[\\udde6-\\uddff]){2}",rsSurrPair="[\\ud800-\\udbff][\\udc00-\\udfff]",rsZWJ="\\u200d",reOptMod=rsModifier+"?",rsOptVar="["+rsVarRange+"]?",rsOptJoin="(?:"+rsZWJ+"(?:"+[rsNonAstral,rsRegional,rsSurrPair].join("|")+")"+rsOptVar+reOptMod+")*",rsSeq=rsOptVar+reOptMod+rsOptJoin,rsSymbol="(?:"+[rsNonAstral+rsCombo+"?",rsCombo,rsRegional,rsSurrPair,rsAstral].join("|")+")",reUnicode=RegExp(rsFitz+"(?="+rsFitz+")|"+rsSymbol+rsSeq,"g"),reHasUnicode=RegExp("["+rsZWJ+rsAstralRange+rsComboRange+rsVarRange+"]"),typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;var htmlEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},freeParseFloat=parseFloat,freeParseInt=parseInt,freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,freeProcess=moduleExports&&freeGlobal.process,nodeUtil=function(){try{return freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}(),nodeIsDate=nodeUtil&&nodeUtil.isDate,nodeIsMap=nodeUtil&&nodeUtil.isMap,nodeIsRegExp=nodeUtil&&nodeUtil.isRegExp,nodeIsSet=nodeUtil&&nodeUtil.isSet,nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,asciiSize=baseProperty("length"),escapeHtmlChar=basePropertyOf(htmlEscapes),arrayProto=Array.prototype,funcProto=Function.prototype,objectProto=Object.prototype,coreJsData=root["__core-js_shared__"],funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,idCounter=0,maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}(),nativeObjectToString=objectProto.toString,objectCtorString=funcToString.call(Object),oldDash=root._,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Buffer=moduleExports?root.Buffer:undefined,Symbol=root.Symbol,Uint8Array=root.Uint8Array,allocUnsafe=Buffer?Buffer.allocUnsafe:undefined,getPrototype=overArg(Object.getPrototypeOf,Object),objectCreate=Object.create,propertyIsEnumerable=objectProto.propertyIsEnumerable,splice=arrayProto.splice,spreadableSymbol=Symbol?Symbol.isConcatSpreadable:undefined,symIterator=Symbol?Symbol.iterator:undefined,symToStringTag=Symbol?Symbol.toStringTag:undefined,defineProperty=function(){try{var func=getNative(Object,"defineProperty");return func({},"",{}),func}catch(e){}}(),nativeCeil=Math.ceil,nativeFloor=Math.floor,nativeGetSymbols=Object.getOwnPropertySymbols,nativeIsBuffer=Buffer?Buffer.isBuffer:undefined,nativeIsFinite=root.isFinite,nativeKeys=overArg(Object.keys,Object),nativeMax=Math.max,nativeMin=Math.min,nativeNow=Date.now,nativeRandom=Math.random,nativeReverse=arrayProto.reverse,DataView=getNative(root,"DataView"),Map=getNative(root,"Map"),Promise=getNative(root,"Promise"),Set=getNative(root,"Set"),WeakMap=getNative(root,"WeakMap"),nativeCreate=getNative(Object,"create"),metaMap=WeakMap&&new WeakMap,realNames={},dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap),symbolProto=Symbol?Symbol.prototype:undefined,symbolValueOf=symbolProto?symbolProto.valueOf:undefined,symbolToString=symbolProto?symbolProto.toString:undefined,baseCreate=function(){function object(){}return function(proto){if(!isObject(proto))return{};if(objectCreate)return objectCreate(proto);object.prototype=proto;var result=new object;return object.prototype=undefined,result}}();lodash.prototype=baseLodash.prototype,lodash.prototype.constructor=lodash,LodashWrapper.prototype=baseCreate(baseLodash.prototype),LodashWrapper.prototype.constructor=LodashWrapper,LazyWrapper.prototype=baseCreate(baseLodash.prototype),LazyWrapper.prototype.constructor=LazyWrapper,Hash.prototype.clear=hashClear,Hash.prototype["delete"]=hashDelete,Hash.prototype.get=hashGet,Hash.prototype.has=hashHas,Hash.prototype.set=hashSet,ListCache.prototype.clear=listCacheClear,ListCache.prototype["delete"]=listCacheDelete,ListCache.prototype.get=listCacheGet,ListCache.prototype.has=listCacheHas,ListCache.prototype.set=listCacheSet,MapCache.prototype.clear=mapCacheClear,MapCache.prototype["delete"]=mapCacheDelete,MapCache.prototype.get=mapCacheGet,MapCache.prototype.has=mapCacheHas,MapCache.prototype.set=mapCacheSet,SetCache.prototype.add=SetCache.prototype.push=setCacheAdd,SetCache.prototype.has=setCacheHas,Stack.prototype.clear=stackClear,Stack.prototype["delete"]=stackDelete,Stack.prototype.get=stackGet,Stack.prototype.has=stackHas,Stack.prototype.set=stackSet;var baseEach=createBaseEach(baseForOwn),baseFor=createBaseFor(),baseForRight=createBaseFor(!0),baseSetData=metaMap?function(func,data){return metaMap.set(func,data),func}:identity,baseSetToString=defineProperty?function(func,string){return defineProperty(func,"toString",{configurable:!0,enumerable:!1,value:constant(string),writable:!0})}:identity,createSet=Set&&1/setToArray(new Set([,-0]))[1]==INFINITY?function(values){return new Set(values)}:noop,getData=metaMap?function(func){return metaMap.get(func)}:noop,getSymbols=nativeGetSymbols?function(object){return null==object?[]:(object=Object(object),arrayFilter(nativeGetSymbols(object),function(symbol){return propertyIsEnumerable.call(object,symbol)}))}:stubArray,getSymbolsIn=nativeGetSymbols?function(object){for(var result=[];object;)arrayPush(result,getSymbols(object)),object=getPrototype(object);return result}:stubArray,getTag=baseGetTag;(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map)!=mapTag||Promise&&getTag(Promise.resolve())!=promiseTag||Set&&getTag(new Set)!=setTag||WeakMap&&getTag(new WeakMap)!=weakMapTag)&&(getTag=function(value){var result=baseGetTag(value),Ctor=result==objectTag?value.constructor:undefined,ctorString=Ctor?toSource(Ctor):"";if(ctorString)switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}return result});var setData=shortOut(baseSetData),setToString=shortOut(baseSetToString),stringToPath=memoizeCapped(function(string){var result=[];return 46===string.charCodeAt(0)&&result.push(""),string.replace(rePropName,function(match,number,quote,subString){result.push(quote?subString.replace(reEscapeChar,"$1"):number||match)}),result}),difference=baseRest(function(array,values){return isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,!0)):[]}),intersection=baseRest(function(arrays){var mapped=arrayMap(arrays,castArrayLikeObject);return mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped):[]}),union=baseRest(function(arrays){return baseUniq(baseFlatten(arrays,1,isArrayLikeObject,!0))}),without=baseRest(function(array,values){return isArrayLikeObject(array)?baseDifference(array,values):[]}),zip=baseRest(unzip),wrapperAt=flatRest(function(paths){var length=paths.length,start=length?paths[0]:0,value=this.__wrapped__,interceptor=function(object){return baseAt(object,paths)};return!(length>1||this.__actions__.length)&&value instanceof LazyWrapper&&isIndex(start)?(value=value.slice(start,+start+(length?1:0)),value.__actions__.push({func:thru,args:[interceptor],thisArg:undefined}),new LodashWrapper(value,this.__chain__).thru(function(array){return length&&!array.length&&array.push(undefined),array})):this.thru(interceptor)}),countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?++result[key]:baseAssignValue(result,key,1)}),find=createFind(findIndex),groupBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?result[key].push(value):baseAssignValue(result,key,[value])}),sortBy=baseRest(function(collection,iteratees){if(null==collection)return[];var length=iteratees.length;return length>1&&isIterateeCall(collection,iteratees[0],iteratees[1])?iteratees=[]:length>2&&isIterateeCall(iteratees[0],iteratees[1],iteratees[2])&&(iteratees=[iteratees[0]]),baseOrderBy(collection,baseFlatten(iteratees,1),[])}),now=function(){return root.Date.now()},bind=baseRest(function(func,thisArg,partials){var bitmask=WRAP_BIND_FLAG;if(partials.length){var holders=replaceHolders(partials,getHolder(bind));bitmask|=WRAP_PARTIAL_FLAG}return createWrap(func,bitmask,thisArg,partials,holders)}),defer=baseRest(function(func,args){return baseDelay(func,1,args)}),delay=baseRest(function(func,wait,args){return baseDelay(func,toNumber(wait)||0,args)});memoize.Cache=MapCache;var isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")},isArray=Array.isArray,isBuffer=nativeIsBuffer||stubFalse,isDate=nodeIsDate?baseUnary(nodeIsDate):baseIsDate,isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap,isRegExp=nodeIsRegExp?baseUnary(nodeIsRegExp):baseIsRegExp,isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,assignIn=createAssigner(function(object,source){copyObject(source,keysIn(source),object)}),defaults=baseRest(function(object,sources){object=Object(object);var index=-1,length=sources.length,guard=length>2?sources[2]:undefined;for(guard&&isIterateeCall(sources[0],sources[1],guard)&&(length=1);++index<length;)for(var source=sources[index],props=keysIn(source),propsIndex=-1,propsLength=props.length;++propsIndex<propsLength;){var key=props[propsIndex],value=object[key];(value===undefined||eq(value,objectProto[key])&&!hasOwnProperty.call(object,key))&&(object[key]=source[key])}return object}),defaultsDeep=baseRest(function(args){return args.push(undefined,customDefaultsMerge),apply(mergeWith,undefined,args)}),invert=createInverter(function(result,value,key){null!=value&&"function"!=typeof value.toString&&(value=nativeObjectToString.call(value)),result[value]=key},constant(identity)),invertBy=createInverter(function(result,value,key){null!=value&&"function"!=typeof value.toString&&(value=nativeObjectToString.call(value)),hasOwnProperty.call(result,value)?result[value].push(key):result[value]=[key]},baseIteratee),merge=createAssigner(function(object,source,srcIndex){baseMerge(object,source,srcIndex)}),mergeWith=createAssigner(function(object,source,srcIndex,customizer){baseMerge(object,source,srcIndex,customizer)}),omit=flatRest(function(object,paths){var result={};if(null==object)return result;var isDeep=!1;paths=arrayMap(paths,function(path){return path=castPath(path,object),isDeep||(isDeep=path.length>1),path}),copyObject(object,getAllKeysIn(object),result),isDeep&&(result=baseClone(result,CLONE_DEEP_FLAG|CLONE_FLAT_FLAG|CLONE_SYMBOLS_FLAG,customOmitClone));for(var length=paths.length;length--;)baseUnset(result,paths[length]);return result}),pick=flatRest(function(object,paths){return null==object?{}:basePick(object,paths)}),range=createRange();lodash.assignIn=assignIn,lodash.before=before,lodash.bind=bind,lodash.chain=chain,lodash.compact=compact,lodash.concat=concat,lodash.countBy=countBy,lodash.create=create,lodash.debounce=debounce,lodash.defaults=defaults,lodash.defaultsDeep=defaultsDeep,lodash.defer=defer,lodash.delay=delay,lodash.difference=difference,lodash.drop=drop,lodash.filter=filter,lodash.flatten=flatten,lodash.flattenDeep=flattenDeep,lodash.groupBy=groupBy,lodash.initial=initial,lodash.intersection=intersection,lodash.invert=invert,lodash.invertBy=invertBy,lodash.iteratee=iteratee,lodash.keys=keys,lodash.map=map,lodash.matches=matches,lodash.merge=merge,lodash.mixin=mixin,lodash.negate=negate,lodash.omit=omit,lodash.omitBy=omitBy,lodash.once=once,lodash.pick=pick,lodash.range=range,lodash.reject=reject,lodash.rest=rest,lodash.set=set,lodash.slice=slice,lodash.sortBy=sortBy,lodash.take=take,lodash.takeRight=takeRight,lodash.tap=tap,lodash.throttle=throttle,lodash.thru=thru,lodash.toArray=toArray,lodash.union=union,lodash.uniq=uniq,lodash.uniqBy=uniqBy,lodash.unzip=unzip,lodash.values=values,lodash.without=without,lodash.zip=zip,lodash.zipObject=zipObject,lodash.extend=assignIn,mixin(lodash,lodash),lodash.clamp=clamp,lodash.clone=clone,lodash.cloneDeep=cloneDeep,lodash.escape=escape,lodash.every=every,lodash.find=find,lodash.findIndex=findIndex,lodash.findKey=findKey,lodash.findLastIndex=findLastIndex,lodash.findLastKey=findLastKey,lodash.forEach=forEach,lodash.get=get,lodash.has=has,lodash.head=head,lodash.identity=identity,lodash.indexOf=indexOf,lodash.isArguments=isArguments,lodash.isArray=isArray,lodash.isArrayLike=isArrayLike,lodash.isBoolean=isBoolean,lodash.isDate=isDate,lodash.isEmpty=isEmpty,lodash.isEqual=isEqual,lodash.isFinite=isFinite,lodash.isFunction=isFunction,lodash.isNaN=isNaN,lodash.isNull=isNull,lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isPlainObject=isPlainObject,lodash.isRegExp=isRegExp,lodash.isString=isString,lodash.isUndefined=isUndefined,lodash.last=last,lodash.max=max,lodash.min=min,lodash.noConflict=noConflict,lodash.noop=noop,lodash.random=random,lodash.reduce=reduce,lodash.result=result,lodash.size=size,lodash.some=some,lodash.trim=trim,lodash.uniqueId=uniqueId,lodash.each=forEach,lodash.first=head,mixin(lodash,function(){var source={};return baseForOwn(lodash,function(func,methodName){hasOwnProperty.call(lodash.prototype,methodName)||(source[methodName]=func)}),source}(),{chain:!1}),lodash.VERSION=VERSION,arrayEach(["drop","take"],function(methodName,index){LazyWrapper.prototype[methodName]=function(n){n=n===undefined?1:nativeMax(toInteger(n),0);var result=this.__filtered__&&!index?new LazyWrapper(this):this.clone();return result.__filtered__?result.__takeCount__=nativeMin(n,result.__takeCount__):result.__views__.push({size:nativeMin(n,MAX_ARRAY_LENGTH),type:methodName+(result.__dir__<0?"Right":"")}),result},LazyWrapper.prototype[methodName+"Right"]=function(n){return this.reverse()[methodName](n).reverse()}}),arrayEach(["filter","map","takeWhile"],function(methodName,index){var type=index+1,isFilter=type==LAZY_FILTER_FLAG||type==LAZY_WHILE_FLAG;LazyWrapper.prototype[methodName]=function(iteratee){var result=this.clone();return result.__iteratees__.push({iteratee:getIteratee(iteratee,3),type:type}),result.__filtered__=result.__filtered__||isFilter,result}}),arrayEach(["head","last"],function(methodName,index){var takeName="take"+(index?"Right":"");LazyWrapper.prototype[methodName]=function(){return this[takeName](1).value()[0]}}),arrayEach(["initial","tail"],function(methodName,index){var dropName="drop"+(index?"":"Right");LazyWrapper.prototype[methodName]=function(){return this.__filtered__?new LazyWrapper(this):this[dropName](1)}}),LazyWrapper.prototype.compact=function(){return this.filter(identity)},LazyWrapper.prototype.find=function(predicate){return this.filter(predicate).head()},LazyWrapper.prototype.findLast=function(predicate){return this.reverse().find(predicate)},LazyWrapper.prototype.invokeMap=baseRest(function(path,args){return"function"==typeof path?new LazyWrapper(this):this.map(function(value){return baseInvoke(value,path,args)})}),LazyWrapper.prototype.reject=function(predicate){return this.filter(negate(getIteratee(predicate)))},LazyWrapper.prototype.slice=function(start,end){start=toInteger(start);var result=this;return result.__filtered__&&(start>0||end<0)?new LazyWrapper(result):(start<0?result=result.takeRight(-start):start&&(result=result.drop(start)),end!==undefined&&(end=toInteger(end),result=end<0?result.dropRight(-end):result.take(end-start)),result)},LazyWrapper.prototype.takeRightWhile=function(predicate){return this.reverse().takeWhile(predicate).reverse()},LazyWrapper.prototype.toArray=function(){return this.take(MAX_ARRAY_LENGTH)},baseForOwn(LazyWrapper.prototype,function(func,methodName){var checkIteratee=/^(?:filter|find|map|reject)|While$/.test(methodName),isTaker=/^(?:head|last)$/.test(methodName),lodashFunc=lodash[isTaker?"take"+("last"==methodName?"Right":""):methodName],retUnwrapped=isTaker||/^find/.test(methodName);lodashFunc&&(lodash.prototype[methodName]=function(){var value=this.__wrapped__,args=isTaker?[1]:arguments,isLazy=value instanceof LazyWrapper,iteratee=args[0],useLazy=isLazy||isArray(value),interceptor=function(value){var result=lodashFunc.apply(lodash,arrayPush([value],args));return isTaker&&chainAll?result[0]:result};useLazy&&checkIteratee&&"function"==typeof iteratee&&1!=iteratee.length&&(isLazy=useLazy=!1);var chainAll=this.__chain__,isHybrid=!!this.__actions__.length,isUnwrapped=retUnwrapped&&!chainAll,onlyLazy=isLazy&&!isHybrid;if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper(this);var result=func.apply(value,args);return result.__actions__.push({func:thru,args:[interceptor],thisArg:undefined}),new LodashWrapper(result,chainAll)}return isUnwrapped&&onlyLazy?func.apply(this,args):(result=this.thru(interceptor),isUnwrapped?isTaker?result.value()[0]:result.value():result)})}),arrayEach(["pop","push","shift","sort","splice","unshift"],function(methodName){var func=arrayProto[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:pop|shift)$/.test(methodName);lodash.prototype[methodName]=function(){var args=arguments;if(retUnwrapped&&!this.__chain__){var value=this.value();return func.apply(isArray(value)?value:[],args)}return this[chainName](function(value){return func.apply(isArray(value)?value:[],args)})}}),baseForOwn(LazyWrapper.prototype,function(func,methodName){var lodashFunc=lodash[methodName];if(lodashFunc){var key=lodashFunc.name+"",names=realNames[key]||(realNames[key]=[]);names.push({name:methodName,func:lodashFunc})}}),realNames[createHybrid(undefined,WRAP_BIND_KEY_FLAG).name]=[{name:"wrapper",func:undefined}],LazyWrapper.prototype.clone=lazyClone,LazyWrapper.prototype.reverse=lazyReverse,LazyWrapper.prototype.value=lazyValue,lodash.prototype.first=lodash.prototype.head,symIterator&&(lodash.prototype[symIterator]=wrapperToIterator),"function"==typeof define&&"object"==typeof define.amd&&define.amd?(root._=lodash,define(function(){return lodash})):freeModule?((freeModule.exports=lodash)._=lodash,freeExports._=lodash):root._=lodash}.call(this);var _global;_global="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,_global.BI||(_global.BI={}),!function(undefined){var traverse=function(func,context){return function(value,key,obj){return func.call(context,key,value,obj)}},_apply=function(name){return function(){return _[name].apply(_,arguments)}},_applyFunc=function(name){return function(){var args=Array.prototype.slice.call(arguments,0);return args[1]=_.isFunction(args[1])?traverse(args[1],args[2]):args[1],_[name].apply(_,args)}};_.extend(BI,{assert:function(v,is){if(this.isFunction(is)){if(is(v))return!0;throw new Error(v+" error")}if(this.isArray(is)||(is=[is]),!this.deepContains(is,v))throw new Error(v+" error")},warn:function(message){console.warn(message)},UUID:function(){for(var f=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],str="",i=0;i<16;i++){var r=parseInt(f.length*Math.random(),10);str+=f[r]}return str},isWidget:function(widget){return widget instanceof BI.Widget||BI.View&&widget instanceof BI.View},createWidgets:function(items,options,context){if(!BI.isArray(items))throw new Error("cannot create Widgets");return BI.isWidget(options)?(context=options,options={}):options||(options={}),BI.map(BI.flatten(items),function(i,item){return BI.createWidget(item,BI.deepClone(options))})},createItems:function(data,innerAttr,outerAttr){return innerAttr=BI.isArray(innerAttr)?innerAttr:BI.makeArray(BI.flatten(data).length,innerAttr||{}),outerAttr=BI.isArray(outerAttr)?outerAttr:BI.makeArray(BI.flatten(data).length,outerAttr||{}),BI.map(data,function(i,item){return BI.isArray(item)?BI.createItems(item,innerAttr,outerAttr):item instanceof BI.Widget?BI.extend({},innerAttr.shift(),outerAttr.shift(),{type:null,el:item}):innerAttr[0]instanceof BI.Widget?(outerAttr.shift(),BI.extend({},item,{el:innerAttr.shift()})):item.el instanceof BI.Widget||BI.View&&item.el instanceof BI.View?(innerAttr.shift(),BI.extend({},outerAttr.shift(),{type:null},item)):item.el?BI.extend({},outerAttr.shift(),item,{el:BI.extend({},innerAttr.shift(),item.el)}):BI.extend({},outerAttr.shift(),{el:BI.extend({},innerAttr.shift(),item)})})},packageItems:function(items,layouts){for(var i=layouts.length-1;i>=0;i--)items=BI.map(items,function(k,it){return BI.extend({},layouts[i],{items:[BI.extend({},layouts[i].el,{el:it})]})});return items},formatEL:function(obj){return obj&&!obj.type&&obj.el?obj:{el:obj}},stripEL:function(obj){return obj.type&&obj||obj.el||obj},trans2Element:function(widgets){return BI.map(widgets,function(i,wi){return wi.element})}}),_.each(["where","findWhere","invoke","pluck","shuffle","sample","toArray","size"],function(name){BI[name]=_apply(name)}),_.each(["get","set","each","map","reduce","reduceRight","find","filter","reject","every","all","some","any","max","min","sortBy","groupBy","indexBy","countBy","partition","clamp"],function(name){"any"===name?BI[name]=_applyFunc("some"):BI[name]=_applyFunc(name);
}),_.extend(BI,{count:function(from,to,predicate){var t;if(predicate)for(t=from;t<to;t++)predicate(t);return to-from},inverse:function(from,to,predicate){return BI.count(to,from,predicate)},firstKey:function(obj){var res=undefined;return BI.any(obj,function(key,value){return res=key,!0}),res},lastKey:function(obj){var res=undefined;return BI.each(obj,function(key,value){return res=key,!0}),res},firstObject:function(obj){var res=undefined;return BI.any(obj,function(key,value){return res=value,!0}),res},lastObject:function(obj){var res=undefined;return BI.each(obj,function(key,value){return res=value,!0}),res},concat:function(obj1,obj2){return BI.isKey(obj1)?obj1+""+obj2:BI.isArray(obj1)?obj1.concat(obj2):BI.isObject(obj1)?_.extend({},obj1,obj2):void 0},backEach:function(obj,predicate,context){predicate=BI.iteratee(predicate,context);for(var index=obj.length-1;index>=0;index--)predicate(index,obj[index],obj);return!1},backAny:function(obj,predicate,context){predicate=BI.iteratee(predicate,context);for(var index=obj.length-1;index>=0;index--)if(predicate(index,obj[index],obj))return!0;return!1},backEvery:function(obj,predicate,context){predicate=BI.iteratee(predicate,context);for(var index=obj.length-1;index>=0;index--)if(!predicate(index,obj[index],obj))return!1;return!0},backFindKey:function(obj,predicate,context){predicate=BI.iteratee(predicate,context);for(var keys=_.keys(obj),key,i=keys.length-1;i>=0;i--)if(key=keys[i],predicate(obj[key],key,obj))return key},backFind:function(obj,predicate,context){var key;if(key=BI.isArray(obj)?BI.findLastIndex(obj,predicate,context):BI.backFindKey(obj,predicate,context),void 0!==key&&key!==-1)return obj[key]},remove:function(obj,target,context){var isFunction=BI.isFunction(target);target=isFunction||BI.isArray(target)?target:[target];var i;if(BI.isArray(obj))for(i=0;i<obj.length;i++)(isFunction&&target.apply(context,[i,obj[i]])===!0||!isFunction&&BI.contains(target,obj[i]))&&obj.splice(i--,1);else BI.each(obj,function(i,v){(isFunction&&target.apply(context,[i,obj[i]])===!0||!isFunction&&BI.contains(target,obj[i]))&&delete obj[i]})},removeAt:function(obj,index){index=BI.isArray(index)?index:[index];var isArray=BI.isArray(obj),i;for(i=0;i<index.length;i++)isArray?obj[index[i]]="$deleteIndex":delete obj[index[i]];isArray&&BI.remove(obj,"$deleteIndex")},string2Array:function(str){return str.split("&-&")},array2String:function(array){return array.join("&-&")},abc2Int:function(str){for(var idx=0,start="A",str=str.toUpperCase(),i=0,len=str.length;i<len;++i)if(idx=str.charAt(i).charCodeAt(0)-start.charCodeAt(0)+26*idx+1,idx>(2147483646-str.charAt(i).charCodeAt(0)+start.charCodeAt(0))/26)return 0;return idx},int2Abc:function(num){var DIGITS=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],idx=num,str="";if(0===num)return"";for(;0!==idx;){var t=idx%26;0===t&&(t=26),str=DIGITS[t-1]+str,idx=(idx-t)/26}return str}}),_.each(["first","initial","last","rest","compact","flatten","without","union","intersection","difference","zip","unzip","object","indexOf","lastIndexOf","sortedIndex","range","take","takeRight","uniqBy"],function(name){BI[name]=_apply(name)}),_.each(["findIndex","findLastIndex"],function(name){BI[name]=_applyFunc(name)}),_.extend(BI,{makeArray:function(length,value){for(var res=[],i=0;i<length;i++)BI.isNull(value)?res.push(i):res.push(BI.deepClone(value));return res},makeObject:function(array,value){for(var map={},i=0;i<array.length;i++)BI.isNull(value)?map[array[i]]=array[i]:map[array[i]]=BI.deepClone(value);return map},makeArrayByArray:function(array,value){var res=[];if(!array)return res;for(var i=0,len=array.length;i<len;i++)BI.isArray(array[i])?res.push(arguments.callee(array[i],value)):res.push(BI.deepClone(value));return res},uniq:function(array,isSorted,iteratee,context){return null==array?[]:(_.isBoolean(isSorted)||(context=iteratee,iteratee=isSorted,isSorted=!1),iteratee&&(iteratee=traverse(iteratee,context)),_.uniq.call(_,array,isSorted,iteratee,context))}}),_.each(["keys","allKeys","values","pairs","invert","create","functions","extend","extendOwn","defaults","clone","property","propertyOf","matcher","isEqual","isMatch","isEmpty","isElement","isNumber","isString","isArray","isObject","isPlainObject","isArguments","isFunction","isFinite","isBoolean","isDate","isRegExp","isError","isNaN","isUndefined","zipObject","cloneDeep"],function(name){BI[name]=_apply(name)}),_.each(["mapObject","findKey","pick","omit","tap"],function(name){BI[name]=_applyFunc(name)}),_.extend(BI,{inherit:function(sb,sp,overrides){"object"==typeof sp&&(overrides=sp,sp=sb,sb=function(){return sp.apply(this,arguments)});var F=function(){},spp=sp.prototype;return F.prototype=spp,sb.prototype=new F,sb.superclass=spp,_.extend(sb.prototype,overrides,{superclass:sp}),sb},init:function(){for(;BI.prepares&&BI.prepares.length>0;)BI.prepares.shift()();BI.initialized=!0},has:function(obj,keys){return BI.isArray(keys)?0!==keys.length&&BI.every(keys,function(i,key){return _.has(obj,key)}):_.has.apply(_,arguments)},freeze:function(value){return Object.freeze&&BI.isObject(value)?Object.freeze(value):value},isKey:function(key){return BI.isNumber(key)||BI.isString(key)&&key.length>0},isCapitalEqual:function(a,b){return a=BI.isNull(a)?a:(""+a).toLowerCase(),b=BI.isNull(b)?b:(""+b).toLowerCase(),BI.isEqual(a,b)},isWidthOrHeight:function(w){return"number"==typeof w?w>=0:"string"==typeof w?/^\d{1,3}%$/.exec(w)||"auto"==w||/^\d+px$/.exec(w):void 0},isNotNull:function(obj){return!BI.isNull(obj)},isNull:function(obj){return"undefined"==typeof obj||null===obj},isEmptyArray:function(arr){return BI.isArray(arr)&&BI.isEmpty(arr)},isNotEmptyArray:function(arr){return BI.isArray(arr)&&!BI.isEmpty(arr)},isEmptyObject:function(obj){return BI.isEqual(obj,{})},isNotEmptyObject:function(obj){return BI.isPlainObject(obj)&&!BI.isEmptyObject(obj)},isEmptyString:function(obj){return BI.isString(obj)&&0===obj.length},isNotEmptyString:function(obj){return BI.isString(obj)&&!BI.isEmptyString(obj)},isWindow:function(obj){return null!=obj&&obj==obj.window}}),_.extend(BI,{deepClone:_.cloneDeep,deepExtend:_.merge,isDeepMatch:function(object,attrs){var keys=BI.keys(attrs),length=keys.length;if(null==object)return!length;for(var obj=Object(object),i=0;i<length;i++){var key=keys[i];if(!(BI.isEqual(attrs[key],obj[key])&&key in obj))return!1}return!0},contains:function(obj,target,fromIndex){return _.isArrayLike(obj)||(obj=_.values(obj)),_.indexOf(obj,target,"number"==typeof fromIndex&&fromIndex)>=0},deepContains:function(obj,copy){return BI.isObject(copy)?BI.any(obj,function(i,v){if(BI.isEqual(v,copy))return!0}):BI.contains(obj,copy)},deepIndexOf:function(obj,target){for(var i=0;i<obj.length;i++)if(BI.isEqual(target,obj[i]))return i;return-1},deepRemove:function(obj,target){var done=!1,i;if(BI.isArray(obj))for(i=0;i<obj.length;i++)BI.isEqual(target,obj[i])&&(obj.splice(i--,1),done=!0);else BI.each(obj,function(i,v){BI.isEqual(target,obj[i])&&(delete obj[i],done=!0)});return done},deepWithout:function(obj,target){if(BI.isArray(obj)){for(var result=[],i=0;i<obj.length;i++)BI.isEqual(target,obj[i])||result.push(obj[i]);return result}var result={};return BI.each(obj,function(i,v){BI.isEqual(target,obj[i])||(result[i]=v)}),result},deepUnique:function(array){var result=[];return BI.each(array,function(i,item){BI.deepContains(result,item)||result.push(item)}),result},deepDiff:function(object,other){object||(object={}),other||(other={});var result=[],used=[];for(var b in object)this.has(object,b)&&(this.isEqual(object[b],other[b])||result.push(b),used.push(b));for(var b in other)this.has(other,b)&&!BI.contains(used,b)&&result.push(b);return result}}),_.each(["uniqueId","result","chain","iteratee","escape","unescape"],function(name){BI[name]=function(){return _[name].apply(_,arguments)}}),_.each(["bind","once","partial","debounce","throttle","delay","defer","wrap"],function(name){BI[name]=function(){return _[name].apply(_,arguments)}}),_.extend(BI,{nextTick:function(){function nextTickHandler(){pending=!1;var copies=callbacks.slice(0);callbacks.length=0;for(var i=0;i<copies.length;i++)copies[i]()}var callbacks=[],pending=!1,timerFunc=void 0;if("undefined"!=typeof Promise){var p=Promise.resolve();timerFunc=function timerFunc(){p.then(nextTickHandler)}}else if("undefined"!=typeof MutationObserver){var counter=1,observer=new MutationObserver(nextTickHandler),textNode=document.createTextNode(String(counter));observer.observe(textNode,{characterData:!0}),timerFunc=function timerFunc(){counter=(counter+1)%2,textNode.data=String(counter)}}else timerFunc="undefined"!=typeof setImmediate?function timerFunc(){setImmediate(nextTickHandler)}:function timerFunc(){setTimeout(nextTickHandler,0)};return function queueNextTick(cb){var _resolve=void 0,args=[].slice.call(arguments,1);if(callbacks.push(function(){if(cb)try{cb.apply(null,args)}catch(e){console.error(e)}else _resolve&&_resolve.apply(null,args)}),pending||(pending=!0,timerFunc()),!cb&&"undefined"!=typeof Promise)return new Promise(function(resolve,reject){_resolve=resolve})}}()}),_.each(["random"],function(name){BI[name]=_apply(name)}),_.extend(BI,{getTime:function(){return _global.performance&&_global.performance.now?_global.performance.now():_global.performance&&_global.performance.webkitNow?_global.performance.webkitNow():Date.now?Date.now():BI.getDate().getTime()},parseInt:function(number){var radix=10;/^0x/g.test(number)&&(radix=16);try{return parseInt(number,radix)}catch(e){throw new Error(number+"parse int error")}},parseSafeInt:function(value){var MAX_SAFE_INTEGER=9007199254740991;return value?this.clamp(this.parseInt(value),-MAX_SAFE_INTEGER,MAX_SAFE_INTEGER):0===value?value:0},parseFloat:function(number){try{return parseFloat(number)}catch(e){throw new Error(number+"parse float error")}},isNaturalNumber:function(number){return!!/^\d+$/.test(number)},isPositiveInteger:function(number){return!!/^\+?[1-9][0-9]*$/.test(number)},isNegativeInteger:function(number){return!!/^\-[1-9][0-9]*$/.test(number)},isInteger:function(number){return!!/^\-?\d+$/.test(number)},isNumeric:function(number){return!isNaN(parseFloat(number))&&isFinite(number)},isFloat:function(number){return!!/^([+-]?)\\d*\\.\\d+$/.test(number)},isOdd:function(number){return!!BI.isInteger(number)&&1===(1&number)},isEven:function(number){return!!BI.isInteger(number)&&0===(1&number)},sum:function(array,iteratee,context){var sum=0;return BI.each(array,function(i,item){sum+=iteratee?Number(iteratee.apply(context,[i,item])):Number(item)}),sum},average:function(array,iteratee,context){var sum=BI.sum(array,iteratee,context);return sum/array.length}}),_.extend(BI,{trim:function(){return _.trim.apply(_,arguments)},toUpperCase:function(string){return(string+"").toLocaleUpperCase()},toLowerCase:function(string){return(string+"").toLocaleLowerCase()},isEndWithBlank:function(string){return/(\s|\u00A0)$/.test(string)},isLiteral:function(exp){var literalValueRE=/^\s?(true|false|-?[\d\.]+|'[^']*'|"[^"]*")\s?$/;return literalValueRE.test(exp)},stripQuotes:function(str){var a=str.charCodeAt(0),b=str.charCodeAt(str.length-1);return a!==b||34!==a&&39!==a?str:str.slice(1,-1)},camelize:function(str){return str.replace(/-(.)/g,function(_,character){return character.toUpperCase()})},hyphenate:function(str){return str.replace(/([A-Z])/g,"-$1").toLowerCase()},isNotEmptyString:function(str){return BI.isString(str)&&!BI.isEmpty(str)},isEmptyString:function(str){return BI.isString(str)&&BI.isEmpty(str)},encrypt:function(type,text,key){switch(type){case BI.CRYPT_TYPE.AES:default:return BI.aesEncrypt(text,key)}},escape:function(string){return string.replace(/('|\\)/g,"\\$1")},leftPad:function(val,size,ch){var result=String(val);for(ch||(ch=" ");result.length<size;)result=ch+result;return result.toString()},format:function(format){var args=Array.prototype.slice.call(arguments,1);return format.replace(/\{(\d+)\}/g,function(m,i){return args[i]})}}),_.extend(BI,{isLeapYear:function(year){return year%4===0&&year%100!==0||year%400===0},checkDateVoid:function(YY,MM,DD,minDate,maxDate){var back=[];return YY=0|YY,MM=0|MM,DD=0|DD,minDate=BI.isString(minDate)?minDate.match(/\d+/g):minDate,maxDate=BI.isString(maxDate)?maxDate.match(/\d+/g):maxDate,YY<minDate[0]?back=["y"]:YY>maxDate[0]?back=["y",1]:YY>=minDate[0]&&YY<=maxDate[0]&&(YY==minDate[0]&&(MM<minDate[1]?back=["m"]:MM==minDate[1]&&DD<minDate[2]&&(back=["d"])),YY==maxDate[0]&&(MM>maxDate[1]?back=["m",1]:MM==maxDate[1]&&DD>maxDate[2]&&(back=["d",1]))),back},checkDateLegal:function(str){var ar=str.match(/\d+/g),YY=0|ar[0],MM=0|ar[1],DD=0|ar[2];if(ar.length<=1)return!0;if(ar.length<=2)return MM>=1&&MM<=12;var MD=BI.Date._MD.slice(0);return MD[1]=BI.isLeapYear(YY)?29:28,MM>=1&&MM<=12&&DD<=MD[MM-1]},parseDateTime:function(str,fmt){var today=BI.getDate(),y=0,m=0,d=1,a=str.split(/\W+/);if("%y%x"==fmt.toLowerCase()||"%y%x%d"==fmt.toLowerCase()){var yearlength=4,otherlength=2;a[0]=str.substring(0,yearlength),a[1]=str.substring(yearlength,yearlength+otherlength),a[2]=str.substring(yearlength+otherlength,yearlength+2*otherlength)}var b=fmt.match(/%./g),i=0,j=0,hr=0,min=0,sec=0;for(i=0;i<a.length;++i)switch(b[i]){case"%d":case"%e":d=parseInt(a[i],10);break;case"%X":m=parseInt(a[i],10)-1;break;case"%x":m=parseInt(a[i],10)-1;break;case"%Y":case"%y":y=parseInt(a[i],10),y<100&&(y+=y>29?1900:2e3);break;case"%b":case"%B":for(j=0;j<12;++j)if(BI.Date._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break}break;case"%H":case"%I":case"%k":case"%l":hr=parseInt(a[i],10);break;case"%P":case"%p":/pm/i.test(a[i])&&hr<12?hr+=12:/am/i.test(a[i])&&hr>=12&&(hr-=12);break;case"%M":min=parseInt(a[i],10);case"%S":sec=parseInt(a[i],10)}if(isNaN(y)&&(y=today.getFullYear()),isNaN(m)&&(m=today.getMonth()),isNaN(d)&&(d=today.getDate()),isNaN(hr)&&(hr=today.getHours()),isNaN(min)&&(min=today.getMinutes()),isNaN(sec)&&(sec=today.getSeconds()),0!=y)return BI.getDate(y,m,d,hr,min,sec);for(y=0,m=-1,d=0,i=0;i<a.length;++i)if(a[i].search(/[a-zA-Z]+/)!=-1){var t=-1;for(j=0;j<12;++j)if(BI.Date._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){t=j;break}t!=-1&&(m!=-1&&(d=m+1),m=t)}else parseInt(a[i],10)<=12&&m==-1?m=a[i]-1:parseInt(a[i],10)>31&&0==y?(y=parseInt(a[i],10),y<100&&(y+=y>29?1900:2e3)):0==d&&(d=a[i]);return 0==y&&(y=today.getFullYear()),m!=-1&&0!=d?BI.getDate(y,m,d,hr,min,sec):today},getDate:function(){var length=arguments.length,args=arguments,dt;switch(length){case 0:dt=new Date;break;case 1:dt=new Date(args[0]);break;case 2:dt=new Date(args[0],args[1]);break;case 3:dt=new Date(args[0],args[1],args[2]);break;case 4:dt=new Date(args[0],args[1],args[2],args[3]);break;case 5:dt=new Date(args[0],args[1],args[2],args[3],args[4]);break;case 6:dt=new Date(args[0],args[1],args[2],args[3],args[4],args[5]);break;case 7:dt=new Date(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);break;default:dt=new Date}if(BI.isNotNull(BI.timeZone)&&(0===arguments.length||1===arguments.length&&BI.isNumber(arguments[0]))){var localTime=dt.getTime(),localOffset=6e4*dt.getTimezoneOffset(),utc=localTime+localOffset;return new Date(utc+BI.timeZone)}return dt},getTime:function(){var length=arguments.length,args=arguments,dt;switch(length){case 0:dt=new Date;break;case 1:dt=new Date(args[0]);break;case 2:dt=new Date(args[0],args[1]);break;case 3:dt=new Date(args[0],args[1],args[2]);break;case 4:dt=new Date(args[0],args[1],args[2],args[3]);break;case 5:dt=new Date(args[0],args[1],args[2],args[3],args[4]);break;case 6:dt=new Date(args[0],args[1],args[2],args[3],args[4],args[5]);break;case 7:dt=new Date(args[0],args[1],args[2],args[3],args[4],args[5],args[6]);break;default:dt=new Date}return BI.isNotNull(BI.timeZone)?dt.getTime()-BI.timeZone-6e4*(new Date).getTimezoneOffset():dt.getTime()}})}(),!function(){function extend(){for(var target=arguments[0]||{},length=arguments.length,i=1,options,name,src,copy;i<length;i++)if(null!=(options=arguments[i]))for(name in options)src=target[name],copy=options[name],target!==copy&&void 0!==copy&&(target[name]=copy);return target}BI.OB=function(config){this._constructor(config)},_.extend(BI.OB.prototype,{props:{},init:null,destroyed:null,_constructor:function(config){this._initProps(config),this._init(),this._initRef()},_defaultConfig:function(config){return{}},_initProps:function(config){var props=this.props;BI.isFunction(this.props)&&(props=this.props(config)),this.options=extend(this._defaultConfig(config),props,config)},_init:function(){this._initListeners(),this.init&&this.init()},_initListeners:function(){var self=this;null!=this.options.listeners&&(_.each(this.options.listeners,function(lis){(lis.target?lis.target:self)[lis.once?"once":"on"](lis.eventName,_.bind(lis.action,self))}),delete this.options.listeners)},_initRef:function(){this.options.ref&&this.options.ref.call(this,this)},_purgeRef:function(){this.options.ref&&(this.options.ref.call(null),this.options.ref=null)},_getEvents:function(){return _.isArray(this.events)||(this.events=[]),this.events},on:function(eventName,fn){eventName=eventName.toLowerCase();var fns=this._getEvents()[eventName];_.isArray(fns)||(fns=[],this._getEvents()[eventName]=fns),fns.push(fn)},once:function(eventName,fn){var proxy=function(){fn.apply(this,arguments),this.un(eventName,proxy)};this.on(eventName,proxy)},un:function(eventName,fn){if(eventName=eventName.toLowerCase(),null==fn)delete this._getEvents()[eventName];else{var fns=this._getEvents()[eventName];if(_.isArray(fns)){var newFns=[];_.each(fns,function(ifn){ifn!=fn&&newFns.push(ifn)}),this._getEvents()[eventName]=newFns}}},purgeListeners:function(){this.events=[]},fireEvent:function(){var eventName=arguments[0].toLowerCase(),fns=this._getEvents()[eventName];if(BI.isArray(fns))if(BI.isArguments(arguments[1])){for(var i=0;i<fns.length;i++)if(fns[i].apply(this,arguments[1])===!1)return!1}else for(var args=Array.prototype.slice.call(arguments,1),i=0;i<fns.length;i++)if(fns[i].apply(this,args)===!1)return!1;return!0},destroy:function(){this.destroyed&&this.destroyed(),this._purgeRef(),this.purgeListeners()}})}(),!function(){BI.Widget=BI.inherit(BI.OB,{_defaultConfig:function(){return BI.extend(BI.Widget.superclass._defaultConfig.apply(this),{root:!1,tagName:"div",attributes:null,data:null,tag:null,disabled:!1,invisible:!1,invalid:!1,baseCls:"",extraCls:"",cls:"",css:null})},_constructor:function(){},beforeInit:null,beforeCreate:null,created:null,render:null,beforeMount:null,mounted:null,shouldUpdate:null,update:function(){},beforeDestroy:null,destroyed:null,_init:function(){BI.Widget.superclass._init.apply(this,arguments),this._initRoot(),this._initElementWidth(),this._initElementHeight(),this._initVisual(),this._initState(),this._initRender()},_initRender:function(){this.beforeInit?(this.__asking=!0,this.beforeInit(BI.bind(this._render,this)),this.__asking===!0&&(this.__async=!0)):this._render()},_render:function(){this.__asking=!1,this.beforeCreate&&this.beforeCreate(),this._initElement(),this._initEffects(),this.created&&this.created()},_initRoot:function(){var o=this.options;this.widgetName=o.widgetName||BI.uniqueId("widget"),this._isRoot=o.root,BI.isWidget(o.element)?(o.element instanceof BI.Widget?(this._parent=o.element,this._parent.addWidget(this.widgetName,this)):this._isRoot=!0,this.element=this.options.element.element):o.element?(this.element=BI.Widget._renderEngine.createElement(this),this._isRoot=!0):this.element=BI.Widget._renderEngine.createElement(this),this.element._isWidget=!0,(o._baseCls||o.baseCls||o.extraCls||o.cls)&&this.element.addClass((o._baseCls||"")+" "+(o.baseCls||"")+" "+(o.extraCls||"")+" "+(o.cls||"")),o.attributes&&this.element.attr(o.attributes),o.data&&this.element.data(o.data),o.css&&this.element.css(o.css),this._children={}},_initElementWidth:function(){var o=this.options;BI.isWidthOrHeight(o.width)&&this.element.css("width",o.width)},_initElementHeight:function(){var o=this.options;BI.isWidthOrHeight(o.height)&&this.element.css("height",o.height)},_initVisual:function(){var o=this.options;o.invisible&&this.element.css("display","none")},_initEffects:function(){var o=this.options;(o.disabled||o.invalid)&&(this.options.disabled&&this.setEnable(!1),this.options.invalid&&this.setValid(!1))},_initState:function(){this._isMounted=!1},_initElement:function(){var self=this,els=this.render&&this.render();BI.isPlainObject(els)&&(els=[els]),BI.isArray(els)&&BI.each(els,function(i,el){BI.createWidget(el,{element:self})}),this._mount()},_setParent:function(parent){this._parent=parent},_mount:function(force,deep,lifeHook,predicate){var self=this;return!!(force||!this._isMounted&&this.isVisible()&&this.__asking!==!0&&(this._isRoot===!0||this._parent&&this._parent._isMounted===!0))&&(lifeHook!==!1&&this.beforeMount&&this.beforeMount(),this._isMounted=!0,this._mountChildren&&this._mountChildren(),BI.each(this._children,function(i,widget){!self.isEnabled()&&widget._setEnable(!1),!self.isValid()&&widget._setValid(!1),widget._mount&&widget._mount(!!deep&&force,deep,lifeHook,predicate)}),lifeHook!==!1&&this.mounted&&this.mounted(),this.fireEvent(BI.Events.MOUNT),predicate&&predicate(this),!0)},_mountChildren:null,isMounted:function(){return this._isMounted},setWidth:function(w){this.options.width=w,this._initElementWidth()},setHeight:function(h){this.options.height=h,this._initElementHeight()},_setEnable:function(enable){enable===!0?this.options.disabled=!1:enable===!1&&(this.options.disabled=!0),BI.each(this._children,function(i,child){!child._manualSetEnable&&child._setEnable&&child._setEnable(enable)})},_setValid:function(valid){valid===!0?this.options.invalid=!1:valid===!1&&(this.options.invalid=!0),BI.each(this._children,function(i,child){!child._manualSetValid&&child._setValid&&child._setValid(valid)})},_setVisible:function(visible){visible===!0?this.options.invisible=!1:visible===!1&&(this.options.invisible=!0)},setEnable:function(enable){this._manualSetEnable=!0,this._setEnable(enable),enable===!0?this.element.removeClass("base-disabled disabled"):enable===!1&&this.element.addClass("base-disabled disabled")},setVisible:function(visible){this._setVisible(visible),visible===!0?(this.element.css("display",""),this._mount()):visible===!1&&this.element.css("display","none"),this.fireEvent(BI.Events.VIEW,visible)},setValid:function(valid){this._manualSetValid=!0,this._setValid(valid),valid===!0?this.element.removeClass("base-invalid invalid"):valid===!1&&this.element.addClass("base-invalid invalid")},doBehavior:function(){var args=arguments;BI.each(this._children,function(i,child){child.doBehavior&&child.doBehavior.apply(child,args)})},getWidth:function(){return this.options.width},getHeight:function(){return this.options.height},isValid:function(){return!this.options.invalid},addWidget:function(name,widget){var self=this;if(name instanceof BI.Widget&&(widget=name,name=widget.getName()),BI.isKey(name)&&(name+=""),name=name||widget.getName()||BI.uniqueId("widget"),this._children[name])throw new Error("name has already been existed");return widget._setParent&&widget._setParent(this),widget.on(BI.Events.DESTROY,function(){BI.remove(self._children,this)}),this._children[name]=widget},getWidgetByName:function(name){if(!BI.isKey(name)||name===this.getName())return this;name+="";var widget=void 0,other={};return BI.any(this._children,function(i,wi){return i===name?(widget=wi,!0):void(other[i]=wi)}),widget||BI.any(other,function(i,wi){return widget=wi.getWidgetByName(i)}),widget},removeWidget:function(nameOrWidget){var self=this;BI.isWidget(nameOrWidget)?BI.remove(this._children,nameOrWidget):delete this._children[nameOrWidget]},hasWidget:function(name){return null!=this._children[name]},getName:function(){return this.widgetName},setTag:function(tag){this.options.tag=tag},getTag:function(){return this.options.tag},attr:function(key,value){var self=this;return BI.isPlainObject(key)?void BI.each(key,function(k,v){self.attr(k,v)}):BI.isNotNull(value)?this.options[key]=value:this.options[key]},css:function(name,value){return this.element.css(name,value)},getText:function(){},setText:function(text){},getValue:function(){},setValue:function(value){},isEnabled:function(){return!this.options.disabled},isVisible:function(){return!this.options.invisible},disable:function(){this.setEnable(!1)},enable:function(){this.setEnable(!0)},valid:function(){this.setValid(!0)},invalid:function(){this.setValid(!1)},invisible:function(){this.setVisible(!1)},visible:function(){this.setVisible(!0)},__d:function(){this.beforeDestroy&&this.beforeDestroy(),this.beforeDestroy=null,BI.each(this._children,function(i,widget){widget&&widget._unMount&&widget._unMount()}),this._children={},this._parent=null,this._isMounted=!1,this.destroyed&&this.destroyed(),this.destroyed=null},_unMount:function(){this.__d(),this.fireEvent(BI.Events.UNMOUNT),this.purgeListeners()},isolate:function(){this._parent&&this._parent.removeWidget(this),BI.DOM.hang([this])},empty:function(){BI.each(this._children,function(i,widget){widget&&widget._unMount&&widget._unMount()}),this._children={},this.element.empty()},_destroy:function(){this.__d(),this.element.destroy(),this.purgeListeners()},destroy:function(){this.__d(),this.element.destroy(),this.fireEvent(BI.Events.DESTROY),this._purgeRef(),this.purgeListeners()}}),BI.Widget.registerRenderEngine=function(engine){BI.Widget._renderEngine=engine},BI.Widget.registerRenderEngine({createElement:function(widget){if(BI.isWidget(widget)){var o=widget.options;return o.element?BI.$(o.element):BI.$(document.createElement(o.tagName))}return BI.$(widget)},createFragment:function(){return document.createDocumentFragment()}}),BI.mount=function(widget,container,predicate,hydrate){if(hydrate===!0){widget.element.data("__widgets",[widget]);var res=widget._mount(!0,!1,!1,function(w){BI.each(w._children,function(i,child){var ws=child.element.data("__widgets");ws||(ws=[]),ws.push(child),child.element.data("__widgets",ws)}),predicate&&predicate.apply(this,arguments)}),c=BI.Widget._renderEngine.createElement;BI.DOM.patchProps(widget.element,c(c(container).children()[0]));var triggerLifeHook=function(w){w.beforeMount&&w.beforeMount(),w.mounted&&w.mounted(),BI.each(w._children,function(i,child){triggerLifeHook(child)})};return triggerLifeHook(widget),res}return container&&BI.Widget._renderEngine.createElement(container).append(widget.element),widget._mount(!0,!1,!1,predicate)}}(),function(){var kv={};BI.shortcut=BI.component=function(xtype,cls){null!=kv[xtype]&&_global.console&&console.error("shortcut:["+xtype+"] has been registed"),kv[xtype]=cls};var createWidget=function(config){var cls=kv[config.type],widget=new cls;return widget._initProps(config),widget._init(),widget._initRef(),widget};BI.createWidget=function(item,options,context){BI.init();var el,w;if(item||(item={}),BI.isWidget(options)?(context=options,options={}):options||(options={}),BI.isEmpty(item)&&BI.isEmpty(options))return BI.createWidget({type:"bi.layout"});if(BI.isWidget(item))return item;if(item.type||options.type)return el=BI.extend({},options,item),w=BI.Plugin.getWidget(el.type,el),w.listeners=(w.listeners||[]).concat([{eventName:BI.Events.MOUNT,action:function(){BI.Plugin.getObject(el.type,this)}}]),w.type===el.type?createWidget(w):BI.createWidget(BI.extend({},item,{type:w.type},options));if(item.el&&(item.el.type||options.type))return el=BI.extend({},options,item.el),w=BI.Plugin.getWidget(el.type,el),w.listeners=(w.listeners||[]).concat([{eventName:BI.Events.MOUNT,action:function(){BI.Plugin.getObject(el.type,this)}}]),w.type===el.type?createWidget(w):BI.createWidget(BI.extend({},item,{type:w.type},options));if(BI.isWidget(item.el))return item.el;throw new Error("无法根据item创建组件")},BI.createElement=function(){var widget=BI.createWidget.apply(this,arguments);return widget.element}}(),!function(){BI.CRYPT_TYPE=BI.CRYPT_TYPE||{},BI.CRYPT_TYPE.AES="aes";var CryptoJS=CryptoJS||function(Math,undefined){var C={},C_lib=C.lib={},Base=C_lib.Base=function(){function F(){}return{extend:function(overrides){F.prototype=this;var subtype=new F;return overrides&&subtype.mixIn(overrides),subtype.hasOwnProperty("init")||(subtype.init=function(){subtype.$super.init.apply(this,arguments)}),subtype.init.prototype=subtype,subtype.$super=this,subtype},create:function(){var instance=this.extend();return instance.init.apply(instance,arguments),instance},init:function(){},mixIn:function(properties){for(var propertyName in properties)properties.hasOwnProperty(propertyName)&&(this[propertyName]=properties[propertyName]);properties.hasOwnProperty("toString")&&(this.toString=properties.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),WordArray=C_lib.WordArray=Base.extend({init:function(words,sigBytes){words=this.words=words||[],sigBytes!=undefined?this.sigBytes=sigBytes:this.sigBytes=4*words.length},toString:function(encoder){return(encoder||Hex).stringify(this)},concat:function(wordArray){var thisWords=this.words,thatWords=wordArray.words,thisSigBytes=this.sigBytes,thatSigBytes=wordArray.sigBytes;if(this.clamp(),thisSigBytes%4)for(var i=0;i<thatSigBytes;i++){var thatByte=thatWords[i>>>2]>>>24-i%4*8&255;thisWords[thisSigBytes+i>>>2]|=thatByte<<24-(thisSigBytes+i)%4*8}else if(thatWords.length>65535)for(var i=0;i<thatSigBytes;i+=4)thisWords[thisSigBytes+i>>>2]=thatWords[i>>>2];else thisWords.push.apply(thisWords,thatWords);return this.sigBytes+=thatSigBytes,this},clamp:function(){var words=this.words,sigBytes=this.sigBytes;words[sigBytes>>>2]&=4294967295<<32-sigBytes%4*8,words.length=Math.ceil(sigBytes/4)},clone:function(){var clone=Base.clone.call(this);return clone.words=this.words.slice(0),clone},random:function(nBytes){for(var words=[],i=0;i<nBytes;i+=4)words.push(4294967296*Math.random()|0);return new WordArray.init(words,nBytes)}}),C_enc=C.enc={},Hex=C_enc.Hex={stringify:function(wordArray){for(var words=wordArray.words,sigBytes=wordArray.sigBytes,hexChars=[],i=0;i<sigBytes;i++){var bite=words[i>>>2]>>>24-i%4*8&255;hexChars.push((bite>>>4).toString(16)),hexChars.push((15&bite).toString(16))}return hexChars.join("")},parse:function(hexStr){for(var hexStrLength=hexStr.length,words=[],i=0;i<hexStrLength;i+=2)words[i>>>3]|=parseInt(hexStr.substr(i,2),16)<<24-i%8*4;return new WordArray.init(words,hexStrLength/2)}},Latin1=C_enc.Latin1={stringify:function(wordArray){for(var words=wordArray.words,sigBytes=wordArray.sigBytes,latin1Chars=[],i=0;i<sigBytes;i++){var bite=words[i>>>2]>>>24-i%4*8&255;latin1Chars.push(String.fromCharCode(bite))}return latin1Chars.join("")},parse:function(latin1Str){for(var latin1StrLength=latin1Str.length,words=[],i=0;i<latin1StrLength;i++)words[i>>>2]|=(255&latin1Str.charCodeAt(i))<<24-i%4*8;return new WordArray.init(words,latin1StrLength)}},Utf8=C_enc.Utf8={stringify:function(wordArray){try{return decodeURIComponent(escape(Latin1.stringify(wordArray)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(utf8Str){return Latin1.parse(unescape(encodeURIComponent(utf8Str)))}},BufferedBlockAlgorithm=C_lib.BufferedBlockAlgorithm=Base.extend({reset:function(){this._data=new WordArray.init,this._nDataBytes=0},_append:function(data){"string"==typeof data&&(data=Utf8.parse(data)),this._data.concat(data),this._nDataBytes+=data.sigBytes},_process:function(doFlush){var data=this._data,dataWords=data.words,dataSigBytes=data.sigBytes,blockSize=this.blockSize,blockSizeBytes=4*blockSize,nBlocksReady=dataSigBytes/blockSizeBytes;nBlocksReady=doFlush?Math.ceil(nBlocksReady):Math.max((0|nBlocksReady)-this._minBufferSize,0);var nWordsReady=nBlocksReady*blockSize,nBytesReady=Math.min(4*nWordsReady,dataSigBytes);if(nWordsReady){for(var offset=0;offset<nWordsReady;offset+=blockSize)this._doProcessBlock(dataWords,offset);var processedWords=dataWords.splice(0,nWordsReady);data.sigBytes-=nBytesReady}return new WordArray.init(processedWords,nBytesReady)},clone:function(){var clone=Base.clone.call(this);return clone._data=this._data.clone(),clone},_minBufferSize:0}),Hasher=C_lib.Hasher=BufferedBlockAlgorithm.extend({
cfg:Base.extend(),init:function(cfg){this.cfg=this.cfg.extend(cfg),this.reset()},reset:function(){BufferedBlockAlgorithm.reset.call(this),this._doReset()},update:function(messageUpdate){return this._append(messageUpdate),this._process(),this},finalize:function(messageUpdate){messageUpdate&&this._append(messageUpdate);var hash=this._doFinalize();return hash},blockSize:16,_createHelper:function(hasher){return function(message,cfg){return new hasher.init(cfg).finalize(message)}},_createHmacHelper:function(hasher){return function(message,key){return new C_algo.HMAC.init(hasher,key).finalize(message)}}}),C_algo=C.algo={};return C}(Math);!function(){var C=CryptoJS,C_lib=C.lib,WordArray=C_lib.WordArray,C_enc=C.enc,Base64=C_enc.Base64={stringify:function(wordArray){var words=wordArray.words,sigBytes=wordArray.sigBytes,map=this._map;wordArray.clamp();for(var base64Chars=[],i=0;i<sigBytes;i+=3)for(var byte1=words[i>>>2]>>>24-i%4*8&255,byte2=words[i+1>>>2]>>>24-(i+1)%4*8&255,byte3=words[i+2>>>2]>>>24-(i+2)%4*8&255,triplet=byte1<<16|byte2<<8|byte3,j=0;j<4&&i+.75*j<sigBytes;j++)base64Chars.push(map.charAt(triplet>>>6*(3-j)&63));var paddingChar=map.charAt(64);if(paddingChar)for(;base64Chars.length%4;)base64Chars.push(paddingChar);return base64Chars.join("")},parse:function(base64Str){var base64StrLength=base64Str.length,map=this._map,paddingChar=map.charAt(64);if(paddingChar){var paddingIndex=base64Str.indexOf(paddingChar);paddingIndex!=-1&&(base64StrLength=paddingIndex)}for(var words=[],nBytes=0,i=0;i<base64StrLength;i++)if(i%4){var bits1=map.indexOf(base64Str.charAt(i-1))<<i%4*2,bits2=map.indexOf(base64Str.charAt(i))>>>6-i%4*2;words[nBytes>>>2]|=(bits1|bits2)<<24-nBytes%4*8,nBytes++}return WordArray.create(words,nBytes)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),function(Math){function FF(a,b,c,d,x,s,t){var n=a+(b&c|~b&d)+x+t;return(n<<s|n>>>32-s)+b}function GG(a,b,c,d,x,s,t){var n=a+(b&d|c&~d)+x+t;return(n<<s|n>>>32-s)+b}function HH(a,b,c,d,x,s,t){var n=a+(b^c^d)+x+t;return(n<<s|n>>>32-s)+b}function II(a,b,c,d,x,s,t){var n=a+(c^(b|~d))+x+t;return(n<<s|n>>>32-s)+b}var C=CryptoJS,C_lib=C.lib,WordArray=C_lib.WordArray,Hasher=C_lib.Hasher,C_algo=C.algo,T=[];!function(){for(var i=0;i<64;i++)T[i]=4294967296*Math.abs(Math.sin(i+1))|0}();var MD5=C_algo.MD5=Hasher.extend({_doReset:function(){this._hash=new WordArray.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(M,offset){for(var i=0;i<16;i++){var offset_i=offset+i,M_offset_i=M[offset_i];M[offset_i]=16711935&(M_offset_i<<8|M_offset_i>>>24)|4278255360&(M_offset_i<<24|M_offset_i>>>8)}var H=this._hash.words,M_offset_0=M[offset+0],M_offset_1=M[offset+1],M_offset_2=M[offset+2],M_offset_3=M[offset+3],M_offset_4=M[offset+4],M_offset_5=M[offset+5],M_offset_6=M[offset+6],M_offset_7=M[offset+7],M_offset_8=M[offset+8],M_offset_9=M[offset+9],M_offset_10=M[offset+10],M_offset_11=M[offset+11],M_offset_12=M[offset+12],M_offset_13=M[offset+13],M_offset_14=M[offset+14],M_offset_15=M[offset+15],a=H[0],b=H[1],c=H[2],d=H[3];a=FF(a,b,c,d,M_offset_0,7,T[0]),d=FF(d,a,b,c,M_offset_1,12,T[1]),c=FF(c,d,a,b,M_offset_2,17,T[2]),b=FF(b,c,d,a,M_offset_3,22,T[3]),a=FF(a,b,c,d,M_offset_4,7,T[4]),d=FF(d,a,b,c,M_offset_5,12,T[5]),c=FF(c,d,a,b,M_offset_6,17,T[6]),b=FF(b,c,d,a,M_offset_7,22,T[7]),a=FF(a,b,c,d,M_offset_8,7,T[8]),d=FF(d,a,b,c,M_offset_9,12,T[9]),c=FF(c,d,a,b,M_offset_10,17,T[10]),b=FF(b,c,d,a,M_offset_11,22,T[11]),a=FF(a,b,c,d,M_offset_12,7,T[12]),d=FF(d,a,b,c,M_offset_13,12,T[13]),c=FF(c,d,a,b,M_offset_14,17,T[14]),b=FF(b,c,d,a,M_offset_15,22,T[15]),a=GG(a,b,c,d,M_offset_1,5,T[16]),d=GG(d,a,b,c,M_offset_6,9,T[17]),c=GG(c,d,a,b,M_offset_11,14,T[18]),b=GG(b,c,d,a,M_offset_0,20,T[19]),a=GG(a,b,c,d,M_offset_5,5,T[20]),d=GG(d,a,b,c,M_offset_10,9,T[21]),c=GG(c,d,a,b,M_offset_15,14,T[22]),b=GG(b,c,d,a,M_offset_4,20,T[23]),a=GG(a,b,c,d,M_offset_9,5,T[24]),d=GG(d,a,b,c,M_offset_14,9,T[25]),c=GG(c,d,a,b,M_offset_3,14,T[26]),b=GG(b,c,d,a,M_offset_8,20,T[27]),a=GG(a,b,c,d,M_offset_13,5,T[28]),d=GG(d,a,b,c,M_offset_2,9,T[29]),c=GG(c,d,a,b,M_offset_7,14,T[30]),b=GG(b,c,d,a,M_offset_12,20,T[31]),a=HH(a,b,c,d,M_offset_5,4,T[32]),d=HH(d,a,b,c,M_offset_8,11,T[33]),c=HH(c,d,a,b,M_offset_11,16,T[34]),b=HH(b,c,d,a,M_offset_14,23,T[35]),a=HH(a,b,c,d,M_offset_1,4,T[36]),d=HH(d,a,b,c,M_offset_4,11,T[37]),c=HH(c,d,a,b,M_offset_7,16,T[38]),b=HH(b,c,d,a,M_offset_10,23,T[39]),a=HH(a,b,c,d,M_offset_13,4,T[40]),d=HH(d,a,b,c,M_offset_0,11,T[41]),c=HH(c,d,a,b,M_offset_3,16,T[42]),b=HH(b,c,d,a,M_offset_6,23,T[43]),a=HH(a,b,c,d,M_offset_9,4,T[44]),d=HH(d,a,b,c,M_offset_12,11,T[45]),c=HH(c,d,a,b,M_offset_15,16,T[46]),b=HH(b,c,d,a,M_offset_2,23,T[47]),a=II(a,b,c,d,M_offset_0,6,T[48]),d=II(d,a,b,c,M_offset_7,10,T[49]),c=II(c,d,a,b,M_offset_14,15,T[50]),b=II(b,c,d,a,M_offset_5,21,T[51]),a=II(a,b,c,d,M_offset_12,6,T[52]),d=II(d,a,b,c,M_offset_3,10,T[53]),c=II(c,d,a,b,M_offset_10,15,T[54]),b=II(b,c,d,a,M_offset_1,21,T[55]),a=II(a,b,c,d,M_offset_8,6,T[56]),d=II(d,a,b,c,M_offset_15,10,T[57]),c=II(c,d,a,b,M_offset_6,15,T[58]),b=II(b,c,d,a,M_offset_13,21,T[59]),a=II(a,b,c,d,M_offset_4,6,T[60]),d=II(d,a,b,c,M_offset_11,10,T[61]),c=II(c,d,a,b,M_offset_2,15,T[62]),b=II(b,c,d,a,M_offset_9,21,T[63]),H[0]=H[0]+a|0,H[1]=H[1]+b|0,H[2]=H[2]+c|0,H[3]=H[3]+d|0},_doFinalize:function(){var data=this._data,dataWords=data.words,nBitsTotal=8*this._nDataBytes,nBitsLeft=8*data.sigBytes;dataWords[nBitsLeft>>>5]|=128<<24-nBitsLeft%32;var nBitsTotalH=Math.floor(nBitsTotal/4294967296),nBitsTotalL=nBitsTotal;dataWords[(nBitsLeft+64>>>9<<4)+15]=16711935&(nBitsTotalH<<8|nBitsTotalH>>>24)|4278255360&(nBitsTotalH<<24|nBitsTotalH>>>8),dataWords[(nBitsLeft+64>>>9<<4)+14]=16711935&(nBitsTotalL<<8|nBitsTotalL>>>24)|4278255360&(nBitsTotalL<<24|nBitsTotalL>>>8),data.sigBytes=4*(dataWords.length+1),this._process();for(var hash=this._hash,H=hash.words,i=0;i<4;i++){var H_i=H[i];H[i]=16711935&(H_i<<8|H_i>>>24)|4278255360&(H_i<<24|H_i>>>8)}return hash},clone:function(){var clone=Hasher.clone.call(this);return clone._hash=this._hash.clone(),clone}});C.MD5=Hasher._createHelper(MD5),C.HmacMD5=Hasher._createHmacHelper(MD5)}(Math),function(){var C=CryptoJS,C_lib=C.lib,Base=C_lib.Base,WordArray=C_lib.WordArray,C_algo=C.algo,MD5=C_algo.MD5,EvpKDF=C_algo.EvpKDF=Base.extend({cfg:Base.extend({keySize:4,hasher:MD5,iterations:1}),init:function(cfg){this.cfg=this.cfg.extend(cfg)},compute:function(password,salt){for(var cfg=this.cfg,hasher=cfg.hasher.create(),derivedKey=WordArray.create(),derivedKeyWords=derivedKey.words,keySize=cfg.keySize,iterations=cfg.iterations;derivedKeyWords.length<keySize;){block&&hasher.update(block);var block=hasher.update(password).finalize(salt);hasher.reset();for(var i=1;i<iterations;i++)block=hasher.finalize(block),hasher.reset();derivedKey.concat(block)}return derivedKey.sigBytes=4*keySize,derivedKey}});C.EvpKDF=function(password,salt,cfg){return EvpKDF.create(cfg).compute(password,salt)}}(),CryptoJS.lib.Cipher||function(undefined){var C=CryptoJS,C_lib=C.lib,Base=C_lib.Base,WordArray=C_lib.WordArray,BufferedBlockAlgorithm=C_lib.BufferedBlockAlgorithm,C_enc=C.enc,Utf8=C_enc.Utf8,Base64=C_enc.Base64,C_algo=C.algo,EvpKDF=C_algo.EvpKDF,Cipher=C_lib.Cipher=BufferedBlockAlgorithm.extend({cfg:Base.extend(),createEncryptor:function(key,cfg){return this.create(this._ENC_XFORM_MODE,key,cfg)},createDecryptor:function(key,cfg){return this.create(this._DEC_XFORM_MODE,key,cfg)},init:function(xformMode,key,cfg){this.cfg=this.cfg.extend(cfg),this._xformMode=xformMode,this._key=key,this.reset()},reset:function(){BufferedBlockAlgorithm.reset.call(this),this._doReset()},process:function(dataUpdate){return this._append(dataUpdate),this._process()},finalize:function(dataUpdate){dataUpdate&&this._append(dataUpdate);var finalProcessedData=this._doFinalize();return finalProcessedData},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function selectCipherStrategy(key){return"string"==typeof key?PasswordBasedCipher:SerializableCipher}return function(cipher){return{encrypt:function(message,key,cfg){return selectCipherStrategy(key).encrypt(cipher,message,key,cfg)},decrypt:function(ciphertext,key,cfg){return selectCipherStrategy(key).decrypt(cipher,ciphertext,key,cfg)}}}}()}),StreamCipher=C_lib.StreamCipher=Cipher.extend({_doFinalize:function(){var finalProcessedBlocks=this._process(!0);return finalProcessedBlocks},blockSize:1}),C_mode=C.mode={},BlockCipherMode=C_lib.BlockCipherMode=Base.extend({createEncryptor:function(cipher,iv){return this.Encryptor.create(cipher,iv)},createDecryptor:function(cipher,iv){return this.Decryptor.create(cipher,iv)},init:function(cipher,iv){this._cipher=cipher,this._iv=iv}}),CBC=C_mode.CBC=function(){function xorBlock(words,offset,blockSize){var iv=this._iv;if(iv){var block=iv;this._iv=undefined}else var block=this._prevBlock;for(var i=0;i<blockSize;i++)words[offset+i]^=block[i]}var CBC=BlockCipherMode.extend();return CBC.Encryptor=CBC.extend({processBlock:function(words,offset){var cipher=this._cipher,blockSize=cipher.blockSize;xorBlock.call(this,words,offset,blockSize),cipher.encryptBlock(words,offset),this._prevBlock=words.slice(offset,offset+blockSize)}}),CBC.Decryptor=CBC.extend({processBlock:function(words,offset){var cipher=this._cipher,blockSize=cipher.blockSize,thisBlock=words.slice(offset,offset+blockSize);cipher.decryptBlock(words,offset),xorBlock.call(this,words,offset,blockSize),this._prevBlock=thisBlock}}),CBC}(),C_pad=C.pad={},Pkcs7=C_pad.Pkcs7={pad:function(data,blockSize){for(var blockSizeBytes=4*blockSize,nPaddingBytes=blockSizeBytes-data.sigBytes%blockSizeBytes,paddingWord=nPaddingBytes<<24|nPaddingBytes<<16|nPaddingBytes<<8|nPaddingBytes,paddingWords=[],i=0;i<nPaddingBytes;i+=4)paddingWords.push(paddingWord);var padding=WordArray.create(paddingWords,nPaddingBytes);data.concat(padding)},unpad:function(data){var nPaddingBytes=255&data.words[data.sigBytes-1>>>2];data.sigBytes-=nPaddingBytes}},BlockCipher=C_lib.BlockCipher=Cipher.extend({cfg:Cipher.cfg.extend({mode:CBC,padding:Pkcs7}),reset:function(){Cipher.reset.call(this);var cfg=this.cfg,iv=cfg.iv,mode=cfg.mode;if(this._xformMode==this._ENC_XFORM_MODE)var modeCreator=mode.createEncryptor;else{var modeCreator=mode.createDecryptor;this._minBufferSize=1}this._mode=modeCreator.call(mode,this,iv&&iv.words)},_doProcessBlock:function(words,offset){this._mode.processBlock(words,offset)},_doFinalize:function(){var padding=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){padding.pad(this._data,this.blockSize);var finalProcessedBlocks=this._process(!0)}else{var finalProcessedBlocks=this._process(!0);padding.unpad(finalProcessedBlocks)}return finalProcessedBlocks},blockSize:4}),CipherParams=C_lib.CipherParams=Base.extend({init:function(cipherParams){this.mixIn(cipherParams)},toString:function(formatter){return(formatter||this.formatter).stringify(this)}}),C_format=C.format={},OpenSSLFormatter=C_format.OpenSSL={stringify:function(cipherParams){var ciphertext=cipherParams.ciphertext,salt=cipherParams.salt;if(salt)var wordArray=WordArray.create([1398893684,1701076831]).concat(salt).concat(ciphertext);else var wordArray=ciphertext;return wordArray.toString(Base64)},parse:function(openSSLStr){var ciphertext=Base64.parse(openSSLStr),ciphertextWords=ciphertext.words;if(1398893684==ciphertextWords[0]&&1701076831==ciphertextWords[1]){var salt=WordArray.create(ciphertextWords.slice(2,4));ciphertextWords.splice(0,4),ciphertext.sigBytes-=16}return CipherParams.create({ciphertext:ciphertext,salt:salt})}},SerializableCipher=C_lib.SerializableCipher=Base.extend({cfg:Base.extend({format:OpenSSLFormatter}),encrypt:function(cipher,message,key,cfg){cfg=this.cfg.extend(cfg);var encryptor=cipher.createEncryptor(key,cfg),ciphertext=encryptor.finalize(message),cipherCfg=encryptor.cfg;return CipherParams.create({ciphertext:ciphertext,key:key,iv:cipherCfg.iv,algorithm:cipher,mode:cipherCfg.mode,padding:cipherCfg.padding,blockSize:cipher.blockSize,formatter:cfg.format})},decrypt:function(cipher,ciphertext,key,cfg){cfg=this.cfg.extend(cfg),ciphertext=this._parse(ciphertext,cfg.format);var plaintext=cipher.createDecryptor(key,cfg).finalize(ciphertext.ciphertext);return plaintext},_parse:function(ciphertext,format){return"string"==typeof ciphertext?format.parse(ciphertext,this):ciphertext}}),C_kdf=C.kdf={},OpenSSLKdf=C_kdf.OpenSSL={execute:function(password,keySize,ivSize,salt){salt||(salt=WordArray.random(8));var key=EvpKDF.create({keySize:keySize+ivSize}).compute(password,salt),iv=WordArray.create(key.words.slice(keySize),4*ivSize);return key.sigBytes=4*keySize,CipherParams.create({key:key,iv:iv,salt:salt})}},PasswordBasedCipher=C_lib.PasswordBasedCipher=SerializableCipher.extend({cfg:SerializableCipher.cfg.extend({kdf:OpenSSLKdf}),encrypt:function(cipher,message,password,cfg){cfg=this.cfg.extend(cfg);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize);cfg.iv=derivedParams.iv;var ciphertext=SerializableCipher.encrypt.call(this,cipher,message,derivedParams.key,cfg);return ciphertext.mixIn(derivedParams),ciphertext},decrypt:function(cipher,ciphertext,password,cfg){cfg=this.cfg.extend(cfg),ciphertext=this._parse(ciphertext,cfg.format);var derivedParams=cfg.kdf.execute(password,cipher.keySize,cipher.ivSize,ciphertext.salt);cfg.iv=derivedParams.iv;var plaintext=SerializableCipher.decrypt.call(this,cipher,ciphertext,derivedParams.key,cfg);return plaintext}})}(),CryptoJS.mode.ECB=function(){var ECB=CryptoJS.lib.BlockCipherMode.extend();return ECB.Encryptor=ECB.extend({processBlock:function(words,offset){this._cipher.encryptBlock(words,offset)}}),ECB.Decryptor=ECB.extend({processBlock:function(words,offset){this._cipher.decryptBlock(words,offset)}}),ECB}(),function(){var C=CryptoJS,C_lib=C.lib,BlockCipher=C_lib.BlockCipher,C_algo=C.algo,SBOX=[],INV_SBOX=[],SUB_MIX_0=[],SUB_MIX_1=[],SUB_MIX_2=[],SUB_MIX_3=[],INV_SUB_MIX_0=[],INV_SUB_MIX_1=[],INV_SUB_MIX_2=[],INV_SUB_MIX_3=[];!function(){for(var d=[],i=0;i<256;i++)i<128?d[i]=i<<1:d[i]=i<<1^283;for(var x=0,xi=0,i=0;i<256;i++){var sx=xi^xi<<1^xi<<2^xi<<3^xi<<4;sx=sx>>>8^255&sx^99,SBOX[x]=sx,INV_SBOX[sx]=x;var x2=d[x],x4=d[x2],x8=d[x4],t=257*d[sx]^16843008*sx;SUB_MIX_0[x]=t<<24|t>>>8,SUB_MIX_1[x]=t<<16|t>>>16,SUB_MIX_2[x]=t<<8|t>>>24,SUB_MIX_3[x]=t;var t=16843009*x8^65537*x4^257*x2^16843008*x;INV_SUB_MIX_0[sx]=t<<24|t>>>8,INV_SUB_MIX_1[sx]=t<<16|t>>>16,INV_SUB_MIX_2[sx]=t<<8|t>>>24,INV_SUB_MIX_3[sx]=t,x?(x=x2^d[d[d[x8^x2]]],xi^=d[d[xi]]):x=xi=1}}();var RCON=[0,1,2,4,8,16,32,64,128,27,54],AES=C_algo.AES=BlockCipher.extend({_doReset:function(){for(var key=this._key,keyWords=key.words,keySize=key.sigBytes/4,nRounds=this._nRounds=keySize+6,ksRows=4*(nRounds+1),keySchedule=this._keySchedule=[],ksRow=0;ksRow<ksRows;ksRow++)if(ksRow<keySize)keySchedule[ksRow]=keyWords[ksRow];else{var t=keySchedule[ksRow-1];ksRow%keySize?keySize>6&&ksRow%keySize==4&&(t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[255&t]):(t=t<<8|t>>>24,t=SBOX[t>>>24]<<24|SBOX[t>>>16&255]<<16|SBOX[t>>>8&255]<<8|SBOX[255&t],t^=RCON[ksRow/keySize|0]<<24),keySchedule[ksRow]=keySchedule[ksRow-keySize]^t}for(var invKeySchedule=this._invKeySchedule=[],invKsRow=0;invKsRow<ksRows;invKsRow++){var ksRow=ksRows-invKsRow;if(invKsRow%4)var t=keySchedule[ksRow];else var t=keySchedule[ksRow-4];invKsRow<4||ksRow<=4?invKeySchedule[invKsRow]=t:invKeySchedule[invKsRow]=INV_SUB_MIX_0[SBOX[t>>>24]]^INV_SUB_MIX_1[SBOX[t>>>16&255]]^INV_SUB_MIX_2[SBOX[t>>>8&255]]^INV_SUB_MIX_3[SBOX[255&t]]}},encryptBlock:function(M,offset){this._doCryptBlock(M,offset,this._keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX)},decryptBlock:function(M,offset){var t=M[offset+1];M[offset+1]=M[offset+3],M[offset+3]=t,this._doCryptBlock(M,offset,this._invKeySchedule,INV_SUB_MIX_0,INV_SUB_MIX_1,INV_SUB_MIX_2,INV_SUB_MIX_3,INV_SBOX);var t=M[offset+1];M[offset+1]=M[offset+3],M[offset+3]=t},_doCryptBlock:function(M,offset,keySchedule,SUB_MIX_0,SUB_MIX_1,SUB_MIX_2,SUB_MIX_3,SBOX){for(var nRounds=this._nRounds,s0=M[offset]^keySchedule[0],s1=M[offset+1]^keySchedule[1],s2=M[offset+2]^keySchedule[2],s3=M[offset+3]^keySchedule[3],ksRow=4,round=1;round<nRounds;round++){var t0=SUB_MIX_0[s0>>>24]^SUB_MIX_1[s1>>>16&255]^SUB_MIX_2[s2>>>8&255]^SUB_MIX_3[255&s3]^keySchedule[ksRow++],t1=SUB_MIX_0[s1>>>24]^SUB_MIX_1[s2>>>16&255]^SUB_MIX_2[s3>>>8&255]^SUB_MIX_3[255&s0]^keySchedule[ksRow++],t2=SUB_MIX_0[s2>>>24]^SUB_MIX_1[s3>>>16&255]^SUB_MIX_2[s0>>>8&255]^SUB_MIX_3[255&s1]^keySchedule[ksRow++],t3=SUB_MIX_0[s3>>>24]^SUB_MIX_1[s0>>>16&255]^SUB_MIX_2[s1>>>8&255]^SUB_MIX_3[255&s2]^keySchedule[ksRow++];s0=t0,s1=t1,s2=t2,s3=t3}var t0=(SBOX[s0>>>24]<<24|SBOX[s1>>>16&255]<<16|SBOX[s2>>>8&255]<<8|SBOX[255&s3])^keySchedule[ksRow++],t1=(SBOX[s1>>>24]<<24|SBOX[s2>>>16&255]<<16|SBOX[s3>>>8&255]<<8|SBOX[255&s0])^keySchedule[ksRow++],t2=(SBOX[s2>>>24]<<24|SBOX[s3>>>16&255]<<16|SBOX[s0>>>8&255]<<8|SBOX[255&s1])^keySchedule[ksRow++],t3=(SBOX[s3>>>24]<<24|SBOX[s0>>>16&255]<<16|SBOX[s1>>>8&255]<<8|SBOX[255&s2])^keySchedule[ksRow++];M[offset]=t0,M[offset+1]=t1,M[offset+2]=t2,M[offset+3]=t3},keySize:8});C.AES=BlockCipher._createHelper(AES)}(),_.extend(BI,{aesEncrypt:function(text,key){key=CryptoJS.enc.Utf8.parse(key);var cipher=CryptoJS.AES.encrypt(text,key,{mode:CryptoJS.mode.ECB,padding:CryptoJS.pad.Pkcs7}),base64Cipher=cipher.ciphertext.toString(CryptoJS.enc.Base64);return base64Cipher}})}(),!function(){function aspect(type){return function(target,methodName,advice){var exist=target[methodName],dispatcher;exist&&exist.target==target||(dispatcher=target[methodName]=function(){for(var beforeArr=dispatcher.before,args=arguments,next,l=beforeArr.length;l--;){if(next=beforeArr[l].advice.apply(this,args),next===!1)return!1;args=next||args}for(var rs=dispatcher.method.apply(this,args),afterArr=dispatcher.after,i=0,ii=afterArr.length;i<ii;i++){if(next=afterArr[i].advice.call(this,rs,args),rs===!1)return!1;args=next||args}return rs},dispatcher.before=[],dispatcher.after=[],exist&&(dispatcher.method=exist),dispatcher.target=target);var aspectArr=(dispatcher||exist)[type],obj={advice:advice,_index:aspectArr.length,remove:function(){aspectArr.splice(this._index,1)}};return aspectArr.push(obj),obj}}return BI.aspect={before:aspect("before"),after:aspect("after")},BI.aspect}(),!function(){var _keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_utf8_encode=function(string){string=string.replace(/\r\n/g,"\n");for(var utftext="",n=0;n<string.length;n++){var c=string.charCodeAt(n);c<128?utftext+=String.fromCharCode(c):c>127&&c<2048?(utftext+=String.fromCharCode(c>>6|192),utftext+=String.fromCharCode(63&c|128)):(utftext+=String.fromCharCode(c>>12|224),utftext+=String.fromCharCode(c>>6&63|128),utftext+=String.fromCharCode(63&c|128))}return utftext},_utf8_decode=function(utftext){for(var string="",i=0,c=0,c3=0,c2=0;i<utftext.length;)c=utftext.charCodeAt(i),c<128?(string+=String.fromCharCode(c),i++):c>191&&c<224?(c2=utftext.charCodeAt(i+1),string+=String.fromCharCode((31&c)<<6|63&c2),i+=2):(c2=utftext.charCodeAt(i+1),c3=utftext.charCodeAt(i+2),string+=String.fromCharCode((15&c)<<12|(63&c2)<<6|63&c3),i+=3);return string};_.extend(BI,{encode:function(input){var output="",chr1,chr2,chr3,enc1,enc2,enc3,enc4,i=0;for(input=_utf8_encode(input);i<input.length;)chr1=input.charCodeAt(i++),chr2=input.charCodeAt(i++),chr3=input.charCodeAt(i++),enc1=chr1>>2,enc2=(3&chr1)<<4|chr2>>4,enc3=(15&chr2)<<2|chr3>>6,enc4=63&chr3,isNaN(chr2)?enc3=enc4=64:isNaN(chr3)&&(enc4=64),output=output+_keyStr.charAt(enc1)+_keyStr.charAt(enc2)+_keyStr.charAt(enc3)+_keyStr.charAt(enc4);return output},decode:function(input){var output="",chr1,chr2,chr3,enc1,enc2,enc3,enc4,i=0;for(input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");i<input.length;)enc1=_keyStr.indexOf(input.charAt(i++)),enc2=_keyStr.indexOf(input.charAt(i++)),enc3=_keyStr.indexOf(input.charAt(i++)),enc4=_keyStr.indexOf(input.charAt(i++)),chr1=enc1<<2|enc2>>4,chr2=(15&enc2)<<4|enc3>>2,chr3=(3&enc3)<<6|enc4,output+=String.fromCharCode(chr1),64!=enc3&&(output+=String.fromCharCode(chr2)),64!=enc4&&(output+=String.fromCharCode(chr3));return output=_utf8_decode(output)}})}(),BI.Cache={_prefix:"bi",setUsername:function(username){localStorage.setItem(BI.Cache._prefix+".username",(username+""||"").toUpperCase())},getUsername:function(){return localStorage.getItem(BI.Cache._prefix+".username")||""},_getKeyPrefix:function(){return BI.Cache.getUsername()+"."+BI.Cache._prefix+"."},_generateKey:function(key){return BI.Cache._getKeyPrefix()+(key||"")},getItem:function(key){return localStorage.getItem(BI.Cache._generateKey(key))},setItem:function(key,value){localStorage.setItem(BI.Cache._generateKey(key),value)},removeItem:function(key){localStorage.removeItem(BI.Cache._generateKey(key))},clear:function(){for(var i=localStorage.length;i>=0;i--){var key=localStorage.key(i);key&&0===key.indexOf(BI.Cache._getKeyPrefix())&&localStorage.removeItem(key)}},keys:function(){for(var result=[],i=localStorage.length;i>=0;i--){var key=localStorage.key(i);if(key){var prefix=BI.Cache._getKeyPrefix();0===key.indexOf(prefix)&&(result[result.length]=key.substring(prefix.length))}}return result},addCookie:function(name,value,path,expiresHours){var cookieString=name+"="+escape(value);if(expiresHours&&expiresHours>0){var date=new Date;date.setTime(date.getTime()+3600*expiresHours*1e3),cookieString=cookieString+"; expires="+date.toUTCString()}path&&(cookieString=cookieString+"; path="+path),document.cookie=cookieString},getCookie:function(name){var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");return(arr=document.cookie.match(reg))?unescape(arr[2]):null},deleteCookie:function(name,path){var date=new Date;date.setTime(date.getTime()-1e4);var cookieString=name+"=v; expires="+date.toUTCString();path&&(cookieString=cookieString+"; path="+path),document.cookie=cookieString}},BI.CellSizeAndPositionManager=function(cellCount,cellSizeGetter,estimatedCellSize){this._cellSizeGetter=cellSizeGetter,this._cellCount=cellCount,this._estimatedCellSize=estimatedCellSize,this._cellSizeAndPositionData={},this._lastMeasuredIndex=-1},BI.CellSizeAndPositionManager.prototype={constructor:BI.CellSizeAndPositionManager,configure:function(cellCount,estimatedCellSize){this._cellCount=cellCount,this._estimatedCellSize=estimatedCellSize},getCellCount:function(){return this._cellCount},getEstimatedCellSize:function(){return this._estimatedCellSize},getLastMeasuredIndex:function(){return this._lastMeasuredIndex},getSizeAndPositionOfCell:function(index){if(!(index<0||index>=this._cellCount)){if(index>this._lastMeasuredIndex){for(var lastMeasuredCellSizeAndPosition=this.getSizeAndPositionOfLastMeasuredCell(),offset=lastMeasuredCellSizeAndPosition.offset+lastMeasuredCellSizeAndPosition.size,i=this._lastMeasuredIndex+1;i<=index;i++){var size=this._cellSizeGetter(i);null==size||isNaN(size)||(this._cellSizeAndPositionData[i]={offset:offset,size:size},offset+=size)}this._lastMeasuredIndex=index}return this._cellSizeAndPositionData[index]}},getSizeAndPositionOfLastMeasuredCell:function(){return this._lastMeasuredIndex>=0?this._cellSizeAndPositionData[this._lastMeasuredIndex]:{offset:0,size:0}},getTotalSize:function(){var lastMeasuredCellSizeAndPosition=this.getSizeAndPositionOfLastMeasuredCell();return lastMeasuredCellSizeAndPosition.offset+lastMeasuredCellSizeAndPosition.size+(this._cellCount-this._lastMeasuredIndex-1)*this._estimatedCellSize},getUpdatedOffsetForIndex:function(align,containerSize,currentOffset,targetIndex){var datum=this.getSizeAndPositionOfCell(targetIndex),maxOffset=datum.offset,minOffset=maxOffset-containerSize+datum.size,idealOffset;switch(align){case"start":idealOffset=maxOffset;break;case"end":idealOffset=minOffset;break;case"center":idealOffset=maxOffset-(containerSize-datum.size)/2;break;default:idealOffset=Math.max(minOffset,Math.min(maxOffset,currentOffset))}var totalSize=this.getTotalSize();return Math.max(0,Math.min(totalSize-containerSize,idealOffset))},getVisibleCellRange:function(containerSize,offset){var totalSize=this.getTotalSize();if(0===totalSize)return{};var maxOffset=offset+containerSize,start=this._findNearestCell(offset),datum=this.getSizeAndPositionOfCell(start);offset=datum.offset+datum.size;for(var stop=start;offset<maxOffset&&stop<this._cellCount-1;)stop++,offset+=this.getSizeAndPositionOfCell(stop).size;return{start:start,stop:stop}},resetCell:function(index){this._lastMeasuredIndex=Math.min(this._lastMeasuredIndex,index-1)},_binarySearch:function(high,low,offset){for(var middle,currentOffset;low<=high;){if(middle=low+Math.floor((high-low)/2),currentOffset=this.getSizeAndPositionOfCell(middle).offset,currentOffset===offset)return middle;currentOffset<offset?low=middle+1:currentOffset>offset&&(high=middle-1)}if(low>0)return low-1},_exponentialSearch:function(index,offset){for(var interval=1;index<this._cellCount&&this.getSizeAndPositionOfCell(index).offset<offset;)index+=interval,interval*=2;return this._binarySearch(Math.min(index,this._cellCount-1),Math.floor(index/2),offset)},_findNearestCell:function(offset){if(!isNaN(offset)){offset=Math.max(0,offset);var lastMeasuredCellSizeAndPosition=this.getSizeAndPositionOfLastMeasuredCell(),lastMeasuredIndex=Math.max(0,this._lastMeasuredIndex);return lastMeasuredCellSizeAndPosition.offset>=offset?this._binarySearch(lastMeasuredIndex,0,offset):this._exponentialSearch(lastMeasuredIndex,offset)}}},BI.ScalingCellSizeAndPositionManager=function(cellCount,cellSizeGetter,estimatedCellSize,maxScrollSize){this._cellSizeAndPositionManager=new BI.CellSizeAndPositionManager(cellCount,cellSizeGetter,estimatedCellSize),this._maxScrollSize=maxScrollSize||1e7},BI.ScalingCellSizeAndPositionManager.prototype={constructor:BI.ScalingCellSizeAndPositionManager,configure:function(){this._cellSizeAndPositionManager.configure.apply(this._cellSizeAndPositionManager,arguments)},getCellCount:function(){return this._cellSizeAndPositionManager.getCellCount()},getEstimatedCellSize:function(){return this._cellSizeAndPositionManager.getEstimatedCellSize()},getLastMeasuredIndex:function(){return this._cellSizeAndPositionManager.getLastMeasuredIndex()},getOffsetAdjustment:function(containerSize,offset){var totalSize=this._cellSizeAndPositionManager.getTotalSize(),safeTotalSize=this.getTotalSize(),offsetPercentage=this._getOffsetPercentage(containerSize,offset,safeTotalSize);return Math.round(offsetPercentage*(safeTotalSize-totalSize))},getSizeAndPositionOfCell:function(index){return this._cellSizeAndPositionManager.getSizeAndPositionOfCell(index)},getSizeAndPositionOfLastMeasuredCell:function(){return this._cellSizeAndPositionManager.getSizeAndPositionOfLastMeasuredCell()},getTotalSize:function(){return Math.min(this._maxScrollSize,this._cellSizeAndPositionManager.getTotalSize())},getUpdatedOffsetForIndex:function(align,containerSize,currentOffset,targetIndex){currentOffset=this._safeOffsetToOffset(containerSize,currentOffset);var offset=this._cellSizeAndPositionManager.getUpdatedOffsetForIndex(align,containerSize,currentOffset,targetIndex);return this._offsetToSafeOffset(containerSize,offset)},getVisibleCellRange:function(containerSize,offset){return offset=this._safeOffsetToOffset(containerSize,offset),this._cellSizeAndPositionManager.getVisibleCellRange(containerSize,offset)},resetCell:function(index){this._cellSizeAndPositionManager.resetCell(index)},_getOffsetPercentage:function(containerSize,offset,totalSize){return totalSize<=containerSize?0:offset/(totalSize-containerSize)},_offsetToSafeOffset:function(containerSize,offset){var totalSize=this._cellSizeAndPositionManager.getTotalSize(),safeTotalSize=this.getTotalSize();if(totalSize===safeTotalSize)return offset;var offsetPercentage=this._getOffsetPercentage(containerSize,offset,totalSize);return Math.round(offsetPercentage*(safeTotalSize-containerSize))},_safeOffsetToOffset:function(containerSize,offset){var totalSize=this._cellSizeAndPositionManager.getTotalSize(),safeTotalSize=this.getTotalSize();if(totalSize===safeTotalSize)return offset;var offsetPercentage=this._getOffsetPercentage(containerSize,offset,safeTotalSize);return Math.round(offsetPercentage*(totalSize-containerSize))}},!function(){var _ChineseFirstPY="YDYQSXMWZSSXJBYMGCCZQPSSQBYCDSCDQLDYLYBSSJGYZZJJFKCCLZDHWDWZJLJPFYYNWJJTMYHZWZHFLZPPQHGSCYYYNJQYXXGJHHSDSJNKKTMOMLCRXYPSNQSECCQZGGLLYJLMYZZSECYKYYHQWJSSGGYXYZYJWWKDJHYCHMYXJTLXJYQBYXZLDWRDJRWYSRLDZJPCBZJJBRCFTLECZSTZFXXZHTRQHYBDLYCZSSYMMRFMYQZPWWJJYFCRWFDFZQPYDDWYXKYJAWJFFXYPSFTZYHHYZYSWCJYXSCLCXXWZZXNBGNNXBXLZSZSBSGPYSYZDHMDZBQBZCWDZZYYTZHBTSYYBZGNTNXQYWQSKBPHHLXGYBFMJEBJHHGQTJCYSXSTKZHLYCKGLYSMZXYALMELDCCXGZYRJXSDLTYZCQKCNNJWHJTZZCQLJSTSTBNXBTYXCEQXGKWJYFLZQLYHYXSPSFXLMPBYSXXXYDJCZYLLLSJXFHJXPJBTFFYABYXBHZZBJYZLWLCZGGBTSSMDTJZXPTHYQTGLJSCQFZKJZJQNLZWLSLHDZBWJNCJZYZSQQYCQYRZCJJWYBRTWPYFTWEXCSKDZCTBZHYZZYYJXZCFFZZMJYXXSDZZOTTBZLQWFCKSZSXFYRLNYJMBDTHJXSQQCCSBXYYTSYFBXDZTGBCNSLCYZZPSAZYZZSCJCSHZQYDXLBPJLLMQXTYDZXSQJTZPXLCGLQTZWJBHCTSYJSFXYEJJTLBGXSXJMYJQQPFZASYJNTYDJXKJCDJSZCBARTDCLYJQMWNQNCLLLKBYBZZSYHQQLTWLCCXTXLLZNTYLNEWYZYXCZXXGRKRMTCNDNJTSYYSSDQDGHSDBJGHRWRQLYBGLXHLGTGXBQJDZPYJSJYJCTMRNYMGRZJCZGJMZMGXMPRYXKJNYMSGMZJYMKMFXMLDTGFBHCJHKYLPFMDXLQJJSMTQGZSJLQDLDGJYCALCMZCSDJLLNXDJFFFFJCZFMZFFPFKHKGDPSXKTACJDHHZDDCRRCFQYJKQCCWJDXHWJLYLLZGCFCQDSMLZPBJJPLSBCJGGDCKKDEZSQCCKJGCGKDJTJDLZYCXKLQSCGJCLTFPCQCZGWPJDQYZJJBYJHSJDZWGFSJGZKQCCZLLPSPKJGQJHZZLJPLGJGJJTHJJYJZCZMLZLYQBGJWMLJKXZDZNJQSYZMLJLLJKYWXMKJLHSKJGBMCLYYMKXJQLBMLLKMDXXKWYXYSLMLPSJQQJQXYXFJTJDXMXXLLCXQBSYJBGWYMBGGBCYXPJYGPEPFGDJGBHBNSQJYZJKJKHXQFGQZKFHYGKHDKLLSDJQXPQYKYBNQSXQNSZSWHBSXWHXWBZZXDMNSJBSBKBBZKLYLXGWXDRWYQZMYWSJQLCJXXJXKJEQXSCYETLZHLYYYSDZPAQYZCMTLSHTZCFYZYXYLJSDCJQAGYSLCQLYYYSHMRQQKLDXZSCSSSYDYCJYSFSJBFRSSZQSBXXPXJYSDRCKGJLGDKZJZBDKTCSYQPYHSTCLDJDHMXMCGXYZHJDDTMHLTXZXYLYMOHYJCLTYFBQQXPFBDFHHTKSQHZYYWCNXXCRWHOWGYJLEGWDQCWGFJYCSNTMYTOLBYGWQWESJPWNMLRYDZSZTXYQPZGCWXHNGPYXSHMYQJXZTDPPBFYHZHTJYFDZWKGKZBLDNTSXHQEEGZZYLZMMZYJZGXZXKHKSTXNXXWYLYAPSTHXDWHZYMPXAGKYDXBHNHXKDPJNMYHYLPMGOCSLNZHKXXLPZZLBMLSFBHHGYGYYGGBHSCYAQTYWLXTZQCEZYDQDQMMHTKLLSZHLSJZWFYHQSWSCWLQAZYNYTLSXTHAZNKZZSZZLAXXZWWCTGQQTDDYZTCCHYQZFLXPSLZYGPZSZNGLNDQTBDLXGTCTAJDKYWNSYZLJHHZZCWNYYZYWMHYCHHYXHJKZWSXHZYXLYSKQYSPSLYZWMYPPKBYGLKZHTYXAXQSYSHXASMCHKDSCRSWJPWXSGZJLWWSCHSJHSQNHCSEGNDAQTBAALZZMSSTDQJCJKTSCJAXPLGGXHHGXXZCXPDMMHLDGTYBYSJMXHMRCPXXJZCKZXSHMLQXXTTHXWZFKHCCZDYTCJYXQHLXDHYPJQXYLSYYDZOZJNYXQEZYSQYAYXWYPDGXDDXSPPYZNDLTWRHXYDXZZJHTCXMCZLHPYYYYMHZLLHNXMYLLLMDCPPXHMXDKYCYRDLTXJCHHZZXZLCCLYLNZSHZJZZLNNRLWHYQSNJHXYNTTTKYJPYCHHYEGKCTTWLGQRLGGTGTYGYHPYHYLQYQGCWYQKPYYYTTTTLHYHLLTYTTSPLKYZXGZWGPYDSSZZDQXSKCQNMJJZZBXYQMJRTFFBTKHZKBXLJJKDXJTLBWFZPPTKQTZTGPDGNTPJYFALQMKGXBDCLZFHZCLLLLADPMXDJHLCCLGYHDZFGYDDGCYYFGYDXKSSEBDHYKDKDKHNAXXYBPBYYHXZQGAFFQYJXDMLJCSQZLLPCHBSXGJYNDYBYQSPZWJLZKSDDTACTBXZDYZYPJZQSJNKKTKNJDJGYYPGTLFYQKASDNTCYHBLWDZHBBYDWJRYGKZYHEYYFJMSDTYFZJJHGCXPLXHLDWXXJKYTCYKSSSMTWCTTQZLPBSZDZWZXGZAGYKTYWXLHLSPBCLLOQMMZSSLCMBJCSZZKYDCZJGQQDSMCYTZQQLWZQZXSSFPTTFQMDDZDSHDTDWFHTDYZJYQJQKYPBDJYYXTLJHDRQXXXHAYDHRJLKLYTWHLLRLLRCXYLBWSRSZZSYMKZZHHKYHXKSMDSYDYCJPBZBSQLFCXXXNXKXWYWSDZYQOGGQMMYHCDZTTFJYYBGSTTTYBYKJDHKYXBELHTYPJQNFXFDYKZHQKZBYJTZBXHFDXKDASWTAWAJLDYJSFHBLDNNTNQJTJNCHXFJSRFWHZFMDRYJYJWZPDJKZYJYMPCYZNYNXFBYTFYFWYGDBNZZZDNYTXZEMMQBSQEHXFZMBMFLZZSRXYMJGSXWZJSPRYDJSJGXHJJGLJJYNZZJXHGXKYMLPYYYCXYTWQZSWHWLYRJLPXSLSXMFSWWKLCTNXNYNPSJSZHDZEPTXMYYWXYYSYWLXJQZQXZDCLEEELMCPJPCLWBXSQHFWWTFFJTNQJHJQDXHWLBYZNFJLALKYYJLDXHHYCSTYYWNRJYXYWTRMDRQHWQCMFJDYZMHMYYXJWMYZQZXTLMRSPWWCHAQBXYGZYPXYYRRCLMPYMGKSJSZYSRMYJSNXTPLNBAPPYPYLXYYZKYNLDZYJZCZNNLMZHHARQMPGWQTZMXXMLLHGDZXYHXKYXYCJMFFYYHJFSBSSQLXXNDYCANNMTCJCYPRRNYTYQNYYMBMSXNDLYLYSLJRLXYSXQMLLYZLZJJJKYZZCSFBZXXMSTBJGNXYZHLXNMCWSCYZYFZLXBRNNNYLBNRTGZQYSATSWRYHYJZMZDHZGZDWYBSSCSKXSYHYTXXGCQGXZZSHYXJSCRHMKKBXCZJYJYMKQHZJFNBHMQHYSNJNZYBKNQMCLGQHWLZNZSWXKHLJHYYBQLBFCDSXDLDSPFZPSKJYZWZXZDDXJSMMEGJSCSSMGCLXXKYYYLNYPWWWGYDKZJGGGZGGSYCKNJWNJPCXBJJTQTJWDSSPJXZXNZXUMELPXFSXTLLXCLJXJJLJZXCTPSWXLYDHLYQRWHSYCSQYYBYAYWJJJQFWQCQQCJQGXALDBZZYJGKGXPLTZYFXJLTPADKYQHPMATLCPDCKBMTXYBHKLENXDLEEGQDYMSAWHZMLJTWYGXLYQZLJEEYYBQQFFNLYXRDSCTGJGXYYNKLLYQKCCTLHJLQMKKZGCYYGLLLJDZGYDHZWXPYSJBZKDZGYZZHYWYFQYTYZSZYEZZLYMHJJHTSMQWYZLKYYWZCSRKQYTLTDXWCTYJKLWSQZWBDCQYNCJSRSZJLKCDCDTLZZZACQQZZDDXYPLXZBQJYLZLLLQDDZQJYJYJZYXNYYYNYJXKXDAZWYRDLJYYYRJLXLLDYXJCYWYWNQCCLDDNYYYNYCKCZHXXCCLGZQJGKWPPCQQJYSBZZXYJSQPXJPZBSBDSFNSFPZXHDWZTDWPPTFLZZBZDMYYPQJRSDZSQZSQXBDGCPZSWDWCSQZGMDHZXMWWFYBPDGPHTMJTHZSMMBGZMBZJCFZWFZBBZMQCFMBDMCJXLGPNJBBXGYHYYJGPTZGZMQBQTCGYXJXLWZKYDPDYMGCFTPFXYZTZXDZXTGKMTYBBCLBJASKYTSSQYYMSZXFJEWLXLLSZBQJJJAKLYLXLYCCTSXMCWFKKKBSXLLLLJYXTYLTJYYTDPJHNHNNKBYQNFQYYZBYYESSESSGDYHFHWTCJBSDZZTFDMXHCNJZYMQWSRYJDZJQPDQBBSTJGGFBKJBXTGQHNGWJXJGDLLTHZHHYYYYYYSXWTYYYCCBDBPYPZYCCZYJPZYWCBDLFWZCWJDXXHYHLHWZZXJTCZLCDPXUJCZZZLYXJJTXPHFXWPYWXZPTDZZBDZCYHJHMLXBQXSBYLRDTGJRRCTTTHYTCZWMXFYTWWZCWJWXJYWCSKYBZSCCTZQNHXNWXXKHKFHTSWOCCJYBCMPZZYKBNNZPBZHHZDLSYDDYTYFJPXYNGFXBYQXCBHXCPSXTYZDMKYSNXSXLHKMZXLYHDHKWHXXSSKQYHHCJYXGLHZXCSNHEKDTGZXQYPKDHEXTYKCNYMYYYPKQYYYKXZLTHJQTBYQHXBMYHSQCKWWYLLHCYYLNNEQXQWMCFBDCCMLJGGXDQKTLXKGNQCDGZJWYJJLYHHQTTTNWCHMXCXWHWSZJYDJCCDBQCDGDNYXZTHCQRXCBHZTQCBXWGQWYYBXHMBYMYQTYEXMQKYAQYRGYZSLFYKKQHYSSQYSHJGJCNXKZYCXSBXYXHYYLSTYCXQTHYSMGSCPMMGCCCCCMTZTASMGQZJHKLOSQYLSWTMXSYQKDZLJQQYPLSYCZTCQQPBBQJZCLPKHQZYYXXDTDDTSJCXFFLLCHQXMJLWCJCXTSPYCXNDTJSHJWXDQQJSKXYAMYLSJHMLALYKXCYYDMNMDQMXMCZNNCYBZKKYFLMCHCMLHXRCJJHSYLNMTJZGZGYWJXSRXCWJGJQHQZDQJDCJJZKJKGDZQGJJYJYLXZXXCDQHHHEYTMHLFSBDJSYYSHFYSTCZQLPBDRFRZTZYKYWHSZYQKWDQZRKMSYNBCRXQBJYFAZPZZEDZCJYWBCJWHYJBQSZYWRYSZPTDKZPFPBNZTKLQYHBBZPNPPTYZZYBQNYDCPJMMCYCQMCYFZZDCMNLFPBPLNGQJTBTTNJZPZBBZNJKLJQYLNBZQHKSJZNGGQSZZKYXSHPZSNBCGZKDDZQANZHJKDRTLZLSWJLJZLYWTJNDJZJHXYAYNCBGTZCSSQMNJPJYTYSWXZFKWJQTKHTZPLBHSNJZSYZBWZZZZLSYLSBJHDWWQPSLMMFBJDWAQYZTCJTBNNWZXQXCDSLQGDSDPDZHJTQQPSWLYYJZLGYXYZLCTCBJTKTYCZJTQKBSJLGMGZDMCSGPYNJZYQYYKNXRPWSZXMTNCSZZYXYBYHYZAXYWQCJTLLCKJJTJHGDXDXYQYZZBYWDLWQCGLZGJGQRQZCZSSBCRPCSKYDZNXJSQGXSSJMYDNSTZTPBDLTKZWXQWQTZEXNQCZGWEZKSSBYBRTSSSLCCGBPSZQSZLCCGLLLZXHZQTHCZMQGYZQZNMCOCSZJMMZSQPJYGQLJYJPPLDXRGZYXCCSXHSHGTZNLZWZKJCXTCFCJXLBMQBCZZWPQDNHXLJCTHYZLGYLNLSZZPCXDSCQQHJQKSXZPBAJYEMSMJTZDXLCJYRYYNWJBNGZZTMJXLTBSLYRZPYLSSCNXPHLLHYLLQQZQLXYMRSYCXZLMMCZLTZSDWTJJLLNZGGQXPFSKYGYGHBFZPDKMWGHCXMSGDXJMCJZDYCABXJDLNBCDQYGSKYDQTXDJJYXMSZQAZDZFSLQXYJSJZYLBTXXWXQQZBJZUFBBLYLWDSLJHXJYZJWTDJCZFQZQZZDZSXZZQLZCDZFJHYSPYMPQZMLPPLFFXJJNZZYLSJEYQZFPFZKSYWJJJHRDJZZXTXXGLGHYDXCSKYSWMMZCWYBAZBJKSHFHJCXMHFQHYXXYZFTSJYZFXYXPZLCHMZMBXHZZSXYFYMNCWDABAZLXKTCSHHXKXJJZJSTHYGXSXYYHHHJWXKZXSSBZZWHHHCWTZZZPJXSNXQQJGZYZYWLLCWXZFXXYXYHXMKYYSWSQMNLNAYCYSPMJKHWCQHYLAJJMZXHMMCNZHBHXCLXTJPLTXYJHDYYLTTXFSZHYXXSJBJYAYRSMXYPLCKDUYHLXRLNLLSTYZYYQYGYHHSCCSMZCTZQXKYQFPYYRPFFLKQUNTSZLLZMWWTCQQYZWTLLMLMPWMBZSSTZRBPDDTLQJJBXZCSRZQQYGWCSXFWZLXCCRSZDZMCYGGDZQSGTJSWLJMYMMZYHFBJDGYXCCPSHXNZCSBSJYJGJMPPWAFFYFNXHYZXZYLREMZGZCYZSSZDLLJCSQFNXZKPTXZGXJJGFMYYYSNBTYLBNLHPFZDCYFBMGQRRSSSZXYSGTZRNYDZZCDGPJAFJFZKNZBLCZSZPSGCYCJSZLMLRSZBZZLDLSLLYSXSQZQLYXZLSKKBRXBRBZCYCXZZZEEYFGKLZLYYHGZSGZLFJHGTGWKRAAJYZKZQTSSHJJXDCYZUYJLZYRZDQQHGJZXSSZBYKJPBFRTJXLLFQWJHYLQTYMBLPZDXTZYGBDHZZRBGXHWNJTJXLKSCFSMWLSDQYSJTXKZSCFWJLBXFTZLLJZLLQBLSQMQQCGCZFPBPHZCZJLPYYGGDTGWDCFCZQYYYQYSSCLXZSKLZZZGFFCQNWGLHQYZJJCZLQZZYJPJZZBPDCCMHJGXDQDGDLZQMFGPSYTSDYFWWDJZJYSXYYCZCYHZWPBYKXRYLYBHKJKSFXTZJMMCKHLLTNYYMSYXYZPYJQYCSYCWMTJJKQYRHLLQXPSGTLYYCLJSCPXJYZFNMLRGJJTYZBXYZMSJYJHHFZQMSYXRSZCWTLRTQZSSTKXGQKGSPTGCZNJSJCQCXHMXGGZTQYDJKZDLBZSXJLHYQGGGTHQSZPYHJHHGYYGKGGCWJZZYLCZLXQSFTGZSLLLMLJSKCTBLLZZSZMMNYTPZSXQHJCJYQXYZXZQZCPSHKZZYSXCDFGMWQRLLQXRFZTLYSTCTMJCXJJXHJNXTNRZTZFQYHQGLLGCXSZSJDJLJCYDSJTLNYXHSZXCGJZYQPYLFHDJSBPCCZHJJJQZJQDYBSSLLCMYTTMQTBHJQNNYGKYRQYQMZGCJKPDCGMYZHQLLSLLCLMHOLZGDYYFZSLJCQZLYLZQJESHNYLLJXGJXLYSYYYXNBZLJSSZCQQCJYLLZLTJYLLZLLBNYLGQCHXYYXOXCXQKYJXXXYKLXSXXYQXCYKQXQCSGYXXYQXYGYTQOHXHXPYXXXULCYEYCHZZCBWQBBWJQZSCSZSSLZYLKDESJZWMYMCYTSDSXXSCJPQQSQYLYYZYCMDJDZYWCBTJSYDJKCYDDJLBDJJSODZYSYXQQYXDHHGQQYQHDYXWGMMMAJDYBBBPPBCMUUPLJZSMTXERXJMHQNUTPJDCBSSMSSSTKJTSSMMTRCPLZSZMLQDSDMJMQPNQDXCFYNBFSDQXYXHYAYKQYDDLQYYYSSZBYDSLNTFQTZQPZMCHDHCZCWFDXTMYQSPHQYYXSRGJCWTJTZZQMGWJJTJHTQJBBHWZPXXHYQFXXQYWYYHYSCDYDHHQMNMTMWCPBSZPPZZGLMZFOLLCFWHMMSJZTTDHZZYFFYTZZGZYSKYJXQYJZQBHMBZZLYGHGFMSHPZFZSNCLPBQSNJXZSLXXFPMTYJYGBXLLDLXPZJYZJYHHZCYWHJYLSJEXFSZZYWXKZJLUYDTMLYMQJPWXYHXSKTQJEZRPXXZHHMHWQPWQLYJJQJJZSZCPHJLCHHNXJLQWZJHBMZYXBDHHYPZLHLHLGFWLCHYYTLHJXCJMSCPXSTKPNHQXSRTYXXTESYJCTLSSLSTDLLLWWYHDHRJZSFGXTSYCZYNYHTDHWJSLHTZDQDJZXXQHGYLTZPHCSQFCLNJTCLZPFSTPDYNYLGMJLLYCQHYSSHCHYLHQYQTMZYPBYWRFQYKQSYSLZDQJMPXYYSSRHZJNYWTQDFZBWWTWWRXCWHGYHXMKMYYYQMSMZHNGCEPMLQQMTCWCTMMPXJPJJHFXYYZSXZHTYBMSTSYJTTQQQYYLHYNPYQZLCYZHZWSMYLKFJXLWGXYPJYTYSYXYMZCKTTWLKSMZSYLMPWLZWXWQZSSAQSYXYRHSSNTSRAPXCPWCMGDXHXZDZYFJHGZTTSBJHGYZSZYSMYCLLLXBTYXHBBZJKSSDMALXHYCFYGMQYPJYCQXJLLLJGSLZGQLYCJCCZOTYXMTMTTLLWTGPXYMZMKLPSZZZXHKQYSXCTYJZYHXSHYXZKXLZWPSQPYHJWPJPWXQQYLXSDHMRSLZZYZWTTCYXYSZZSHBSCCSTPLWSSCJCHNLCGCHSSPHYLHFHHXJSXYLLNYLSZDHZXYLSXLWZYKCLDYAXZCMDDYSPJTQJZLNWQPSSSWCTSTSZLBLNXSMNYYMJQBQHRZWTYYDCHQLXKPZWBGQYBKFCMZWPZLLYYLSZYDWHXPSBCMLJBSCGBHXLQHYRLJXYSWXWXZSLDFHLSLYNJLZYFLYJYCDRJLFSYZFSLLCQYQFGJYHYXZLYLMSTDJCYHBZLLNWLXXYGYYHSMGDHXXHHLZZJZXCZZZCYQZFNGWPYLCPKPYYPMCLQKDGXZGGWQBDXZZKZFBXXLZXJTPJPTTBYTSZZDWSLCHZHSLTYXHQLHYXXXYYZYSWTXZKHLXZXZPYHGCHKCFSYHUTJRLXFJXPTZTWHPLYXFCRHXSHXKYXXYHZQDXQWULHYHMJTBFLKHTXCWHJFWJCFPQRYQXCYYYQYGRPYWSGSUNGWCHKZDXYFLXXHJJBYZWTSXXNCYJJYMSWZJQRMHXZWFQSYLZJZGBHYNSLBGTTCSYBYXXWXYHXYYXNSQYXMQYWRGYQLXBBZLJSYLPSYTJZYHYZAWLRORJMKSCZJXXXYXCHDYXRYXXJDTSQFXLYLTSFFYXLMTYJMJUYYYXLTZCSXQZQHZXLYYXZHDNBRXXXJCTYHLBRLMBRLLAXKYLLLJLYXXLYCRYLCJTGJCMTLZLLCYZZPZPCYAWHJJFYBDYYZSMPCKZDQYQPBPCJPDCYZMDPBCYYDYCNNPLMTMLRMFMMGWYZBSJGYGSMZQQQZTXMKQWGXLLPJGZBQCDJJJFPKJKCXBLJMSWMDTQJXLDLPPBXCWRCQFBFQJCZAHZGMYKPHYYHZYKNDKZMBPJYXPXYHLFPNYYGXJDBKXNXHJMZJXSTRSTLDXSKZYSYBZXJLXYSLBZYSLHXJPFXPQNBYLLJQKYGZMCYZZYMCCSLCLHZFWFWYXZMWSXTYNXJHPYYMCYSPMHYSMYDYSHQYZCHMJJMZCAAGCFJBBHPLYZYLXXSDJGXDHKXXTXXNBHRMLYJSLTXMRHNLXQJXYZLLYSWQGDLBJHDCGJYQYCMHWFMJYBMBYJYJWYMDPWHXQLDYGPDFXXBCGJSPCKRSSYZJMSLBZZJFLJJJLGXZGYXYXLSZQYXBEXYXHGCXBPLDYHWETTWWCJMBTXCHXYQXLLXFLYXLLJLSSFWDPZSMYJCLMWYTCZPCHQEKCQBWLCQYDPLQPPQZQFJQDJHYMMCXTXDRMJWRHXCJZYLQXDYYNHYYHRSLSRSYWWZJYMTLTLLGTQCJZYABTCKZCJYCCQLJZQXALMZYHYWLWDXZXQDLLQSHGPJFJLJHJABCQZDJGTKHSSTCYJLPSWZLXZXRWGLDLZRLZXTGSLLLLZLYXXWGDZYGBDPHZPBRLWSXQBPFDWOFMWHLYPCBJCCLDMBZPBZZLCYQXLDOMZBLZWPDWYYGDSTTHCSQSCCRSSSYSLFYBFNTYJSZDFNDPDHDZZMBBLSLCMYFFGTJJQWFTMTPJWFNLBZCMMJTGBDZLQLPYFHYYMJYLSDCHDZJWJCCTLJCLDTLJJCPDDSQDSSZYBNDBJLGGJZXSXNLYCYBJXQYCBYLZCFZPPGKCXZDZFZTJJFJSJXZBNZYJQTTYJYHTYCZHYMDJXTTMPXSPLZCDWSLSHXYPZGTFMLCJTYCBPMGDKWYCYZCDSZZYHFLYCTYGWHKJYYLSJCXGYWJCBLLCSNDDBTZBSCLYZCZZSSQDLLMQYYHFSLQLLXFTYHABXGWNYWYYPLLSDLDLLBJCYXJZMLHLJDXYYQYTDLLLBUGBFDFBBQJZZMDPJHGCLGMJJPGAEHHBWCQXAXHHHZCHXYPHJAXHLPHJPGPZJQCQZGJJZZUZDMQYYBZZPHYHYBWHAZYJHYKFGDPFQSDLZMLJXKXGALXZDAGLMDGXMWZQYXXDXXPFDMMSSYMPFMDMMKXKSYZYSHDZKXSYSMMZZZMSYDNZZCZXFPLSTMZDNMXCKJMZTYYMZMZZMSXHHDCZJEMXXKLJSTLWLSQLYJZLLZJSSDPPMHNLZJCZYHMXXHGZCJMDHXTKGRMXFWMCGMWKDTKSXQMMMFZZYDKMSCLCMPCGMHSPXQPZDSSLCXKYXTWLWJYAHZJGZQMCSNXYYMMPMLKJXMHLMLQMXCTKZMJQYSZJSYSZHSYJZJCDAJZYBSDQJZGWZQQXFKDMSDJLFWEHKZQKJPEYPZYSZCDWYJFFMZZYLTTDZZEFMZLBNPPLPLPEPSZALLTYLKCKQZKGENQLWAGYXYDPXLHSXQQWQCQXQCLHYXXMLYCCWLYMQYSKGCHLCJNSZKPYZKCQZQLJPDMDZHLASXLBYDWQLWDNBQCRYDDZTJYBKBWSZDXDTNPJDTCTQDFXQQMGNXECLTTBKPWSLCTYQLPWYZZKLPYGZCQQPLLKCCYLPQMZCZQCLJSLQZDJXLDDHPZQDLJJXZQDXYZQKZLJCYQDYJPPYPQYKJYRMPCBYMCXKLLZLLFQPYLLLMBSGLCYSSLRSYSQTMXYXZQZFDZUYSYZTFFMZZSMZQHZSSCCMLYXWTPZGXZJGZGSJSGKDDHTQGGZLLBJDZLCBCHYXYZHZFYWXYZYMSDBZZYJGTSMTFXQYXQSTDGSLNXDLRYZZLRYYLXQHTXSRTZNGZXBNQQZFMYKMZJBZYMKBPNLYZPBLMCNQYZZZSJZHJCTZKHYZZJRDYZHNPXGLFZTLKGJTCTSSYLLGZRZBBQZZKLPKLCZYSSUYXBJFPNJZZXCDWXZYJXZZDJJKGGRSRJKMSMZJLSJYWQSKYHQJSXPJZZZLSNSHRNYPZTWCHKLPSRZLZXYJQXQKYSJYCZTLQZYBBYBWZPQDWWYZCYTJCJXCKCWDKKZXSGKDZXWWYYJQYYTCYTDLLXWKCZKKLCCLZCQQDZLQLCSFQCHQHSFSMQZZLNBJJZBSJHTSZDYSJQJPDLZCDCWJKJZZLPYCGMZWDJJBSJQZSYZYHHXJPBJYDSSXDZNCGLQMBTSFSBPDZDLZNFGFJGFSMPXJQLMBLGQCYYXBQKDJJQYRFKZTJDHCZKLBSDZCFJTPLLJGXHYXZCSSZZXSTJYGKGCKGYOQXJPLZPBPGTGYJZGHZQZZLBJLSQFZGKQQJZGYCZBZQTLDXRJXBSXXPZXHYZYCLWDXJJHXMFDZPFZHQHQMQGKSLYHTYCGFRZGNQXCLPDLBZCSCZQLLJBLHBZCYPZZPPDYMZZSGYHCKCPZJGSLJLNSCDSLDLXBMSTLDDFJMKDJDHZLZXLSZQPQPGJLLYBDSZGQLBZLSLKYYHZTTNTJYQTZZPSZQZTLLJTYYLLQLLQYZQLBDZLSLYYZYMDFSZSNHLXZNCZQZPBWSKRFBSYZMTHBLGJPMCZZLSTLXSHTCSYZLZBLFEQHLXFLCJLYLJQCBZLZJHHSSTBRMHXZHJZCLXFNBGXGTQJCZTMSFZKJMSSNXLJKBHSJXNTNLZDNTLMSJXGZJYJCZXYJYJWRWWQNZTNFJSZPZSHZJFYRDJSFSZJZBJFZQZZHZLXFYSBZQLZSGYFTZDCSZXZJBQMSZKJRHYJZCKMJKHCHGTXKXQGLXPXFXTRTYLXJXHDTSJXHJZJXZWZLCQSBTXWXGXTXXHXFTSDKFJHZYJFJXRZSDLLLTQSQQZQWZXSYQTWGWBZCGZLLYZBCLMQQTZHZXZXLJFRMYZFLXYSQXXJKXRMQDZDMMYYBSQBHGZMWFWXGMXLZPYYTGZYCCDXYZXYWGSYJYZNBHPZJSQSYXSXRTFYZGRHZTXSZZTHCBFCLSYXZLZQMZLMPLMXZJXSFLBYZMYQHXJSXRXSQZZZSSLYFRCZJRCRXHHZXQYDYHXSJJHZCXZBTYNSYSXJBQLPXZQPYMLXZKYXLXCJLCYSXXZZLXDLLLJJYHZXGYJWKJRWYHCPSGNRZLFZWFZZNSXGXFLZSXZZZBFCSYJDBRJKRDHHGXJLJJTGXJXXSTJTJXLYXQFCSGSWMSBCTLQZZWLZZKXJMLTMJYHSDDBXGZHDLBMYJFRZFSGCLYJBPMLYSMSXLSZJQQHJZFXGFQFQBPXZGYYQXGZTCQWYLTLGWSGWHRLFSFGZJMGMGBGTJFSYZZGZYZAFLSSPMLPFLCWBJZCLJJMZLPJJLYMQDMYYYFBGYGYZMLYZDXQYXRQQQHSYYYQXYLJTYXFSFSLLGNQCYHYCWFHCCCFXPYLYPLLZYXXXXXKQHHXSHJZCFZSCZJXCPZWHHHHHAPYLQALPQAFYHXDYLUKMZQGGGDDESRNNZLTZGCHYPPYSQJJHCLLJTOLNJPZLJLHYMHEYDYDSQYCDDHGZUNDZCLZYZLLZNTNYZGSLHSLPJJBDGWXPCDUTJCKLKCLWKLLCASSTKZZDNQNTTLYYZSSYSSZZRYLJQKCQDHHCRXRZYDGRGCWCGZQFFFPPJFZYNAKRGYWYQPQXXFKJTSZZXSWZDDFBBXTBGTZKZNPZZPZXZPJSZBMQHKCYXYLDKLJNYPKYGHGDZJXXEAHPNZKZTZCMXCXMMJXNKSZQNMNLWBWWXJKYHCPSTMCSQTZJYXTPCTPDTNNPGLLLZSJLSPBLPLQHDTNJNLYYRSZFFJFQWDPHZDWMRZCCLODAXNSSNYZRESTYJWJYJDBCFXNMWTTBYLWSTSZGYBLJPXGLBOCLHPCBJLTMXZLJYLZXCLTPNCLCKXTPZJSWCYXSFYSZDKNTLBYJCYJLLSTGQCBXRYZXBXKLYLHZLQZLNZCXWJZLJZJNCJHXMNZZGJZZXTZJXYCYYCXXJYYXJJXSSSJSTSSTTPPGQTCSXWZDCSYFPTFBFHFBBLZJCLZZDBXGCXLQPXKFZFLSYLTUWBMQJHSZBMDDBCYSCCLDXYCDDQLYJJWMQLLCSGLJJSYFPYYCCYLTJANTJJPWYCMMGQYYSXDXQMZHSZXPFTWWZQSWQRFKJLZJQQYFBRXJHHFWJJZYQAZMYFRHCYYBYQWLPEXCCZSTYRLTTDMQLYKMBBGMYYJPRKZNPBSXYXBHYZDJDNGHPMFSGMWFZMFQMMBCMZZCJJLCNUXYQLMLRYGQZCYXZLWJGCJCGGMCJNFYZZJHYCPRRCMTZQZXHFQGTJXCCJEAQCRJYHPLQLSZDJRBCQHQDYRHYLYXJSYMHZYDWLDFRYHBPYDTSSCNWBXGLPZMLZZTQSSCPJMXXYCSJYTYCGHYCJWYRXXLFEMWJNMKLLSWTXHYYYNCMMCWJDQDJZGLLJWJRKHPZGGFLCCSCZMCBLTBHBQJXQDSPDJZZGHGLFQYWBZYZJLTSTDHQHCTCBCHFLQMPWDSHYYTQWCNZZJTLBYMBPDYYYXSQKXWYYFLXXNCWCXYPMAELYKKJMZZZBRXYYQJFLJPFHHHYTZZXSGQQMHSPGDZQWBWPJHZJDYSCQWZKTXXSQLZYYMYSDZGRXCKKUJLWPYSYSCSYZLRMLQSYLJXBCXTLWDQZPCYCYKPPPNSXFYZJJRCEMHSZMSXLXGLRWGCSTLRSXBZGBZGZTCPLUJLSLYLYMTXMTZPALZXPXJTJWTCYYZLBLXBZLQMYLXPGHDSLSSDMXMBDZZSXWHAMLCZCPJMCNHJYSNSYGCHSKQMZZQDLLKABLWJXSFMOCDXJRRLYQZKJMYBYQLYHETFJZFRFKSRYXFJTWDSXXSYSQJYSLYXWJHSNLXYYXHBHAWHHJZXWMYLJCSSLKYDZTXBZSYFDXGXZJKHSXXYBSSXDPYNZWRPTQZCZENYGCXQFJYKJBZMLJCMQQXUOXSLYXXLYLLJDZBTYMHPFSTTQQWLHOKYBLZZALZXQLHZWRRQHLSTMYPYXJJXMQSJFNBXYXYJXXYQYLTHYLQYFMLKLJTMLLHSZWKZHLJMLHLJKLJSTLQXYLMBHHLNLZXQJHXCFXXLHYHJJGBYZZKBXSCQDJQDSUJZYYHZHHMGSXCSYMXFEBCQWWRBPYYJQTYZCYQYQQZYHMWFFHGZFRJFCDPXNTQYZPDYKHJLFRZXPPXZDBBGZQSTLGDGYLCQMLCHHMFYWLZYXKJLYPQHSYWMQQGQZMLZJNSQXJQSYJYCBEHSXFSZPXZWFLLBCYYJDYTDTHWZSFJMQQYJLMQXXLLDTTKHHYBFPWTYYSQQWNQWLGWDEBZWCMYGCULKJXTMXMYJSXHYBRWFYMWFRXYQMXYSZTZZTFYKMLDHQDXWYYNLCRYJBLPSXCXYWLSPRRJWXHQYPHTYDNXHHMMYWYTZCSQMTSSCCDALWZTCPQPYJLLQZYJSWXMZZMMYLMXCLMXCZMXMZSQTZPPQQBLPGXQZHFLJJHYTJSRXWZXSCCDLXTYJDCQJXSLQYCLZXLZZXMXQRJMHRHZJBHMFLJLMLCLQNLDXZLLLPYPSYJYSXCQQDCMQJZZXHNPNXZMEKMXHYKYQLXSXTXJYYHWDCWDZHQYYBGYBCYSCFGPSJNZDYZZJZXRZRQJJYMCANYRJTLDPPYZBSTJKXXZYPFDWFGZZRPYMTNGXZQBYXNBUFNQKRJQZMJEGRZGYCLKXZDSKKNSXKCLJSPJYYZLQQJYBZSSQLLLKJXTBKTYLCCDDBLSPPFYLGYDTZJYQGGKQTTFZXBDKTYYHYBBFYTYYBCLPDYTGDHRYRNJSPTCSNYJQHKLLLZSLYDXXWBCJQSPXBPJZJCJDZFFXXBRMLAZHCSNDLBJDSZBLPRZTSWSBXBCLLXXLZDJZSJPYLYXXYFTFFFBHJJXGBYXJPMMMPSSJZJMTLYZJXSWXTYLEDQPJMYGQZJGDJLQJWJQLLSJGJGYGMSCLJJXDTYGJQJQJCJZCJGDZZSXQGSJGGCXHQXSNQLZZBXHSGZXCXYLJXYXYYDFQQJHJFXDHCTXJYRXYSQTJXYEFYYSSYYJXNCYZXFXMSYSZXYYSCHSHXZZZGZZZGFJDLTYLNPZGYJYZYYQZPBXQBDZTZCZYXXYHHSQXSHDHGQHJHGYWSZTMZMLHYXGEBTYLZKQWYTJZRCLEKYSTDBCYKQQSAYXCJXWWGSBHJYZYDHCSJKQCXSWXFLTYNYZPZCCZJQTZWJQDZZZQZLJJXLSBHPYXXPSXSHHEZTXFPTLQYZZXHYTXNCFZYYHXGNXMYWXTZSJPTHHGYMXMXQZXTSBCZYJYXXTYYZYPCQLMMSZMJZZLLZXGXZAAJZYXJMZXWDXZSXZDZXLEYJJZQBHZWZZZQTZPSXZTDSXJJJZNYAZPHXYYSRNQDTHZHYYKYJHDZXZLSWCLYBZYECWCYCRYLCXNHZYDZYDYJDFRJJHTRSQTXYXJRJHOJYNXELXSFSFJZGHPZSXZSZDZCQZBYYKLSGSJHCZSHDGQGXYZGXCHXZJWYQWGYHKSSEQZZNDZFKWYSSTCLZSTSYMCDHJXXYWEYXCZAYDMPXMDSXYBSQMJMZJMTZQLPJYQZCGQHXJHHLXXHLHDLDJQCLDWBSXFZZYYSCHTYTYYBHECXHYKGJPXHHYZJFXHWHBDZFYZBCAPNPGNYDMSXHMMMMAMYNBYJTMPXYYMCTHJBZYFCGTYHWPHFTWZZEZSBZEGPFMTSKFTYCMHFLLHGPZJXZJGZJYXZSBBQSCZZLZCCSTPGXMJSFTCCZJZDJXCYBZLFCJSYZFGSZLYBCWZZBYZDZYPSWYJZXZBDSYUXLZZBZFYGCZXBZHZFTPBGZGEJBSTGKDMFHYZZJHZLLZZGJQZLSFDJSSCBZGPDLFZFZSZYZYZSYGCXSNXXCHCZXTZZLJFZGQSQYXZJQDCCZTQCDXZJYQJQCHXZTDLGSCXZSYQJQTZWLQDQZTQCHQQJZYEZZZPBWKDJFCJPZTYPQYQTTYNLMBDKTJZPQZQZZFPZSBNJLGYJDXJDZZKZGQKXDLPZJTCJDQBXDJQJSTCKNXBXZMSLYJCQMTJQWWCJQNJNLLLHJCWQTBZQYDZCZPZZDZYDDCYZZZCCJTTJFZDPRRTZTJDCQTQZDTJNPLZBCLLCTZSXKJZQZPZLBZRBTJDCXFCZDBCCJJLTQQPLDCGZDBBZJCQDCJWYNLLZYZCCDWLLXWZLXRXNTQQCZXKQLSGDFQTDDGLRLAJJTKUYMKQLLTZYTDYYCZGJWYXDXFRSKSTQTENQMRKQZHHQKDLDAZFKYPBGGPZREBZZYKZZSPEGJXGYKQZZZSLYSYYYZWFQZYLZZLZHWCHKYPQGNPGBLPLRRJYXCCSYYHSFZFYBZYYTGZXYLXCZWXXZJZBLFFLGSKHYJZEYJHLPLLLLCZGXDRZELRHGKLZZYHZLYQSZZJZQLJZFLNBHGWLCZCFJYSPYXZLZLXGCCPZBLLCYBBBBUBBCBPCRNNZCZYRBFSRLDCGQYYQXYGMQZWTZYTYJXYFWTEHZZJYWLCCNTZYJJZDEDPZDZTSYQJHDYMBJNYJZLXTSSTPHNDJXXBYXQTZQDDTJTDYYTGWSCSZQFLSHLGLBCZPHDLYZJYCKWTYTYLBNYTSDSYCCTYSZYYEBHEXHQDTWNYGYCLXTSZYSTQMYGZAZCCSZZDSLZCLZRQXYYELJSBYMXSXZTEMBBLLYYLLYTDQYSHYMRQWKFKBFXNXSBYCHXBWJYHTQBPBSBWDZYLKGZSKYHXQZJXHXJXGNLJKZLYYCDXLFYFGHLJGJYBXQLYBXQPQGZTZPLNCYPXDJYQYDYMRBESJYYHKXXSTMXRCZZYWXYQYBMCLLYZHQYZWQXDBXBZWZMSLPDMYSKFMZKLZCYQYCZLQXFZZYDQZPZYGYJYZMZXDZFYFYTTQTZHGSPCZMLCCYTZXJCYTJMKSLPZHYSNZLLYTPZCTZZCKTXDHXXTQCYFKSMQCCYYAZHTJPCYLZLYJBJXTPNYLJYYNRXSYLMMNXJSMYBCSYSYLZYLXJJQYLDZLPQBFZZBLFNDXQKCZFYWHGQMRDSXYCYTXNQQJZYYPFZXDYZFPRXEJDGYQBXRCNFYYQPGHYJDYZXGRHTKYLNWDZNTSMPKLBTHBPYSZBZTJZSZZJTYYXZPHSSZZBZCZPTQFZMYFLYPYBBJQXZMXXDJMTSYSKKBJZXHJCKLPSMKYJZCXTMLJYXRZZQSLXXQPYZXMKYXXXJCLJPRMYYGADYSKQLSNDHYZKQXZYZTCGHZTLMLWZYBWSYCTBHJHJFCWZTXWYTKZLXQSHLYJZJXTMPLPYCGLTBZZTLZJCYJGDTCLKLPLLQPJMZPAPXYZLKKTKDZCZZBNZDYDYQZJYJGMCTXLTGXSZLMLHBGLKFWNWZHDXUHLFMKYSLGXDTWWFRJEJZTZHYDXYKSHWFZCQSHKTMQQHTZHYMJDJSKHXZJZBZZXYMPAGQMSTPXLSKLZYNWRTSQLSZBPSPSGZWYHTLKSSSWHZZLYYTNXJGMJSZSUFWNLSOZTXGXLSAMMLBWLDSZYLAKQCQCTMYCFJBSLXCLZZCLXXKSBZQCLHJPSQPLSXXCKSLNHPSFQQYTXYJZLQLDXZQJZDYYDJNZPTUZDSKJFSLJHYLZSQZLBTXYDGTQFDBYAZXDZHZJNHHQBYKNXJJQCZMLLJZKSPLDYCLBBLXKLELXJLBQYCXJXGCNLCQPLZLZYJTZLJGYZDZPLTQCSXFDMNYCXGBTJDCZNBGBQYQJWGKFHTNPYQZQGBKPBBYZMTJDYTBLSQMPSXTBNPDXKLEMYYCJYNZCTLDYKZZXDDXHQSHDGMZSJYCCTAYRZLPYLTLKXSLZCGGEXCLFXLKJRTLQJAQZNCMBYDKKCXGLCZJZXJHPTDJJMZQYKQSECQZDSHHADMLZFMMZBGNTJNNLGBYJBRBTMLBYJDZXLCJLPLDLPCQDHLXZLYCBLCXZZJADJLNZMMSSSMYBHBSQKBHRSXXJMXSDZNZPXLGBRHWGGFCXGMSKLLTSJYYCQLTSKYWYYHYWXBXQYWPYWYKQLSQPTNTKHQCWDQKTWPXXHCPTHTWUMSSYHBWCRWXHJMKMZNGWTMLKFGHKJYLSYYCXWHYECLQHKQHTTQKHFZLDXQWYZYYDESBPKYRZPJFYYZJCEQDZZDLATZBBFJLLCXDLMJSSXEGYGSJQXCWBXSSZPDYZCXDNYXPPZYDLYJCZPLTXLSXYZYRXCYYYDYLWWNZSAHJSYQYHGYWWAXTJZDAXYSRLTDPSSYYFNEJDXYZHLXLLLZQZSJNYQYQQXYJGHZGZCYJCHZLYCDSHWSHJZYJXCLLNXZJJYYXNFXMWFPYLCYLLABWDDHWDXJMCXZTZPMLQZHSFHZYNZTLLDYWLSLXHYMMYLMBWWKYXYADTXYLLDJPYBPWUXJMWMLLSAFDLLYFLBHHHBQQLTZJCQJLDJTFFKMMMBYTHYGDCQRDDWRQJXNBYSNWZDBYYTBJHPYBYTTJXAAHGQDQTMYSTQXKBTZPKJLZRBEQQSSMJJBDJOTGTBXPGBKTLHQXJJJCTHXQDWJLWRFWQGWSHCKRYSWGFTGYGBXSDWDWRFHWYTJJXXXJYZYSLPYYYPAYXHYDQKXSHXYXGSKQHYWFDDDPPLCJLQQEEWXKSYYKDYPLTJTHKJLTCYYHHJTTPLTZZCDLTHQKZXQYSTEEYWYYZYXXYYSTTJKLLPZMCYHQGXYHSRMBXPLLNQYDQHXSXXWGDQBSHYLLPJJJTHYJKYPPTHYYKTYEZYENMDSHLCRPQFDGFXZPSFTLJXXJBSWYYSKSFLXLPPLBBBLBSFXFYZBSJSSYLPBBFFFFSSCJDSTZSXZRYYSYFFSYZYZBJTBCTSBSDHRTJJBYTCXYJEYLXCBNEBJDSYXYKGSJZBXBYTFZWGENYHHTHZHHXFWGCSTBGXKLSXYWMTMBYXJSTZSCDYQRCYTWXZFHMYMCXLZNSDJTTTXRYCFYJSBSDYERXJLJXBBDEYNJGHXGCKGSCYMBLXJMSZNSKGXFBNBPTHFJAAFXYXFPXMYPQDTZCXZZPXRSYWZDLYBBKTYQPQJPZYPZJZNJPZJLZZFYSBTTSLMPTZRTDXQSJEHBZYLZDHLJSQMLHTXTJECXSLZZSPKTLZKQQYFSYGYWPCPQFHQHYTQXZKRSGTTSQCZLPTXCDYYZXSQZSLXLZMYCPCQBZYXHBSXLZDLTCDXTYLZJYYZPZYZLTXJSJXHLPMYTXCQRBLZSSFJZZTNJYTXMYJHLHPPLCYXQJQQKZZSCPZKSWALQSBLCCZJSXGWWWYGYKTJBBZTDKHXHKGTGPBKQYSLPXPJCKBMLLXDZSTBKLGGQKQLSBKKTFXRMDKBFTPZFRTBBRFERQGXYJPZSSTLBZTPSZQZSJDHLJQLZBPMSMMSXLQQNHKNBLRDDNXXDHDDJCYYGYLXGZLXSYGMQQGKHBPMXYXLYTQWLWGCPBMQXCYZYDRJBHTDJYHQSHTMJSBYPLWHLZFFNYPMHXXHPLTBQPFBJWQDBYGPNZTPFZJGSDDTQSHZEAWZZYLLTYYBWJKXXGHLFKXDJTMSZSQYNZGGSWQSPHTLSSKMCLZXYSZQZXNCJDQGZDLFNYKLJCJLLZLMZZNHYDSSHTHZZLZZBBHQZWWYCRZHLYQQJBEYFXXXWHSRXWQHWPSLMSSKZTTYGYQQWRSLALHMJTQJSMXQBJJZJXZYZKXBYQXBJXSHZTSFJLXMXZXFGHKZSZGGYLCLSARJYHSLLLMZXELGLXYDJYTLFBHBPNLYZFBBHPTGJKWETZHKJJXZXXGLLJLSTGSHJJYQLQZFKCGNNDJSSZFDBCTWWSEQFHQJBSAQTGYPQLBXBMMYWXGSLZHGLZGQYFLZBYFZJFRYSFMBYZHQGFWZSYFYJJPHZBYYZFFWODGRLMFTWLBZGYCQXCDJYGZYYYYTYTYDWEGAZYHXJLZYYHLRMGRXXZCLHNELJJTJTPWJYBJJBXJJTJTEEKHWSLJPLPSFYZPQQBDLQJJTYYQLYZKDKSQJYYQZLDQTGJQYZJSUCMRYQTHTEJMFCTYHYPKMHYZWJDQFHYYXWSHCTXRLJHQXHCCYYYJLTKTTYTMXGTCJTZAYYOCZLYLBSZYWJYTSJYHBYSHFJLYGJXXTMZYYLTXXYPZLXYJZYZYYPNHMYMDYYLBLHLSYYQQLLNJJYMSOYQBZGDLYXYLCQYXTSZEGXHZGLHWBLJHEYXTWQMAKBPQCGYSHHEGQCMWYYWLJYJHYYZLLJJYLHZYHMGSLJLJXCJJYCLYCJPCPZJZJMMYLCQLNQLJQJSXYJMLSZLJQLYCMMHCFMMFPQQMFYLQMCFFQMMMMHMZNFHHJGTTHHKHSLNCHHYQDXTMMQDCYZYXYQMYQYLTDCYYYZAZZCYMZYDLZFFFMMYCQZWZZMABTBYZTDMNZZGGDFTYPCGQYTTSSFFWFDTZQSSYSTWXJHXYTSXXYLBYQHWWKXHZXWZNNZZJZJJQJCCCHYYXBZXZCYZTLLCQXYNJYCYYCYNZZQYYYEWYCZDCJYCCHYJLBTZYYCQWMPWPYMLGKDLDLGKQQBGYCHJXY",oMultiDiff={
19969:"DZ",19975:"WM",19988:"QJ",20048:"YL",20056:"SC",20060:"NM",20094:"QG",20127:"QJ",20167:"QC",20193:"YG",20250:"KH",20256:"ZC",20282:"SC",20285:"QJG",20291:"TD",20314:"YD",20315:"BF",20340:"NE",20375:"TD",20389:"YJ",20391:"CZ",20415:"PB",20446:"YS",20447:"SQ",20504:"TC",20608:"KG",20854:"QJ",20857:"ZC",20911:"PF",20985:"AW",21032:"PB",21048:"XQ",21049:"SC",21089:"YS",21119:"JC",21242:"SB",21273:"SC",21305:"YP",21306:"QO",21330:"ZC",21333:"SDC",21345:"QK",21378:"CA",21397:"SC",21414:"XS",21442:"SC",21477:"JG",21480:"TD",21484:"ZS",21494:"YX",21505:"YX",21512:"HG",21523:"XH",21537:"PB",21542:"PF",21549:"KH",21571:"E",21574:"DA",21588:"TD",21589:"O",21618:"ZC",21621:"KHA",21632:"ZJ",21654:"KG",21679:"LKG",21683:"KH",21710:"A",21719:"YH",21734:"WOE",21769:"A",21780:"WN",21804:"XH",21834:"A",21899:"ZD",21903:"RN",21908:"WO",21939:"ZC",21956:"SA",21964:"YA",21970:"TD",22003:"A",22031:"JG",22040:"XS",22060:"ZC",22066:"ZC",22079:"MH",22129:"XJ",22179:"XA",22237:"NJ",22244:"TD",22280:"JQ",22300:"YH",22313:"XW",22331:"YQ",22343:"YJ",22351:"PH",22395:"DC",22412:"TD",22484:"PB",22500:"PB",22534:"ZD",22549:"DH",22561:"PB",22612:"TD",22771:"KQ",22831:"HB",22841:"JG",22855:"QJ",22865:"XQ",23013:"ML",23081:"WM",23487:"SX",23558:"QJ",23561:"YW",23586:"YW",23614:"YW",23615:"SN",23631:"PB",23646:"ZS",23663:"ZT",23673:"YG",23762:"TD",23769:"ZS",23780:"QJ",23884:"QK",24055:"XH",24113:"DC",24162:"ZC",24191:"GA",24273:"QJ",24324:"NL",24377:"TD",24378:"QJ",24439:"PF",24554:"ZS",24683:"TD",24694:"WE",24733:"LK",24925:"TN",25094:"ZG",25100:"XQ",25103:"XH",25153:"PB",25170:"PB",25179:"KG",25203:"PB",25240:"ZS",25282:"FB",25303:"NA",25324:"KG",25341:"ZY",25373:"WZ",25375:"XJ",25384:"A",25457:"A",25528:"SD",25530:"SC",25552:"TD",25774:"ZC",25874:"ZC",26044:"YW",26080:"WM",26292:"PB",26333:"PB",26355:"ZY",26366:"CZ",26397:"ZC",26399:"QJ",26415:"ZS",26451:"SB",26526:"ZC",26552:"JG",26561:"TD",26588:"JG",26597:"CZ",26629:"ZS",26638:"YL",26646:"XQ",26653:"KG",26657:"XJ",26727:"HG",26894:"ZC",26937:"ZS",26946:"ZC",26999:"KJ",27099:"KJ",27449:"YQ",27481:"XS",27542:"ZS",27663:"ZS",27748:"TS",27784:"SC",27788:"ZD",27795:"TD",27812:"O",27850:"PB",27852:"MB",27895:"SL",27898:"PL",27973:"QJ",27981:"KH",27986:"HX",27994:"XJ",28044:"YC",28065:"WG",28177:"SM",28267:"QJ",28291:"KH",28337:"ZQ",28463:"TL",28548:"DC",28601:"TD",28689:"PB",28805:"JG",28820:"QG",28846:"PB",28952:"TD",28975:"ZC",29100:"A",29325:"QJ",29575:"SL",29602:"FB",30010:"TD",30044:"CX",30058:"PF",30091:"YSP",30111:"YN",30229:"XJ",30427:"SC",30465:"SX",30631:"YQ",30655:"QJ",30684:"QJG",30707:"SD",30729:"XH",30796:"LG",30917:"PB",31074:"NM",31085:"JZ",31109:"SC",31181:"ZC",31192:"MLB",31293:"JQ",31400:"YX",31584:"YJ",31896:"ZN",31909:"ZY",31995:"XJ",32321:"PF",32327:"ZY",32418:"HG",32420:"XQ",32421:"HG",32438:"LG",32473:"GJ",32488:"TD",32521:"QJ",32527:"PB",32562:"ZSQ",32564:"JZ",32735:"ZD",32793:"PB",33071:"PF",33098:"XL",33100:"YA",33152:"PB",33261:"CX",33324:"BP",33333:"TD",33406:"YA",33426:"WM",33432:"PB",33445:"JG",33486:"ZN",33493:"TS",33507:"QJ",33540:"QJ",33544:"ZC",33564:"XQ",33617:"YT",33632:"QJ",33636:"XH",33637:"YX",33694:"WG",33705:"PF",33728:"YW",33882:"SR",34067:"WM",34074:"YW",34121:"QJ",34255:"ZC",34259:"XL",34425:"JH",34430:"XH",34485:"KH",34503:"YS",34532:"HG",34552:"XS",34558:"YE",34593:"ZL",34660:"YQ",34892:"XH",34928:"SC",34999:"QJ",35048:"PB",35059:"SC",35098:"ZC",35203:"TQ",35265:"JX",35299:"JX",35782:"SZ",35828:"YS",35830:"E",35843:"TD",35895:"YG",35977:"MH",36158:"JG",36228:"QJ",36426:"XQ",36466:"DC",36710:"JC",36711:"ZYG",36767:"PB",36866:"SK",36951:"YW",37034:"YX",37063:"XH",37218:"ZC",37325:"ZC",38063:"PB",38079:"TD",38085:"QY",38107:"DC",38116:"TD",38123:"YD",38224:"HG",38241:"XTC",38271:"ZC",38415:"YE",38426:"KH",38461:"YD",38463:"AE",38466:"PB",38477:"XJ",38518:"YT",38551:"WK",38585:"ZC",38704:"XS",38739:"LJ",38761:"GJ",38808:"SQ",39048:"JG",39049:"XJ",39052:"HG",39076:"CZ",39271:"XT",39534:"TD",39552:"TD",39584:"PB",39647:"SB",39730:"LG",39748:"TPB",40109:"ZQ",40479:"ND",40516:"HG",40536:"HG",40583:"QJ",40765:"YQ",40784:"QJ",40840:"YK",40863:"QJG"},_checkPYCh=function(ch){var uni=ch.charCodeAt(0);return uni>40869||uni<19968?ch:oMultiDiff[uni]?oMultiDiff[uni]:_ChineseFirstPY.charAt(uni-19968)},_mkPYRslt=function(arr,options){for(var ignoreMulti=options.ignoreMulti,splitChar=options.splitChar,arrRslt=[""],k,multiLen=0,i=0,len=arr.length;i<len;i++){var str=arr[i],strlen=str.length;if(1==strlen||multiLen>14||ignoreMulti){var tmpStr=str.substring(0,1);for(k=0;k<arrRslt.length;k++)arrRslt[k]+=tmpStr}else{var tmpArr=arrRslt.slice(0);for(arrRslt=[],multiLen++,k=0;k<strlen;k++){for(var tmp=tmpArr.slice(0),j=0;j<tmp.length;j++)tmp[j]+=str.charAt(k);arrRslt=arrRslt.concat(tmp)}}}return arrRslt.join(splitChar||"").toLowerCase()};_.extend(BI,{makeFirstPY:function(str,options){if(options=options||{},"string"!=typeof str)return""+str;for(var arrResult=[],i=0,len=str.length;i<len;i++){var ch=str.charAt(i);arrResult.push(_checkPYCh(ch))}return _mkPYRslt(arrResult,options)}})}(),!function(){var cancelAnimationFrame=_global.cancelAnimationFrame||_global.webkitCancelAnimationFrame||_global.mozCancelAnimationFrame||_global.oCancelAnimationFrame||_global.msCancelAnimationFrame||_global.clearTimeout,requestAnimationFrame=_global.requestAnimationFrame||_global.webkitRequestAnimationFrame||_global.mozRequestAnimationFrame||_global.oRequestAnimationFrame||_global.msRequestAnimationFrame||_global.setTimeout;BI.MouseMoveTracker=function(onMove,onMoveEnd,domNode){this._isDragging=!1,this._animationFrameID=null,this._domNode=domNode,this._onMove=onMove,this._onMoveEnd=onMoveEnd,this._onMouseMove=BI.bind(this._onMouseMove,this),this._onMouseUp=BI.bind(this._onMouseUp,this),this._didMouseMove=BI.bind(this._didMouseMove,this)},BI.MouseMoveTracker.prototype={constructor:BI.MouseMoveTracker,captureMouseMoves:function(event){this._eventMoveToken||this._eventUpToken||(this._eventMoveToken=BI.EventListener.listen(this._domNode,"mousemove",this._onMouseMove),this._eventUpToken=BI.EventListener.listen(this._domNode,"mouseup",this._onMouseUp)),this._isDragging||(this._deltaX=0,this._deltaY=0,this._isDragging=!0,this._x=event.clientX,this._y=event.clientY),event.preventDefault?event.preventDefault():event.returnValue=!1},releaseMouseMoves:function(){this._eventMoveToken&&this._eventUpToken&&(this._eventMoveToken.remove(),this._eventMoveToken=null,this._eventUpToken.remove(),this._eventUpToken=null),null!==this._animationFrameID&&(cancelAnimationFrame(this._animationFrameID),this._animationFrameID=null),this._isDragging&&(this._isDragging=!1,this._x=null,this._y=null)},isDragging:function(){return this._isDragging},_onMouseMove:function(event){var x=event.clientX,y=event.clientY;this._deltaX+=x-this._x,this._deltaY+=y-this._y,null===this._animationFrameID&&(this._animationFrameID=requestAnimationFrame(this._didMouseMove)),this._x=x,this._y=y,event.preventDefault?event.preventDefault():event.returnValue=!1},_didMouseMove:function(){this._animationFrameID=null,this._onMove(this._deltaX,this._deltaY),this._deltaX=0,this._deltaY=0},_onMouseUp:function(){this._animationFrameID&&this._didMouseMove(),this._onMoveEnd()}}}(),!function(){function normalizeWheel(event){var sX=0,sY=0,pX=0,pY=0;return"detail"in event&&(sY=event.detail),"wheelDelta"in event&&(sY=-event.wheelDelta/120),"wheelDeltaY"in event&&(sY=-event.wheelDeltaY/120),"wheelDeltaX"in event&&(sX=-event.wheelDeltaX/120),"axis"in event&&event.axis===event.HORIZONTAL_AXIS&&(sX=sY,sY=0),pX=sX*PIXEL_STEP,pY=sY*PIXEL_STEP,"deltaY"in event&&(pY=event.deltaY),"deltaX"in event&&(pX=event.deltaX),(pX||pY)&&event.deltaMode&&(1===event.deltaMode?(pX*=LINE_HEIGHT,pY*=LINE_HEIGHT):(pX*=PAGE_HEIGHT,pY*=PAGE_HEIGHT)),pX&&!sX&&(sX=pX<1?-1:1),pY&&!sY&&(sY=pY<1?-1:1),{spinX:sX,spinY:sY,pixelX:pX,pixelY:pY}}var PIXEL_STEP=10,LINE_HEIGHT=40,PAGE_HEIGHT=800,requestAnimationFrame=_global.requestAnimationFrame||_global.webkitRequestAnimationFrame||_global.mozRequestAnimationFrame||_global.oRequestAnimationFrame||_global.msRequestAnimationFrame||_global.setTimeout;BI.WheelHandler=function(onWheel,handleScrollX,handleScrollY,stopPropagation){this._animationFrameID=null,this._deltaX=0,this._deltaY=0,this._didWheel=BI.bind(this._didWheel,this),"function"!=typeof handleScrollX&&(handleScrollX=handleScrollX?function(){return!0}:function(){return!1}),"function"!=typeof handleScrollY&&(handleScrollY=handleScrollY?function(){return!0}:function(){return!1}),"function"!=typeof stopPropagation&&(stopPropagation=stopPropagation?function(){return!0}:function(){return!1}),this._handleScrollX=handleScrollX,this._handleScrollY=handleScrollY,this._stopPropagation=stopPropagation,this._onWheelCallback=onWheel,this.onWheel=BI.bind(this.onWheel,this)},BI.WheelHandler.prototype={constructor:BI.WheelHandler,onWheel:function(event){var normalizedEvent=normalizeWheel(event),deltaX=this._deltaX+normalizedEvent.pixelX,deltaY=this._deltaY+normalizedEvent.pixelY,handleScrollX=this._handleScrollX(deltaX,deltaY),handleScrollY=this._handleScrollY(deltaY,deltaX);if(handleScrollX||handleScrollY){this._deltaX+=handleScrollX?normalizedEvent.pixelX:0,this._deltaY+=handleScrollY?normalizedEvent.pixelY:0,event.preventDefault?event.preventDefault():event.returnValue=!1;var changed;0===this._deltaX&&0===this._deltaY||(this._stopPropagation()&&(event.stopPropagation?event.stopPropagation():event.cancelBubble=!0),changed=!0),changed===!0&&null===this._animationFrameID&&(this._animationFrameID=requestAnimationFrame(this._didWheel))}},_didWheel:function(){this._animationFrameID=null,this._onWheelCallback(this._deltaX,this._deltaY),this._deltaX=0,this._deltaY=0}}}(),function(){function defaultComparator(a,b){return a<b}BI.Heap=function(items,comparator){this._items=items||[],this._size=this._items.length,this._comparator=comparator||defaultComparator,this._heapify()},BI.Heap.prototype={constructor:BI.Heap,empty:function(){return 0===this._size},pop:function(){if(0!==this._size){var elt=this._items[0],lastElt=this._items.pop();return this._size--,this._size>0&&(this._items[0]=lastElt,this._sinkDown(0)),elt}},push:function(item){this._items[this._size++]=item,this._bubbleUp(this._size-1)},size:function(){return this._size},peek:function(){if(0!==this._size)return this._items[0]},_heapify:function(){for(var index=Math.floor((this._size+1)/2);index>=0;index--)this._sinkDown(index)},_bubbleUp:function(index){for(var elt=this._items[index];index>0;){var parentIndex=Math.floor((index+1)/2)-1,parentElt=this._items[parentIndex];if(this._comparator(parentElt,elt))return;this._items[parentIndex]=elt,this._items[index]=parentElt,index=parentIndex}},_sinkDown:function(index){for(var elt=this._items[index];;){var leftChildIndex=2*(index+1)-1,rightChildIndex=2*(index+1),swapIndex=-1;if(leftChildIndex<this._size){var leftChild=this._items[leftChildIndex];this._comparator(leftChild,elt)&&(swapIndex=leftChildIndex)}if(rightChildIndex<this._size){var rightChild=this._items[rightChildIndex];this._comparator(rightChild,elt)&&(swapIndex===-1||this._comparator(rightChild,this._items[swapIndex]))&&(swapIndex=rightChildIndex)}if(swapIndex===-1)return;this._items[index]=this._items[swapIndex],this._items[swapIndex]=elt,index=swapIndex}}}}(),!function(){BI.LinkHashMap=function(){this.array=[],this.map={}},BI.LinkHashMap.prototype={constructor:BI.LinkHashMap,has:function(key){return key in this.map},add:function(key,value){"undefined"!=typeof key&&(key in this.map?this.map[key]=value:(this.array.push(key),this.map[key]=value))},remove:function(key){if(key in this.map){delete this.map[key];for(var i=0;i<this.array.length;i++)if(this.array[i]==key){this.array.splice(i,1);break}}},size:function(){return this.array.length},each:function(fn,scope){var scope=scope||window,fn=fn||null;if(null!=fn&&"function"==typeof fn)for(var i=0;i<this.array.length;i++){var key=this.array[i],value=this.map[key],re=fn.call(scope,key,value,i,this.array,this.map);if(0==re)break}},get:function(key){return this.map[key]},toArray:function(){var array=[];return this.each(function(key,value){array.push(value)}),array}}}(),!function(){BI.LRU=function(limit){this.size=0,this.limit=limit,this.head=this.tail=void 0,this._keymap={}};var p=BI.LRU.prototype;p.put=function(key,value){var removed;this.size===this.limit&&(removed=this.shift());var entry=this.get(key,!0);return entry||(entry={key:key},this._keymap[key]=entry,this.tail?(this.tail.newer=entry,entry.older=this.tail):this.head=entry,this.tail=entry,this.size++),entry.value=value,removed},p.shift=function(){var entry=this.head;return entry&&(this.head=this.head.newer,this.head.older=void 0,entry.newer=entry.older=void 0,this._keymap[entry.key]=void 0,this.size--),entry},p.get=function(key,returnEntry){var entry=this._keymap[key];if(void 0!==entry)return entry===this.tail?returnEntry?entry:entry.value:(entry.newer&&(entry===this.head&&(this.head=entry.newer),entry.newer.older=entry.older),entry.older&&(entry.older.newer=entry.newer),entry.newer=void 0,entry.older=this.tail,this.tail&&(this.tail.newer=entry),this.tail=entry,returnEntry?entry:entry.value)},p.has=function(key){return null!=this._keymap[key]}}(),function(){var parent=function(node){return Math.floor(node/2)},Int32Array=_global.Int32Array||function(size){for(var xs=[],i=size-1;i>=0;--i)xs[i]=0;return xs},ceilLog2=function(x){for(var y=1;y<x;)y*=2;return y};BI.PrefixIntervalTree=function(xs){this._size=xs.length,this._half=ceilLog2(this._size),this._heap=new Int32Array(2*this._half);var i;for(i=0;i<this._size;++i)this._heap[this._half+i]=xs[i];for(i=this._half-1;i>0;--i)this._heap[i]=this._heap[2*i]+this._heap[2*i+1]},BI.PrefixIntervalTree.prototype={constructor:BI.PrefixIntervalTree,set:function(index,value){var node=this._half+index;for(this._heap[node]=value,node=parent(node);0!==node;node=parent(node))this._heap[node]=this._heap[2*node]+this._heap[2*node+1]},get:function(index){var node=this._half+index;return this._heap[node]},getSize:function(){return this._size},sumUntil:function(end){if(0===end)return 0;for(var node=this._half+end-1,sum=this._heap[node];1!==node;node=parent(node))node%2===1&&(sum+=this._heap[node-1]);return sum},sumTo:function(inclusiveEnd){return this.sumUntil(inclusiveEnd+1)},sum:function(begin,end){return this.sumUntil(end)-this.sumUntil(begin)},greatestLowerBound:function(t){if(t<0)return-1;var node=1;if(this._heap[node]<=t)return this._size;for(;node<this._half;){var leftSum=this._heap[2*node];t<leftSum?node=2*node:(node=2*node+1,t-=leftSum)}return node-this._half},greatestStrictLowerBound:function(t){if(t<=0)return-1;var node=1;if(this._heap[node]<t)return this._size;for(;node<this._half;){var leftSum=this._heap[2*node];t<=leftSum?node=2*node:(node=2*node+1,t-=leftSum)}return node-this._half},leastUpperBound:function(t){return this.greatestStrictLowerBound(t)+1},leastStrictUpperBound:function(t){return this.greatestLowerBound(t)+1}},BI.PrefixIntervalTree.uniform=function(size,initialValue){for(var xs=[],i=size-1;i>=0;--i)xs[i]=initialValue;return new BI.PrefixIntervalTree(xs)},BI.PrefixIntervalTree.empty=function(size){return BI.PrefixIntervalTree.uniform(size,0)}}(),!function(){BI.Queue=function(capacity){this.capacity=capacity,this.array=[]},BI.Queue.prototype={constructor:BI.Queue,contains:function(v){return BI.contains(this.array,v)},indexOf:function(v){return BI.contains(this.array,v)},getElementByIndex:function(index){return this.array[index]},push:function(v){this.array.push(v),this.capacity&&this.array.length>this.capacity&&this.array.shift()},pop:function(){this.array.pop()},shift:function(){this.array.shift()},unshift:function(v){this.array.unshift(v),this.capacity&&this.array.length>this.capacity&&this.array.pop()},remove:function(v){BI.remove(this.array,v)},splice:function(){this.array.splice.apply(this.array,arguments)},slice:function(){this.array.slice.apply(this.array,arguments)},size:function(){return this.array.length},each:function(fn,scope){var scope=scope||window,fn=fn||null;if(null!=fn&&"function"==typeof fn)for(var i=0;i<this.array.length;i++){var re=fn.call(scope,i,this.array[i],this.array);if(0==re)break}},toArray:function(){return this.array},fromArray:function(array){var self=this;BI.each(array,function(i,v){self.push(v)})},clear:function(){this.array.length=0}}}(),!function(){var Section=function(height,width,x,y){this.height=height,this.width=width,this.x=x,this.y=y,this._indexMap={},this._indices=[]};Section.prototype={constructor:Section,addCellIndex:function(index){this._indexMap[index]||(this._indexMap[index]=!0,this._indices.push(index))},getCellIndices:function(){return this._indices}};var SECTION_SIZE=100;BI.SectionManager=function(sectionSize){this._sectionSize=sectionSize||SECTION_SIZE,this._cellMetadata=[],this._sections={}},BI.SectionManager.prototype={constructor:BI.SectionManager,getCellIndices:function(height,width,x,y){var indices={};return BI.each(this.getSections(height,width,x,y),function(i,section){BI.each(section.getCellIndices(),function(j,index){indices[index]=index})}),BI.map(BI.keys(indices),function(i,index){return indices[index]})},getCellMetadata:function(index){return this._cellMetadata[index]},getSections:function(height,width,x,y){for(var sectionXStart=Math.floor(x/this._sectionSize),sectionXStop=Math.floor((x+width-1)/this._sectionSize),sectionYStart=Math.floor(y/this._sectionSize),sectionYStop=Math.floor((y+height-1)/this._sectionSize),sections=[],sectionX=sectionXStart;sectionX<=sectionXStop;sectionX++)for(var sectionY=sectionYStart;sectionY<=sectionYStop;sectionY++){var key=sectionX+"."+sectionY;this._sections[key]||(this._sections[key]=new Section(this._sectionSize,this._sectionSize,sectionX*this._sectionSize,sectionY*this._sectionSize)),sections.push(this._sections[key])}return sections},getTotalSectionCount:function(){return BI.size(this._sections)},registerCell:function(cellMetadatum,index){this._cellMetadata[index]=cellMetadatum,BI.each(this.getSections(cellMetadatum.height,cellMetadatum.width,cellMetadatum.x,cellMetadatum.y),function(i,section){section.addCellIndex(index)})}}}(),function(){BI.Tree=function(){this.root=new BI.Node(BI.UUID())},BI.Tree.prototype={constructor:BI.Tree,addNode:function(node,newNode,index){BI.isNull(newNode)?this.root.addChild(node,index):BI.isNull(node)?this.root.addChild(newNode,index):node.addChild(newNode,index)},isRoot:function(node){return node===this.root},getRoot:function(){return this.root},clear:function(){this.root.clear()},initTree:function(nodes){var self=this;this.clear();var queue=[];for(BI.each(nodes,function(i,node){var n=new BI.Node(node);n.set("data",node),self.addNode(n),queue.push(n)});!BI.isEmpty(queue);){var parent=queue.shift(),node=parent.get("data");BI.each(node.children,function(i,child){var n=new BI.Node(child);n.set("data",child),queue.push(n),self.addNode(parent,n)})}},_toJSON:function(node){var self=this,children=[];return BI.each(node.getChildren(),function(i,child){children.push(self._toJSON(child))}),BI.extend({id:node.id},BI.deepClone(node.get("data")),children.length>0?{children:children}:{})},toJSON:function(node){var self=this,result=[];return BI.each((node||this.root).getChildren(),function(i,child){result.push(self._toJSON(child))}),result},_toJSONWithNode:function(node){var self=this,children=[];return BI.each(node.getChildren(),function(i,child){children.push(self._toJSONWithNode(child))}),BI.extend({id:node.id},BI.deepClone(node.get("data")),{node:node},children.length>0?{children:children}:{})},toJSONWithNode:function(node){var self=this,result=[];return BI.each((node||this.root).getChildren(),function(i,child){result.push(self._toJSONWithNode(child))}),result},search:function(root,target,param){if(!(root instanceof BI.Node))return arguments.callee.apply(this,[this.root,root,target]);var self=this,next=null;return BI.isNull(target)?null:BI.isEqual(root[param||"id"],target)?root:(BI.any(root.getChildren(),function(i,child){if(next=self.search(child,target,param),null!==next)return!0}),next)},_traverse:function(node,callback){var queue=[];for(queue.push(node);!BI.isEmpty(queue);){var temp=queue.shift(),b=callback&&callback(temp);if(b===!1)break;b!==!0&&null!=temp&&(queue=queue.concat(temp.getChildren()))}},traverse:function(callback){this._traverse(this.root,callback)},_recursion:function(node,route,callback){var self=this;return BI.every(node.getChildren(),function(i,child){var next=BI.clone(route);next.push(child.id);var b=callback&&callback(child,next);return b!==!1&&(b===!0||self._recursion(child,next,callback))})},recursion:function(callback){this._recursion(this.root,[],callback)},inOrderTraverse:function(callback){this._inOrderTraverse(this.root,callback)},_inOrderTraverse:function(node,callback){null!=node&&(this._inOrderTraverse(node.getLeft()),callback&&callback(node),this._inOrderTraverse(node.getRight()))},nrInOrderTraverse:function(callback){for(var stack=[],node=this.root;null!=node||!BI.isEmpty(stack);){for(;null!=node;)stack.push(node),node=node.getLeft();node=stack.pop(),callback&&callback(node),node=node.getRight()}},preOrderTraverse:function(callback){this._preOrderTraverse(this.root,callback)},_preOrderTraverse:function(node,callback){null!=node&&(callback&&callback(node),this._preOrderTraverse(node.getLeft()),this._preOrderTraverse(node.getRight()))},nrPreOrderTraverse:function(callback){for(var stack=[],node=this.root;null!=node||!BI.isEmpty(stack);){for(;null!=node;)callback&&callback(node),stack.push(node),node=node.getLeft();node=stack.pop(),node=node.getRight()}},postOrderTraverse:function(callback){this._postOrderTraverse(this.root,callback)},_postOrderTraverse:function(node,callback){null!=node&&(this._postOrderTraverse(node.getLeft()),this._postOrderTraverse(node.getRight()),callback&&callback(node))},nrPostOrderTraverse:function(callback){for(var stack=[],node=this.root,preNode=null;null!=node||!BI.isEmpty(stack);){for(;null!=node;)stack.push(node),node=node.getLeft();node=BI.last(stack),null==node.getRight()||node.getRight()==preNode?(callback&&callback(node),node=stack.pop(),preNode=node,node=null):node=node.getRight()}}},BI.Node=function(id){BI.isObject(id)?BI.extend(this,id):this.id=id,this.clear.apply(this,arguments)},BI.Node.prototype={constructor:BI.Node,set:function(key,value){return BI.isObject(key)?void BI.extend(this,key):void(this[key]=value)},get:function(key){return this[key]},isLeaf:function(){return BI.isEmpty(this.children)},getChildren:function(){return this.children},getChildrenLength:function(){return this.children.length},getFirstChild:function(){return BI.first(this.children)},getLastChild:function(){return BI.last(this.children)},setLeft:function(left){this.left=left},getLeft:function(){return this.left},setRight:function(right){this.right=right},getRight:function(){return this.right},setParent:function(parent){this.parent=parent},getParent:function(){return this.parent},getChild:function(index){return this.children[index]},getChildIndex:function(id){return BI.findIndex(this.children,function(i,ch){return ch.get("id")===id})},removeChild:function(id){this.removeChildByIndex(this.getChildIndex(id))},removeChildByIndex:function(index){var before=this.getChild(index-1),behind=this.getChild(index+1);null!=before&&before.setRight(behind||null),null!=behind&&behind.setLeft(before||null),this.children.splice(index,1)},removeAllChilds:function(){this.children=[]},addChild:function(child,index){var cur=null;cur=BI.isUndefined(index)?this.children.length-1:index-1,child.setParent(this),cur>=0&&(this.getChild(cur)&&this.getChild(cur).setRight(child),child.setLeft(this.getChild(cur))),BI.isUndefined(index)?this.children.push(child):this.children.splice(index,0,child)},equals:function(obj){return this===obj||this.id===obj.id},clear:function(){this.parent=null,this.left=null,this.right=null,this.children=[]}},BI.extend(BI.Tree,{transformToArrayFormat:function(nodes,pId){if(!nodes)return[];var r=[];if(BI.isArray(nodes))for(var i=0,l=nodes.length;i<l;i++){var node=BI.clone(nodes[i]);node.pId=null==node.pId?pId:node.pId,delete node.children,r.push(node),nodes[i].children&&(r=r.concat(BI.Tree.transformToArrayFormat(nodes[i].children,node.id)))}else{var newNodes=BI.clone(nodes);newNodes.pId=null==newNodes.pId?pId:newNodes.pId,delete newNodes.children,r.push(newNodes),nodes.children&&(r=r.concat(BI.Tree.transformToArrayFormat(nodes.children,newNodes.id)))}return r},arrayFormat:function(nodes,pId){if(!nodes)return[];var r=[];if(BI.isArray(nodes))for(var i=0,l=nodes.length;i<l;i++){var node=nodes[i];node.pId=null==node.pId?pId:node.pId,r.push(node),nodes[i].children&&(r=r.concat(BI.Tree.arrayFormat(nodes[i].children,node.id)))}else{var newNodes=nodes;newNodes.pId=null==newNodes.pId?pId:newNodes.pId,r.push(newNodes),nodes.children&&(r=r.concat(BI.Tree.arrayFormat(nodes.children,newNodes.id)))}return r},transformToTreeFormat:function(sNodes){var i,l;if(!sNodes)return[];if(BI.isArray(sNodes)){var r=[],tmpMap={};for(i=0,l=sNodes.length;i<l;i++){if(BI.isNull(sNodes[i].id))return sNodes;tmpMap[sNodes[i].id]=BI.clone(sNodes[i])}for(i=0,l=sNodes.length;i<l;i++)tmpMap[sNodes[i].pId]&&sNodes[i].id!==sNodes[i].pId?(tmpMap[sNodes[i].pId].children||(tmpMap[sNodes[i].pId].children=[]),tmpMap[sNodes[i].pId].children.push(tmpMap[sNodes[i].id])):r.push(tmpMap[sNodes[i].id]),delete tmpMap[sNodes[i].id].pId;return r}return[sNodes]},treeFormat:function(sNodes){var i,l;if(!sNodes)return[];if(BI.isArray(sNodes)){var r=[],tmpMap={};for(i=0,l=sNodes.length;i<l;i++){if(BI.isNull(sNodes[i].id))return sNodes;tmpMap[sNodes[i].id]=sNodes[i]}for(i=0,l=sNodes.length;i<l;i++)tmpMap[sNodes[i].pId]&&sNodes[i].id!==sNodes[i].pId?(tmpMap[sNodes[i].pId].children||(tmpMap[sNodes[i].pId].children=[]),tmpMap[sNodes[i].pId].children.push(tmpMap[sNodes[i].id])):r.push(tmpMap[sNodes[i].id]);return r}return[sNodes]},traversal:function(array,callback){if(!BI.isNull(array)){var self=this;BI.some(array,function(i,item){return callback(i,item)===!1||void self.traversal(item.children,callback)})}}})}(),BI.Vector=function(x,y){this.x=x,this.y=y},BI.Vector.prototype={constructor:BI.Vector,cross:function(v){return this.x*v.y-this.y*v.x},length:function(v){return Math.sqrt(this.x*v.x+this.y*v.y)}},BI.Region=function(x,y,w,h){this.x=x,this.y=y,this.w=w,this.h=h},BI.Region.prototype={constructor:BI.Region,isIntersects:function(obj){if(this.isPointInside(obj.x,obj.y)||this.isPointInside(obj.x+obj.w,obj.y)||this.isPointInside(obj.x,obj.y+obj.h)||this.isPointInside(obj.x+obj.w,obj.y+obj.h))return!0;if(obj.isPointInside(this.x,this.y)||obj.isPointInside(this.x+this.w,this.y)||obj.isPointInside(this.x,this.y+this.h)||obj.isPointInside(this.x+this.w,this.y+this.h))return!0;if(null!=obj.x&&null!=obj.y){var vector1=new BI.Vector(this.w,this.h),vector2=new BI.Vector(obj.x-this.x,obj.y-this.y),vector3=new BI.Vector(vector2.x+obj.w,vector2.y+obj.h);if(vector1.cross(vector2)*vector1.cross(vector3)<0)return!0}return!1},isPointInside:function(x,y){return null!=this.x&&null!=this.y&&(x>=this.x&&x<=this.x+this.w&&y>=this.y&&y<=this.y+this.h)},getPosition:function(){var pos=[];return pos.push(this.x+this.w/2),pos.push(this.y+this.h/2),pos}},BI.BehaviorFactory={createBehavior:function(key,options){var behavior;switch(key){case"highlight":behavior=BI.HighlightBehavior;break;case"redmark":behavior=BI.RedMarkBehavior}return new behavior(options)}},BI.Behavior=BI.inherit(BI.OB,{_defaultConfig:function(){return BI.extend(BI.Behavior.superclass._defaultConfig.apply(this,arguments),{rule:function(){return!0}})},_init:function(){BI.Behavior.superclass._init.apply(this,arguments)},doBehavior:function(){}}),BI.Layout=BI.inherit(BI.Widget,{props:function(){return{scrollable:null,scrollx:!1,scrolly:!1,items:[]}},render:function(){this._init4Margin(),this._init4Scroll()},_init4Margin:function(){this.options.top&&this.element.css("top",this.options.top),this.options.left&&this.element.css("left",this.options.left),this.options.bottom&&this.element.css("bottom",this.options.bottom),this.options.right&&this.element.css("right",this.options.right)},_init4Scroll:function(){switch(this.options.scrollable){case!0:this.element.css("overflow","auto");break;case!1:this.element.css("overflow","hidden")}this.options.scrollx&&this.element.css({"overflow-x":"auto","overflow-y":"hidden"}),this.options.scrolly&&this.element.css({"overflow-x":"hidden","overflow-y":"auto"})},appendFragment:function(frag){this.element.append(frag)},_mountChildren:function(){var self=this,frag=BI.Widget._renderEngine.createFragment(),hasChild=!1;BI.each(this._children,function(i,widget){widget.element!==self.element&&(frag.appendChild(widget.element[0]),hasChild=!0)}),hasChild===!0&&this.appendFragment(frag)},_getChildName:function(index){return index+""},_addElement:function(i,item,context){var self=this,w;return this.hasWidget(this._getChildName(i))?w=this.getWidgetByName(this._getChildName(i)):(w=BI.createWidget(item,context),w.on(BI.Events.DESTROY,function(){BI.each(self._children,function(name,child){child===w&&(BI.remove(self._children,child),self.removeItemAt(0|name))})}),this.addWidget(this._getChildName(i),w)),w},_getOptions:function(item){return item instanceof BI.Widget&&(item=item.options),item=BI.stripEL(item),item instanceof BI.Widget&&(item=item.options),item},_compare:function(item1,item2){function eq(a,b,aStack,bStack){if(a===b)return 0!==a||1/a===1/b;if(null==a||null==b)return a===b;var className=Object.prototype.toString.call(a);switch(className){case"[object RegExp]":case"[object String]":return""+a==""+b;case"[object Number]":return+a!==+a?+b!==+b:0===+a?1/+a===1/b:+a===+b;case"[object Date]":case"[object Boolean]":return+a===+b}var areArrays="[object Array]"===className;if(!areArrays){if(BI.isFunction(a)&&BI.isFunction(b))return!0;a=self._getOptions(a),b=self._getOptions(b)}aStack=aStack||[],bStack=bStack||[];for(var length=aStack.length;length--;)if(aStack[length]===a)return bStack[length]===b;if(aStack.push(a),bStack.push(b),areArrays){if(length=a.length,length!==b.length)return!1;for(;length--;)if(!eq(a[length],b[length],aStack,bStack))return!1}else{var keys=_.keys(a),key;if(length=keys.length,_.keys(b).length!==length)return!1;for(;length--;)if(key=keys[length],!_.has(b,key)||!eq(a[key],b[key],aStack,bStack))return!1}return aStack.pop(),bStack.pop(),!0}var self=this;return eq(item1,item2)},_getWrapper:function(){return this.element},_addItemAt:function(index,item){for(var i=this.options.items.length;i>index;i--)this._children[this._getChildName(i)]=this._children[this._getChildName(i-1)];delete this._children[this._getChildName(index)],this.options.items.splice(index,0,item)},_removeItemAt:function(index){for(var i=index;i<this.options.items.length-1;i++)this._children[this._getChildName(i)]=this._children[this._getChildName(i+1)];delete this._children[this._getChildName(this.options.items.length-1)],this.options.items.splice(index,1)},addItem:function(item){return this.addItemAt(this.options.items.length,item)},prependItem:function(item){return this.addItemAt(0,item)},addItemAt:function(index,item){if(!(index<0||index>this.options.items.length)){this._addItemAt(index,item);var w=this._addElement(index,item);return index>0?this._children[this._getChildName(index-1)].element.after(w.element):w.element.prependTo(this._getWrapper()),w._mount(),w}},removeItemAt:function(indexes){indexes=BI.isArray(indexes)?indexes:[indexes];for(var deleted=[],newItems=[],newChildren={},i=0,len=this.options.items.length;i<len;i++){var child=this._children[this._getChildName(i)];BI.contains(indexes,i)?child&&deleted.push(child):(newChildren[this._getChildName(newItems.length)]=child,newItems.push(this.options.items[i]))}this.options.items=newItems,this._children=newChildren,BI.each(deleted,function(i,c){c._destroy()})},shouldUpdateItem:function(index,item){if(index<0||index>this.options.items.length-1)return!1;var child=this._children[this._getChildName(index)];return child.shouldUpdate?child.shouldUpdate(this._getOptions(item))===!0:null},updateItemAt:function(index,item){
if(!(index<0||index>this.options.items.length-1)){var child=this._children[this._getChildName(index)],updated;if(updated=child.update(this._getOptions(item)))return updated;var del=this._children[this._getChildName(index)];delete this._children[this._getChildName(index)],this.options.items.splice(index,1);var w=this._addElement(index,item);this.options.items.splice(index,0,item),this._children[this._getChildName(index)]=w,index>0?this._children[this._getChildName(index-1)].element.after(w.element):w.element.prependTo(this._getWrapper()),del._destroy(),w._mount()}},addItems:function(items,context){var self=this,o=this.options,fragment=BI.Widget._renderEngine.createFragment(),added=[];BI.each(items,function(i,item){var w=self._addElement(o.items.length,item,context);self._children[self._getChildName(o.items.length)]=w,o.items.push(item),added.push(w),fragment.appendChild(w.element[0])}),this._isMounted&&(this._getWrapper().append(fragment),BI.each(added,function(i,w){w._mount()}))},prependItems:function(items,context){var self=this;items=items||[];for(var fragment=BI.Widget._renderEngine.createFragment(),added=[],i=items.length-1;i>=0;i--){this._addItemAt(0,items[i]);var w=this._addElement(0,items[i],context);self._children[self._getChildName(0)]=w,this.options.items.unshift(items[i]),added.push(w),fragment.appendChild(w.element[0])}this._isMounted&&(this._getWrapper().prepend(fragment),BI.each(added,function(i,w){w._mount()}))},getValue:function(){var self=this,value=[],child;return BI.each(this.options.items,function(i){if(child=self._children[self._getChildName(i)]){var v=child.getValue();v=BI.isArray(v)?v:[v],value=value.concat(v)}}),value},setValue:function(v){var self=this,child;BI.each(this.options.items,function(i){(child=self._children[self._getChildName(i)])&&child.setValue(v)})},setText:function(v){var self=this,child;BI.each(this.options.items,function(i){(child=self._children[self._getChildName(i)])&&child.setText(v)})},patchItem:function(oldVnode,vnode,index){var shouldUpdate=this.shouldUpdateItem(index,vnode);if(shouldUpdate===!0||null===shouldUpdate&&!this._compare(oldVnode,vnode))return this.updateItemAt(index,vnode)},updateChildren:function(oldCh,newCh){function sameVnode(vnode1,vnode2,oldIndex,newIndex){return vnode1=self._getOptions(vnode1),vnode2=self._getOptions(vnode2),BI.isKey(vnode1.key)?vnode1.key===vnode2.key:oldIndex>=0?oldIndex===newIndex:void 0}function addNode(vnode,index){var opt=self._getOptions(vnode),key=null==opt.key?self._getChildName(index):opt.key;return children[key]=self._addElement(key,vnode)}function addVnodes(before,vnodes,startIdx,endIdx){for(;startIdx<=endIdx;++startIdx){var node=addNode(vnodes[startIdx],startIdx);insertBefore(node,before,!1,startIdx)}}function removeVnodes(vnodes,startIdx,endIdx){for(;startIdx<=endIdx;++startIdx){var ch=vnodes[startIdx];if(BI.isNotNull(ch)){var node=self._getOptions(ch),key=null==node.key?self._getChildName(startIdx):node.key;delete self._children[self._getChildName(key)],children[key]._destroy()}}}function insertBefore(insert,before,isNext,index){insert=self._getOptions(insert),before=before&&self._getOptions(before);var insertKey=BI.isKey(insert.key)?insert.key:self._getChildName(index);if(before&&children[before.key]){var beforeKey=BI.isKey(before.key)?before.key:self._getChildName(index),next;next=isNext?children[beforeKey].element.next():children[beforeKey].element,next.length>0?next.before(children[insertKey].element):self._getWrapper().append(children[insertKey].element)}else self._getWrapper().append(children[insertKey].element)}function findOldVnode(vnodes,vNode,beginIdx,endIdx){var i,found;for(i=beginIdx;i<=endIdx;++i)vnodes[i]&&sameVnode(vnodes[i],vNode)&&(found=vnodes[i]);return found}var self=this,oldStartIdx=0,newStartIdx=0,oldEndIdx=oldCh.length-1,oldStartVnode=oldCh[0],oldEndVnode=oldCh[oldEndIdx],newEndIdx=newCh.length-1,newStartVnode=newCh[0],newEndVnode=newCh[newEndIdx],before,updated,children={};for(BI.each(oldCh,function(i,child){child=self._getOptions(child);var key=null==child.key?i:child.key;BI.isKey(key)&&(children[key]=self._children[self._getChildName(i)])});oldStartIdx<=oldEndIdx&&newStartIdx<=newEndIdx;)if(BI.isNull(oldStartVnode))oldStartVnode=oldCh[++oldStartIdx];else if(BI.isNull(oldEndVnode))oldEndVnode=oldCh[--oldEndIdx];else if(sameVnode(oldStartVnode,newStartVnode,oldStartIdx,newStartIdx))updated=this.patchItem(oldStartVnode,newStartVnode,oldStartIdx)||updated,children[null==oldStartVnode.key?this._getChildName(oldStartIdx):oldStartVnode.key]=this._children[this._getChildName(oldStartIdx)],oldStartVnode=oldCh[++oldStartIdx],newStartVnode=newCh[++newStartIdx];else if(sameVnode(oldEndVnode,newEndVnode,oldEndIdx,newEndIdx))updated=this.patchItem(oldEndVnode,newEndVnode,oldEndIdx)||updated,children[null==oldEndVnode.key?this._getChildName(oldEndIdx):oldEndVnode.key]=this._children[this._getChildName(oldEndIdx)],oldEndVnode=oldCh[--oldEndIdx],newEndVnode=newCh[--newEndIdx];else if(sameVnode(oldStartVnode,newEndVnode))updated=this.patchItem(oldStartVnode,newEndVnode,oldStartIdx)||updated,children[null==oldStartVnode.key?this._getChildName(oldStartIdx):oldStartVnode.key]=this._children[this._getChildName(oldStartIdx)],insertBefore(oldStartVnode,oldEndVnode,!0),oldStartVnode=oldCh[++oldStartIdx],newEndVnode=newCh[--newEndIdx];else if(sameVnode(oldEndVnode,newStartVnode))updated=this.patchItem(oldEndVnode,newStartVnode,oldEndIdx)||updated,children[null==oldEndVnode.key?this._getChildName(oldEndIdx):oldEndVnode.key]=this._children[this._getChildName(oldEndIdx)],insertBefore(oldEndVnode,oldStartVnode),oldEndVnode=oldCh[--oldEndIdx],newStartVnode=newCh[++newStartIdx];else{var sameOldVnode=findOldVnode(oldCh,newStartVnode,oldStartIdx,oldEndIdx);if(BI.isNull(sameOldVnode)){var node=addNode(newStartVnode);insertBefore(node,oldStartVnode),newStartVnode=newCh[++newStartIdx]}else BI.each(oldCh,function(index,child){child&&sameVnode(child,newStartVnode)&&(updated=self.patchItem(sameOldVnode,newStartVnode,index)||updated,children[null==sameOldVnode.key?self._getChildName(index):sameOldVnode.key]=self._children[self._getChildName(index)],oldCh[index]=void 0,insertBefore(sameOldVnode,oldStartVnode))}),newStartVnode=newCh[++newStartIdx]}return oldStartIdx>oldEndIdx?(before=BI.isNull(newCh[newEndIdx+1])?null:newCh[newEndIdx+1],addVnodes(before,newCh,newStartIdx,newEndIdx)):newStartIdx>newEndIdx&&removeVnodes(oldCh,oldStartIdx,oldEndIdx),this._children={},BI.each(newCh,function(i,child){var node=self._getOptions(child),key=null==node.key?self._getChildName(i):node.key;children[key]._mount(),self._children[self._getChildName(i)]=children[key]}),updated},update:function(opt){var o=this.options,items=opt.items||[],updated=this.updateChildren(o.items,items);return this.options.items=items,updated},stroke:function(items){var self=this;BI.each(items,function(i,item){item&&self._addElement(i,item)})},removeWidget:function(nameOrWidget){var removeIndex;BI.isWidget(nameOrWidget)?BI.each(this._children,function(name,child){child===nameOrWidget&&(removeIndex=name)}):removeIndex=nameOrWidget,removeIndex&&this._removeItemAt(0|removeIndex)},empty:function(){BI.Layout.superclass.empty.apply(this,arguments),this.options.items=[]},destroy:function(){BI.Layout.superclass.destroy.apply(this,arguments),this.options.items=[]},populate:function(items){var self=this,o=this.options;return items=items||[],this._isMounted?void this.update({items:items}):(this.options.items=items,void this.stroke(items))},resize:function(){}}),BI.shortcut("bi.layout",BI.Layout),BI.Plugin=BI.Plugin||{},!function(){var _WidgetsPlugin={},_ObjectPlugin={},_ConfigPlugin={},_GlobalWidgetConfigFn,_GlobalObjectConfigFn;BI.extend(BI.Plugin,{getWidget:function(type,options){_GlobalWidgetConfigFn&&_GlobalWidgetConfigFn(type,options);var res;if(_ConfigPlugin[type])for(var i=_ConfigPlugin[type].length-1;i>=0;i--)(res=_ConfigPlugin[type][i](options))&&(options=res);if(_WidgetsPlugin[type])for(var i=_WidgetsPlugin[type].length-1;i>=0;i--)if(res=_WidgetsPlugin[type][i](options))return res;return options},config:function(widgetConfigFn,objectConfigFn){_GlobalWidgetConfigFn=widgetConfigFn,_GlobalObjectConfigFn=objectConfigFn},configWidget:function(type,fn){_ConfigPlugin[type]||(_ConfigPlugin[type]=[]),_ConfigPlugin[type].push(fn)},registerWidget:function(type,fn){_WidgetsPlugin[type]||(_WidgetsPlugin[type]=[]),_WidgetsPlugin[type].length>0&&console.log("组件已经注册过了!"),_WidgetsPlugin[type].push(fn)},relieveWidget:function(type){delete _WidgetsPlugin[type]},getObject:function(type,object){if(_GlobalObjectConfigFn&&_GlobalObjectConfigFn(type,object),_ObjectPlugin[type])for(var res,i=0,len=_ObjectPlugin[type].length;i<len;i++)(res=_ObjectPlugin[type][i](object))&&(object=res);return res||object},registerObject:function(type,fn){_ObjectPlugin[type]||(_ObjectPlugin[type]=[]),_ObjectPlugin[type].length>0&&console.log("对象已经注册过了!"),_ObjectPlugin[type].push(fn)},relieveObject:function(type){delete _ObjectPlugin[type]}})}(),BI.Action=BI.inherit(BI.OB,{_defaultConfig:function(){return BI.extend(BI.Action.superclass._defaultConfig.apply(this,arguments),{src:null,tar:null})},_init:function(){BI.Action.superclass._init.apply(this,arguments)},actionPerformed:function(src,tar,callback){},actionBack:function(tar,src,callback){}}),BI.ActionFactory={createAction:function(key,options){var action;switch(key){case"show":action=BI.ShowAction}return new action(options)}},BI.ShowAction=BI.inherit(BI.Action,{_defaultConfig:function(){return BI.extend(BI.ShowAction.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.ShowAction.superclass._init.apply(this,arguments)},actionPerformed:function(src,tar,callback){tar=tar||this.options.tar,tar.setVisible(!0),callback&&callback()},actionBack:function(tar,src,callback){tar=tar||this.options.tar,tar.setVisible(!1),callback&&callback()}}),function(){function isEmpty(value){var result=""===value||null===value||void 0===value;return result}function isInvalidDate(date){return"Invalid Date"==date||"NaN"==date}function _eFormat(text,fmt){function eFormat(num,format){var neg=num<0?(num*=-1,"-"):"",magnitudeNeg="",funcName=num>0&&num<1?"floor":"ceil",magnitude=Math[funcName](Math.log(num)/Math.log(10));if(!isFinite(magnitude))return format.replace(/#/gi,"").replace(/\.e/gi,"E");num/=Math.pow(10,magnitude),num>0&&num<1&&(num*=10,magnitude-=1);var integerLen=getInteger(magnitude,format);integerLen>1&&(magnitude-=integerLen-1,num*=Math.pow(10,integerLen-1)),magnitude<0&&(magnitudeNeg="-",magnitude*=-1);var precision=getPrecision(format),isValueCarry=isValueCarried(num);return num*=Math.pow(10,precision),num=Math.round(num),isValueCarry&&(num/=10,magnitude+="-"===magnitudeNeg?-1:1),num/=Math.pow(10,precision),num=num.toFixed(precision),magnitude=formatExponential(format,magnitude,magnitudeNeg),neg+num+"E"+magnitude}function formatExponential(format,num,magnitudeNeg){if(num+="",!/e/gi.test(format))return num;for(format=format.split(/e/gi)[1];num.length<format.length;)num="0"+num;for(var isAllZero=!0,i=0,len=num.length;i<len;i++)isAllZero&&(isAllZero="0"===num.charAt(i));return magnitudeNeg=isAllZero?"":magnitudeNeg,magnitudeNeg+num}function getPrecision(format){if(!/e/gi.test(format))return 0;var arr=format.split(/e/gi)[0].split(".");return arr.length>1?arr[1].length:0}function getInteger(magnitude,format){if(!/e/gi.test(format))return 0;var formatLeft=format.split(/e/gi)[0].split(".")[0],i,f,len=formatLeft.length,valueLeftLen=0;for(i=0;i<len;i++)f=formatLeft.charAt(i),(0==f||"#"==f&&len-i<=magnitude+1)&&valueLeftLen++;return valueLeftLen}function isValueCarried(num){var roundNum=Math.round(num);return num=(num+"").split(".")[0],roundNum=(roundNum+"").split(".")[0],num.length!==roundNum.length}return text=+text,eFormat(text,fmt)}function _dealNumberPrecision(text,fright){if(/[eE]/.test(text)){var precision=0,i=0,ch;/[%‰]$/.test(fright)&&(precision=/[%]$/.test(fright)?2:3);for(var len=fright.length;i<len;i++)"0"!=(ch=fright.charAt(i))&&"#"!=ch||precision++;return Number(text).toFixed(precision)}return text}function _numberFormat(text,format){var text=text+"";if(!/[0-9]/.test(text)||!format)return text;var numMod=format.indexOf(";");if(numMod>-1)return text>=0?_numberFormat(text+"",format.substring(0,numMod)):_numberFormat(-text+"",format.substr(numMod+1));if(+text<0&&"-"!==format.charAt(0))return _numberFormat(-text+"","-"+format);var fp=format.split("."),fleft=fp[0]||"",fright=fp[1]||"";text=_dealNumberPrecision(text,fright);var tp=text.split("."),tleft=tp[0]||"",tright=tp[1]||"";if(/[%‰]$/.test(format)){var paddingZero=/[%]$/.test(format)?"00":"000";tright+=paddingZero,tleft+=tright.substr(0,paddingZero.length),tleft=tleft.replace(/^0+/gi,""),tright=tright.substr(paddingZero.length).replace(/0+$/gi,"")}var right=_dealWithRight(tright,fright);right.leftPlus&&(tleft=parseInt(tleft)+1+"",tleft=isNaN(tleft)?"1":tleft),right=right.num;var left=_dealWithLeft(tleft,fleft);return/[0-9]/.test(left)||(left+="0"),/[0-9]/.test(right)?left+"."+right:left+right}function _dealWithRight(tright,fright){for(var right="",j=0,i=0,len=fright.length;i<len;i++){var ch=fright.charAt(i),c=tright.charAt(j);switch(ch){case"0":isEmpty(c)&&(c="0"),right+=c,j++;break;case"#":right+=c,j++;break;default:right+=ch}}var rll=tright.substr(j),result={};if(!isEmpty(rll)&&rll.charAt(0)>4){result.leftPlus=!0;var numReg=right.match(/^[0-9]+/);if(numReg){var num=numReg[0],orilen=num.length,newnum=parseInt(num)+1+"";newnum.length>orilen?newnum=newnum.substr(1):(newnum=BI.leftPad(newnum,orilen,"0"),result.leftPlus=!1),right=right.replace(/^[0-9]+/,newnum)}}return result.num=right,result}function _dealWithLeft(tleft,fleft){for(var left="",j=tleft.length-1,combo=-1,last=-1,i=fleft.length-1;i>=0;i--){var ch=fleft.charAt(i),c=tleft.charAt(j);switch(ch){case"0":isEmpty(c)&&(c="0"),last=-1,left=c+left,j--;break;case"#":last=i,left=c+left,j--;break;case",":if(!isEmpty(c)){var com=fleft.match(/,[#0]+/);com&&(combo=com[0].length-1),left=","+left}break;default:left=ch+left}}if(last>-1){var tll=tleft.substr(0,j+1);left=left.substr(0,last)+tll+left.substr(last)}if(combo>0){var res=left.match(/[0-9]+,/);if(res){res=res[0];for(var newstr="",n=res.length-1-combo;n>=0;n-=combo)newstr=res.substr(n,combo)+","+newstr;var lres=res.substr(0,n+combo);isEmpty(lres)||(newstr=lres+","+newstr)}left=left.replace(/[0-9]+,/,newstr)}return left}var _global;_global="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,_global.BI||(_global.BI={}),BI.cjkEncode=function(text){if("string"!=typeof text)return text;for(var newText="",i=0;i<text.length;i++){var code=text.charCodeAt(i);newText+=code>=128||91===code||93===code?"["+code.toString(16)+"]":text.charAt(i)}return newText},BI.cjkDecode=function(text){if(null==text)return"";if(!isNaN(text)||text.indexOf("[")==-1)return text;for(var newText="",i=0;i<text.length;i++){var ch=text.charAt(i);if("["==ch){var rightIdx=text.indexOf("]",i+1);if(rightIdx>i+1){var subText=text.substring(i+1,rightIdx);subText.length>0&&(ch=String.fromCharCode(eval("0x"+subText))),i=rightIdx}}newText+=ch}return newText};var SPECIAL_TAGS={"&":"&amp;",'"':"&quot;","<":"&lt;",">":"&gt;"," ":"&nbsp;"};BI.htmlEncode=function(text){return BI.isNull(text)?"":BI.replaceAll(text+"",'&|"|<|>|\\s',function(v){return SPECIAL_TAGS[v]?SPECIAL_TAGS[v]:"&nbsp;"})},BI.htmlDecode=function(text){return BI.isNull(text)?"":BI.replaceAll(text+"","&amp;|&quot;|&lt;|&gt;|&nbsp;",function(v){switch(v){case"&amp;":return"&";case"&quot;":return'"';case"&lt;":return"<";case"&gt;":return">";case"&nbsp;":default:return" "}})},BI.cjkEncodeDO=function(o){if(BI.isPlainObject(o)){var result={};return _.each(o,function(v,k){"string"!=typeof v&&(v=BI.jsonEncode(v)),k=BI.cjkEncode(k),result[k]=BI.cjkEncode(v)}),result}return o},BI.jsonEncode=function(o){var useHasOwn=!!{}.hasOwnProperty,m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},encodeString=function(s){return/["\\\x00-\x1f]/.test(s)?'"'+s.replace(/([\x00-\x1f\\"])/g,function(a,b){var c=m[b];return c?c:(c=b.charCodeAt(),"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16))})+'"':'"'+s+'"'},encodeArray=function(o){var a=["["],b,i,l=o.length,v;for(i=0;i<l;i+=1)switch(v=o[i],typeof v){case"undefined":case"function":case"unknown":break;default:b&&a.push(","),a.push(null===v?"null":BI.jsonEncode(v)),b=!0}return a.push("]"),a.join("")};if("undefined"==typeof o||null===o)return"null";if(BI.isArray(o))return encodeArray(o);if(o instanceof Date)return BI.jsonEncode({__time__:o.getTime()});if("string"==typeof o)return encodeString(o);if("number"==typeof o)return isFinite(o)?String(o):"null";if("boolean"==typeof o)return String(o);if(BI.isFunction(o))return String(o);var a=["{"],b,i,v;for(i in o)if(!useHasOwn||o.hasOwnProperty(i))switch(v=o[i],typeof v){case"undefined":case"unknown":break;default:b&&a.push(","),a.push(BI.jsonEncode(i),":",null===v?"null":BI.jsonEncode(v)),b=!0}return a.push("}"),a.join("")},BI.jsonDecode=function(text){function _hasDateInJson(json){return!(!json||"string"!=typeof json)&&json.indexOf("__time__")!=-1}try{var jo=BI.$?BI.$.parseJSON(text):_global.JSON.parse(text);null==jo&&(jo={})}catch(e){try{jo=new Function("return "+text)()||{}}catch(e){}null==jo&&(jo=[])}return _hasDateInJson(text)?function(o){if("string"==typeof o)return o;if(o&&null!=o.__time__)return new Date(o.__time__);for(var a in o){if(o[a]==o||"object"==typeof o[a]||_.isFunction(o[a]))break;o[a]=arguments.callee(o[a])}return o}(jo):jo},BI.getEncodeURL=function(urlTemplate,param){return urlTemplate.replaceAll("\\{(.*?)\\}",function(ori,str){return BI.encodeURIComponent(BI.isObject(param)?param[str]:param)})},BI.encodeURIComponent=function(url){return BI.specialCharsMap=BI.specialCharsMap||{},url=url||"",url=BI.replaceAll(url+"",BI.keys(BI.specialCharsMap||[]).join("|"),function(str){switch(str){case"\\":return BI.specialCharsMap["\\\\"]||str;default:return BI.specialCharsMap[str]||str}}),_global.encodeURIComponent(url)},BI.decodeURIComponent=function(url){var reserveSpecialCharsMap={};return BI.each(BI.specialCharsMap,function(initialChar,encodeChar){reserveSpecialCharsMap[encodeChar]="\\\\"===initialChar?"\\":initialChar}),url=url||"",url=BI.replaceAll(url+"",BI.keys(reserveSpecialCharsMap||[]).join("|"),function(str){return reserveSpecialCharsMap[str]||str}),_global.decodeURIComponent(url)},BI.contentFormat=function(cv,fmt){if(isEmpty(cv))return"";var text=cv.toString();if(isEmpty(fmt))return text;if(fmt.match(/^T/))return text;if(fmt.match(/^D/)){if(cv instanceof Date||(cv="number"==typeof cv?new Date(cv):new Date(Date.parse((""+cv).replace(/-|\./g,"/")))),!isInvalidDate(cv)&&!BI.isNull(cv)){var needTrim=fmt.match(/^DT/);text=BI.date2Str(cv,fmt.substring(needTrim?2:1))}}else text=fmt.match(/E/)?_eFormat(text,fmt):_numberFormat(text,fmt);return text=text.replace(/¤/g,"¥")},BI.parseFmt=function(fmt){return fmt?(fmt=String(fmt).replace(/y{4,}/g,"%Y").replace(/y{2}/g,"%y").replace(/M{4,}/g,"%b").replace(/M{3}/g,"%B").replace(/M{2}/g,"%X").replace(/M{1}/g,"%x").replace(/a{1}/g,"%p"),fmt=new RegExp("d{2,}","g").test(fmt)?fmt.replace(/d{2,}/g,"%d"):fmt.replace(/d{1}/g,"%e"),fmt=new RegExp("h{2,}","g").test(fmt)?fmt.replace(/h{2,}/g,"%I"):fmt.replace(/h{1}/g,"%I"),fmt=new RegExp("H{2,}","g").test(fmt)?fmt.replace(/H{2,}/g,"%H"):fmt.replace(/H{1}/g,"%H"),fmt=fmt.replace(/m{2,}/g,"%M").replace(/s{2,}/g,"%S")):""},BI.str2Date=function(str,format){if("string"!=typeof str||"string"!=typeof format)return null;var fmt=BI.parseFmt(format);return BI.parseDateTime(str,fmt)},BI.date2Str=function(date,format){function compileJFmt(jfmt,date){var str=jfmt.str,len=jfmt.len,ch=jfmt["char"];switch(ch){case"E":str=BI.Date._DN[date.getDay()];break;case"y":str=len<=3?(date.getFullYear()+"").slice(2,4):date.getFullYear();break;case"M":str=len>2?BI.Date._MN[date.getMonth()]:len<2?date.getMonth()+1:BI.leftPad(date.getMonth()+1+"",2,"0");break;case"d":str=len>1?BI.leftPad(date.getDate()+"",2,"0"):date.getDate();break;case"h":var hour=date.getHours()%12;0===hour&&(hour=12),str=len>1?BI.leftPad(hour+"",2,"0"):hour;break;case"H":str=len>1?BI.leftPad(date.getHours()+"",2,"0"):date.getHours();break;case"m":str=len>1?BI.leftPad(date.getMinutes()+"",2,"0"):date.getMinutes();break;case"s":str=len>1?BI.leftPad(date.getSeconds()+"",2,"0"):date.getSeconds();break;case"a":str=date.getHours()<12?"am":"pm";break;case"z":str=BI.getTimezone(date);break;default:str=jfmt.str}return str}if(!date)return"";var len=format.length,result="";if(len>0){for(var flagch=format.charAt(0),start=0,str=flagch,i=1;i<len;i++){var ch=format.charAt(i);flagch!==ch?(result+=compileJFmt({"char":flagch,str:str,len:i-start},date),flagch=ch,start=i,str=flagch):str+=ch}result+=compileJFmt({"char":flagch,str:str,len:len-start},date)}return result},BI.object2Number=function(value){if(null==value)return 0;if("number"==typeof value)return value;var str=value+"";return str.indexOf(".")===-1?parseInt(str):parseFloat(str)},BI.object2Date=function(obj){if(null==obj)return new Date;if(obj instanceof Date)return obj;if("number"==typeof obj)return new Date(obj);var str=obj+"";str=str.replace(/-/g,"/");var dt=new Date(str);return isInvalidDate(dt)?new Date:dt},BI.object2Time=function(obj){if(null==obj)return new Date;if(obj instanceof Date)return obj;var str=obj+"";str=str.replace(/-/g,"/");var dt=new Date(str);return isInvalidDate(dt)&&(str.indexOf("/")!==-1||str.indexOf(":")===-1||(dt=new Date("1970/01/01 "+str),isInvalidDate(dt)))?(dt=BI.parseDateTime(str,"HH:mm:ss"),isInvalidDate(dt)?new Date:dt):dt}}(),BI.HighlightBehavior=BI.inherit(BI.Behavior,{_defaultConfig:function(){return BI.extend(BI.HighlightBehavior.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.HighlightBehavior.superclass._init.apply(this,arguments)},doBehavior:function(items){var args=Array.prototype.slice.call(arguments,1),o=this.options;BI.each(items,function(i,item){function doBe(run){run===!0?item.doHighLight&&item.doHighLight.apply(item,args):item.unHighLight&&item.unHighLight.apply(item,args)}if(item instanceof BI.Single){var rule=o.rule(item.getValue(),item);BI.isFunction(rule)?rule(doBe):doBe(rule)}else item.doBehavior&&item.doBehavior.apply(item,args)})}}),BI.RedMarkBehavior=BI.inherit(BI.Behavior,{_defaultConfig:function(){return BI.extend(BI.RedMarkBehavior.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.RedMarkBehavior.superclass._init.apply(this,arguments)},doBehavior:function(items){var args=Array.prototype.slice.call(arguments,1),o=this.options;BI.each(items,function(i,item){item instanceof BI.Single?o.rule(item.getValue(),item)?item.doRedMark&&item.doRedMark.apply(item,args):item.doRedMark&&item.unRedMark.apply(item,args):item.doBehavior&&item.doBehavior.apply(item,args)})}}),BI.Controller=BI.inherit(BI.OB,{_defaultConfig:function(){return BI.extend(BI.Controller.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.Controller.superclass._init.apply(this,arguments)},destroy:function(){}}),BI.Controller.EVENT_CHANGE="__EVENT_CHANGE__",BI.BroadcastController=BI.inherit(BI.Controller,{_defaultConfig:function(){return BI.extend(BI.BroadcastController.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.BroadcastController.superclass._init.apply(this,arguments),this._broadcasts={}},on:function(name,fn){var self=this;return this._broadcasts[name]||(this._broadcasts[name]=[]),this._broadcasts[name].push(fn),function(){self.remove(name,fn)}},send:function(name){var args=[].slice.call(arguments,1);BI.each(this._broadcasts[name],function(i,fn){fn.apply(null,args)})},remove:function(name,fn){var self=this;return fn?(BI.remove(this._broadcasts[name],function(idx){return self._broadcasts[name].indexOf(fn)===idx}),this._broadcasts[name].remove(fn),0===this._broadcasts[name].length&&delete this._broadcasts[name]):delete this._broadcasts[name],this}}),BI.BubblesController=BI.inherit(BI.Controller,{_defaultConfig:function(){return BI.extend(BI.BubblesController.superclass._defaultConfig.apply(this,arguments),{})},_const:{bubbleHeight:18},_init:function(){BI.BubblesController.superclass._init.apply(this,arguments);var self=this;this.bubblesManager={},this.storeBubbles={},BI.Resizers.add("bubbleController"+BI.uniqueId(),function(){BI.each(self.bubblesManager,function(name){self.remove(name)}),self.bubblesManager={},self.storeBubbles={}})},_createBubble:function(direct,text,level,height){return BI.createWidget({type:"bi.bubble",text:text,level:level,height:height||18,direction:direct})},_getOffsetLeft:function(name,context,offsetStyle){var left=0;return"center"===offsetStyle?(left=context.element.offset().left+(context.element.bounds().width-this.get(name).element.bounds().width)/2,left<0&&(left=0),left):"right"===offsetStyle?(left=context.element.offset().left+context.element.bounds().width-this.get(name).element.bounds().width,left<0&&(left=0),left):context.element.offset().left},_getOffsetTop:function(name,context,offsetStyle){var top=0;return"center"===offsetStyle?(top=context.element.offset().top+(context.element.bounds().height-this.get(name).element.bounds().height)/2,top<0&&(top=0),top):"right"===offsetStyle?(top=context.element.offset().top+context.element.bounds().height-this.get(name).element.bounds().height,top<0&&(top=0),top):context.element.offset().top},_getLeftPosition:function(name,context,offsetStyle){var position=BI.DOM.getLeftPosition(context,this.get(name));return position.top=this._getOffsetTop(name,context,offsetStyle),position},_getBottomPosition:function(name,context,offsetStyle){var position=BI.DOM.getBottomPosition(context,this.get(name));return position.left=this._getOffsetLeft(name,context,offsetStyle),position},_getTopPosition:function(name,context,offsetStyle){var position=BI.DOM.getTopPosition(context,this.get(name));return position.left=this._getOffsetLeft(name,context,offsetStyle),position},_getRightPosition:function(name,context,offsetStyle){var position=BI.DOM.getRightPosition(context,this.get(name));return position.top=this._getOffsetTop(name,context,offsetStyle),position},show:function(name,text,context,opt){opt||(opt={});var container=opt.container||context,offsetStyle=opt.offsetStyle||{},level=opt.level||"error",adjustYOffset=opt.adjustYOffset||0,adjustXOffset=opt.adjustXOffset||0;this.storeBubbles[name]||(this.storeBubbles[name]={}),this.storeBubbles[name].top||(this.storeBubbles[name].top=this._createBubble("top",text,level)),BI.createWidget({type:"bi.absolute",element:container,items:[{el:this.storeBubbles[name].top}]}),this.set(name,this.storeBubbles[name].top);var position=this._getTopPosition(name,context,offsetStyle);if(this.get(name).element.css({left:position.left+adjustXOffset,top:position.top-adjustYOffset}),this.get(name).invisible(),!BI.DOM.isTopSpaceEnough(context,this.get(name),adjustYOffset)){this.storeBubbles[name].left||(this.storeBubbles[name].left=this._createBubble("left",text,level,30)),BI.createWidget({type:"bi.absolute",element:container,items:[{el:this.storeBubbles[name].left}]}),this.set(name,this.storeBubbles[name].left);var position=this._getLeftPosition(name,context,offsetStyle);if(this.get(name).element.css({left:position.left-adjustXOffset,top:position.top-adjustYOffset}),this.get(name).invisible(),!BI.DOM.isLeftSpaceEnough(context,this.get(name),adjustXOffset)){this.storeBubbles[name].right||(this.storeBubbles[name].right=this._createBubble("right",text,level,30)),BI.createWidget({type:"bi.absolute",element:container,items:[{el:this.storeBubbles[name].right}]}),this.set(name,this.storeBubbles[name].right);var position=this._getRightPosition(name,context,offsetStyle);if(this.get(name).element.css({left:position.left+adjustXOffset,top:position.top-adjustYOffset}),this.get(name).invisible(),!BI.DOM.isRightSpaceEnough(context,this.get(name),adjustXOffset)){this.storeBubbles[name].bottom||(this.storeBubbles[name].bottom=this._createBubble("bottom",text,level)),BI.createWidget({type:"bi.absolute",element:container,items:[{el:this.storeBubbles[name].bottom}]}),this.set(name,this.storeBubbles[name].bottom);var position=this._getBottomPosition(name,context,offsetStyle);this.get(name).element.css({left:position.left+adjustXOffset,top:position.top+adjustYOffset}),this.get(name).invisible()}}}return this.get(name).setText(text),this.get(name).visible(),this},hide:function(name){return this.has(name)?(this.get(name).invisible(),this):this},add:function(name,bubble){return this.has(name)?this:(this.set(name,bubble),this)},get:function(name){return this.bubblesManager[name]},set:function(name,bubble){this.bubblesManager[name]=bubble},has:function(name){return null!=this.bubblesManager[name]},remove:function(name){return this.has(name)?(BI.each(this.storeBubbles[name],function(dir,bubble){bubble.destroy()}),delete this.storeBubbles[name],delete this.bubblesManager[name],this):this}}),BI.LayerController=BI.inherit(BI.Controller,{_defaultConfig:function(){return BI.extend(BI.LayerController.superclass._defaultConfig.apply(this,arguments),{render:"body"})},_init:function(){BI.LayerController.superclass._init.apply(this,arguments),this.layerManager={},this.layouts={},this.zindex=BI.zIndex_layer,BI.Resizers.add("layerController"+BI.uniqueId(),BI.bind(this._resize,this))},_resize:function(){BI.each(this.layouts,function(i,layer){layer.element.is(":visible")&&layer.element.trigger("__resize__")})},make:function(name,container,op,context){return BI.isWidget(container)?(op=op||{},op.container=container):(context=op,op=container),this.create(name,null,op,context)},create:function(name,from,op,context){if(this.has(name))return this.get(name);op||(op={});var offset=op.offset||{},w=from;if(BI.isWidget(from)&&(w=from.element),BI.isNotEmptyString(w)&&(w=BI.Widget._renderEngine.createElement(w)),this.has(name))return this.get(name);var widget=BI.createWidget(op.render||{},BI.extend({type:"bi.layout"},op),context),layout=BI.createWidget({type:"bi.absolute",invisible:!0,items:[{el:widget,left:0,right:0,top:0,bottom:0}]},context);return BI.createWidget({type:"bi.absolute",element:op.container||this.options.render,items:[{el:layout,left:offset.left||0,right:offset.right||0,top:offset.top||0,bottom:offset.bottom||0}]}),w&&(layout.element.addClass("bi-popup-view"),layout.element.css({left:w.offset().left+(offset.left||0),top:w.offset().top+(offset.top||0),width:offset.width||w.outerWidth()-(offset.left||0)-(offset.right||0)||"",height:offset.height||w.outerHeight()-(offset.top||0)-(offset.bottom||0)||""}),layout.element.on("__resize__",function(){w.is(":visible")&&layout.element.css({left:w.offset().left+(offset.left||0),top:w.offset().top+(offset.top||0),width:offset.width||w.outerWidth()-(offset.left||0)-(offset.right||0)||"",height:offset.height||w.outerHeight()-(offset.top||0)-(offset.bottom||0)||""})})),this.add(name,widget,layout),widget},hide:function(name,callback){return this.has(name)?(this._getLayout(name).invisible(),this._getLayout(name).element.hide(0,callback),this):this},show:function(name,callback){return this.has(name)?(this._getLayout(name).visible(),this._getLayout(name).element.css("z-index",this.zindex++).show(0,callback).trigger("__resize__"),this):this},isVisible:function(name){return this.has(name)&&this._getLayout(name).isVisible()},add:function(name,layer,layout){if(this.has(name))throw new Error("name is already exist");return layout.setVisible(!1),this.layerManager[name]=layer,this.layouts[name]=layout,layout.element.css("z-index",this.zindex++),this},_getLayout:function(name){return this.layouts[name]},get:function(name){return this.layerManager[name]},has:function(name){return null!=this.layerManager[name]},remove:function(name){return this.has(name)?(this.layerManager[name].destroy(),this.layouts[name].destroy(),delete this.layerManager[name],delete this.layouts[name],this):this},removeAll:function(){var self=this;return BI.each(BI.keys(this.layerManager),function(index,name){
self.layerManager[name].destroy(),self.layouts[name].destroy()}),this.layerManager={},this.layouts={},this}}),BI.MaskersController=BI.inherit(BI.LayerController,{_defaultConfig:function(){return BI.extend(BI.MaskersController.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.MaskersController.superclass._init.apply(this,arguments),this.zindex=BI.zIndex_masker}}),BI.PopoverController=BI.inherit(BI.Controller,{_defaultConfig:function(){return BI.extend(BI.PopoverController.superclass._defaultConfig.apply(this,arguments),{modal:!0,render:"body"})},_init:function(){BI.PopoverController.superclass._init.apply(this,arguments),this.modal=this.options.modal,this.floatManager={},this.floatLayer={},this.floatContainer={},this.floatOpened={},this.zindex=BI.zIndex_popover,this.zindexMap={}},_check:function(name){return BI.isNotNull(this.floatManager[name])},create:function(name,options,context){if(this._check(name))return this;var popover=BI.createWidget(options||{},{type:"bi.popover"},context);return this.add(name,popover,options,context),this},add:function(name,popover,options,context){var self=this;return options||(options={}),this._check(name)?this:(this.floatContainer[name]=BI.createWidget({type:"bi.absolute",cls:"bi-popup-view",items:[{el:this.floatLayer[name]=BI.createWidget({type:"bi.absolute",items:[popover]},context),left:0,right:0,top:0,bottom:0}]}),this.floatManager[name]=popover,function(key){popover.on(BI.Popover.EVENT_CLOSE,function(){self.close(key)})}(name),BI.createWidget({type:"bi.absolute",element:options.container||this.options.render,items:[{el:this.floatContainer[name],left:0,right:0,top:0,bottom:0}]}),this)},open:function(name){if(!this._check(name))return this;if(!this.floatOpened[name]){this.floatOpened[name]=!0;var container=this.floatContainer[name];container.element.css("zIndex",this.zindex++),this.modal&&container.element.__hasZIndexMask__(this.zindexMap[name])&&container.element.__releaseZIndexMask__(this.zindexMap[name]),this.zindexMap[name]=this.zindex,this.modal&&container.element.__buildZIndexMask__(this.zindex++),this.get(name).setZindex(this.zindex++),this.floatContainer[name].visible();var popover=this.get(name);popover.show&&popover.show();var W=BI.Widget._renderEngine.createElement(this.options.render).width(),H=BI.Widget._renderEngine.createElement(this.options.render).height(),w=popover.element.width(),h=popover.element.height(),left=(W-w)/2,top=(H-h)/2;left<0&&(left=0),top<0&&(top=0),popover.element.css({left:left+"px",top:top+"px"})}return this},close:function(name){return this._check(name)?(this.floatOpened[name]&&(delete this.floatOpened[name],this.floatContainer[name].invisible(),this.modal&&this.floatContainer[name].element.__releaseZIndexMask__(this.zindexMap[name])),this):this},get:function(name){return this.floatManager[name]},remove:function(name){return this._check(name)?(this.floatContainer[name].destroy(),this.modal&&this.floatContainer[name].element.__releaseZIndexMask__(this.zindexMap[name]),delete this.floatManager[name],delete this.floatLayer[name],delete this.zindexMap[name],delete this.floatContainer[name],delete this.floatOpened[name],this):this},removeAll:function(){var self=this;return BI.each(this.floatContainer,function(name,container){container.destroy(),self.modal&&self.floatContainer[name].element.__releaseZIndexMask__(self.zindexMap[name])}),this.floatManager={},this.floatLayer={},this.floatContainer={},this.floatOpened={},this.zindexMap={},this}}),BI.ResizeController=BI.inherit(BI.Controller,{_defaultConfig:function(){return BI.extend(BI.ResizeController.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.ResizeController.superclass._init.apply(this,arguments);var self=this;this.resizerManger={};var fn=BI.debounce(function(ev){self._resize(ev)},30);BI.Widget._renderEngine.createElement(_global).resize(fn)},_resize:function(ev){BI.each(this.resizerManger,function(key,resizer){return resizer instanceof BI.$?void(resizer.is(":visible")&&resizer.trigger("__resize__")):resizer instanceof BI.Layout?void resizer.resize():BI.isFunction(resizer)?void resizer(ev):void 0})},add:function(name,resizer){var self=this;return this.has(name)?this:(this.resizerManger[name]=resizer,function(){self.remove(name)})},get:function(name){return this.resizerManger[name]},has:function(name){return null!=this.resizerManger[name]},remove:function(name){return this.has(name)?(delete this.resizerManger[name],this):this}}),BI.TooltipsController=BI.inherit(BI.Controller,{_defaultConfig:function(){return BI.extend(BI.TooltipsController.superclass._defaultConfig.apply(this,arguments),{})},_const:{height:18},_init:function(){BI.TooltipsController.superclass._init.apply(this,arguments),this.tooltipsManager={},this.showingTips={}},_createTooltip:function(text,level){return BI.createWidget({type:"bi.tooltip",text:text,level:level,stopEvent:!0})},hide:function(name,callback){return this.has(name)?(delete this.showingTips[name],this.get(name).element.hide(0,callback),this.get(name).invisible(),this):this},create:function(name,text,level,context){if(!this.has(name)){var tooltip=this._createTooltip(text,level);this.add(name,tooltip),BI.createWidget({type:"bi.absolute",element:context||"body",items:[{el:tooltip}]}),tooltip.invisible()}return this.get(name)},show:function(e,name,text,level,context,opt){opt||(opt={});var self=this;if(BI.each(this.showingTips,function(i,tip){self.hide(i)}),this.showingTips={},this.has(name)||this.create(name,text,level,opt.container||"body"),!opt.belowMouse){var offset=context.element.offset(),bounds=context.element.bounds();if(0===bounds.height||0===bounds.width)return;var top=offset.top+bounds.height+5}var tooltip=this.get(name);tooltip.setText(text),tooltip.element.css({left:"0px",top:"0px"}),tooltip.visible(),tooltip.element.height(tooltip.element[0].scrollHeight),this.showingTips[name]=!0;var x=(e.pageX||e.clientX)+15,y=(e.pageY||e.clientY)+15;x+tooltip.element.outerWidth()>BI.Widget._renderEngine.createElement("body").outerWidth()&&(x-=tooltip.element.outerWidth()+15);var bodyHeight=BI.Widget._renderEngine.createElement("body").outerHeight();return y+tooltip.element.outerHeight()>bodyHeight||top+tooltip.element.outerHeight()>bodyHeight?(y-=tooltip.element.outerHeight()+15,!opt.belowMouse&&(y=Math.min(y,offset.top-tooltip.element.outerHeight()-5))):!opt.belowMouse&&(y=Math.max(y,top)),tooltip.element.css({left:x<0?0:x+"px",top:y<0?0:y+"px"}),tooltip.element.hover(function(){self.remove(name),context.element.trigger("mouseleave.title"+context.getName())}),this},add:function(name,bubble){return this.has(name)?this:(this.set(name,bubble),this)},get:function(name){return this.tooltipsManager[name]},set:function(name,bubble){this.tooltipsManager[name]=bubble},has:function(name){return null!=this.tooltipsManager[name]},remove:function(name){return this.has(name)?(this.tooltipsManager[name].destroy(),delete this.tooltipsManager[name],this):this}}),_.extend(BI,{Events:{KEYDOWN:"_KEYDOWN",BACKSPACE:"_BACKSPACE",SPACE:"_SPACE",ENTER:"_ENTER",CONFIRM:"_CONFIRM",ERROR:"_ERROR",PAUSE:"_PAUSE",DESTROY:"_DESTROY",MOUNT:"_MOUNT",UNMOUNT:"_UNMOUNT",CLEAR:"_CLEAR",ADD:"_ADD",EDITING:"_EDITING",EMPTY:"_EMPTY",VIEW:"_VIEW",RESIZE:"_RESIZE",BEFOREEDIT:"_BEFOREEDIT",AFTEREDIT:"_AFTEREDIT",STARTEDIT:"_STARTEDIT",STOPEDIT:"_STOPEDIT",CHANGE:"_CHANGE",EXPAND:"_EXPAND",COLLAPSE:"_COLLAPSE",CALLBACK:"_CALLBACK",CLICK:"_CLICK",STATECHANGE:"_STATECHANGE",BEFORESTATECHANGE:"_BEFORESTATECHANGE",INIT:"_INIT",AFTERINIT:"_AFTERINIT",SCROLL:"_SCROLL",STARTLOAD:"_STARTLOAD",AFTERLOAD:"_AFTERLOAD",BS:"beforesubmit",AS:"aftersubmit",SC:"submitcomplete",SF:"submitfailure",SS:"submitsuccess",BVW:"beforeverifywrite",AVW:"afterverifywrite",AV:"afterverify",BW:"beforewrite",AW:"afterwrite",WS:"writesuccess",WF:"writefailure",BA:"beforeappend",AA:"afterappend",BD:"beforedelete",AD:"beforedelete",UC:"unloadcheck",BTOPDF:"beforetopdf",ATOPDF:"aftertopdf",BTOEXCEL:"beforetoexcel",ATOEXCEL:"aftertoexcel",BTOWORD:"beforetoword",ATOWORD:"aftertoword",BTOIMAGE:"beforetoimage",ATOIMAGE:"aftertoimage",BTOHTML:"beforetohtml",ATOHTML:"aftertohtml",BIMEXCEL:"beforeimportexcel",AIMEXCEL:"afterimportexcel",BPDFPRINT:"beforepdfprint",APDFPRINT:"afterpdfprint",BFLASHPRINT:"beforeflashprint",AFLASHPRINT:"afterflashprint",BAPPLETPRINT:"beforeappletprint",AAPPLETPRINT:"afterappletprint",BSEVERPRINT:"beforeserverprint",ASERVERPRINT:"afterserverprint",BEMAIL:"beforeemail",AEMAIL:"afteremail"}}),_.extend(BI,{pushArray:function(sArray,array){for(var i=0;i<array.length;i++)sArray.push(array[i])},pushDistinct:function(sArray,obj){BI.contains(sArray,obj)||sArray.push(obj)},pushDistinctArray:function(sArray,array){for(var i=0,len=array.length;i<len;i++)BI.pushDistinct(sArray,array[i])}}),BI.prepares.push(function(){BI.Date=BI.Date||{},BI.Date._DN=[BI.i18nText("BI-Basic_Sunday"),BI.i18nText("BI-Basic_Monday"),BI.i18nText("BI-Basic_Tuesday"),BI.i18nText("BI-Basic_Wednesday"),BI.i18nText("BI-Basic_Thursday"),BI.i18nText("BI-Basic_Friday"),BI.i18nText("BI-Basic_Saturday"),BI.i18nText("BI-Basic_Sunday")],BI.Date._SDN=[BI.i18nText("BI-Basic_Simple_Sunday"),BI.i18nText("BI-Basic_Simple_Monday"),BI.i18nText("BI-Basic_Simple_Tuesday"),BI.i18nText("BI-Basic_Simple_Wednesday"),BI.i18nText("BI-Basic_Simple_Thursday"),BI.i18nText("BI-Basic_Simple_Friday"),BI.i18nText("BI-Basic_Simple_Saturday"),BI.i18nText("BI-Basic_Simple_Sunday")],BI.Date._FD=1,BI.Date._MN=[BI.i18nText("BI-Basic_January"),BI.i18nText("BI-Basic_February"),BI.i18nText("BI-Basic_March"),BI.i18nText("BI-Basic_April"),BI.i18nText("BI-Basic_May"),BI.i18nText("BI-Basic_June"),BI.i18nText("BI-Basic_July"),BI.i18nText("BI-Basic_August"),BI.i18nText("BI-Basic_September"),BI.i18nText("BI-Basic_October"),BI.i18nText("BI-Basic_November"),BI.i18nText("BI-Basic_December")],BI.Date._SMN=[0,1,2,3,4,5,6,7,8,9,10,11],BI.Date._QN=["",BI.i18nText("BI-Quarter_1"),BI.i18nText("BI-Quarter_2"),BI.i18nText("BI-Quarter_3"),BI.i18nText("BI-Quarter_4")],BI.Date._MD=[31,28,31,30,31,30,31,31,30,31,30,31],BI.Date._OFFSET=[0,-1,-2,-3,-4,-5,-6]}),BI.Date=BI.Date||{},BI.Date.SECOND=1e3,BI.Date.MINUTE=60*BI.Date.SECOND,BI.Date.HOUR=60*BI.Date.MINUTE,BI.Date.DAY=24*BI.Date.HOUR,BI.Date.WEEK=7*BI.Date.DAY,_.extend(BI,{getTimezone:function(date){return date.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,4})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/,"$1$2").replace(/[^A-Z]/g,"")},getMonthDays:function(date,month){var year=date.getFullYear();return"undefined"==typeof month&&(month=date.getMonth()),0!=year%4||0==year%100&&0!=year%400||1!=month?BI.Date._MD[month]:29},getLastDateOfMonth:function(date){return BI.getDate(date.getFullYear(),date.getMonth(),BI.getMonthDays(date))},getDayOfYear:function(date){var now=BI.getDate(date.getFullYear(),date.getMonth(),date.getDate(),0,0,0),then=BI.getDate(date.getFullYear(),0,0,0,0,0),time=now-then;return Math.floor(time/BI.Date.DAY)},getWeekNumber:function(date){var d=BI.getDate(date.getFullYear(),date.getMonth(),date.getDate(),0,0,0),week=d.getDay(),startOfWeek=BI.StartOfWeek%7,middleDay=(startOfWeek+3)%7;middleDay=middleDay||7;var offsetWeekStartCount=week<startOfWeek?7+week-startOfWeek:week-startOfWeek,offsetWeekMiddleCount=middleDay<startOfWeek?7+middleDay-startOfWeek:middleDay-startOfWeek;d.setDate(d.getDate()-offsetWeekStartCount+offsetWeekMiddleCount);var ms=d.valueOf();return d.setMonth(0),d.setDate(1),Math.floor((ms-d.valueOf())/6048e5)+1},getQuarter:function(date){return Math.floor(date.getMonth()/3)+1},getOffsetDate:function(date,offset){return BI.getDate(BI.getTime(date.getFullYear(),date.getMonth(),date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds())+864e5*offset)},getOffsetQuarter:function(date,n){var dt=BI.getDate(BI.getTime(date.getFullYear(),date.getMonth(),date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds())),day=dt.getDate(),monthDay=BI.getMonthDays(BI.getDate(dt.getFullYear(),dt.getMonth()+3*BI.parseInt(n),1));return day>monthDay&&(day=monthDay),dt.setDate(day),dt.setMonth(dt.getMonth()+3*parseInt(n)),dt},getQuarterStartMonth:function(date){var quarterStartMonth=0,nowMonth=date.getMonth();return nowMonth<3&&(quarterStartMonth=0),2<nowMonth&&nowMonth<6&&(quarterStartMonth=3),5<nowMonth&&nowMonth<9&&(quarterStartMonth=6),nowMonth>8&&(quarterStartMonth=9),quarterStartMonth},getQuarterStartDate:function(date){return BI.getDate(date.getFullYear(),BI.getQuarterStartMonth(date),1)},getQuarterEndDate:function(date){var quarterEndMonth=BI.getQuarterStartMonth(date)+2;return BI.getDate(date.getFullYear(),quarterEndMonth,BI.getMonthDays(date,quarterEndMonth))},getOffsetMonth:function(date,n){var dt=BI.getDate(BI.getTime(date.getFullYear(),date.getMonth(),date.getDate(),date.getHours(),date.getMinutes(),date.getSeconds())),day=dt.getDate(),monthDay=BI.getMonthDays(BI.getDate(dt.getFullYear(),dt.getMonth()+parseInt(n),1));return day>monthDay&&(day=monthDay),dt.setDate(day),dt.setMonth(dt.getMonth()+parseInt(n)),dt},getWeekStartDate:function(date){var w=date.getDay(),startOfWeek=BI.StartOfWeek%7;return BI.getOffsetDate(date,BI.Date._OFFSET[w<startOfWeek?7+w-startOfWeek:w-startOfWeek])},getWeekEndDate:function(date){var w=date.getDay(),startOfWeek=BI.StartOfWeek%7;return BI.getOffsetDate(date,BI.Date._OFFSET[w<startOfWeek?7+w-startOfWeek:w-startOfWeek]+6)},print:function(date,str){for(var m=date.getMonth(),d=date.getDate(),y=date.getFullYear(),yWith4number=y+"";yWith4number.length<4;)yWith4number="0"+yWith4number;var wn=BI.getWeekNumber(date),qr=BI.getQuarter(date),w=date.getDay(),s={},hr=date.getHours(),pm=hr>=12,ir=pm?hr-12:hr,dy=BI.getDayOfYear(date);0==ir&&(ir=12);var min=date.getMinutes(),sec=date.getSeconds();s["%a"]=BI.Date._SDN[w],s["%A"]=BI.Date._DN[w],s["%b"]=BI.Date._SMN[m],s["%B"]=BI.Date._MN[m],s["%C"]=1+Math.floor(y/100),s["%d"]=d<10?"0"+d:d,s["%e"]=d,s["%H"]=hr<10?"0"+hr:hr,s["%I"]=ir<10?"0"+ir:ir,s["%j"]=dy<100?dy<10?"00"+dy:"0"+dy:dy,s["%k"]=hr+"",s["%l"]=ir+"",s["%X"]=m<9?"0"+(1+m):1+m,s["%x"]=m+1,s["%M"]=min<10?"0"+min:min,s["%n"]="\n",s["%p"]=pm?"PM":"AM",s["%P"]=pm?"pm":"am",s["%s"]=Math.floor(date.getTime()/1e3),s["%S"]=sec<10?"0"+sec:sec,s["%t"]="\t",s["%U"]=s["%W"]=s["%V"]=wn<10?"0"+wn:wn,s["%u"]=w+1,s["%w"]=w,s["%y"]=yWith4number.substr(2,2),s["%Y"]=yWith4number,s["%%"]="%",s["%Q"]=qr;var re=/%./g;if(BI.isKhtml=BI.isKhtml||function(){return!!_global.navigator&&/Konqueror|Safari|KHTML/i.test(navigator.userAgent)},!(str.indexOf("%Y")===-1&&str.indexOf("%y")===-1||str.indexOf("%W")===-1&&str.indexOf("%U")===-1&&str.indexOf("%V")===-1))switch(wn){case 1:11===m&&(s["%y"]=parseInt(s["%y"])+1,s["%Y"]=parseInt(s["%Y"])+1);break;case 53:0===m&&(s["%y"]=parseInt(s["%y"])-1,s["%Y"]=parseInt(s["%Y"])-1)}if(!BI.isKhtml())return str.replace(re,function(par){return s[par]||par});for(var a=str.match(re),i=0;i<a.length;i++){var tmp=s[a[i]];tmp&&(re=new RegExp(a[i],"g"),str=str.replace(re,tmp))}return str}}),BI.Func={},_.extend(BI.Func,{createDistinctName:function(array,name){var src=name,idx=1;for(name=name||"";;){if(BI.every(array,function(i,item){return BI.isKey(item)?item!==name:item.name!==name}))break;name=src+idx++}return name},getGBWidth:function(str){return str+="",str=str.replace(/[^\x00-\xff]/g,"xx"),Math.ceil(str.length/2)},getSearchResult:function(items,keyword,param){var isArray=BI.isArray(items);if(items=isArray?BI.flatten(items):items,param||(param="text"),!BI.isKey(keyword))return{find:BI.deepClone(items),match:isArray?[]:{}};var t,text,py;keyword=BI.toUpperCase(keyword);var matched=isArray?[]:{},find=isArray?[]:{};return BI.each(items,function(i,item){if(!BI.isNull(item)&&(item=BI.deepClone(item),t=BI.stripEL(item),text=BI.find([t[param],t.text,t.value,t.name,t],function(index,val){return BI.isNotNull(val)}),!BI.isNull(text)&&!BI.isObject(text))){py=BI.makeFirstPY(text,{splitChar:""}),text=BI.toUpperCase(text),py=BI.toUpperCase(py);var pidx;text.indexOf(keyword)>-1?text===keyword?isArray?matched.push(item):matched[i]=item:isArray?find.push(item):find[i]=item:(pidx=py.indexOf(keyword),pidx>-1&&(text===keyword||keyword.length===text.length?isArray?matched.push(item):matched[i]=item:isArray?find.push(item):find[i]=item))}}),{match:matched,find:find}}}),_.extend(BI,{beforeFunc:function(sFunc,func){var __self=sFunc;return function(){return func.apply(sFunc,arguments)!==!1&&__self.apply(sFunc,arguments)}},afterFunc:function(sFunc,func){var __self=sFunc;return function(){var ret=__self.apply(sFunc,arguments);return ret!==!1&&(func.apply(sFunc,arguments),ret)}}}),_.extend(BI,{add:function(num,arg){function accAdd(arg1,arg2){var r1,r2,m,c;try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}if(c=Math.abs(r1-r2),m=Math.pow(10,Math.max(r1,r2)),c>0){var cm=Math.pow(10,c);r1>r2?(arg1=Number(arg1.toString().replace(".","")),arg2=Number(arg2.toString().replace(".",""))*cm):(arg1=Number(arg1.toString().replace(".",""))*cm,arg2=Number(arg2.toString().replace(".","")))}else arg1=Number(arg1.toString().replace(".","")),arg2=Number(arg2.toString().replace(".",""));return(arg1+arg2)/m}return accAdd(arg,num)},sub:function(num,arg){function accSub(arg1,arg2){var r1,r2,m,n;try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}return m=Math.pow(10,Math.max(r1,r2)),n=r1>=r2?r1:r2,((arg1*m-arg2*m)/m).toFixed(n)}return accSub(num,arg)},mul:function(num,arg){function accMul(arg1,arg2){var m=0,s1=arg1.toString(),s2=arg2.toString();try{m+=s1.split(".")[1].length}catch(e){}try{m+=s2.split(".")[1].length}catch(e){}return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)}return accMul(arg,num)},div:function(num,arg){function digitLength(num){var eSplit=num.toString().split(/[eE]/),len=(eSplit[0].split(".")[1]||"").length-+(eSplit[1]||0);return len>0?len:0}function float2Fixed(num){if(num.toString().indexOf("e")===-1)return Number(num.toString().replace(".",""));var dLen=digitLength(num);return dLen>0?num*Math.pow(10,dLen):num}function times(num1,num2){for(var others=[],_i=2;_i<arguments.length;_i++)others[_i-2]=arguments[_i];if(others.length>0)return times.apply(void 0,[times(num1,num2),others[0]].concat(others.slice(1)));var num1Changed=float2Fixed(num1),num2Changed=float2Fixed(num2),baseNum=digitLength(num1)+digitLength(num2),leftValue=num1Changed*num2Changed;return leftValue/Math.pow(10,baseNum)}function accDivide(num1,num2){for(var others=[],_i=2;_i<arguments.length;_i++)others[_i-2]=arguments[_i];if(others.length>0)return accDivide.apply(void 0,[accDivide(num1,num2),others[0]].concat(others.slice(1)));var num1Changed=float2Fixed(num1),num2Changed=float2Fixed(num2);return times(num1Changed/num2Changed,Math.pow(10,digitLength(num2)-digitLength(num1)))}return accDivide(num,arg)}}),_.extend(BI,{startWith:function(str,startTag){return str=str||"",!(null==startTag||""==startTag||0===str.length||startTag.length>str.length)&&str.substr(0,startTag.length)==startTag},endWith:function(str,endTag){return!(null==endTag||""==endTag||0===str.length||endTag.length>str.length)&&str.substring(str.length-endTag.length)==endTag},getQuery:function(str,name){var reg=new RegExp("(^|&)"+name+"=([^&]*)(&|$)"),r=str.substr(str.indexOf("?")+1).match(reg);return r?unescape(r[2]):null},appendQuery:function(str,paras){if(!paras)return str;var src=str;return src.indexOf("?")===-1&&(src+="?"),src.endWith("?")!==!1||(src+="&"),_.each(paras,function(value,name){"string"==typeof name&&(src+=name+"="+value+"&")}),src=src.substr(0,src.length-1)},replaceAll:function(str,s1,s2){return str.replace(new RegExp(s1,"gm"),s2)},perfectStart:function(str,start){return str.startWith(start)?str:start+str},allIndexOf:function(str,sub){if("string"!=typeof sub)return[];for(var location=[],offset=0;str.length>0;){var loc=str.indexOf(sub);if(loc===-1)break;location.push(offset+loc),str=str.substring(loc+sub.length,str.length),offset+=loc+sub.length}return location}}),!function(){var i18nStore={};_.extend(BI,{addI18n:function(i18n){BI.extend(i18nStore,i18n)},i18nText:function(key){var localeText=i18nStore[key]||BI.i18n&&BI.i18n[key]||"";localeText||(localeText=key);var len=arguments.length;if(len>1){if(!(localeText.indexOf("{R1}")>-1)){var args=Array.prototype.slice.call(arguments),count=1;return BI.replaceAll(localeText,"\\{\\s*\\}",function(){return args[count++]+""})}for(var i=1;i<len;i++){var key="{R"+i+"}";localeText=BI.replaceAll(localeText,key,arguments[i]+"")}}return localeText}})}(),function(){var moduleInjection={};BI.module=function(xtype,cls){null!=moduleInjection[xtype]&&_global.console&&console.error("module:["+xtype+"] has been registed"),moduleInjection[xtype]=cls};var constantInjection={};BI.constant=function(xtype,cls){null!=constantInjection[xtype]&&_global.console&&console.error("constant:["+xtype+"] has been registed"),constantInjection[xtype]=cls};var modelInjection={};BI.model=function(xtype,cls){null!=modelInjection[xtype]&&_global.console&&console.error("model:["+xtype+"] has been registed"),modelInjection[xtype]=cls};var storeInjection={};BI.store=function(xtype,cls){null!=storeInjection[xtype]&&_global.console&&console.error("store:["+xtype+"] has been registed"),storeInjection[xtype]=cls};var serviceInjection={};BI.service=function(xtype,cls){null!=serviceInjection[xtype]&&_global.console&&console.error("service:["+xtype+"] has been registed"),serviceInjection[xtype]=cls};var providerInjection={};BI.provider=function(xtype,cls){null!=providerInjection[xtype]&&_global.console&&console.error("provider:["+xtype+"] has been registed"),providerInjection[xtype]=cls};var configFunctions={};BI.config=function(type,configFn){return BI.initialized?constantInjection[type]?constantInjection[type]=configFn(constantInjection[type]):providerInjection[type]?(providers[type]||(providers[type]=new providerInjection[type]),configFn(providers[type])):BI.Plugin.configWidget(type,configFn):(configFunctions[type]||(configFunctions[type]=[],BI.prepares.push(function(){for(var queue=configFunctions[type],i=0;i<queue.length;i++)constantInjection[type]?constantInjection[type]=queue[i](constantInjection[type]):providerInjection[type]?(providers[type]||(providers[type]=new providerInjection[type]),queue[i](providers[type])):BI.Plugin.configWidget(type,queue[i]);configFunctions[type]=null})),void configFunctions[type].push(configFn))};var actions={},globalAction=[];BI.action=function(type,actionFn){return BI.isFunction(type)?(globalAction.push(type),function(){BI.remove(globalAction,function(idx){return globalAction.indexOf(actionFn)===idx})}):(actions[type]||(actions[type]=[]),actions[type].push(actionFn),function(){BI.remove(actions[type],function(idx){return actions[type].indexOf(actionFn)===idx}),0===actions[type].length&&delete actions[type]})};var points={};BI.point=function(type,action,pointFn,after){points[type]||(points[type]={}),points[type][action]||(points[type][action]={}),points[type][action][after?"after":"before"]||(points[type][action][after?"after":"before"]=[]),points[type][action][after?"after":"before"].push(pointFn)},BI.Modules={getModule:function(type){return moduleInjection[type]?moduleInjection[type]:(_global.console&&console.error("module:["+type+"] does not exists"),!1)},getAllModules:function(){return moduleInjection}},BI.Constants={getConstant:function(type){return constantInjection[type]}};var callPoint=function(inst,type){if(points[type])for(var action in points[type]){var bfns=points[type][action].before;bfns&&BI.aspect.before(inst,action,function(bfns){return function(){for(var i=0,len=bfns.length;i<len;i++)try{bfns[i].apply(inst,arguments)}catch(e){_global.console&&console.error(e)}}}(bfns));var afns=points[type][action].after;afns&&BI.aspect.after(inst,action,function(afns){return function(){for(var i=0,len=afns.length;i<len;i++)try{afns[i].apply(inst,arguments)}catch(e){_global.console&&console.error(e)}}}(afns))}};BI.Models={getModel:function(type,config){var inst=new modelInjection[type](config);return inst._constructor&&inst._constructor(config),callPoint(inst,type),inst}};var stores={};BI.Stores={getStore:function(type,config){if(stores[type])return stores[type];var inst=stores[type]=new storeInjection[type](config);return inst._constructor&&inst._constructor(config),callPoint(inst,type),inst}};var services={};BI.Services={getService:function(type,config){return services[type]?services[type]:(services[type]=new serviceInjection[type](config),callPoint(services[type],type),services[type])}};var providers={},providerInstance={};BI.Providers={getProvider:function(type,config){return providers[type]||(providers[type]=new providerInjection[type]),providerInstance[type]||(providerInstance[type]=new(providers[type].$get())(config)),providerInstance[type]}},BI.Actions={runAction:function(type,event,config){BI.each(actions[type],function(i,act){try{act(event,config)}catch(e){_global.console&&console.error(e)}})},runGlobalAction:function(){var args=[].slice.call(arguments);BI.each(globalAction,function(i,act){try{act.apply(null,args)}catch(e){_global.console&&console.error(e)}})}},BI.getContext=function(type,config){return constantInjection[type]?BI.Constants.getConstant(type):modelInjection[type]?BI.Models.getModel(type,config):storeInjection[type]?BI.Stores.getStore(type,config):serviceInjection[type]?BI.Services.getService(type,config):providerInjection[type]?BI.Providers.getProvider(type,config):void 0}}(),BI.ShowListener=BI.inherit(BI.OB,{_defaultConfig:function(){return BI.extend(BI.ShowListener.superclass._defaultConfig.apply(this,arguments),{eventObj:BI.createWidget(),cardLayout:null,cardNameCreator:function(v){return v},cardCreator:BI.emptyFn,afterCardCreated:BI.emptyFn,afterCardShow:BI.emptyFn})},_init:function(){BI.ShowListener.superclass._init.apply(this,arguments);var self=this,o=this.options;o.eventObj&&o.eventObj.on(BI.Controller.EVENT_CHANGE,function(type,v,ob){if(type===BI.Events.CLICK){if(v=v||o.eventObj.getValue(),v=BI.isArray(v)?v.length>1?v.toString():v[0]:v,BI.isNull(v))throw new Error("value cannot be null");var cardName=o.cardNameCreator(v);if(!o.cardLayout.isCardExisted(cardName)){var card=o.cardCreator(cardName);o.cardLayout.addCardByName(cardName,card),o.afterCardCreated(cardName)}o.cardLayout.showCardByName(cardName),BI.nextTick(function(){o.afterCardShow(cardName),self.fireEvent(BI.ShowListener.EVENT_CHANGE,cardName)})}})}}),BI.ShowListener.EVENT_CHANGE="EVENT_CHANGE",BI.StyleLoaderManager=BI.inherit(BI.OB,{_defaultConfig:function(){return BI.extend(BI.StyleLoaderManager.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.StyleLoaderManager.superclass._init.apply(this,arguments),this.stylesManager={}},loadStyle:function(name,styleString){if(_global.document){var d=document,styles=d.createElement("style");return d.getElementsByTagName("head")[0].appendChild(styles),styles.setAttribute("type","text/css"),styles.styleSheet?styles.styleSheet.cssText=styleString:styles.appendChild(document.createTextNode(styleString)),this.stylesManager[name]=styles,this}},get:function(name){return this.stylesManager[name]},has:function(name){return null!=this.stylesManager[name]},removeStyle:function(name){return this.has(name)?(this.stylesManager[name].parentNode.removeChild(this.stylesManager[name]),delete this.stylesManager[name],this):this}}),BI.Logic=BI.inherit(BI.OB,{createLogic:function(){return this.options||{}}}),BI.LogicFactory={Type:{Vertical:"vertical",Horizontal:"horizontal",Table:"table",HorizontalFill:"horizontal_fill"},createLogic:function(key,options){var logic;switch(key){case BI.LogicFactory.Type.Vertical:logic=BI.VerticalLayoutLogic;break;case BI.LogicFactory.Type.Horizontal:logic=BI.HorizontalLayoutLogic;break;case BI.LogicFactory.Type.Table:logic=BI.TableLayoutLogic;break;case BI.LogicFactory.Type.HorizontalFill:logic=BI.HorizontalFillLayoutLogic;break;default:logic=BI.Logic}return new logic(options).createLogic()},createLogicTypeByDirection:function(direction){switch(direction){case BI.Direction.Top:case BI.Direction.Bottom:case BI.Direction.Custom:return BI.LogicFactory.Type.Vertical;case BI.Direction.Left:case BI.Direction.Right:return BI.LogicFactory.Type.Horizontal}},createLogicItemsByDirection:function(direction){var layout,items=Array.prototype.slice.call(arguments,1);switch(items=BI.map(items,function(i,item){return BI.isWidget(item)?{el:item,width:item.options.width,height:item.options.height}:item}),direction){case BI.Direction.Bottom:layout=BI.LogicFactory.Type.Vertical,items.reverse();break;case BI.Direction.Right:layout=BI.LogicFactory.Type.Horizontal,items.reverse();break;case BI.Direction.Custom:items=items.slice(1)}return items}},BI.VerticalLayoutLogic=BI.inherit(BI.Logic,{_defaultConfig:function(){return BI.extend(BI.VerticalLayoutLogic.superclass._defaultConfig.apply(this,arguments),{dynamic:!1,scrollable:null,scrolly:!1,scrollx:!1,items:[],hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},createLogic:function(){var layout,o=this.options;return layout=o.dynamic?"bi.vertical":"bi.vtape",{type:layout,scrollable:o.scrollable,scrolly:o.scrolly,scrollx:o.scrollx,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,items:o.items}},_init:function(){BI.VerticalLayoutLogic.superclass._init.apply(this,arguments)}}),BI.HorizontalLayoutLogic=BI.inherit(BI.Logic,{_defaultConfig:function(){return BI.extend(BI.HorizontalLayoutLogic.superclass._defaultConfig.apply(this,arguments),{dynamic:!1,scrollable:null,scrolly:!1,scrollx:!1,items:[],hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},createLogic:function(){var layout,o=this.options;return layout=o.dynamic?"bi.vertical_adapt":"bi.htape",{type:layout,scrollable:o.scrollable,scrolly:o.scrolly,scrollx:o.scrollx,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,items:o.items}},_init:function(){BI.HorizontalLayoutLogic.superclass._init.apply(this,arguments)}}),BI.TableLayoutLogic=BI.inherit(BI.Logic,{_defaultConfig:function(){return BI.extend(BI.TableLayoutLogic.superclass._defaultConfig.apply(this,arguments),{dynamic:!1,scrollable:null,scrolly:!1,scrollx:!1,columns:0,rows:0,columnSize:[],rowSize:[],hgap:0,vgap:0,items:[]})},createLogic:function(){var layout,o=this.options;return layout=o.dynamic?"bi.table":"bi.window",{type:layout,scrollable:o.scrollable,scrolly:o.scrolly,scrollx:o.scrollx,columns:o.columns,rows:o.rows,columnSize:o.columnSize,rowSize:o.rowSize,hgap:o.hgap,vgap:o.vgap,items:o.items}},_init:function(){BI.TableLayoutLogic.superclass._init.apply(this,arguments)}}),BI.HorizontalFillLayoutLogic=BI.inherit(BI.Logic,{_defaultConfig:function(){return BI.extend(BI.HorizontalFillLayoutLogic.superclass._defaultConfig.apply(this,arguments),{dynamic:!1,scrollable:null,scrolly:!1,scrollx:!1,items:[],hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},createLogic:function(){var layout,o=this.options,columnSize=[];return BI.each(o.items,function(i,item){columnSize.push(item.width||0)}),layout=o.dynamic?"bi.horizontal_adapt":"bi.htape",{type:layout,columnSize:columnSize,scrollable:o.scrollable,scrolly:o.scrolly,scrollx:o.scrollx,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,items:o.items}},_init:function(){BI.HorizontalFillLayoutLogic.superclass._init.apply(this,arguments)}}),BI.prepares.push(function(){var _isSupportFlex,isSupportFlex=function(){return null==_isSupportFlex&&(_isSupportFlex=!(!BI.isSupportCss3||!BI.isSupportCss3("flex"))),_isSupportFlex};BI.Plugin.registerWidget("bi.horizontal",function(ob){var isIE=BI.isIE(),supportFlex=isSupportFlex(),isLessIE8=isIE&&BI.getIEVersion()<8;return ob.verticalAlign===BI.VerticalAlign.Middle&&ob.horizontalAlign===BI.HorizontalAlign.Center?isLessIE8?ob:BI.extend(ob,{type:"bi.table_adapt"}):ob.verticalAlign===BI.VerticalAlign.Middle&&ob.horizontalAlign===BI.HorizontalAlign.Left?isLessIE8?ob:BI.extend(ob,{type:"bi.table_adapt"}):ob.verticalAlign===BI.VerticalAlign.Top&&ob.horizontalAlign===BI.HorizontalAlign.Center?isLessIE8?ob:BI.extend(ob,{type:"bi.table_adapt"}):isIE?ob:supportFlex?BI.extend(ob,{
type:"bi.flex_horizontal"}):BI.extend(ob,{type:"bi.table_adapt"})}),BI.Plugin.registerWidget("bi.center_adapt",function(ob){var isIE=BI.isIE(),supportFlex=isSupportFlex(),justOneItem=ob.items&&ob.items.length<=1;return!isIE&&supportFlex&&justOneItem?ob.scrollable===!0||ob.scrollx===!0||ob.scrolly===!0?BI.extend(ob,{type:"bi.flex_scrollable_center_adapt"}):BI.extend(ob,{type:"bi.flex_center_adapt"}):justOneItem?BI.extend(ob,{type:"bi.inline_center_adapt"}):ob}),BI.Plugin.registerWidget("bi.vertical_adapt",function(ob){var isIE=BI.isIE(),supportFlex=isSupportFlex();return!isIE&&supportFlex?ob.scrollable===!0||ob.scrollx===!0||ob.scrolly===!0?BI.extend({},ob,{type:"bi.flex_scrollable_vertical_center_adapt"}):BI.extend(ob,{type:"bi.flex_vertical_center_adapt"}):BI.extend(ob,{type:"bi.inline_vertical_adapt"})}),BI.Plugin.registerWidget("bi.horizontal_adapt",function(ob){return ob.items&&ob.items.length<=1?BI.extend(ob,{type:"bi.horizontal_auto"}):ob}),BI.Plugin.registerWidget("bi.float_center_adapt",function(ob){return!BI.isIE()&&isSupportFlex()?ob.scrollable===!0||ob.scrollx===!0||ob.scrolly===!0?BI.extend({},ob,{type:"bi.flex_scrollable_center_adapt"}):BI.extend(ob,{type:"bi.flex_center_adapt"}):BI.extend(ob,{type:"bi.inline_center_adapt"})}),BI.Plugin.registerWidget("bi.flex_horizontal",function(ob){if(ob.scrollable===!0||ob.scrolly===!0)return BI.extend({},ob,{type:"bi.flex_scrollable_horizontal"})}),BI.Plugin.registerWidget("bi.flex_vertical",function(ob){if(ob.scrollable===!0||ob.scrollx===!0)return BI.extend({},ob,{type:"bi.flex_scrollable_vertical"})}),BI.Plugin.registerWidget("bi.flex_horizontal_adapt",function(ob){if(ob.scrollable===!0||ob.scrollx===!0)return BI.extend({},ob,{type:"bi.flex_scrollable_horizontal_adapt"})}),BI.Plugin.registerWidget("bi.flex_vertical_adapt",function(ob){if(ob.scrollable===!0||ob.scrolly===!0)return BI.extend({},ob,{type:"bi.flex_scrollable_vertical_adapt"})}),BI.Plugin.registerWidget("bi.flex_horizontal_center_adapt",function(ob){if(ob.scrollable===!0||ob.scrollx===!0)return BI.extend({},ob,{type:"bi.flex_scrollable_horizontal_adapt"})}),BI.Plugin.registerWidget("bi.flex_vertical_center_adapt",function(ob){if(ob.scrollable===!0||ob.scrolly===!0)return BI.extend({},ob,{type:"bi.flex_scrollable_vertical_adapt"})}),BI.Plugin.registerWidget("bi.flex_center_adapt",function(ob){if(ob.scrollable===!0||ob.scrolly===!0||ob.scrollx===!0)return BI.extend({},ob,{type:"bi.flex_scrollable_center_adapt"})}),BI.Plugin.registerWidget("bi.radio",function(ob){return BI.isIE()&&BI.getIEVersion()<9?BI.extend(ob,{type:"bi.image_radio"}):ob}),BI.Plugin.registerWidget("bi.checkbox",function(ob){return BI.isIE()&&BI.getIEVersion()<9?BI.extend(ob,{type:"bi.image_checkbox"}):ob}),BI.Plugin.registerWidget("bi.half_icon_button",function(ob){return BI.isIE()&&BI.getIEVersion()<9?ob:BI.extend(ob,{type:"bi.half_button"})})}),!function(){var attachEvent=_global.document&&_global.document.attachEvent,stylesCreated=!1;if(_global.document&&!attachEvent){var requestFrame=function(){var raf=_global.requestAnimationFrame||_global.mozRequestAnimationFrame||_global.webkitRequestAnimationFrame||function(fn){return _global.setTimeout(fn,20)};return function(fn){return raf(fn)}}(),cancelFrame=function(){var cancel=_global.cancelAnimationFrame||_global.mozCancelAnimationFrame||_global.webkitCancelAnimationFrame||_global.clearTimeout;return function(id){return cancel(id)}}(),resetTriggers=function(element){var triggers=element.__resizeTriggers__,expand=triggers.firstElementChild,contract=triggers.lastElementChild,expandChild=expand.firstElementChild;contract.scrollLeft=contract.scrollWidth,contract.scrollTop=contract.scrollHeight,expandChild.style.width=expand.offsetWidth+1+"px",expandChild.style.height=expand.offsetHeight+1+"px",expand.scrollLeft=expand.scrollWidth,expand.scrollTop=expand.scrollHeight},checkTriggers=function(element){return element.offsetWidth!==element.__resizeLast__.width||element.offsetHeight!==element.__resizeLast__.height},scrollListener=function(e){var element=this;resetTriggers(this),this.__resizeRAF__&&cancelFrame(this.__resizeRAF__),this.__resizeRAF__=requestFrame(function(){checkTriggers(element)&&(element.__resizeLast__.width=element.offsetWidth,element.__resizeLast__.height=element.offsetHeight,element.__resizeListeners__.forEach(function(fn){fn.call(element,e)}))})},animation=!1,animationstring="animation",keyframeprefix="",animationstartevent="animationstart",domPrefixes="Webkit Moz O ms".split(" "),startEvents="webkitAnimationStart animationstart oAnimationStart MSAnimationStart".split(" "),pfx="",elm=document.createElement("fakeelement");if(void 0!==elm.style.animationName&&(animation=!0),animation===!1)for(var i=0;i<domPrefixes.length;i++)if(void 0!==elm.style[domPrefixes[i]+"AnimationName"]){pfx=domPrefixes[i],animationstring=pfx+"Animation",keyframeprefix="-"+pfx.toLowerCase()+"-",animationstartevent=startEvents[i],animation=!0;break}var animationName="resizeanim",animationKeyframes="@"+keyframeprefix+"keyframes "+animationName+" { from { opacity: 0; } to { opacity: 0; } } ",animationStyle=keyframeprefix+"animation: 1ms "+animationName+"; "}var createStyles=function(){if(!stylesCreated){var css=(animationKeyframes?animationKeyframes:"")+".resize-triggers { "+(animationStyle?animationStyle:"")+'visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: " "; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',head=document.head||document.getElementsByTagName("head")[0],style=document.createElement("style");style.type="text/css",style.styleSheet?style.styleSheet.cssText=css:style.appendChild(document.createTextNode(css)),head.appendChild(style),stylesCreated=!0}},addResizeListener=function(element,fn){attachEvent?(element.attachEvent("onresize",fn),BI.nextTick(fn)):(element.__resizeTriggers__||("static"===getComputedStyle(element).position&&(element.style.position="relative"),createStyles(),element.__resizeLast__={},element.__resizeListeners__=[],(element.__resizeTriggers__=document.createElement("div")).className="resize-triggers",element.__resizeTriggers__.innerHTML='<div class="expand-trigger"><div></div></div><div class="contract-trigger"></div>',element.appendChild(element.__resizeTriggers__),resetTriggers(element),element.addEventListener("scroll",scrollListener,!0),animationstartevent&&element.__resizeTriggers__.addEventListener(animationstartevent,function(e){e.animationName===animationName&&resetTriggers(element)})),element.__resizeListeners__.push(fn))},removeResizeListener=function(element,fn){attachEvent?element.detachEvent("onresize",fn):(element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn),1),element.__resizeListeners__.length||(element.removeEventListener("scroll",scrollListener),element.__resizeTriggers__=!element.removeChild(element.__resizeTriggers__)))};BI.ResizeDetector={addResizeListener:function(widget,fn){return addResizeListener(widget.element[0],fn),function(){removeResizeListener(widget.element[0],fn)}},removeResizeListener:function(widget,fn){removeResizeListener(widget.element[0],fn)}}}(),!function(){BI.DOM={},BI.extend(BI.DOM,{ready:function(fn){BI.Widget._renderEngine.createElement(document).ready(fn)}}),BI.extend(BI.DOM,{patchProps:function(fromElement,toElement){var elemData=BI.jQuery._data(fromElement[0]),events=elemData.events;BI.each(events,function(eventKey,event){BI.each(event,function(i,handler){toElement.on(eventKey+(handler.namespace?"."+handler.namespace:""),handler)})});var fromChildren=fromElement.children(),toChildren=toElement.children();if(fromChildren.length!==toChildren.length)throw new Error("不匹配");BI.each(fromChildren,function(i,child){BI.DOM.patchProps(BI.jQuery(child),BI.jQuery(toChildren[i]))}),BI.each(fromElement.data("__widgets"),function(i,widget){widget.element=toElement})},hang:function(doms){if(!BI.isEmpty(doms)){var frag=BI.Widget._renderEngine.createFragment();return BI.each(doms,function(i,dom){dom instanceof BI.Widget&&(dom=dom.element),dom instanceof BI.$&&dom[0]&&frag.appendChild(dom[0])}),frag}},isExist:function(obj){return BI.Widget._renderEngine.createElement("body").find(obj.element).length>0},preloadImages:function(srcArray,onload){function complete(){count++,count>=srcArray.length&&onload()}var count=0,images=[];BI.each(srcArray,function(i,src){images[i]=new Image,images[i].src=src,images[i].onload=function(){complete()},images[i].onerror=function(){complete()}})},getTextSizeWidth:function(text,fontSize){var span=BI.Widget._renderEngine.createElement("<span></span>").addClass("text-width-span").appendTo("body");null==fontSize&&(fontSize=12),fontSize+="px",span.css("font-size",fontSize).text(text);var width=span.width();return span.remove(),width},getTextSizeHeight:function(text,fontSize){var span=BI.Widget._renderEngine.createElement("<span></span>").addClass("text-width-span").appendTo("body");null==fontSize&&(fontSize=12),fontSize+="px",span.css("font-size",fontSize).text(text);var height=span.height();return span.remove(),height},getScrollWidth:function(){if(BI.isNull(this._scrollWidth)||0===this._scrollWidth){var ul=BI.Widget._renderEngine.createElement("<div>").width(50).height(50).css({position:"absolute",top:"-9999px",overflow:"scroll"}).appendTo("body");this._scrollWidth=ul[0].offsetWidth-ul[0].clientWidth,ul.destroy()}return this._scrollWidth},getImage:function(param,fillStyle,backgroundColor){var canvas=document.createElement("canvas"),ratio=2;BI.Widget._renderEngine.createElement("body").append(canvas);var ctx=canvas.getContext("2d");ctx.font="12px Georgia";var w=ctx.measureText(param).width+4;canvas.width=w*ratio,canvas.height=16*ratio,ctx.font=12*ratio+"px Georgia",ctx.fillStyle=fillStyle||"#3685f2",ctx.textBaseline="middle",ctx.fillText(param,2*ratio,9*ratio),BI.Widget._renderEngine.createElement(canvas).destroy();var backColor=backgroundColor||"rgba(54, 133, 242, 0.1)";return{width:w,height:16,src:canvas.toDataURL("image/png"),style:"background-color: "+backColor+";vertical-align: middle; margin: 0 1px; width:"+w+"px;height: 16px; max-width:"+w+"px;max-height: 16px; min-width:"+w+"px;min-height: 16px",param:param}}}),BI.extend(BI.DOM,{isColor:function(color){return color&&(this.isRGBColor(color)||this.isHexColor(color))},isRGBColor:function(color){return!!color&&"rgb"===color.substr(0,3)},isHexColor:function(color){return!!color&&("#"===color[0]&&7===color.length)},isDarkColor:function(hex){if(!hex||!this.isHexColor(hex))return!1;var rgb=this.rgb2json(this.hex2rgb(hex)),grayLevel=Math.round(.299*rgb.r+.587*rgb.g+.114*rgb.b);return grayLevel<192},getContrastColor:function(color){return color&&this.isColor(color)?this.isDarkColor(color)?"#ffffff":"#1a1a1a":""},rgb2hex:function(rgbColour){if(!rgbColour||"rgb"!=rgbColour.substr(0,3))return"";var rgbValues=rgbColour.match(/\d+(\.\d+)?/g),red=BI.parseInt(rgbValues[0]),green=BI.parseInt(rgbValues[1]),blue=BI.parseInt(rgbValues[2]),hexColour="#"+this.int2hex(red)+this.int2hex(green)+this.int2hex(blue);return hexColour},rgb2json:function(rgbColour){if(!rgbColour)return{};if(!this.isRGBColor(rgbColour))return{};var rgbValues=rgbColour.match(/\d+(\.\d+)?/g);return{r:BI.parseInt(rgbValues[0]),g:BI.parseInt(rgbValues[1]),b:BI.parseInt(rgbValues[2])}},rgba2json:function(rgbColour){if(!rgbColour)return{};var rgbValues=rgbColour.match(/\d+(\.\d+)?/g);return{r:BI.parseInt(rgbValues[0]),g:BI.parseInt(rgbValues[1]),b:BI.parseInt(rgbValues[2]),a:BI.parseFloat(rgbValues[3])}},json2rgb:function(rgb){return BI.isKey(rgb.r)&&BI.isKey(rgb.g)&&BI.isKey(rgb.b)?"rgb("+rgb.r+","+rgb.g+","+rgb.b+")":""},json2rgba:function(rgba){return BI.isKey(rgba.r)&&BI.isKey(rgba.g)&&BI.isKey(rgba.b)?"rgba("+rgba.r+","+rgba.g+","+rgba.b+","+rgba.a+")":""},int2hex:function(strNum){var hexdig=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];return hexdig[strNum>>>4]+""+hexdig[15&strNum]},hex2rgb:function(color){if(!color)return"";if(!this.isHexColor(color))return color;var tempValue="rgb(",colorArray;return 7===color.length?colorArray=[BI.parseInt("0x"+color.substring(1,3)),BI.parseInt("0x"+color.substring(3,5)),BI.parseInt("0x"+color.substring(5,7))]:4===color.length&&(colorArray=[BI.parseInt("0x"+color.substring(1,2)),BI.parseInt("0x"+color.substring(2,3)),BI.parseInt("0x"+color.substring(3,4))]),tempValue+=colorArray[0]+",",tempValue+=colorArray[1]+",",tempValue+=colorArray[2]+")"},rgba2rgb:function(rgbColor,bgColor){if(BI.isNull(bgColor)&&(bgColor=1),"rgba"!=rgbColor.substr(0,4))return"";var rgbValues=rgbColor.match(/\d+(\.\d+)?/g);if(rgbValues.length<4)return"";var R=BI.parseFloat(rgbValues[0]),G=BI.parseFloat(rgbValues[1]),B=BI.parseFloat(rgbValues[2]),A=BI.parseFloat(rgbValues[3]);return"rgb("+Math.floor(255*(bgColor*(1-A))+R*A)+","+Math.floor(255*(bgColor*(1-A))+G*A)+","+Math.floor(255*(bgColor*(1-A))+B*A)+")"}}),BI.extend(BI.DOM,{getLeftPosition:function(combo,popup,extraWidth){return{left:combo.element.offset().left-popup.element.outerWidth()-(extraWidth||0)}},getInnerLeftPosition:function(combo,popup,extraWidth){return{left:combo.element.offset().left+(extraWidth||0)}},getRightPosition:function(combo,popup,extraWidth){var el=combo.element;return{left:el.offset().left+el.outerWidth()+(extraWidth||0)}},getInnerRightPosition:function(combo,popup,extraWidth){var el=combo.element,viewBounds=popup.element.bounds();return{left:el.offset().left+el.outerWidth()-viewBounds.width-(extraWidth||0)}},getTopPosition:function(combo,popup,extraHeight){return{top:combo.element.offset().top-popup.element.outerHeight()-(extraHeight||0)}},getBottomPosition:function(combo,popup,extraHeight){var el=combo.element;return{top:el.offset().top+el.outerHeight()+(extraHeight||0)}},isLeftSpaceEnough:function(combo,popup,extraWidth){return BI.DOM.getLeftPosition(combo,popup,extraWidth).left>=0},isInnerLeftSpaceEnough:function(combo,popup,extraWidth){var viewBounds=popup.element.bounds(),windowBounds=BI.Widget._renderEngine.createElement("body").bounds();return BI.DOM.getInnerLeftPosition(combo,popup,extraWidth).left+viewBounds.width<=windowBounds.width},isRightSpaceEnough:function(combo,popup,extraWidth){var viewBounds=popup.element.bounds(),windowBounds=BI.Widget._renderEngine.createElement("body").bounds();return BI.DOM.getRightPosition(combo,popup,extraWidth).left+viewBounds.width<=windowBounds.width},isInnerRightSpaceEnough:function(combo,popup,extraWidth){return BI.DOM.getInnerRightPosition(combo,popup,extraWidth).left>=0},isTopSpaceEnough:function(combo,popup,extraHeight){return BI.DOM.getTopPosition(combo,popup,extraHeight).top>=0},isBottomSpaceEnough:function(combo,popup,extraHeight){var viewBounds=popup.element.bounds(),windowBounds=BI.Widget._renderEngine.createElement("body").bounds();return BI.DOM.getBottomPosition(combo,popup,extraHeight).top+viewBounds.height<=windowBounds.height},isRightSpaceLarger:function(combo){var windowBounds=BI.Widget._renderEngine.createElement("body").bounds();return windowBounds.width-combo.element.offset().left-combo.element.bounds().width>=combo.element.offset().left},isBottomSpaceLarger:function(combo){var windowBounds=BI.Widget._renderEngine.createElement("body").bounds();return windowBounds.height-combo.element.offset().top-combo.element.bounds().height>=combo.element.offset().top},getLeftAlignPosition:function(combo,popup,extraWidth){var viewBounds=popup.element.bounds(),windowBounds=BI.Widget._renderEngine.createElement("body").bounds(),left=combo.element.offset().left+extraWidth;return left+viewBounds.width>windowBounds.width&&(left=windowBounds.width-viewBounds.width),left<0&&(left=0),{left:left}},getLeftAdaptPosition:function(combo,popup,extraWidth){return BI.DOM.isLeftSpaceEnough(combo,popup,extraWidth)?BI.DOM.getLeftPosition(combo,popup,extraWidth):{left:0}},getRightAlignPosition:function(combo,popup,extraWidth){var comboBounds=combo.element.bounds(),viewBounds=popup.element.bounds(),left=combo.element.offset().left+comboBounds.width-viewBounds.width-extraWidth;return left<0&&(left=0),{left:left}},getRightAdaptPosition:function(combo,popup,extraWidth){return BI.DOM.isRightSpaceEnough(combo,popup,extraWidth)?BI.DOM.getRightPosition(combo,popup,extraWidth):{left:BI.Widget._renderEngine.createElement("body").bounds().width-popup.element.bounds().width}},getTopAlignPosition:function(combo,popup,extraHeight,needAdaptHeight){var comboOffset=combo.element.offset(),comboBounds=combo.element.bounds(),popupBounds=popup.element.bounds(),windowBounds=BI.Widget._renderEngine.createElement("body").bounds(),top,adaptHeight;return BI.DOM.isBottomSpaceEnough(combo,popup,-1*comboBounds.height+extraHeight)?top=comboOffset.top+extraHeight:needAdaptHeight?(top=comboOffset.top+extraHeight,adaptHeight=windowBounds.height-top):(top=windowBounds.height-popupBounds.height,top<extraHeight&&(adaptHeight=windowBounds.height-extraHeight)),top<extraHeight&&(top=extraHeight),adaptHeight?{top:top,adaptHeight:adaptHeight}:{top:top}},getTopAdaptPosition:function(combo,popup,extraHeight,needAdaptHeight){var popupBounds=popup.element.bounds(),windowBounds=BI.Widget._renderEngine.createElement("body").bounds();return BI.DOM.isTopSpaceEnough(combo,popup,extraHeight)?BI.DOM.getTopPosition(combo,popup,extraHeight):needAdaptHeight?{top:0,adaptHeight:combo.element.offset().top-extraHeight}:popupBounds.height+extraHeight>windowBounds.height?{top:0,adaptHeight:windowBounds.height-extraHeight}:{top:0}},getBottomAlignPosition:function(combo,popup,extraHeight,needAdaptHeight){var comboOffset=combo.element.offset(),comboBounds=combo.element.bounds(),popupBounds=popup.element.bounds(),windowBounds=BI.Widget._renderEngine.createElement("body").bounds(),top,adaptHeight;return BI.DOM.isTopSpaceEnough(combo,popup,-1*comboBounds.height+extraHeight)?top=comboOffset.top+comboBounds.height-popupBounds.height-extraHeight:needAdaptHeight?(top=0,adaptHeight=comboOffset.top+comboBounds.height-extraHeight):(top=0,popupBounds.height+extraHeight>windowBounds.height&&(adaptHeight=windowBounds.height-extraHeight)),top<0&&(top=0),adaptHeight?{top:top,adaptHeight:adaptHeight}:{top:top}},getBottomAdaptPosition:function(combo,popup,extraHeight,needAdaptHeight){var comboOffset=combo.element.offset(),comboBounds=combo.element.bounds(),popupBounds=popup.element.bounds(),windowBounds=BI.Widget._renderEngine.createElement("body").bounds();return BI.DOM.isBottomSpaceEnough(combo,popup,extraHeight)?BI.DOM.getBottomPosition(combo,popup,extraHeight):needAdaptHeight?{top:comboOffset.top+comboBounds.height+extraHeight,adaptHeight:windowBounds.height-comboOffset.top-comboBounds.height-extraHeight}:popupBounds.height+extraHeight>windowBounds.height?{top:extraHeight,adaptHeight:windowBounds.height-extraHeight}:{top:windowBounds.height-popupBounds.height-extraHeight}},getCenterAdaptPosition:function(combo,popup){var comboOffset=combo.element.offset(),comboBounds=combo.element.bounds(),popupBounds=popup.element.bounds(),windowBounds=BI.Widget._renderEngine.createElement("body").bounds(),left;return left=comboOffset.left+comboBounds.width/2+popupBounds.width/2>windowBounds.width?windowBounds.width-popupBounds.width:comboOffset.left+comboBounds.width/2-popupBounds.width/2,left<0&&(left=0),{left:left}},getMiddleAdaptPosition:function(combo,popup){var comboOffset=combo.element.offset(),comboBounds=combo.element.bounds(),popupBounds=popup.element.bounds(),windowBounds=BI.Widget._renderEngine.createElement("body").bounds(),top;return top=comboOffset.top+comboBounds.height/2+popupBounds.height/2>windowBounds.height?windowBounds.height-popupBounds.height:comboOffset.top+comboBounds.height/2-popupBounds.height/2,top<0&&(top=0),{top:top}},getComboPositionByDirections:function(combo,popup,extraWidth,extraHeight,needAdaptHeight,directions){extraWidth||(extraWidth=0),extraHeight||(extraHeight=0);var i,direct,leftRight=[],topBottom=[],innerLeftRight=[],isNeedAdaptHeight=!1,tbFirst=!1,lrFirst=!1,left,top,pos,firstDir=directions[0];for(i=0;i<directions.length;i++)switch(direct=directions[i]){case"left":leftRight.push(direct);break;case"right":leftRight.push(direct);break;case"top":topBottom.push(direct);break;case"bottom":topBottom.push(direct);break;case"innerLeft":innerLeftRight.push(direct);break;case"innerRight":innerLeftRight.push(direct)}for(i=0;i<directions.length;i++)switch(direct=directions[i]){case"left":if(!isNeedAdaptHeight){var tW=tbFirst?extraHeight:extraWidth,tH=tbFirst?0:extraHeight;if(BI.DOM.isLeftSpaceEnough(combo,popup,tW))return left=BI.DOM.getLeftPosition(combo,popup,tW).left,"bottom"===topBottom[0]?(pos=BI.DOM.getTopAlignPosition(combo,popup,tH,needAdaptHeight),pos.dir="left,bottom"):(pos=BI.DOM.getBottomAlignPosition(combo,popup,tH,needAdaptHeight),pos.dir="left,top"),tbFirst&&(pos.change="left"),pos.left=left,pos}lrFirst=!0;break;case"right":if(!isNeedAdaptHeight){var tW=tbFirst?extraHeight:extraWidth,tH=tbFirst?extraWidth:extraHeight;if(BI.DOM.isRightSpaceEnough(combo,popup,tW))return left=BI.DOM.getRightPosition(combo,popup,tW).left,"bottom"===topBottom[0]?(pos=BI.DOM.getTopAlignPosition(combo,popup,tH,needAdaptHeight),pos.dir="right,bottom"):(pos=BI.DOM.getBottomAlignPosition(combo,popup,tH,needAdaptHeight),pos.dir="right,top"),tbFirst&&(pos.change="right"),pos.left=left,pos}lrFirst=!0;break;case"top":var tW=lrFirst?extraHeight:extraWidth,tH=lrFirst?extraWidth:extraHeight;if(BI.DOM.isTopSpaceEnough(combo,popup,tH))return top=BI.DOM.getTopPosition(combo,popup,tH).top,"right"===leftRight[0]?(pos=BI.DOM.getLeftAlignPosition(combo,popup,tW,needAdaptHeight),pos.dir="top,right"):(pos=BI.DOM.getRightAlignPosition(combo,popup,tW),pos.dir="top,left"),lrFirst&&(pos.change="top"),pos.top=top,pos;needAdaptHeight&&(isNeedAdaptHeight=!0),tbFirst=!0;break;case"bottom":var tW=lrFirst?extraHeight:extraWidth,tH=lrFirst?extraWidth:extraHeight;if(BI.DOM.isBottomSpaceEnough(combo,popup,tH))return top=BI.DOM.getBottomPosition(combo,popup,tH).top,"right"===leftRight[0]?(pos=BI.DOM.getLeftAlignPosition(combo,popup,tW,needAdaptHeight),pos.dir="bottom,right"):(pos=BI.DOM.getRightAlignPosition(combo,popup,tW),pos.dir="bottom,left"),lrFirst&&(pos.change="bottom"),pos.top=top,pos;needAdaptHeight&&(isNeedAdaptHeight=!0),tbFirst=!0;break;case"innerLeft":if(!isNeedAdaptHeight){var tW=tbFirst?extraHeight:extraWidth,tH=tbFirst?0:extraHeight;if(BI.DOM.isInnerLeftSpaceEnough(combo,popup,tW))return left=BI.DOM.getInnerLeftPosition(combo,popup,tW).left,"bottom"===topBottom[0]?(pos=BI.DOM.getTopAlignPosition(combo,popup,tH,needAdaptHeight),pos.dir="innerLeft,bottom"):(pos=BI.DOM.getBottomAlignPosition(combo,popup,tH,needAdaptHeight),pos.dir="innerLeft,top"),tbFirst&&(pos.change="innerLeft"),pos.left=left,pos}lrFirst=!0;break;case"innerRight":if(!isNeedAdaptHeight){var tW=tbFirst?extraHeight:extraWidth,tH=tbFirst?extraWidth:extraHeight;if(BI.DOM.isInnerRightSpaceEnough(combo,popup,tW))return left=BI.DOM.getInnerRightPosition(combo,popup,tW).left,"bottom"===topBottom[0]?(pos=BI.DOM.getTopAlignPosition(combo,popup,tH,needAdaptHeight),pos.dir="innerRight,bottom"):(pos=BI.DOM.getBottomAlignPosition(combo,popup,tH,needAdaptHeight),pos.dir="innerRight,top"),tbFirst&&(pos.change="innerRight"),pos.left=left,pos}}switch(directions[0]){case"left":case"right":return BI.DOM.isRightSpaceLarger(combo)?(left=BI.DOM.getRightAdaptPosition(combo,popup,extraWidth).left,firstDir="right"):(left=BI.DOM.getLeftAdaptPosition(combo,popup,extraWidth).left,firstDir="left"),"bottom"===topBottom[0]?(pos=BI.DOM.getTopAlignPosition(combo,popup,extraHeight,needAdaptHeight),pos.left=left,pos.dir=firstDir+",bottom",pos):(pos=BI.DOM.getBottomAlignPosition(combo,popup,extraHeight,needAdaptHeight),pos.left=left,pos.dir=firstDir+",top",pos);default:return BI.DOM.isBottomSpaceLarger(combo)?(pos=BI.DOM.getBottomAdaptPosition(combo,popup,extraHeight,needAdaptHeight),firstDir="bottom"):(pos=BI.DOM.getTopAdaptPosition(combo,popup,extraHeight,needAdaptHeight),firstDir="top"),"right"===leftRight[0]?(left=BI.DOM.getLeftAlignPosition(combo,popup,extraWidth,needAdaptHeight).left,pos.left=left,pos.dir=firstDir+",right",pos):(left=BI.DOM.getRightAlignPosition(combo,popup,extraWidth).left,pos.left=left,pos.dir=firstDir+",left",pos)}},getComboPosition:function(combo,popup,extraWidth,extraHeight,needAdaptHeight,directions,offsetStyle){extraWidth||(extraWidth=0),extraHeight||(extraHeight=0);var bodyHeight=BI.Widget._renderEngine.createElement("body").bounds().height-extraHeight,maxHeight=Math.min(popup.attr("maxHeight")||bodyHeight,bodyHeight);popup.resetHeight&&popup.resetHeight(maxHeight);var position=BI.DOM.getComboPositionByDirections(combo,popup,extraWidth,extraHeight,needAdaptHeight,directions||["bottom","top","right","left"]);switch(offsetStyle){case"center":if(position.change){var p=BI.DOM.getMiddleAdaptPosition(combo,popup);position.top=p.top}else{var p=BI.DOM.getCenterAdaptPosition(combo,popup);position.left=p.left}break;case"middle":if(position.change){var p=BI.DOM.getCenterAdaptPosition(combo,popup);position.left=p.left}else{var p=BI.DOM.getMiddleAdaptPosition(combo,popup);position.top=p.top}}return needAdaptHeight===!0&&popup.resetHeight&&popup.resetHeight(Math.min(bodyHeight-position.top,maxHeight)),position}})}(),BI.EventListener={listen:function listen(target,eventType,callback){return target.addEventListener?(target.addEventListener(eventType,callback,!1),{remove:function remove(){target.removeEventListener(eventType,callback,!1)}}):target.attachEvent?(target.attachEvent("on"+eventType,callback),{remove:function remove(){target.detachEvent("on"+eventType,callback)}}):void 0},capture:function capture(target,eventType,callback){return target.addEventListener?(target.addEventListener(eventType,callback,!0),{remove:function remove(){target.removeEventListener(eventType,callback,!0)}}):{remove:BI.emptyFn}},registerDefault:function registerDefault(){}},_.extend(BI,{isIE:function(){return!!_global.navigator&&(null==this.__isIE&&(this.__isIE=/(msie|trident)/i.test(navigator.userAgent.toLowerCase())),this.__isIE)},getIEVersion:function(){if(!_global.navigator)return 0;if(null!=this.__IEVersion)return this.__IEVersion;var version=0,agent=navigator.userAgent.toLowerCase(),v1=agent.match(/(?:msie\s([\w.]+))/),v2=agent.match(/(?:trident.*rv:([\w.]+))/);return version=v1&&v2&&v1[1]&&v2[1]?Math.max(1*v1[1],1*v2[1]):v1&&v1[1]?1*v1[1]:v2&&v2[1]?1*v2[1]:0,this.__IEVersion=version},isIE9Below:function(){return!!BI.isIE()&&this.getIEVersion()<9},isEdge:function(){return!!_global.navigator&&/edge/i.test(navigator.userAgent.toLowerCase())},isChrome:function(){return!!_global.navigator&&/chrome/i.test(navigator.userAgent.toLowerCase())},isFireFox:function(){return!!_global.navigator&&/firefox/i.test(navigator.userAgent.toLowerCase())},isOpera:function(){return!!_global.navigator&&/opera/i.test(navigator.userAgent.toLowerCase())},isSafari:function(){return!!_global.navigator&&(/safari/i.test(navigator.userAgent.toLowerCase())&&!/chrome/i.test(navigator.userAgent.toLowerCase()))},isKhtml:function(){return!!_global.navigator&&/Konqueror|Safari|KHTML/i.test(navigator.userAgent)},isMac:function(){return!!_global.navigator&&/macintosh|mac os x/i.test(navigator.userAgent)},isWindows:function(){return!!_global.navigator&&/windows|win32/i.test(navigator.userAgent)},isSupportCss3:function(style){if(!_global.document)return!1;var prefix=["webkit","Moz","ms","o"],i,len,humpString=[],htmlStyle=document.documentElement.style,_toHumb=function(string){return BI.isString(string)?string.replace(/-(\w)/g,function($0,$1){return $1.toUpperCase()}):""};for(i=0;i<prefix.length;i++)humpString.push(_toHumb(prefix[i]+"-"+style));for(humpString.push(_toHumb(style)),i=0,len=humpString.length;i<len;i++)if(humpString[i]in htmlStyle)return!0;return!1}}),function(window,undefined){function isArraylike(obj){var length=obj.length,type=jQuery.type(obj);return!jQuery.isWindow(obj)&&(!(1!==obj.nodeType||!length)||("array"===type||"function"!==type&&(0===length||"number"==typeof length&&length>0&&length-1 in obj)))}function createOptions(options){var object=optionsCache[options]={};return jQuery.each(options.match(core_rnotwhite)||[],function(_,flag){object[flag]=!0}),object}function internalData(elem,name,data,pvt){if(jQuery.acceptData(elem)){var thisCache,ret,internalKey=jQuery.expando,getByName="string"==typeof name,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[internalKey]:elem[internalKey]&&internalKey;if(id&&cache[id]&&(pvt||cache[id].data)||!getByName||data!==undefined)return id||(isNode?elem[internalKey]=id=core_deletedIds.pop()||jQuery.guid++:id=internalKey),cache[id]||(cache[id]={},isNode||(cache[id].toJSON=jQuery.noop)),"object"!=typeof name&&"function"!=typeof name||(pvt?cache[id]=jQuery.extend(cache[id],name):cache[id].data=jQuery.extend(cache[id].data,name)),thisCache=cache[id],pvt||(thisCache.data||(thisCache.data={}),thisCache=thisCache.data),data!==undefined&&(thisCache[jQuery.camelCase(name)]=data),getByName?(ret=thisCache[name],null==ret&&(ret=thisCache[jQuery.camelCase(name)])):ret=thisCache,ret}}function internalRemoveData(elem,name,pvt){if(jQuery.acceptData(elem)){var i,l,thisCache,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[jQuery.expando]:jQuery.expando;if(cache[id]){if(name&&(thisCache=pvt?cache[id]:cache[id].data)){jQuery.isArray(name)?name=name.concat(jQuery.map(name,jQuery.camelCase)):name in thisCache?name=[name]:(name=jQuery.camelCase(name),name=name in thisCache?[name]:name.split(" "));for(i=0,l=name.length;i<l;i++)delete thisCache[name[i]];if(!(pvt?isEmptyDataObject:jQuery.isEmptyObject)(thisCache))return}(pvt||(delete cache[id].data,isEmptyDataObject(cache[id])))&&(isNode?jQuery.cleanData([elem],!0):jQuery.support.deleteExpando||cache!=cache.window?delete cache[id]:cache[id]=null)}}}function dataAttr(elem,key,data){if(data===undefined&&1===elem.nodeType){var name="data-"+key.replace(rmultiDash,"-$1").toLowerCase();if(data=elem.getAttribute(name),"string"==typeof data){try{data="true"===data||"false"!==data&&("null"===data?null:+data+""===data?+data:rbrace.test(data)?jQuery.parseJSON(data):data)}catch(e){}jQuery.data(elem,key,data)}else data=undefined}return data}function isEmptyDataObject(obj){var name;for(name in obj)if(("data"!==name||!jQuery.isEmptyObject(obj[name]))&&"toJSON"!==name)return!1;return!0}function returnTrue(){return!0}function returnFalse(){return!1}function sibling(cur,dir){do cur=cur[dir];while(cur&&1!==cur.nodeType);return cur}function winnow(elements,qualifier,keep){if(qualifier=qualifier||0,jQuery.isFunction(qualifier))return jQuery.grep(elements,function(elem,i){var retVal=!!qualifier.call(elem,i,elem);return retVal===keep});if(qualifier.nodeType)return jQuery.grep(elements,function(elem){return elem===qualifier===keep});if("string"==typeof qualifier){var filtered=jQuery.grep(elements,function(elem){return 1===elem.nodeType});if(isSimple.test(qualifier))return jQuery.filter(qualifier,filtered,!keep);qualifier=jQuery.filter(qualifier,filtered)}return jQuery.grep(elements,function(elem){return jQuery.inArray(elem,qualifier)>=0===keep})}function createSafeFragment(document){var list=nodeNames.split("|"),safeFrag=document.createDocumentFragment();if(safeFrag.createElement)for(;list.length;)safeFrag.createElement(list.pop());return safeFrag}function findOrAppend(elem,tag){return elem.getElementsByTagName(tag)[0]||elem.appendChild(elem.ownerDocument.createElement(tag))}function disableScript(elem){var attr=elem.getAttributeNode("type");return elem.type=(attr&&attr.specified)+"/"+elem.type,elem}function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);return match?elem.type=match[1]:elem.removeAttribute("type"),elem}function setGlobalEval(elems,refElements){for(var elem,i=0;null!=(elem=elems[i]);i++)jQuery._data(elem,"globalEval",!refElements||jQuery._data(refElements[i],"globalEval"));
}function cloneCopyEvent(src,dest){if(1===dest.nodeType&&jQuery.hasData(src)){var type,i,l,oldData=jQuery._data(src),curData=jQuery._data(dest,oldData),events=oldData.events;if(events){delete curData.handle,curData.events={};for(type in events)for(i=0,l=events[type].length;i<l;i++)jQuery.event.add(dest,type,events[type][i])}curData.data&&(curData.data=jQuery.extend({},curData.data))}}function fixCloneNodeIssues(src,dest){var nodeName,e,data;if(1===dest.nodeType){if(nodeName=dest.nodeName.toLowerCase(),!jQuery.support.noCloneEvent&&dest[jQuery.expando]){data=jQuery._data(dest);for(e in data.events)jQuery.removeEvent(dest,e,data.handle);dest.removeAttribute(jQuery.expando)}"script"===nodeName&&dest.text!==src.text?(disableScript(dest).text=src.text,restoreScript(dest)):"object"===nodeName?(dest.parentNode&&(dest.outerHTML=src.outerHTML),jQuery.support.html5Clone&&src.innerHTML&&!jQuery.trim(dest.innerHTML)&&(dest.innerHTML=src.innerHTML)):"input"===nodeName&&manipulation_rcheckableType.test(src.type)?(dest.defaultChecked=dest.checked=src.checked,dest.value!==src.value&&(dest.value=src.value)):"option"===nodeName?dest.defaultSelected=dest.selected=src.defaultSelected:"input"!==nodeName&&"textarea"!==nodeName||(dest.defaultValue=src.defaultValue)}}function getAll(context,tag){var elems,elem,i=0,found=typeof context.getElementsByTagName!==core_strundefined?context.getElementsByTagName(tag||"*"):typeof context.querySelectorAll!==core_strundefined?context.querySelectorAll(tag||"*"):undefined;if(!found)for(found=[],elems=context.childNodes||context;null!=(elem=elems[i]);i++)!tag||jQuery.nodeName(elem,tag)?found.push(elem):jQuery.merge(found,getAll(elem,tag));return tag===undefined||tag&&jQuery.nodeName(context,tag)?jQuery.merge([context],found):found}function fixDefaultChecked(elem){manipulation_rcheckableType.test(elem.type)&&(elem.defaultChecked=elem.checked)}function vendorPropName(style,name){if(name in style)return name;for(var capName=name.charAt(0).toUpperCase()+name.slice(1),origName=name,i=cssPrefixes.length;i--;)if(name=cssPrefixes[i]+capName,name in style)return name;return origName}function isHidden(elem,el){return elem=el||elem,"none"===jQuery.css(elem,"display")||!jQuery.contains(elem.ownerDocument,elem)}function showHide(elements,show){for(var display,elem,hidden,values=[],index=0,length=elements.length;index<length;index++)elem=elements[index],elem.style&&(values[index]=jQuery._data(elem,"olddisplay"),display=elem.style.display,show?(values[index]||"none"!==display||(elem.style.display=""),""===elem.style.display&&isHidden(elem)&&(values[index]=jQuery._data(elem,"olddisplay",css_defaultDisplay(elem.nodeName)))):values[index]||(hidden=isHidden(elem),(display&&"none"!==display||!hidden)&&jQuery._data(elem,"olddisplay",hidden?display:jQuery.css(elem,"display"))));for(index=0;index<length;index++)elem=elements[index],elem.style&&(show&&"none"!==elem.style.display&&""!==elem.style.display||(elem.style.display=show?values[index]||"":"none"));return elements}function setPositiveNumber(elem,value,subtract){var matches=rnumsplit.exec(value);return matches?Math.max(0,matches[1]-(subtract||0))+(matches[2]||"px"):value}function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){for(var i=extra===(isBorderBox?"border":"content")?4:"width"===name?1:0,val=0;i<4;i+=2)"margin"===extra&&(val+=jQuery.css(elem,extra+cssExpand[i],!0,styles)),isBorderBox?("content"===extra&&(val-=jQuery.css(elem,"padding"+cssExpand[i],!0,styles)),"margin"!==extra&&(val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles))):(val+=jQuery.css(elem,"padding"+cssExpand[i],!0,styles),"padding"!==extra&&(val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles)));return val}function getWidthOrHeight(elem,name,extra){var valueIsBorderBox=!0,val="width"===name?elem.offsetWidth:elem.offsetHeight,styles=getStyles(elem),isBorderBox=jQuery.support.boxSizing&&"border-box"===jQuery.css(elem,"boxSizing",!1,styles);if(val<=0||null==val){if(val=curCSS(elem,name,styles),(val<0||null==val)&&(val=elem.style[name]),rnumnonpx.test(val))return val;valueIsBorderBox=isBorderBox&&(jQuery.support.boxSizingReliable||val===elem.style[name]),val=parseFloat(val)||0}return val+augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles)+"px"}function css_defaultDisplay(nodeName){var doc=document,display=elemdisplay[nodeName];return display||(display=actualDisplay(nodeName,doc),"none"!==display&&display||(iframe=(iframe||jQuery("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(doc.documentElement),doc=(iframe[0].contentWindow||iframe[0].contentDocument).document,doc.write("<!doctype html><html><body>"),doc.close(),display=actualDisplay(nodeName,doc),iframe.detach()),elemdisplay[nodeName]=display),display}function actualDisplay(name,doc){var elem=jQuery(doc.createElement(name)).appendTo(doc.body),display=jQuery.css(elem[0],"display");return elem.remove(),display}function buildParams(prefix,obj,traditional,add){var name;if(jQuery.isArray(obj))jQuery.each(obj,function(i,v){traditional||rbracket.test(prefix)?add(prefix,v):buildParams(prefix+"["+("object"==typeof v?i:"")+"]",v,traditional,add)});else if(traditional||"object"!==jQuery.type(obj))add(prefix,obj);else for(name in obj)buildParams(prefix+"["+name+"]",obj[name],traditional,add)}function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){"string"!=typeof dataTypeExpression&&(func=dataTypeExpression,dataTypeExpression="*");var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(core_rnotwhite)||[];if(jQuery.isFunction(func))for(;dataType=dataTypes[i++];)"+"===dataType[0]?(dataType=dataType.slice(1)||"*",(structure[dataType]=structure[dataType]||[]).unshift(func)):(structure[dataType]=structure[dataType]||[]).push(func)}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){function inspect(dataType){var selected;return inspected[dataType]=!0,jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);return"string"!=typeof dataTypeOrTransport||seekingTransport||inspected[dataTypeOrTransport]?seekingTransport?!(selected=dataTypeOrTransport):void 0:(options.dataTypes.unshift(dataTypeOrTransport),inspect(dataTypeOrTransport),!1)}),selected}var inspected={},seekingTransport=structure===transports;return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}function ajaxExtend(target,src){var deep,key,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src)src[key]!==undefined&&((flatOptions[key]?target:deep||(deep={}))[key]=src[key]);return deep&&jQuery.extend(!0,target,deep),target}function ajaxHandleResponses(s,jqXHR,responses){var firstDataType,ct,finalDataType,type,contents=s.contents,dataTypes=s.dataTypes,responseFields=s.responseFields;for(type in responseFields)type in responses&&(jqXHR[responseFields[type]]=responses[type]);for(;"*"===dataTypes[0];)dataTypes.shift(),ct===undefined&&(ct=s.mimeType||jqXHR.getResponseHeader("Content-Type"));if(ct)for(type in contents)if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}if(dataTypes[0]in responses)finalDataType=dataTypes[0];else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}firstDataType||(firstDataType=type)}finalDataType=finalDataType||firstDataType}if(finalDataType)return finalDataType!==dataTypes[0]&&dataTypes.unshift(finalDataType),responses[finalDataType]}function ajaxConvert(s,response){var conv2,current,conv,tmp,converters={},i=0,dataTypes=s.dataTypes.slice(),prev=dataTypes[0];if(s.dataFilter&&(response=s.dataFilter(response,s.dataType)),dataTypes[1])for(conv in s.converters)converters[conv.toLowerCase()]=s.converters[conv];for(;current=dataTypes[++i];)if("*"!==current){if("*"!==prev&&prev!==current){if(conv=converters[prev+" "+current]||converters["* "+current],!conv)for(conv2 in converters)if(tmp=conv2.split(" "),tmp[1]===current&&(conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]])){conv===!0?conv=converters[conv2]:converters[conv2]!==!0&&(current=tmp[0],dataTypes.splice(i--,0,current));break}if(conv!==!0)if(conv&&s["throws"])response=conv(response);else try{response=conv(response)}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current}}}prev=current}return{state:"success",data:response}}function createStandardXHR(){try{return new window.XMLHttpRequest}catch(e){}}function createActiveXHR(){try{return new window.ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}function createFxNow(){return setTimeout(function(){fxNow=undefined}),fxNow=jQuery.now()}function createTweens(animation,props){jQuery.each(props,function(prop,value){for(var collection=(tweeners[prop]||[]).concat(tweeners["*"]),index=0,length=collection.length;index<length;index++)if(collection[index].call(animation,prop,value))return})}function Animation(elem,properties,options){var result,stopped,index=0,length=animationPrefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem}),tick=function(){if(stopped)return!1;for(var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;index<length;index++)animation.tweens[index].run(percent);return deferred.notifyWith(elem,[animation,percent,remaining]),percent<1&&length?remaining:(deferred.resolveWith(elem,[animation]),!1)},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(!0,{specialEasing:{}},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);return animation.tweens.push(tween),tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped)return this;for(stopped=!0;index<length;index++)animation.tweens[index].run(1);return gotoEnd?deferred.resolveWith(elem,[animation,gotoEnd]):deferred.rejectWith(elem,[animation,gotoEnd]),this}}),props=animation.props;for(propFilter(props,animation.opts.specialEasing);index<length;index++)if(result=animationPrefilters[index].call(animation,elem,props,animation.opts))return result;return createTweens(animation,props),jQuery.isFunction(animation.opts.start)&&animation.opts.start.call(elem,animation),jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue})),animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always)}function propFilter(props,specialEasing){var value,name,index,easing,hooks;for(index in props)if(name=jQuery.camelCase(index),easing=specialEasing[name],value=props[index],jQuery.isArray(value)&&(easing=value[1],value=props[index]=value[0]),index!==name&&(props[name]=value,delete props[index]),hooks=jQuery.cssHooks[name],hooks&&"expand"in hooks){value=hooks.expand(value),delete props[name];for(index in value)index in props||(props[index]=value[index],specialEasing[index]=easing)}else specialEasing[name]=easing}function defaultPrefilter(elem,props,opts){var prop,index,length,value,dataShow,toggle,tween,hooks,oldfire,anim=this,style=elem.style,orig={},handled=[],hidden=elem.nodeType&&isHidden(elem);opts.queue||(hooks=jQuery._queueHooks(elem,"fx"),null==hooks.unqueued&&(hooks.unqueued=0,oldfire=hooks.empty.fire,hooks.empty.fire=function(){hooks.unqueued||oldfire()}),hooks.unqueued++,anim.always(function(){anim.always(function(){hooks.unqueued--,jQuery.queue(elem,"fx").length||hooks.empty.fire()})})),1===elem.nodeType&&("height"in props||"width"in props)&&(opts.overflow=[style.overflow,style.overflowX,style.overflowY],"inline"===jQuery.css(elem,"display")&&"none"===jQuery.css(elem,"float")&&(jQuery.support.inlineBlockNeedsLayout&&"inline"!==css_defaultDisplay(elem.nodeName)?style.zoom=1:style.display="inline-block")),opts.overflow&&(style.overflow="hidden",jQuery.support.shrinkWrapBlocks||anim.always(function(){style.overflow=opts.overflow[0],style.overflowX=opts.overflow[1],style.overflowY=opts.overflow[2]}));for(index in props)if(value=props[index],rfxtypes.exec(value)){if(delete props[index],toggle=toggle||"toggle"===value,value===(hidden?"hide":"show"))continue;handled.push(index)}if(length=handled.length){dataShow=jQuery._data(elem,"fxshow")||jQuery._data(elem,"fxshow",{}),"hidden"in dataShow&&(hidden=dataShow.hidden),toggle&&(dataShow.hidden=!hidden),hidden?jQuery(elem).show():anim.done(function(){jQuery(elem).hide()}),anim.done(function(){var prop;jQuery._removeData(elem,"fxshow");for(prop in orig)jQuery.style(elem,prop,orig[prop])});for(index=0;index<length;index++)prop=handled[index],tween=anim.createTween(prop,hidden?dataShow[prop]:0),orig[prop]=dataShow[prop]||jQuery.style(elem,prop),prop in dataShow||(dataShow[prop]=tween.start,hidden&&(tween.end=tween.start,tween.start="width"===prop||"height"===prop?1:0))}}function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}function genFx(type,includeWidth){var which,attrs={height:type},i=0;for(includeWidth=includeWidth?1:0;i<4;i+=2-includeWidth)which=cssExpand[i],attrs["margin"+which]=attrs["padding"+which]=type;return includeWidth&&(attrs.opacity=attrs.width=type),attrs}function getWindow(elem){return jQuery.isWindow(elem)?elem:9===elem.nodeType&&(elem.defaultView||elem.parentWindow)}var readyList,rootjQuery,core_strundefined=typeof undefined,document=window.document,location=window.location,_jQuery=window.jQuery,_$=window.$,class2type={},core_deletedIds=[],core_version="1.12.4",core_concat=core_deletedIds.concat,core_push=core_deletedIds.push,core_slice=core_deletedIds.slice,core_indexOf=core_deletedIds.indexOf,core_toString=class2type.toString,core_hasOwn=class2type.hasOwnProperty,core_trim=core_version.trim,jQuery=function(selector,context){return new jQuery.fn.init(selector,context,rootjQuery)},core_pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,core_rnotwhite=/\S+/g,rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rquickExpr=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,rvalidchars=/^[\],:{}\s]*$/,rvalidbraces=/(?:^|:|,)(?:\s*\[)+/g,rvalidescape=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,rvalidtokens=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([\da-z])/gi,fcamelCase=function(all,letter){return letter.toUpperCase()},completed=function(event){(document.addEventListener||"load"===event.type||"complete"===document.readyState)&&(detach(),jQuery.ready())},detach=function(){document.addEventListener?(document.removeEventListener("DOMContentLoaded",completed,!1),window.removeEventListener("load",completed,!1)):(document.detachEvent("onreadystatechange",completed),window.detachEvent("onload",completed))};jQuery.fn=jQuery.prototype={jquery:core_version,constructor:jQuery,init:function(selector,context,rootjQuery){var match,elem;if(!selector)return this;if("string"==typeof selector){if(match="<"===selector.charAt(0)&&">"===selector.charAt(selector.length-1)&&selector.length>=3?[null,selector,null]:rquickExpr.exec(selector),!match||!match[1]&&context)return!context||context.jquery?(context||rootjQuery).find(selector):this.constructor(context).find(selector);if(match[1]){if(context=context instanceof jQuery?context[0]:context,jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,!0)),rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)jQuery.isFunction(this[match])?this[match](context[match]):this.attr(match,context[match]);return this}if(elem=document.getElementById(match[2]),elem&&elem.parentNode){if(elem.id!==match[2])return rootjQuery.find(selector);this.length=1,this[0]=elem}return this.context=document,this.selector=selector,this}return selector.nodeType?(this.context=this[0]=selector,this.length=1,this):jQuery.isFunction(selector)?rootjQuery.ready(selector):(selector.selector!==undefined&&(this.selector=selector.selector,this.context=selector.context),jQuery.makeArray(selector,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return core_slice.call(this)},get:function(num){return null==num?this.toArray():num<0?this[this.length+num]:this[num]},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);return ret.prevObject=this,ret.context=this.context,ret},each:function(callback,args){return jQuery.each(this,callback,args)},ready:function(fn){return jQuery.ready.promise().done(fn),this},slice:function(){return this.pushStack(core_slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[])},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},end:function(){return this.prevObject||this.constructor(null)},push:core_push,sort:[].sort,splice:[].splice},jQuery.fn.init.prototype=jQuery.fn,jQuery.extend=jQuery.fn.extend=function(){var src,copyIsArray,copy,name,options,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=!1;for("boolean"==typeof target&&(deep=target,target=arguments[1]||{},i=2),"object"==typeof target||jQuery.isFunction(target)||(target={}),length===i&&(target=this,--i);i<length;i++)if(null!=(options=arguments[i]))for(name in options)src=target[name],copy=options[name],target!==copy&&(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))?(copyIsArray?(copyIsArray=!1,clone=src&&jQuery.isArray(src)?src:[]):clone=src&&jQuery.isPlainObject(src)?src:{},target[name]=jQuery.extend(deep,clone,copy)):copy!==undefined&&(target[name]=copy));return target},jQuery.extend({noConflict:function(deep){return window.$===jQuery&&(window.$=_$),deep&&window.jQuery===jQuery&&(window.jQuery=_jQuery),jQuery},isReady:!1,readyWait:1,holdReady:function(hold){hold?jQuery.readyWait++:jQuery.ready(!0)},ready:function(wait){if(wait===!0?!--jQuery.readyWait:!jQuery.isReady){if(!document.body)return setTimeout(jQuery.ready);jQuery.isReady=!0,wait!==!0&&--jQuery.readyWait>0||(readyList.resolveWith(document,[jQuery]),jQuery.fn.trigger&&jQuery(document).trigger("ready").off("ready"))}},isFunction:function(obj){return"function"===jQuery.type(obj)},isArray:Array.isArray||function(obj){return"array"===jQuery.type(obj)},isWindow:function(obj){return null!=obj&&obj==obj.window},isNumeric:function(obj){return!isNaN(parseFloat(obj))&&isFinite(obj)},type:function(obj){return null==obj?String(obj):"object"==typeof obj||"function"==typeof obj?class2type[core_toString.call(obj)]||"object":typeof obj},isPlainObject:function(obj){if(!obj||"object"!==jQuery.type(obj)||obj.nodeType||jQuery.isWindow(obj))return!1;try{if(obj.constructor&&!core_hasOwn.call(obj,"constructor")&&!core_hasOwn.call(obj.constructor.prototype,"isPrototypeOf"))return!1}catch(e){return!1}var key;for(key in obj);return key===undefined||core_hasOwn.call(obj,key)},isEmptyObject:function(obj){var name;for(name in obj)return!1;return!0},error:function(msg){throw new Error(msg)},parseHTML:function(data,context,keepScripts){if(!data||"string"!=typeof data)return null;"boolean"==typeof context&&(keepScripts=context,context=!1),context=context||document;var parsed=rsingleTag.exec(data),scripts=!keepScripts&&[];return parsed?[context.createElement(parsed[1])]:(parsed=jQuery.buildFragment([data],context,scripts),scripts&&jQuery(scripts).remove(),jQuery.merge([],parsed.childNodes))},parseJSON:function(data){return window.JSON&&window.JSON.parse?window.JSON.parse(data):null===data?data:"string"==typeof data&&(data=jQuery.trim(data),data&&rvalidchars.test(data.replace(rvalidescape,"@").replace(rvalidtokens,"]").replace(rvalidbraces,"")))?new Function("return "+data)():void jQuery.error("Invalid JSON: "+data)},parseXML:function(data){var xml,tmp;if(!data||"string"!=typeof data)return null;try{window.DOMParser?(tmp=new DOMParser,xml=tmp.parseFromString(data,"text/xml")):(xml=new ActiveXObject("Microsoft.XMLDOM"),xml.async="false",xml.loadXML(data))}catch(e){xml=undefined}return xml&&xml.documentElement&&!xml.getElementsByTagName("parsererror").length||jQuery.error("Invalid XML: "+data),xml},noop:function(){},globalEval:function(data){data&&jQuery.trim(data)&&(window.execScript||function(data){window.eval.call(window,data)})(data)},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()},each:function(obj,callback,args){var value,i=0,length=obj.length,isArray=isArraylike(obj);if(args){if(isArray)for(;i<length&&(value=callback.apply(obj[i],args),value!==!1);i++);else for(i in obj)if(value=callback.apply(obj[i],args),value===!1)break}else if(isArray)for(;i<length&&(value=callback.call(obj[i],i,obj[i]),value!==!1);i++);else for(i in obj)if(value=callback.call(obj[i],i,obj[i]),value===!1)break;return obj},trim:core_trim&&!core_trim.call("\ufeff ")?function(text){return null==text?"":core_trim.call(text)}:function(text){return null==text?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];return null!=arr&&(isArraylike(Object(arr))?jQuery.merge(ret,"string"==typeof arr?[arr]:arr):core_push.call(ret,arr)),ret},inArray:function(elem,arr,i){var len;if(arr){if(core_indexOf)return core_indexOf.call(arr,elem,i);for(len=arr.length,i=i?i<0?Math.max(0,len+i):i:0;i<len;i++)if(i in arr&&arr[i]===elem)return i}return-1},merge:function(first,second){var l=second.length,i=first.length,j=0;if("number"==typeof l)for(;j<l;j++)first[i++]=second[j];else for(;second[j]!==undefined;)first[i++]=second[j++];return first.length=i,first},grep:function(elems,callback,inv){var retVal,ret=[],i=0,length=elems.length;for(inv=!!inv;i<length;i++)retVal=!!callback(elems[i],i),inv!==retVal&&ret.push(elems[i]);return ret},map:function(elems,callback,arg){var value,i=0,length=elems.length,isArray=isArraylike(elems),ret=[];if(isArray)for(;i<length;i++)value=callback(elems[i],i,arg),null!=value&&(ret[ret.length]=value);else for(i in elems)value=callback(elems[i],i,arg),null!=value&&(ret[ret.length]=value);return core_concat.apply([],ret)},guid:1,proxy:function(fn,context){var args,proxy,tmp;return"string"==typeof context&&(tmp=fn[context],context=fn,fn=tmp),jQuery.isFunction(fn)?(args=core_slice.call(arguments,2),proxy=function(){return fn.apply(context||this,args.concat(core_slice.call(arguments)))},proxy.guid=fn.guid=fn.guid||jQuery.guid++,proxy):undefined},access:function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,length=elems.length,bulk=null==key;if("object"===jQuery.type(key)){chainable=!0;for(i in key)jQuery.access(elems,fn,i,key[i],!0,emptyGet,raw)}else if(value!==undefined&&(chainable=!0,jQuery.isFunction(value)||(raw=!0),bulk&&(raw?(fn.call(elems,value),fn=null):(bulk=fn,fn=function(elem,key,value){return bulk.call(jQuery(elem),value)})),fn))for(;i<length;i++)fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)));return chainable?elems:bulk?fn.call(elems):length?fn(elems[0],key):emptyGet},now:function(){return(new Date).getTime()}}),jQuery.ready.promise=function(obj){if(!readyList)if(readyList=jQuery.Deferred(),"complete"===document.readyState)setTimeout(jQuery.ready);else if(document.addEventListener)document.addEventListener("DOMContentLoaded",completed,!1),window.addEventListener("load",completed,!1);else{document.attachEvent("onreadystatechange",completed),window.attachEvent("onload",completed);var top=!1;try{top=null==window.frameElement&&document.documentElement}catch(e){}top&&top.doScroll&&!function doScrollCheck(){if(!jQuery.isReady){try{top.doScroll("left")}catch(e){return setTimeout(doScrollCheck,50)}detach(),jQuery.ready()}}()}return readyList.promise(obj)},jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()}),rootjQuery=jQuery(document);var optionsCache={};jQuery.Callbacks=function(options){options="string"==typeof options?optionsCache[options]||createOptions(options):jQuery.extend({},options);var firing,memory,fired,firingLength,firingIndex,firingStart,list=[],stack=!options.once&&[],fire=function(data){for(memory=options.memory&&data,fired=!0,firingIndex=firingStart||0,firingStart=0,firingLength=list.length,firing=!0;list&&firingIndex<firingLength;firingIndex++)if(list[firingIndex].apply(data[0],data[1])===!1&&options.stopOnFalse){memory=!1;break}firing=!1,list&&(stack?stack.length&&fire(stack.shift()):memory?list=[]:self.disable())},self={add:function(){if(list){var start=list.length;!function add(args){jQuery.each(args,function(_,arg){var type=jQuery.type(arg);"function"===type?options.unique&&self.has(arg)||list.push(arg):arg&&arg.length&&"string"!==type&&add(arg)})}(arguments),firing?firingLength=list.length:memory&&(firingStart=start,fire(memory))}return this},remove:function(){return list&&jQuery.each(arguments,function(_,arg){for(var index;(index=jQuery.inArray(arg,list,index))>-1;)list.splice(index,1),firing&&(index<=firingLength&&firingLength--,index<=firingIndex&&firingIndex--)}),this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:!(!list||!list.length)},empty:function(){return list=[],this},disable:function(){return list=stack=memory=undefined,this},disabled:function(){return!list},lock:function(){return stack=undefined,memory||self.disable(),this},locked:function(){return!stack},fireWith:function(context,args){return args=args||[],args=[context,args.slice?args.slice():args],!list||fired&&!stack||(firing?stack.push(args):fire(args)),this},fire:function(){return self.fireWith(this,arguments),this},fired:function(){return!!fired}};return self},jQuery.extend({Deferred:function(func){var tuples=[["resolve","done",jQuery.Callbacks("once memory"),"resolved"],["reject","fail",jQuery.Callbacks("once memory"),"rejected"],["notify","progress",jQuery.Callbacks("memory")]],state="pending",promise={state:function(){return state},always:function(){return deferred.done(arguments).fail(arguments),this},then:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var action=tuple[0],fn=jQuery.isFunction(fns[i])&&fns[i];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);returned&&jQuery.isFunction(returned.promise)?returned.promise().done(newDefer.resolve).fail(newDefer.reject).progress(newDefer.notify):newDefer[action+"With"](this===promise?newDefer.promise():this,fn?[returned]:arguments)})}),fns=null}).promise()},promise:function(obj){return null!=obj?jQuery.extend(obj,promise):promise}},deferred={};return promise.pipe=promise.then,jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[3];promise[tuple[1]]=list.add,stateString&&list.add(function(){state=stateString},tuples[1^i][2].disable,tuples[2][2].lock),deferred[tuple[0]]=function(){return deferred[tuple[0]+"With"](this===deferred?promise:this,arguments),this},deferred[tuple[0]+"With"]=list.fireWith}),promise.promise(deferred),func&&func.call(deferred,deferred),deferred},when:function(subordinate){var i=0,resolveValues=core_slice.call(arguments),length=resolveValues.length,remaining=1!==length||subordinate&&jQuery.isFunction(subordinate.promise)?length:0,deferred=1===remaining?subordinate:jQuery.Deferred(),updateFunc=function(i,contexts,values){return function(value){contexts[i]=this,values[i]=arguments.length>1?core_slice.call(arguments):value,values===progressValues?deferred.notifyWith(contexts,values):--remaining||deferred.resolveWith(contexts,values)}},progressValues,progressContexts,resolveContexts;if(length>1)for(progressValues=new Array(length),progressContexts=new Array(length),resolveContexts=new Array(length);i<length;i++)resolveValues[i]&&jQuery.isFunction(resolveValues[i].promise)?resolveValues[i].promise().done(updateFunc(i,resolveContexts,resolveValues)).fail(deferred.reject).progress(updateFunc(i,progressContexts,progressValues)):--remaining;return remaining||deferred.resolveWith(resolveContexts,resolveValues),deferred.promise()}}),jQuery.support=function(){var support,all,a,input,select,fragment,opt,eventName,isSupported,i,div=document.createElement("div");if(div.setAttribute("className","t"),div.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",all=div.getElementsByTagName("*"),a=div.getElementsByTagName("a")[0],!all||!a||!all.length)return{};select=document.createElement("select"),opt=select.appendChild(document.createElement("option")),input=div.getElementsByTagName("input")[0],a.style.cssText="top:1px;float:left;opacity:.5",support={getSetAttribute:"t"!==div.className,leadingWhitespace:3===div.firstChild.nodeType,tbody:!div.getElementsByTagName("tbody").length,htmlSerialize:!!div.getElementsByTagName("link").length,style:/top/.test(a.getAttribute("style")),hrefNormalized:"/a"===a.getAttribute("href"),opacity:/^0.5/.test(a.style.opacity),cssFloat:!!a.style.cssFloat,checkOn:!!input.value,optSelected:opt.selected,enctype:!!document.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==document.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===document.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},input.checked=!0,support.noCloneChecked=input.cloneNode(!0).checked,select.disabled=!0,support.optDisabled=!opt.disabled;try{delete div.test}catch(e){support.deleteExpando=!1}input=document.createElement("input"),input.setAttribute("value",""),support.input=""===input.getAttribute("value"),input.value="t",input.setAttribute("type","radio"),support.radioValue="t"===input.value,input.setAttribute("checked","t"),input.setAttribute("name","t"),fragment=document.createDocumentFragment(),fragment.appendChild(input),support.appendChecked=input.checked,support.checkClone=fragment.cloneNode(!0).cloneNode(!0).lastChild.checked,div.attachEvent&&(div.attachEvent("onclick",function(){support.noCloneEvent=!1}),div.cloneNode(!0).click());for(i in{submit:!0,change:!0,focusin:!0})div.setAttribute(eventName="on"+i,"t"),support[i+"Bubbles"]=eventName in window||div.attributes[eventName].expando===!1;return div.style.backgroundClip="content-box",div.cloneNode(!0).style.backgroundClip="",support.clearCloneStyle="content-box"===div.style.backgroundClip,jQuery(function(){var container,marginDiv,tds,divReset="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",body=document.getElementsByTagName("body")[0];body&&(container=document.createElement("div"),container.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",body.appendChild(container).appendChild(div),div.innerHTML="<table><tr><td></td><td>t</td></tr></table>",tds=div.getElementsByTagName("td"),tds[0].style.cssText="padding:0;margin:0;border:0;display:none",isSupported=0===tds[0].offsetHeight,tds[0].style.display="",tds[1].style.display="none",support.reliableHiddenOffsets=isSupported&&0===tds[0].offsetHeight,div.innerHTML="",div.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",support.boxSizing=4===div.offsetWidth,support.doesNotIncludeMarginInBodyOffset=1!==body.offsetTop,window.getComputedStyle&&(support.pixelPosition="1%"!==(window.getComputedStyle(div,null)||{}).top,support.boxSizingReliable="4px"===(window.getComputedStyle(div,null)||{
width:"4px"}).width,marginDiv=div.appendChild(document.createElement("div")),marginDiv.style.cssText=div.style.cssText=divReset,marginDiv.style.marginRight=marginDiv.style.width="0",div.style.width="1px",support.reliableMarginRight=!parseFloat((window.getComputedStyle(marginDiv,null)||{}).marginRight)),typeof div.style.zoom!==core_strundefined&&(div.innerHTML="",div.style.cssText=divReset+"width:1px;padding:1px;display:inline;zoom:1",support.inlineBlockNeedsLayout=3===div.offsetWidth,div.style.display="block",div.innerHTML="<div></div>",div.firstChild.style.width="5px",support.shrinkWrapBlocks=3!==div.offsetWidth,support.inlineBlockNeedsLayout&&(body.style.zoom=1)),body.removeChild(container),container=div=tds=marginDiv=null)}),all=select=fragment=opt=a=input=null,support}();var rbrace=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,rmultiDash=/([A-Z])/g;jQuery.extend({cache:{},expando:"jQuery"+(core_version+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(elem){return elem=elem.nodeType?jQuery.cache[elem[jQuery.expando]]:elem[jQuery.expando],!!elem&&!isEmptyDataObject(elem)},data:function(elem,name,data){return internalData(elem,name,data)},removeData:function(elem,name){return internalRemoveData(elem,name)},_data:function(elem,name,data){return internalData(elem,name,data,!0)},_removeData:function(elem,name){return internalRemoveData(elem,name,!0)},acceptData:function(elem){if(elem.nodeType&&1!==elem.nodeType&&9!==elem.nodeType)return!1;var noData=elem.nodeName&&jQuery.noData[elem.nodeName.toLowerCase()];return!noData||noData!==!0&&elem.getAttribute("classid")===noData}}),jQuery.fn.extend({data:function(key,value){var attrs,name,elem=this[0],i=0,data=null;if(key===undefined){if(this.length&&(data=jQuery.data(elem),1===elem.nodeType&&!jQuery._data(elem,"parsedAttrs"))){for(attrs=elem.attributes;i<attrs.length;i++)name=attrs[i].name,name.indexOf("data-")||(name=jQuery.camelCase(name.slice(5)),dataAttr(elem,name,data[name]));jQuery._data(elem,"parsedAttrs",!0)}return data}return"object"==typeof key?this.each(function(){jQuery.data(this,key)}):jQuery.access(this,function(value){return value===undefined?elem?dataAttr(elem,key,jQuery.data(elem,key)):null:void this.each(function(){jQuery.data(this,key,value)})},null,value,arguments.length>1,null,!0)},removeData:function(key){return this.each(function(){jQuery.removeData(this,key)})}}),jQuery.extend({queue:function(elem,type,data){var queue;if(elem)return type=(type||"fx")+"queue",queue=jQuery._data(elem,type),data&&(!queue||jQuery.isArray(data)?queue=jQuery._data(elem,type,jQuery.makeArray(data)):queue.push(data)),queue||[]},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type)};"inprogress"===fn&&(fn=queue.shift(),startLength--),hooks.cur=fn,fn&&("fx"===type&&queue.unshift("inprogress"),delete hooks.stop,fn.call(elem,next,hooks)),!startLength&&hooks&&hooks.empty.fire()},_queueHooks:function(elem,type){var key=type+"queueHooks";return jQuery._data(elem,key)||jQuery._data(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){jQuery._removeData(elem,type+"queue"),jQuery._removeData(elem,key)})})}}),jQuery.fn.extend({queue:function(type,data){var setter=2;return"string"!=typeof type&&(data=type,type="fx",setter--),arguments.length<setter?jQuery.queue(this[0],type):data===undefined?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type),"fx"===type&&"inprogress"!==queue[0]&&jQuery.dequeue(this,type)})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},delay:function(time,type){return time=jQuery.fx?jQuery.fx.speeds[time]||time:time,type=type||"fx",this.queue(type,function(next,hooks){var timeout=setTimeout(next,time);hooks.stop=function(){clearTimeout(timeout)}})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){--count||defer.resolveWith(elements,[elements])};for("string"!=typeof type&&(obj=type,type=undefined),type=type||"fx";i--;)tmp=jQuery._data(elements[i],type+"queueHooks"),tmp&&tmp.empty&&(count++,tmp.empty.add(resolve));return resolve(),defer.promise(obj)}});var nodeHook,boolHook,rclass=/[\t\r\n]/g,rreturn=/\r/g,rfocusable=/^(?:input|select|textarea|button|object)$/i,rclickable=/^(?:a|area)$/i,rboolean=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,ruseDefault=/^(?:checked|selected)$/i,getSetAttribute=jQuery.support.getSetAttribute,getSetInput=jQuery.support.input;jQuery.fn.extend({attr:function(name,value){return jQuery.access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})},prop:function(name,value){return jQuery.access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){return name=jQuery.propFix[name]||name,this.each(function(){try{this[name]=undefined,delete this[name]}catch(e){}})},addClass:function(value){var classes,elem,cur,clazz,j,i=0,len=this.length,proceed="string"==typeof value&&value;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).addClass(value.call(this,j,this.className))});if(proceed)for(classes=(value||"").match(core_rnotwhite)||[];i<len;i++)if(elem=this[i],cur=1===elem.nodeType&&(elem.className?(" "+elem.className+" ").replace(rclass," "):" ")){for(j=0;clazz=classes[j++];)cur.indexOf(" "+clazz+" ")<0&&(cur+=clazz+" ");elem.className=jQuery.trim(cur)}return this},removeClass:function(value){var classes,elem,cur,clazz,j,i=0,len=this.length,proceed=0===arguments.length||"string"==typeof value&&value;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).removeClass(value.call(this,j,this.className))});if(proceed)for(classes=(value||"").match(core_rnotwhite)||[];i<len;i++)if(elem=this[i],cur=1===elem.nodeType&&(elem.className?(" "+elem.className+" ").replace(rclass," "):"")){for(j=0;clazz=classes[j++];)for(;cur.indexOf(" "+clazz+" ")>=0;)cur=cur.replace(" "+clazz+" "," ");elem.className=value?jQuery.trim(cur):""}return this},toggleClass:function(value,stateVal){var type=typeof value,isBool="boolean"==typeof stateVal;return jQuery.isFunction(value)?this.each(function(i){jQuery(this).toggleClass(value.call(this,i,this.className,stateVal),stateVal)}):this.each(function(){if("string"===type)for(var className,i=0,self=jQuery(this),state=stateVal,classNames=value.match(core_rnotwhite)||[];className=classNames[i++];)state=isBool?state:!self.hasClass(className),self[state?"addClass":"removeClass"](className);else type!==core_strundefined&&"boolean"!==type||(this.className&&jQuery._data(this,"__className__",this.className),this.className=this.className||value===!1?"":jQuery._data(this,"__className__")||"")})},hasClass:function(selector){for(var className=" "+selector+" ",i=0,l=this.length;i<l;i++)if(1===this[i].nodeType&&(" "+this[i].className+" ").replace(rclass," ").indexOf(className)>=0)return!0;return!1},val:function(value){var ret,hooks,isFunction,elem=this[0];{if(arguments.length)return isFunction=jQuery.isFunction(value),this.each(function(i){var val,self=jQuery(this);1===this.nodeType&&(val=isFunction?value.call(this,i,self.val()):value,null==val?val="":"number"==typeof val?val+="":jQuery.isArray(val)&&(val=jQuery.map(val,function(value){return null==value?"":value+""})),hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()],hooks&&"set"in hooks&&hooks.set(this,val,"value")!==undefined||(this.value=val))});if(elem)return hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()],hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined?ret:(ret=elem.value,"string"==typeof ret?ret.replace(rreturn,""):null==ret?"":ret)}}}),jQuery.extend({valHooks:{option:{get:function(elem){var val=elem.attributes.value;return!val||val.specified?elem.value:elem.text}},select:{get:function(elem){for(var value,option,options=elem.options,index=elem.selectedIndex,one="select-one"===elem.type||index<0,values=one?null:[],max=one?index+1:options.length,i=index<0?max:one?index:0;i<max;i++)if(option=options[i],(option.selected||i===index)&&(jQuery.support.optDisabled?!option.disabled:null===option.getAttribute("disabled"))&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){if(value=jQuery(option).val(),one)return value;values.push(value)}return values},set:function(elem,value){var values=jQuery.makeArray(value);return jQuery(elem).find("option").each(function(){this.selected=jQuery.inArray(jQuery(this).val(),values)>=0}),values.length||(elem.selectedIndex=-1),values}}},attr:function(elem,name,value){var hooks,notxml,ret,nType=elem.nodeType;if(elem&&3!==nType&&8!==nType&&2!==nType)return typeof elem.getAttribute===core_strundefined?jQuery.prop(elem,name,value):(notxml=1!==nType||!jQuery.isXMLDoc(elem),notxml&&(name=name.toLowerCase(),hooks=jQuery.attrHooks[name]||(rboolean.test(name)?boolHook:nodeHook)),value===undefined?hooks&&notxml&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:(typeof elem.getAttribute!==core_strundefined&&(ret=elem.getAttribute(name)),null==ret?undefined:ret):null!==value?hooks&&notxml&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined?ret:(elem.setAttribute(name,value+""),value):void jQuery.removeAttr(elem,name))},removeAttr:function(elem,value){var name,propName,i=0,attrNames=value&&value.match(core_rnotwhite);if(attrNames&&1===elem.nodeType)for(;name=attrNames[i++];)propName=jQuery.propFix[name]||name,rboolean.test(name)?!getSetAttribute&&ruseDefault.test(name)?elem[jQuery.camelCase("default-"+name)]=elem[propName]=!1:elem[propName]=!1:jQuery.attr(elem,name,""),elem.removeAttribute(getSetAttribute?name:propName)},attrHooks:{type:{set:function(elem,value){if(!jQuery.support.radioValue&&"radio"===value&&jQuery.nodeName(elem,"input")){var val=elem.value;return elem.setAttribute("type",value),val&&(elem.value=val),value}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(elem,name,value){var ret,hooks,notxml,nType=elem.nodeType;if(elem&&3!==nType&&8!==nType&&2!==nType)return notxml=1!==nType||!jQuery.isXMLDoc(elem),notxml&&(name=jQuery.propFix[name]||name,hooks=jQuery.propHooks[name]),value!==undefined?hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined?ret:elem[name]=value:hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:elem[name]},propHooks:{tabIndex:{get:function(elem){var attributeNode=elem.getAttributeNode("tabindex");return attributeNode&&attributeNode.specified?parseInt(attributeNode.value,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:undefined}}}}),boolHook={get:function(elem,name){var prop=jQuery.prop(elem,name),attr="boolean"==typeof prop&&elem.getAttribute(name),detail="boolean"==typeof prop?getSetInput&&getSetAttribute?null!=attr:ruseDefault.test(name)?elem[jQuery.camelCase("default-"+name)]:!!attr:elem.getAttributeNode(name);return detail&&detail.value!==!1?name.toLowerCase():undefined},set:function(elem,value,name){return value===!1?jQuery.removeAttr(elem,name):getSetInput&&getSetAttribute||!ruseDefault.test(name)?elem.setAttribute(!getSetAttribute&&jQuery.propFix[name]||name,name):elem[jQuery.camelCase("default-"+name)]=elem[name]=!0,name}},getSetInput&&getSetAttribute||(jQuery.attrHooks.value={get:function(elem,name){var ret=elem.getAttributeNode(name);return jQuery.nodeName(elem,"input")?elem.defaultValue:ret&&ret.specified?ret.value:undefined},set:function(elem,value,name){return jQuery.nodeName(elem,"input")?void(elem.defaultValue=value):nodeHook&&nodeHook.set(elem,value,name)}}),getSetAttribute||(nodeHook=jQuery.valHooks.button={get:function(elem,name){var ret=elem.getAttributeNode(name);return ret&&("id"===name||"name"===name||"coords"===name?""!==ret.value:ret.specified)?ret.value:undefined},set:function(elem,value,name){var ret=elem.getAttributeNode(name);return ret||elem.setAttributeNode(ret=elem.ownerDocument.createAttribute(name)),ret.value=value+="","value"===name||value===elem.getAttribute(name)?value:undefined}},jQuery.attrHooks.contenteditable={get:nodeHook.get,set:function(elem,value,name){nodeHook.set(elem,""!==value&&value,name)}},jQuery.each(["width","height"],function(i,name){jQuery.attrHooks[name]=jQuery.extend(jQuery.attrHooks[name],{set:function(elem,value){if(""===value)return elem.setAttribute(name,"auto"),value}})})),jQuery.support.hrefNormalized||(jQuery.each(["href","src","width","height"],function(i,name){jQuery.attrHooks[name]=jQuery.extend(jQuery.attrHooks[name],{get:function(elem){var ret=elem.getAttribute(name,2);return null==ret?undefined:ret}})}),jQuery.each(["href","src"],function(i,name){jQuery.propHooks[name]={get:function(elem){return elem.getAttribute(name,4)}}})),jQuery.support.style||(jQuery.attrHooks.style={get:function(elem){return elem.style.cssText||undefined},set:function(elem,value){return elem.style.cssText=value+""}}),jQuery.support.optSelected||(jQuery.propHooks.selected=jQuery.extend(jQuery.propHooks.selected,{get:function(elem){var parent=elem.parentNode;return parent&&(parent.selectedIndex,parent.parentNode&&parent.parentNode.selectedIndex),null}})),jQuery.support.enctype||(jQuery.propFix.enctype="encoding"),jQuery.support.checkOn||jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={get:function(elem){return null===elem.getAttribute("value")?"on":elem.value}}}),jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]=jQuery.extend(jQuery.valHooks[this],{set:function(elem,value){if(jQuery.isArray(value))return elem.checked=jQuery.inArray(jQuery(elem).val(),value)>=0}})});var rformElems=/^(?:input|select|textarea)$/i,rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|contextmenu)|click/,rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,rtypenamespace=/^([^.]*)(?:\.(.+)|)$/;jQuery.event={global:{},add:function(elem,types,handler,data,selector){var tmp,events,t,handleObjIn,special,eventHandle,handleObj,handlers,type,namespaces,origType,elemData=jQuery._data(elem);if(elemData){for(handler.handler&&(handleObjIn=handler,handler=handleObjIn.handler,selector=handleObjIn.selector),handler.guid||(handler.guid=jQuery.guid++),(events=elemData.events)||(events=elemData.events={}),(eventHandle=elemData.handle)||(eventHandle=elemData.handle=function(e){return typeof jQuery===core_strundefined||e&&jQuery.event.triggered===e.type?undefined:jQuery.event.dispatch.apply(eventHandle.elem,arguments)},eventHandle.elem=elem),types=(types||"").match(core_rnotwhite)||[""],t=types.length;t--;)tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||"").split(".").sort(),special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,special=jQuery.event.special[type]||{},handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn),(handlers=events[type])||(handlers=events[type]=[],handlers.delegateCount=0,special.setup&&special.setup.call(elem,data,namespaces,eventHandle)!==!1||(elem.addEventListener?elem.addEventListener(type,eventHandle,!1):elem.attachEvent&&elem.attachEvent("on"+type,eventHandle))),special.add&&(special.add.call(elem,handleObj),handleObj.handler.guid||(handleObj.handler.guid=handler.guid)),selector?handlers.splice(handlers.delegateCount++,0,handleObj):handlers.push(handleObj),jQuery.event.global[type]=!0;elem=null}},remove:function(elem,types,handler,selector,mappedTypes){var j,handleObj,tmp,origCount,t,events,special,handlers,type,namespaces,origType,elemData=jQuery.hasData(elem)&&jQuery._data(elem);if(elemData&&(events=elemData.events)){for(types=(types||"").match(core_rnotwhite)||[""],t=types.length;t--;)if(tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||"").split(".").sort(),type){for(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,handlers=events[type]||[],tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"),origCount=j=handlers.length;j--;)handleObj=handlers[j],!mappedTypes&&origType!==handleObj.origType||handler&&handler.guid!==handleObj.guid||tmp&&!tmp.test(handleObj.namespace)||selector&&selector!==handleObj.selector&&("**"!==selector||!handleObj.selector)||(handlers.splice(j,1),handleObj.selector&&handlers.delegateCount--,special.remove&&special.remove.call(elem,handleObj));origCount&&!handlers.length&&(special.teardown&&special.teardown.call(elem,namespaces,elemData.handle)!==!1||jQuery.removeEvent(elem,type,elemData.handle),delete events[type])}else for(type in events)jQuery.event.remove(elem,type+types[t],handler,selector,!0);jQuery.isEmptyObject(events)&&(delete elemData.handle,jQuery._removeData(elem,"events"))}},trigger:function(event,data,elem,onlyHandlers){var handle,ontype,cur,bubbleType,special,tmp,i,eventPath=[elem||document],type=core_hasOwn.call(event,"type")?event.type:event,namespaces=core_hasOwn.call(event,"namespace")?event.namespace.split("."):[];if(cur=tmp=elem=elem||document,3!==elem.nodeType&&8!==elem.nodeType&&!rfocusMorph.test(type+jQuery.event.triggered)&&(type.indexOf(".")>=0&&(namespaces=type.split("."),type=namespaces.shift(),namespaces.sort()),ontype=type.indexOf(":")<0&&"on"+type,event=event[jQuery.expando]?event:new jQuery.Event(type,"object"==typeof event&&event),event.isTrigger=!0,event.namespace=namespaces.join("."),event.namespace_re=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,event.result=undefined,event.target||(event.target=elem),data=null==data?[event]:jQuery.makeArray(data,[event]),special=jQuery.event.special[type]||{},onlyHandlers||!special.trigger||special.trigger.apply(elem,data)!==!1)){if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){for(bubbleType=special.delegateType||type,rfocusMorph.test(bubbleType+type)||(cur=cur.parentNode);cur;cur=cur.parentNode)eventPath.push(cur),tmp=cur;tmp===(elem.ownerDocument||document)&&eventPath.push(tmp.defaultView||tmp.parentWindow||window)}for(i=0;(cur=eventPath[i++])&&!event.isPropagationStopped();)event.type=i>1?bubbleType:special.bindType||type,handle=(jQuery._data(cur,"events")||{})[event.type]&&jQuery._data(cur,"handle"),handle&&handle.apply(cur,data),handle=ontype&&cur[ontype],handle&&jQuery.acceptData(cur)&&handle.apply&&handle.apply(cur,data)===!1&&event.preventDefault();if(event.type=type,!onlyHandlers&&!event.isDefaultPrevented()&&(!special._default||special._default.apply(elem.ownerDocument,data)===!1)&&("click"!==type||!jQuery.nodeName(elem,"a"))&&jQuery.acceptData(elem)&&ontype&&elem[type]&&!jQuery.isWindow(elem)){tmp=elem[ontype],tmp&&(elem[ontype]=null),jQuery.event.triggered=type;try{elem[type]()}catch(e){}jQuery.event.triggered=undefined,tmp&&(elem[ontype]=tmp)}return event.result}},dispatch:function(event){event=jQuery.event.fix(event);var i,ret,handleObj,matched,j,handlerQueue=[],args=core_slice.call(arguments),handlers=(jQuery._data(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};if(args[0]=event,event.delegateTarget=this,!special.preDispatch||special.preDispatch.call(this,event)!==!1){for(handlerQueue=jQuery.event.handlers.call(this,event,handlers),i=0;(matched=handlerQueue[i++])&&!event.isPropagationStopped();)for(event.currentTarget=matched.elem,j=0;(handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped();)if(!event.namespace_re||event.namespace_re.test(handleObj.namespace)){event.handleObj=handleObj,event.data=handleObj.data;var obj=(jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler;obj.apply&&(ret=obj.apply(matched.elem,args)),ret!==undefined&&(event.result=ret)===!1&&(event.preventDefault(),event.stopPropagation())}return special.postDispatch&&special.postDispatch.call(this,event),event.result}},handlers:function(event,handlers){var sel,handleObj,matches,i,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&(!event.button||"click"!==event.type))for(;cur!=this;cur=cur.parentNode||this)if(1===cur.nodeType&&(cur.disabled!==!0||"click"!==event.type)){for(matches=[],i=0;i<delegateCount;i++)handleObj=handlers[i],sel=handleObj.selector+" ",matches[sel]===undefined&&(matches[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>=0:jQuery.find(sel,this,null,[cur]).length),matches[sel]&&matches.push(handleObj);matches.length&&handlerQueue.push({elem:cur,handlers:matches})}return delegateCount<handlers.length&&handlerQueue.push({elem:this,handlers:handlers.slice(delegateCount)}),handlerQueue},fix:function(event){if(event[jQuery.expando])return event;var i,prop,copy,type=event.type,originalEvent=event,fixHook=this.fixHooks[type];for(fixHook||(this.fixHooks[type]=fixHook=rmouseEvent.test(type)?this.mouseHooks:rkeyEvent.test(type)?this.keyHooks:{}),copy=fixHook.props?this.props.concat(fixHook.props):this.props,event=new jQuery.Event(originalEvent),i=copy.length;i--;)prop=copy[i],event[prop]=originalEvent[prop];return event.target||(event.target=originalEvent.srcElement||document),3===event.target.nodeType&&(event.target=event.target.parentNode),event.metaKey=!!event.metaKey,fixHook.filter?fixHook.filter(event,originalEvent):event},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(event,original){return null==event.which&&(event.which=null!=original.charCode?original.charCode:original.keyCode),event}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(event,original){var body,eventDoc,doc,button=original.button,fromElement=original.fromElement;return null==event.pageX&&null!=original.clientX&&(eventDoc=event.target.ownerDocument||document,doc=eventDoc.documentElement,body=eventDoc.body,event.pageX=original.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0),event.pageY=original.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)),!event.relatedTarget&&fromElement&&(event.relatedTarget=fromElement===event.target?original.toElement:fromElement),event.which||button===undefined||(event.which=1&button?1:2&button?3:4&button?2:0),event}},special:{load:{noBubble:!0},click:{trigger:function(){if(jQuery.nodeName(this,"input")&&"checkbox"===this.type&&this.click)return this.click(),!1}},focus:{trigger:function(){if(this!==document.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){if(this===document.activeElement&&this.blur)return this.blur(),!1},delegateType:"focusout"},beforeunload:{postDispatch:function(event){event.result!==undefined&&(event.originalEvent.returnValue=event.result)}}},simulate:function(type,elem,event,bubble){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:!0,originalEvent:{}});bubble?jQuery.event.trigger(e,null,elem):jQuery.event.dispatch.call(elem,e),e.isDefaultPrevented()&&event.preventDefault()}},jQuery.removeEvent=document.removeEventListener?function(elem,type,handle){elem.removeEventListener&&elem.removeEventListener(type,handle,!1)}:function(elem,type,handle){var name="on"+type;elem.detachEvent&&(typeof elem[name]===core_strundefined&&(elem[name]=null),elem.detachEvent(name,handle))},jQuery.Event=function(src,props){return this instanceof jQuery.Event?(src&&src.type?(this.originalEvent=src,this.type=src.type,this.isDefaultPrevented=src.defaultPrevented||src.returnValue===!1||src.getPreventDefault&&src.getPreventDefault()?returnTrue:returnFalse):this.type=src,props&&jQuery.extend(this,props),this.timeStamp=src&&src.timeStamp||jQuery.now(),void(this[jQuery.expando]=!0)):new jQuery.Event(src,props)},jQuery.Event.prototype={isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue,this.stopPropagation()}},jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;return related&&(related===target||jQuery.contains(target,related))||(event.type=handleObj.origType,ret=handleObj.handler.apply(this,arguments),event.type=fix),ret}}}),jQuery.support.submitBubbles||(jQuery.event.special.submit={setup:function(){return!jQuery.nodeName(this,"form")&&void jQuery.event.add(this,"click._submit keypress._submit",function(e){var elem=e.target,form=jQuery.nodeName(elem,"input")||jQuery.nodeName(elem,"button")?elem.form:undefined;form&&!jQuery._data(form,"submitBubbles")&&(jQuery.event.add(form,"submit._submit",function(event){event._submit_bubble=!0}),jQuery._data(form,"submitBubbles",!0))})},postDispatch:function(event){event._submit_bubble&&(delete event._submit_bubble,this.parentNode&&!event.isTrigger&&jQuery.event.simulate("submit",this.parentNode,event,!0))},teardown:function(){return!jQuery.nodeName(this,"form")&&void jQuery.event.remove(this,"._submit")}}),jQuery.support.changeBubbles||(jQuery.event.special.change={setup:function(){return rformElems.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(jQuery.event.add(this,"propertychange._change",function(event){"checked"===event.originalEvent.propertyName&&(this._just_changed=!0)}),jQuery.event.add(this,"click._change",function(event){this._just_changed&&!event.isTrigger&&(this._just_changed=!1),jQuery.event.simulate("change",this,event,!0)})),!1):void jQuery.event.add(this,"beforeactivate._change",function(e){var elem=e.target;rformElems.test(elem.nodeName)&&!jQuery._data(elem,"changeBubbles")&&(jQuery.event.add(elem,"change._change",function(event){!this.parentNode||event.isSimulated||event.isTrigger||jQuery.event.simulate("change",this.parentNode,event,!0)}),jQuery._data(elem,"changeBubbles",!0))})},handle:function(event){var elem=event.target;if(this!==elem||event.isSimulated||event.isTrigger||"radio"!==elem.type&&"checkbox"!==elem.type)return event.handleObj.handler.apply(this,arguments)},teardown:function(){return jQuery.event.remove(this,"._change"),!rformElems.test(this.nodeName)}}),jQuery.support.focusinBubbles||jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var attaches=0,handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event),!0)};jQuery.event.special[fix]={setup:function(){0===attaches++&&document.addEventListener(orig,handler,!0)},teardown:function(){0===--attaches&&document.removeEventListener(orig,handler,!0)}}}),jQuery.fn.extend({on:function(types,selector,data,fn,one){var type,origFn;if("object"==typeof types){"string"!=typeof selector&&(data=data||selector,selector=undefined);for(type in types)this.on(type,selector,data,types[type],one);return this}if(null==data&&null==fn?(fn=selector,data=selector=undefined):null==fn&&("string"==typeof selector?(fn=data,data=undefined):(fn=data,data=selector,selector=undefined)),fn===!1)fn=returnFalse;else if(!fn)return this;return 1===one&&(origFn=fn,fn=function(event){return jQuery().off(event),origFn.apply(this,arguments)},fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)),this.each(function(){jQuery.event.add(this,types,fn,data,selector)})},one:function(types,selector,data,fn){return this.on(types,selector,data,fn,1)},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj)return handleObj=types.handleObj,jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler),this;if("object"==typeof types){for(type in types)this.off(type,selector,types[type]);return this}return selector!==!1&&"function"!=typeof selector||(fn=selector,selector=undefined),fn===!1&&(fn=returnFalse),this.each(function(){jQuery.event.remove(this,types,fn,selector)})},bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return 1===arguments.length?this.off(selector,"**"):this.off(types,selector||"**",fn)},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){var elem=this[0];if(elem)return jQuery.event.trigger(type,data,elem,!0)}}),function(window,undefined){function isNative(fn){return rnative.test(fn+"")}function createCache(){var cache,keys=[];return cache=function(key,value){return keys.push(key+=" ")>Expr.cacheLength&&delete cache[keys.shift()],cache[key]=value}}function markFunction(fn){return fn[expando]=!0,fn}function assert(fn){var div=document.createElement("div");try{return fn(div)}catch(e){return!1}finally{div=null}}function Sizzle(selector,context,results,seed){var match,elem,m,nodeType,i,groups,old,nid,newContext,newSelector;if((context?context.ownerDocument||context:preferredDoc)!==document&&setDocument(context),context=context||document,results=results||[],!selector||"string"!=typeof selector)return results;if(1!==(nodeType=context.nodeType)&&9!==nodeType)return[];if(!documentIsXML&&!seed){if(match=rquickExpr.exec(selector))if(m=match[1]){if(9===nodeType){if(elem=context.getElementById(m),!elem||!elem.parentNode)return results;if(elem.id===m)return results.push(elem),results}else if(context.ownerDocument&&(elem=context.ownerDocument.getElementById(m))&&contains(context,elem)&&elem.id===m)return results.push(elem),results}else{if(match[2])return push.apply(results,slice.call(context.getElementsByTagName(selector),0)),results;if((m=match[3])&&support.getByClassName&&context.getElementsByClassName)return push.apply(results,slice.call(context.getElementsByClassName(m),0)),results}if(support.qsa&&!rbuggyQSA.test(selector)){if(old=!0,nid=expando,newContext=context,newSelector=9===nodeType&&selector,1===nodeType&&"object"!==context.nodeName.toLowerCase()){for(groups=tokenize(selector),(old=context.getAttribute("id"))?nid=old.replace(rescape,"\\$&"):context.setAttribute("id",nid),nid="[id='"+nid+"'] ",i=groups.length;i--;)groups[i]=nid+toSelector(groups[i]);newContext=rsibling.test(selector)&&context.parentNode||context,newSelector=groups.join(",")}if(newSelector)try{return push.apply(results,slice.call(newContext.querySelectorAll(newSelector),0)),results}catch(qsaError){}finally{old||context.removeAttribute("id")}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function siblingCheck(a,b){var cur=b&&a,diff=cur&&(~b.sourceIndex||MAX_NEGATIVE)-(~a.sourceIndex||MAX_NEGATIVE);if(diff)return diff;if(cur)for(;cur=cur.nextSibling;)if(cur===b)return-1;return a?1:-1}function createInputPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return"input"===name&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();
return("input"===name||"button"===name)&&elem.type===type}}function createPositionalPseudo(fn){return markFunction(function(argument){return argument=+argument,markFunction(function(seed,matches){for(var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;i--;)seed[j=matchIndexes[i]]&&(seed[j]=!(matches[j]=seed[j]))})})}function tokenize(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached)return parseOnly?0:cached.slice(0);for(soFar=selector,groups=[],preFilters=Expr.preFilter;soFar;){matched&&!(match=rcomma.exec(soFar))||(match&&(soFar=soFar.slice(match[0].length)||soFar),groups.push(tokens=[])),matched=!1,(match=rcombinators.exec(soFar))&&(matched=match.shift(),tokens.push({value:matched,type:match[0].replace(rtrim," ")}),soFar=soFar.slice(matched.length));for(type in Expr.filter)!(match=matchExpr[type].exec(soFar))||preFilters[type]&&!(match=preFilters[type](match))||(matched=match.shift(),tokens.push({value:matched,type:type,matches:match}),soFar=soFar.slice(matched.length));if(!matched)break}return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0)}function toSelector(tokens){for(var i=0,len=tokens.length,selector="";i<len;i++)selector+=tokens[i].value;return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,checkNonElements=base&&"parentNode"===dir,doneName=done++;return combinator.first?function(elem,context,xml){for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)return matcher(elem,context,xml)}:function(elem,context,xml){var data,cache,outerCache,dirkey=dirruns+" "+doneName;if(xml){for(;elem=elem[dir];)if((1===elem.nodeType||checkNonElements)&&matcher(elem,context,xml))return!0}else for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)if(outerCache=elem[expando]||(elem[expando]={}),(cache=outerCache[dir])&&cache[0]===dirkey){if((data=cache[1])===!0||data===cachedruns)return data===!0}else if(cache=outerCache[dir]=[dirkey],cache[1]=matcher(elem,context,xml)||cachedruns,cache[1]===!0)return!0}}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){for(var i=matchers.length;i--;)if(!matchers[i](elem,context,xml))return!1;return!0}:matchers[0]}function condense(unmatched,map,filter,context,xml){for(var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=null!=map;i<len;i++)(elem=unmatched[i])&&(filter&&!filter(elem,context,xml)||(newUnmatched.push(elem),mapped&&map.push(i)));return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){return postFilter&&!postFilter[expando]&&(postFilter=setMatcher(postFilter)),postFinder&&!postFinder[expando]&&(postFinder=setMatcher(postFinder,postSelector)),markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=!preFilter||!seed&&selector?elems:condense(elems,preMap,preFilter,context,xml),matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher&&matcher(matcherIn,matcherOut,context,xml),postFilter)for(temp=condense(matcherOut,postMap),postFilter(temp,[],context,xml),i=temp.length;i--;)(elem=temp[i])&&(matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem));if(seed){if(postFinder||preFilter){if(postFinder){for(temp=[],i=matcherOut.length;i--;)(elem=matcherOut[i])&&temp.push(matcherIn[i]=elem);postFinder(null,matcherOut=[],temp,xml)}for(i=matcherOut.length;i--;)(elem=matcherOut[i])&&(temp=postFinder?indexOf.call(seed,elem):preMap[i])>-1&&(seed[temp]=!(results[temp]=elem))}}else matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut),postFinder?postFinder(null,results,matcherOut,xml):push.apply(results,matcherOut)})}function matcherFromTokens(tokens){for(var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext},implicitRelative,!0),matchAnyContext=addCombinator(function(elem){return indexOf.call(checkContext,elem)>-1},implicitRelative,!0),matchers=[function(elem,context,xml){return!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml))}];i<len;i++)if(matcher=Expr.relative[tokens[i].type])matchers=[addCombinator(elementMatcher(matchers),matcher)];else{if(matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches),matcher[expando]){for(j=++i;j<len&&!Expr.relative[tokens[j].type];j++);return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1)).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens(tokens=tokens.slice(j)),j<len&&toSelector(tokens))}matchers.push(matcher)}return elementMatcher(matchers)}function matcherFromGroupMatchers(elementMatchers,setMatchers){var matcherCachedRuns=0,bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,expandContext){var elem,j,matcher,setMatched=[],matchedCount=0,i="0",unmatched=seed&&[],outermost=null!=expandContext,contextBackup=outermostContext,elems=seed||byElement&&Expr.find.TAG("*",expandContext&&context.parentNode||context),dirrunsUnique=dirruns+=null==contextBackup?1:Math.random()||.1;for(outermost&&(outermostContext=context!==document&&context,cachedruns=matcherCachedRuns);null!=(elem=elems[i]);i++){if(byElement&&elem){for(j=0;matcher=elementMatchers[j++];)if(matcher(elem,context,xml)){results.push(elem);break}outermost&&(dirruns=dirrunsUnique,cachedruns=++matcherCachedRuns)}bySet&&((elem=!matcher&&elem)&&matchedCount--,seed&&unmatched.push(elem))}if(matchedCount+=i,bySet&&i!==matchedCount){for(j=0;matcher=setMatchers[j++];)matcher(unmatched,setMatched,context,xml);if(seed){if(matchedCount>0)for(;i--;)unmatched[i]||setMatched[i]||(setMatched[i]=pop.call(results));setMatched=condense(setMatched)}push.apply(results,setMatched),outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1&&Sizzle.uniqueSort(results)}return outermost&&(dirruns=dirrunsUnique,outermostContext=contextBackup),unmatched};return bySet?markFunction(superMatcher):superMatcher}function multipleContexts(selector,contexts,results){for(var i=0,len=contexts.length;i<len;i++)Sizzle(selector,contexts[i],results);return results}function select(selector,context,results,seed){var i,tokens,token,type,find,match=tokenize(selector);if(!seed&&1===match.length){if(tokens=match[0]=match[0].slice(0),tokens.length>2&&"ID"===(token=tokens[0]).type&&9===context.nodeType&&!documentIsXML&&Expr.relative[tokens[1].type]){if(context=Expr.find.ID(token.matches[0].replace(runescape,funescape),context)[0],!context)return results;selector=selector.slice(tokens.shift().value.length)}for(i=matchExpr.needsContext.test(selector)?0:tokens.length;i--&&(token=tokens[i],!Expr.relative[type=token.type]);)if((find=Expr.find[type])&&(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&context.parentNode||context))){if(tokens.splice(i,1),selector=seed.length&&toSelector(tokens),!selector)return push.apply(results,slice.call(seed,0)),results;break}}return compile(selector,match)(seed,context,documentIsXML,results,rsibling.test(selector)),results}function setFilters(){}var i,cachedruns,Expr,getText,isXML,compile,hasDuplicate,outermostContext,setDocument,document,docElem,documentIsXML,rbuggyQSA,rbuggyMatches,matches,contains,sortOrder,expando="sizzle"+-new Date,preferredDoc=window.document,support={},dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),strundefined=typeof undefined,MAX_NEGATIVE=1<<31,arr=[],pop=arr.pop,push=arr.push,slice=arr.slice,indexOf=arr.indexOf||function(elem){for(var i=0,len=this.length;i<len;i++)if(this[i]===elem)return i;return-1},whitespace="[\\x20\\t\\r\\n\\f]",characterEncoding="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",identifier=characterEncoding.replace("w","w#"),operators="([*^$|!~]?=)",attributes="\\["+whitespace+"*("+characterEncoding+")"+whitespace+"*(?:"+operators+whitespace+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+identifier+")|)|)"+whitespace+"*\\]",pseudos=":("+characterEncoding+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+attributes.replace(3,8)+")*)|.*)\\)|)",rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([\\x20\\t\\r\\n\\f>+~])"+whitespace+"*"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+characterEncoding+")"),CLASS:new RegExp("^\\.("+characterEncoding+")"),NAME:new RegExp("^\\[name=['\"]?("+characterEncoding+")['\"]?\\]"),TAG:new RegExp("^("+characterEncoding.replace("w","w*")+")"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rsibling=/[\x20\t\r\n\f]*[+~]/,rnative=/^[^{]+\{\s*\[native code/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rescape=/'|\\/g,rattributeQuotes=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,runescape=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,funescape=function(_,escaped){var high="0x"+escaped-65536;return high!==high?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)};try{slice.call(preferredDoc.documentElement.childNodes,0)[0].nodeType}catch(e){slice=function(i){for(var elem,results=[];elem=this[i++];)results.push(elem);return results}}isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return!!documentElement&&"HTML"!==documentElement.nodeName},setDocument=Sizzle.setDocument=function(node){var doc=node?node.ownerDocument||node:preferredDoc;return doc!==document&&9===doc.nodeType&&doc.documentElement?(document=doc,docElem=doc.documentElement,documentIsXML=isXML(doc),support.tagNameNoComments=assert(function(div){return div.appendChild(doc.createComment("")),!div.getElementsByTagName("*").length}),support.attributes=assert(function(div){div.innerHTML="<select></select>";var type=typeof div.lastChild.getAttribute("multiple");return"boolean"!==type&&"string"!==type}),support.getByClassName=assert(function(div){return div.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!(!div.getElementsByClassName||!div.getElementsByClassName("e").length)&&(div.lastChild.className="e",2===div.getElementsByClassName("e").length)}),support.getByName=assert(function(div){div.id=expando+0,div.innerHTML="<a name='"+expando+"'></a><div name='"+expando+"'></div>",docElem.insertBefore(div,docElem.firstChild);var pass=doc.getElementsByName&&doc.getElementsByName(expando).length===2+doc.getElementsByName(expando+0).length;return support.getIdNotName=!doc.getElementById(expando),docElem.removeChild(div),pass}),Expr.attrHandle=assert(function(div){return div.innerHTML="<a href='#'></a>",div.firstChild&&typeof div.firstChild.getAttribute!==strundefined&&"#"===div.firstChild.getAttribute("href")})?{}:{href:function(elem){return elem.getAttribute("href",2)},type:function(elem){return elem.getAttribute("type")}},support.getIdNotName?(Expr.find.ID=function(id,context){if(typeof context.getElementById!==strundefined&&!documentIsXML){var m=context.getElementById(id);return m&&m.parentNode?[m]:[]}},Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}}):(Expr.find.ID=function(id,context){if(typeof context.getElementById!==strundefined&&!documentIsXML){var m=context.getElementById(id);return m?m.id===id||typeof m.getAttributeNode!==strundefined&&m.getAttributeNode("id").value===id?[m]:undefined:[]}},Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=typeof elem.getAttributeNode!==strundefined&&elem.getAttributeNode("id");return node&&node.value===attrId}}),Expr.find.TAG=support.tagNameNoComments?function(tag,context){if(typeof context.getElementsByTagName!==strundefined)return context.getElementsByTagName(tag)}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if("*"===tag){for(;elem=results[i++];)1===elem.nodeType&&tmp.push(elem);return tmp}return results},Expr.find.NAME=support.getByName&&function(tag,context){if(typeof context.getElementsByName!==strundefined)return context.getElementsByName(name)},Expr.find.CLASS=support.getByClassName&&function(className,context){if(typeof context.getElementsByClassName!==strundefined&&!documentIsXML)return context.getElementsByClassName(className)},rbuggyMatches=[],rbuggyQSA=[":focus"],(support.qsa=isNative(doc.querySelectorAll))&&(assert(function(div){div.innerHTML="<select><option selected=''></option></select>",div.querySelectorAll("[selected]").length||rbuggyQSA.push("\\["+whitespace+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),div.querySelectorAll(":checked").length||rbuggyQSA.push(":checked")}),assert(function(div){div.innerHTML="<input type='hidden' i=''/>",div.querySelectorAll("[i^='']").length&&rbuggyQSA.push("[*^$]="+whitespace+"*(?:\"\"|'')"),div.querySelectorAll(":enabled").length||rbuggyQSA.push(":enabled",":disabled"),div.querySelectorAll("*,:x"),rbuggyQSA.push(",.*:")})),(support.matchesSelector=isNative(matches=docElem.matchesSelector||docElem.mozMatchesSelector||docElem.webkitMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector))&&assert(function(div){support.disconnectedMatch=matches.call(div,"div"),matches.call(div,"[s!='']:x"),rbuggyMatches.push("!=",pseudos)}),rbuggyQSA=new RegExp(rbuggyQSA.join("|")),rbuggyMatches=new RegExp(rbuggyMatches.join("|")),contains=isNative(docElem.contains)||docElem.compareDocumentPosition?function(a,b){var adown=9===a.nodeType?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!(!bup||1!==bup.nodeType||!(adown.contains?adown.contains(bup):a.compareDocumentPosition&&16&a.compareDocumentPosition(bup)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},sortOrder=docElem.compareDocumentPosition?function(a,b){var compare;return a===b?(hasDuplicate=!0,0):(compare=b.compareDocumentPosition&&a.compareDocumentPosition&&a.compareDocumentPosition(b))?1&compare||a.parentNode&&11===a.parentNode.nodeType?a===doc||contains(preferredDoc,a)?-1:b===doc||contains(preferredDoc,b)?1:0:4&compare?-1:1:a.compareDocumentPosition?-1:1}:function(a,b){var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(a===b)return hasDuplicate=!0,0;if(!aup||!bup)return a===doc?-1:b===doc?1:aup?-1:bup?1:0;if(aup===bup)return siblingCheck(a,b);for(cur=a;cur=cur.parentNode;)ap.unshift(cur);for(cur=b;cur=cur.parentNode;)bp.unshift(cur);for(;ap[i]===bp[i];)i++;return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0},hasDuplicate=!1,[0,0].sort(sortOrder),support.detectDuplicates=hasDuplicate,document):document},Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)},Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document&&setDocument(elem),expr=expr.replace(rattributeQuotes,"='$1']"),support.matchesSelector&&!documentIsXML&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&!rbuggyQSA.test(expr))try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&11!==elem.document.nodeType)return ret}catch(e){}return Sizzle(expr,document,null,[elem]).length>0},Sizzle.contains=function(context,elem){return(context.ownerDocument||context)!==document&&setDocument(context),contains(context,elem)},Sizzle.attr=function(elem,name){var val;return(elem.ownerDocument||elem)!==document&&setDocument(elem),documentIsXML||(name=name.toLowerCase()),(val=Expr.attrHandle[name])?val(elem):documentIsXML||support.attributes?elem.getAttribute(name):((val=elem.getAttributeNode(name))||elem.getAttribute(name))&&elem[name]===!0?name:val&&val.specified?val.value:null},Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)},Sizzle.uniqueSort=function(results){var elem,duplicates=[],i=1,j=0;if(hasDuplicate=!support.detectDuplicates,results.sort(sortOrder),hasDuplicate){for(;elem=results[i];i++)elem===results[i-1]&&(j=duplicates.push(i));for(;j--;)results.splice(duplicates[j],1)}return results},getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(nodeType){if(1===nodeType||9===nodeType||11===nodeType){if("string"==typeof elem.textContent)return elem.textContent;for(elem=elem.firstChild;elem;elem=elem.nextSibling)ret+=getText(elem)}else if(3===nodeType||4===nodeType)return elem.nodeValue}else for(;node=elem[i];i++)ret+=getText(node);return ret},Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){return match[1]=match[1].replace(runescape,funescape),match[3]=(match[4]||match[5]||"").replace(runescape,funescape),"~="===match[2]&&(match[3]=" "+match[3]+" "),match.slice(0,4)},CHILD:function(match){return match[1]=match[1].toLowerCase(),"nth"===match[1].slice(0,3)?(match[3]||Sizzle.error(match[0]),match[4]=+(match[4]?match[5]+(match[6]||1):2*("even"===match[3]||"odd"===match[3])),match[5]=+(match[7]+match[8]||"odd"===match[3])):match[3]&&Sizzle.error(match[0]),match},PSEUDO:function(match){var excess,unquoted=!match[5]&&match[2];return matchExpr.CHILD.test(match[0])?null:(match[4]?match[2]=match[4]:unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,!0))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)&&(match[0]=match[0].slice(0,excess),match[2]=unquoted.slice(0,excess)),match.slice(0,3))}},filter:{TAG:function(nodeName){return"*"===nodeName?function(){return!0}:(nodeName=nodeName.replace(runescape,funescape).toLowerCase(),function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName})},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test(elem.className||typeof elem.getAttribute!==strundefined&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);return null==result?"!="===operator:!operator||(result+="","="===operator?result===check:"!="===operator?result!==check:"^="===operator?check&&0===result.indexOf(check):"*="===operator?check&&result.indexOf(check)>-1:"$="===operator?check&&result.slice(-check.length)===check:"~="===operator?(" "+result+" ").indexOf(check)>-1:"|="===operator&&(result===check||result.slice(0,check.length+1)===check+"-"))}},CHILD:function(type,what,argument,first,last){var simple="nth"!==type.slice(0,3),forward="last"!==type.slice(-4),ofType="of-type"===what;return 1===first&&0===last?function(elem){return!!elem.parentNode}:function(elem,context,xml){var cache,outerCache,node,diff,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType;if(parent){if(simple){for(;dir;){for(node=elem;node=node[dir];)if(ofType?node.nodeName.toLowerCase()===name:1===node.nodeType)return!1;start=dir="only"===type&&!start&&"nextSibling"}return!0}if(start=[forward?parent.firstChild:parent.lastChild],forward&&useCache){for(outerCache=parent[expando]||(parent[expando]={}),cache=outerCache[type]||[],nodeIndex=cache[0]===dirruns&&cache[1],diff=cache[0]===dirruns&&cache[2],node=nodeIndex&&parent.childNodes[nodeIndex];node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop();)if(1===node.nodeType&&++diff&&node===elem){outerCache[type]=[dirruns,nodeIndex,diff];break}}else if(useCache&&(cache=(elem[expando]||(elem[expando]={}))[type])&&cache[0]===dirruns)diff=cache[1];else for(;(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())&&((ofType?node.nodeName.toLowerCase()!==name:1!==node.nodeType)||!++diff||(useCache&&((node[expando]||(node[expando]={}))[type]=[dirruns,diff]),node!==elem)););return diff-=last,diff===first||diff%first===0&&diff/first>=0}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);return fn[expando]?fn(argument):fn.length>1?(args=[pseudo,pseudo,"",argument],Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){for(var idx,matched=fn(seed,argument),i=matched.length;i--;)idx=indexOf.call(seed,matched[i]),seed[idx]=!(matches[idx]=matched[i])}):function(elem){return fn(elem,0,args)}):fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){for(var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;i--;)(elem=unmatched[i])&&(seed[i]=!(matches[i]=elem))}):function(elem,context,xml){return input[0]=elem,matcher(input,null,xml,results),!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){return function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){return ridentifier.test(lang||"")||Sizzle.error("unsupported lang: "+lang),lang=lang.replace(runescape,funescape).toLowerCase(),function(elem){var elemLang;do if(elemLang=documentIsXML?elem.getAttribute("xml:lang")||elem.getAttribute("lang"):elem.lang)return elemLang=elemLang.toLowerCase(),elemLang===lang||0===elemLang.indexOf(lang+"-");while((elem=elem.parentNode)&&1===elem.nodeType);return!1}}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id},root:function(elem){return elem===docElem},focus:function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex)},enabled:function(elem){return elem.disabled===!1},disabled:function(elem){return elem.disabled===!0},checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return"input"===nodeName&&!!elem.checked||"option"===nodeName&&!!elem.selected},selected:function(elem){return elem.parentNode&&elem.parentNode.selectedIndex,elem.selected===!0},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling)if(elem.nodeName>"@"||3===elem.nodeType||4===elem.nodeType)return!1;return!0},parent:function(elem){return!Expr.pseudos.empty(elem)},header:function(elem){return rheader.test(elem.nodeName)},input:function(elem){return rinputs.test(elem.nodeName)},button:function(elem){var name=elem.nodeName.toLowerCase();return"input"===name&&"button"===elem.type||"button"===name},text:function(elem){var attr;return"input"===elem.nodeName.toLowerCase()&&"text"===elem.type&&(null==(attr=elem.getAttribute("type"))||attr.toLowerCase()===elem.type)},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(matchIndexes,length){return[length-1]}),eq:createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument]}),even:createPositionalPseudo(function(matchIndexes,length){for(var i=0;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){for(var i=1;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;--i>=0;)matchIndexes.push(i);return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;++i<length;)matchIndexes.push(i);return matchIndexes})}};for(i in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})Expr.pseudos[i]=createInputPseudo(i);for(i in{submit:!0,reset:!0})Expr.pseudos[i]=createButtonPseudo(i);compile=Sizzle.compile=function(selector,group){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){for(group||(group=tokenize(selector)),i=group.length;i--;)cached=matcherFromTokens(group[i]),cached[expando]?setMatchers.push(cached):elementMatchers.push(cached);cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers))}return cached},Expr.pseudos.nth=Expr.pseudos.eq,Expr.filters=setFilters.prototype=Expr.pseudos,Expr.setFilters=new setFilters,setDocument(),Sizzle.attr=jQuery.attr,jQuery.find=Sizzle,jQuery.expr=Sizzle.selectors,jQuery.expr[":"]=jQuery.expr.pseudos,jQuery.unique=Sizzle.uniqueSort,jQuery.text=Sizzle.getText,jQuery.isXMLDoc=Sizzle.isXML,jQuery.contains=Sizzle.contains}(window);var runtil=/Until$/,rparentsprev=/^(?:parents|prev(?:Until|All))/,isSimple=/^.[^:#\[\.,]*$/,rneedsContext=jQuery.expr.match.needsContext,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};jQuery.fn.extend({find:function(selector){var i,ret,self,len=this.length;if("string"!=typeof selector)return self=this,this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++)if(jQuery.contains(self[i],this))return!0}));for(ret=[],i=0;i<len;i++)jQuery.find(selector,this[i],ret);return ret=this.pushStack(len>1?jQuery.unique(ret):ret),ret.selector=(this.selector?this.selector+" ":"")+selector,ret},has:function(target){var i,targets=jQuery(target,this),len=targets.length;return this.filter(function(){for(i=0;i<len;i++)if(jQuery.contains(this,targets[i]))return!0})},not:function(selector){return this.pushStack(winnow(this,selector,!1))},filter:function(selector){return this.pushStack(winnow(this,selector,!0))},is:function(selector){return!!selector&&("string"==typeof selector?rneedsContext.test(selector)?jQuery(selector,this.context).index(this[0])>=0:jQuery.filter(selector,this).length>0:this.filter(selector).length>0)},closest:function(selectors,context){for(var cur,i=0,l=this.length,ret=[],pos=rneedsContext.test(selectors)||"string"!=typeof selectors?jQuery(selectors,context||this.context):0;i<l;i++)for(cur=this[i];cur&&cur.ownerDocument&&cur!==context&&11!==cur.nodeType;){if(pos?pos.index(cur)>-1:jQuery.find.matchesSelector(cur,selectors)){ret.push(cur);break}cur=cur.parentNode}return this.pushStack(ret.length>1?jQuery.unique(ret):ret)},index:function(elem){return elem?"string"==typeof elem?jQuery.inArray(this[0],jQuery(elem)):jQuery.inArray(elem.jquery?elem[0]:elem,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(selector,context){var set="string"==typeof selector?jQuery(selector,context):jQuery.makeArray(selector&&selector.nodeType?[selector]:selector),all=jQuery.merge(this.get(),set);return this.pushStack(jQuery.unique(all))},addBack:function(selector){return this.add(null==selector?this.prevObject:this.prevObject.filter(selector))}}),jQuery.fn.andSelf=jQuery.fn.addBack,jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&11!==parent.nodeType?parent:null},parents:function(elem){return jQuery.dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return jQuery.dir(elem,"parentNode",until)},next:function(elem){return sibling(elem,"nextSibling")},prev:function(elem){return sibling(elem,"previousSibling")},nextAll:function(elem){return jQuery.dir(elem,"nextSibling")},prevAll:function(elem){return jQuery.dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return jQuery.dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return jQuery.dir(elem,"previousSibling",until)},siblings:function(elem){return jQuery.sibling((elem.parentNode||{}).firstChild,elem)},children:function(elem){return jQuery.sibling(elem.firstChild)},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.merge([],elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var ret=jQuery.map(this,fn,until);return runtil.test(name)||(selector=until),selector&&"string"==typeof selector&&(ret=jQuery.filter(selector,ret)),ret=this.length>1&&!guaranteedUnique[name]?jQuery.unique(ret):ret,this.length>1&&rparentsprev.test(name)&&(ret=ret.reverse()),this.pushStack(ret)}}),jQuery.extend({filter:function(expr,elems,not){return not&&(expr=":not("+expr+")"),1===elems.length?jQuery.find.matchesSelector(elems[0],expr)?[elems[0]]:[]:jQuery.find.matches(expr,elems)},dir:function(elem,dir,until){for(var matched=[],cur=elem[dir];cur&&9!==cur.nodeType&&(until===undefined||1!==cur.nodeType||!jQuery(cur).is(until));)1===cur.nodeType&&matched.push(cur),cur=cur[dir];return matched},sibling:function(n,elem){for(var r=[];n;n=n.nextSibling)1===n.nodeType&&n!==elem&&r.push(n);return r}});var nodeNames="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",rinlinejQuery=/ jQuery\d+="(?:null|\d+)"/g,rnoshimcache=new RegExp("<(?:"+nodeNames+")[\\s/>]","i"),rleadingWhitespace=/^\s+/,rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,rtagName=/<([\w:]+)/,rtbody=/<tbody/i,rhtml=/<|&#?\w+;/,rnoInnerhtml=/<(?:script|style|link)/i,manipulation_rcheckableType=/^(?:checkbox|radio)$/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptType=/^$|\/(?:java|ecma)script/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:jQuery.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},safeFragment=createSafeFragment(document),fragmentDiv=safeFragment.appendChild(document.createElement("div"));wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td,jQuery.fn.extend({text:function(value){return jQuery.access(this,function(value){return value===undefined?jQuery.text(this):this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(value))},null,value,arguments.length)},wrapAll:function(html){if(jQuery.isFunction(html))return this.each(function(i){jQuery(this).wrapAll(html.call(this,i))});if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&wrap.insertBefore(this[0]),wrap.map(function(){for(var elem=this;elem.firstChild&&1===elem.firstChild.nodeType;)elem=elem.firstChild;return elem}).append(this)}return this},wrapInner:function(html){return jQuery.isFunction(html)?this.each(function(i){jQuery(this).wrapInner(html.call(this,i))}):this.each(function(){var self=jQuery(this),contents=self.contents();contents.length?contents.wrapAll(html):self.append(html)})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(){return this.parent().each(function(){jQuery.nodeName(this,"body")||jQuery(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(elem){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||this.appendChild(elem);
})},prepend:function(){return this.domManip(arguments,!0,function(elem){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||this.insertBefore(elem,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this)})},after:function(){return this.domManip(arguments,!1,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this.nextSibling)})},remove:function(selector,keepData){for(var elem,i=0;null!=(elem=this[i]);i++)(!selector||jQuery.filter(selector,[elem]).length>0)&&(keepData||1!==elem.nodeType||jQuery.cleanData(getAll(elem)),elem.parentNode&&(keepData&&jQuery.contains(elem.ownerDocument,elem)&&setGlobalEval(getAll(elem,"script")),elem.parentNode.removeChild(elem)));return this},empty:function(){for(var elem,i=0;null!=(elem=this[i]);i++){for(1===elem.nodeType&&jQuery.cleanData(getAll(elem,!1));elem.firstChild;)elem.removeChild(elem.firstChild);elem.options&&jQuery.nodeName(elem,"select")&&(elem.options.length=0)}return this},clone:function(dataAndEvents,deepDataAndEvents){return dataAndEvents=null!=dataAndEvents&&dataAndEvents,deepDataAndEvents=null==deepDataAndEvents?dataAndEvents:deepDataAndEvents,this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return jQuery.access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined)return 1===elem.nodeType?elem.innerHTML.replace(rinlinejQuery,""):undefined;if("string"==typeof value&&!rnoInnerhtml.test(value)&&(jQuery.support.htmlSerialize||!rnoshimcache.test(value))&&(jQuery.support.leadingWhitespace||!rleadingWhitespace.test(value))&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=value.replace(rxhtmlTag,"<$1></$2>");try{for(;i<l;i++)elem=this[i]||{},1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.innerHTML=value);elem=0}catch(e){}}elem&&this.empty().append(value)},null,value,arguments.length)},replaceWith:function(value){var isFunc=jQuery.isFunction(value);return isFunc||"string"==typeof value||(value=jQuery(value).not(this).detach()),this.domManip([value],!0,function(elem){var next=this.nextSibling,parent=this.parentNode;parent&&(jQuery(this).remove(),parent.insertBefore(elem,next))})},detach:function(selector){return this.remove(selector,!0)},domManip:function(args,table,callback){args=core_concat.apply([],args);var first,node,hasScripts,scripts,doc,fragment,i=0,l=this.length,set=this,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||!(l<=1||"string"!=typeof value||jQuery.support.checkClone)&&rchecked.test(value))return this.each(function(index){var self=set.eq(index);isFunction&&(args[0]=value.call(this,index,table?self.html():undefined)),self.domManip(args,table,callback)});if(l&&(fragment=jQuery.buildFragment(args,this[0].ownerDocument,!1,this),first=fragment.firstChild,1===fragment.childNodes.length&&(fragment=first),first)){for(table=table&&jQuery.nodeName(first,"tr"),scripts=jQuery.map(getAll(fragment,"script"),disableScript),hasScripts=scripts.length;i<l;i++)node=fragment,i!==iNoClone&&(node=jQuery.clone(node,!0,!0),hasScripts&&jQuery.merge(scripts,getAll(node,"script"))),callback.call(table&&jQuery.nodeName(this[i],"table")?findOrAppend(this[i],"tbody"):this[i],node,i);if(hasScripts)for(doc=scripts[scripts.length-1].ownerDocument,jQuery.map(scripts,restoreScript),i=0;i<hasScripts;i++)node=scripts[i],rscriptType.test(node.type||"")&&!jQuery._data(node,"globalEval")&&jQuery.contains(doc,node)&&(node.src?jQuery.ajax({url:node.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):jQuery.globalEval((node.text||node.textContent||node.innerHTML||"").replace(rcleanScript,"")));fragment=first=null}return this}}),jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){for(var elems,i=0,ret=[],insert=jQuery(selector),last=insert.length-1;i<=last;i++)elems=i===last?this:this.clone(!0),jQuery(insert[i])[original](elems),core_push.apply(ret,elems.get());return this.pushStack(ret)}}),jQuery.extend({clone:function(elem,dataAndEvents,deepDataAndEvents){var destElements,node,clone,i,srcElements,inPage=jQuery.contains(elem.ownerDocument,elem);if(jQuery.support.html5Clone||jQuery.isXMLDoc(elem)||!rnoshimcache.test("<"+elem.nodeName+">")?clone=elem.cloneNode(!0):(fragmentDiv.innerHTML=elem.outerHTML,fragmentDiv.removeChild(clone=fragmentDiv.firstChild)),!(jQuery.support.noCloneEvent&&jQuery.support.noCloneChecked||1!==elem.nodeType&&11!==elem.nodeType||jQuery.isXMLDoc(elem)))for(destElements=getAll(clone),srcElements=getAll(elem),i=0;null!=(node=srcElements[i]);++i)destElements[i]&&fixCloneNodeIssues(node,destElements[i]);if(dataAndEvents)if(deepDataAndEvents)for(srcElements=srcElements||getAll(elem),destElements=destElements||getAll(clone),i=0;null!=(node=srcElements[i]);i++)cloneCopyEvent(node,destElements[i]);else cloneCopyEvent(elem,clone);return destElements=getAll(clone,"script"),destElements.length>0&&setGlobalEval(destElements,!inPage&&getAll(elem,"script")),destElements=srcElements=node=null,clone},buildFragment:function(elems,context,scripts,selection){for(var j,elem,contains,tmp,tag,tbody,wrap,l=elems.length,safe=createSafeFragment(context),nodes=[],i=0;i<l;i++)if(elem=elems[i],elem||0===elem)if("object"===jQuery.type(elem))jQuery.merge(nodes,elem.nodeType?[elem]:elem);else if(rhtml.test(elem)){for(tmp=tmp||safe.appendChild(context.createElement("div")),tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,tmp.innerHTML=wrap[1]+elem.replace(rxhtmlTag,"<$1></$2>")+wrap[2],j=wrap[0];j--;)tmp=tmp.lastChild;if(!jQuery.support.leadingWhitespace&&rleadingWhitespace.test(elem)&&nodes.push(context.createTextNode(rleadingWhitespace.exec(elem)[0])),!jQuery.support.tbody)for(elem="table"!==tag||rtbody.test(elem)?"<table>"!==wrap[1]||rtbody.test(elem)?0:tmp:tmp.firstChild,j=elem&&elem.childNodes.length;j--;)jQuery.nodeName(tbody=elem.childNodes[j],"tbody")&&!tbody.childNodes.length&&elem.removeChild(tbody);for(jQuery.merge(nodes,tmp.childNodes),tmp.textContent="";tmp.firstChild;)tmp.removeChild(tmp.firstChild);tmp=safe.lastChild}else nodes.push(context.createTextNode(elem));for(tmp&&safe.removeChild(tmp),jQuery.support.appendChecked||jQuery.grep(getAll(nodes,"input"),fixDefaultChecked),i=0;elem=nodes[i++];)if((!selection||jQuery.inArray(elem,selection)===-1)&&(contains=jQuery.contains(elem.ownerDocument,elem),tmp=getAll(safe.appendChild(elem),"script"),contains&&setGlobalEval(tmp),scripts))for(j=0;elem=tmp[j++];)rscriptType.test(elem.type||"")&&scripts.push(elem);return tmp=null,safe},cleanData:function(elems,acceptData){for(var elem,type,id,data,i=0,internalKey=jQuery.expando,cache=jQuery.cache,deleteExpando=jQuery.support.deleteExpando,special=jQuery.event.special;null!=(elem=elems[i]);i++)if((acceptData||jQuery.acceptData(elem))&&(id=elem[internalKey],data=id&&cache[id])){if(data.events)for(type in data.events)special[type]?jQuery.event.remove(elem,type):jQuery.removeEvent(elem,type,data.handle);cache[id]&&(delete cache[id],deleteExpando?delete elem[internalKey]:typeof elem.removeAttribute!==core_strundefined?elem.removeAttribute(internalKey):elem[internalKey]=null,core_deletedIds.push(id))}}});var iframe,getStyles,curCSS,ralpha=/alpha\([^)]*\)/i,ropacity=/opacity\s*=\s*([^)]*)/,rposition=/^(top|right|bottom|left)$/,rdisplayswap=/^(none|table(?!-c[ea]).+)/,rmargin=/^margin/,rnumsplit=new RegExp("^("+core_pnum+")(.*)$","i"),rnumnonpx=new RegExp("^("+core_pnum+")(?!px)[a-z%]+$","i"),rrelNum=new RegExp("^([+-])=("+core_pnum+")","i"),elemdisplay={BODY:"block"},cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:0,fontWeight:400},cssExpand=["Top","Right","Bottom","Left"],cssPrefixes=["Webkit","O","Moz","ms"];jQuery.fn.extend({css:function(name,value){return jQuery.access(this,function(elem,name,value){var len,styles,map={},i=0;if(jQuery.isArray(name)){for(styles=getStyles(elem),len=name.length;i<len;i++)map[name[i]]=jQuery.css(elem,name[i],!1,styles);return map}return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)},show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(state){var bool="boolean"==typeof state;return this.each(function(){(bool?state:isHidden(this))?jQuery(this).show():jQuery(this).hide()})}}),jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return""===ret?"1":ret}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":jQuery.support.cssFloat?"cssFloat":"styleFloat"},style:function(elem,name,value,extra){if(elem&&3!==elem.nodeType&&8!==elem.nodeType&&elem.style){var ret,type,hooks,origName=jQuery.camelCase(name),style=elem.style;if(name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(style,origName)),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],value===undefined)return hooks&&"get"in hooks&&(ret=hooks.get(elem,!1,extra))!==undefined?ret:style[name];if(type=typeof value,"string"===type&&(ret=rrelNum.exec(value))&&(value=(ret[1]+1)*ret[2]+parseFloat(jQuery.css(elem,name)),type="number"),!(null==value||"number"===type&&isNaN(value)||("number"!==type||jQuery.cssNumber[origName]||(value+="px"),jQuery.support.clearCloneStyle||""!==value||0!==name.indexOf("background")||(style[name]="inherit"),hooks&&"set"in hooks&&(value=hooks.set(elem,value,extra))===undefined)))try{style[name]=value}catch(e){}}},css:function(elem,name,extra,styles){var num,val,hooks,origName=jQuery.camelCase(name);return name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(elem.style,origName)),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],hooks&&"get"in hooks&&(val=hooks.get(elem,!0,extra)),val===undefined&&(val=curCSS(elem,name,styles)),"normal"===val&&name in cssNormalTransform&&(val=cssNormalTransform[name]),""===extra||extra?(num=parseFloat(val),extra===!0||jQuery.isNumeric(num)?num||0:val):val},swap:function(elem,options,callback,args){var ret,name,old={};for(name in options)old[name]=elem.style[name],elem.style[name]=options[name];ret=callback.apply(elem,args||[]);for(name in options)elem.style[name]=old[name];return ret}}),window.getComputedStyle?(getStyles=function(elem){return window.getComputedStyle(elem,null)},curCSS=function(elem,name,_computed){var width,minWidth,maxWidth,computed=_computed||getStyles(elem),ret=computed?computed.getPropertyValue(name)||computed[name]:undefined,style=elem.style;return computed&&(""!==ret||jQuery.contains(elem.ownerDocument,elem)||(ret=jQuery.style(elem,name)),rnumnonpx.test(ret)&&rmargin.test(name)&&(width=style.width,minWidth=style.minWidth,maxWidth=style.maxWidth,style.minWidth=style.maxWidth=style.width=ret,ret=computed.width,style.width=width,style.minWidth=minWidth,style.maxWidth=maxWidth)),ret}):document.documentElement.currentStyle&&(getStyles=function(elem){return elem.currentStyle},curCSS=function(elem,name,_computed){var left,rs,rsLeft,computed=_computed||getStyles(elem),ret=computed?computed[name]:undefined,style=elem.style;return null==ret&&style&&style[name]&&(ret=style[name]),rnumnonpx.test(ret)&&!rposition.test(name)&&(left=style.left,rs=elem.runtimeStyle,rsLeft=rs&&rs.left,rsLeft&&(rs.left=elem.currentStyle.left),style.left="fontSize"===name?"1em":ret,ret=style.pixelLeft+"px",style.left=left,rsLeft&&(rs.left=rsLeft)),""===ret?"auto":ret}),jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed)return 0===elem.offsetWidth&&rdisplayswap.test(jQuery.css(elem,"display"))?jQuery.swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)}):getWidthOrHeight(elem,name,extra)},set:function(elem,value,extra){var styles=extra&&getStyles(elem);return setPositiveNumber(elem,value,extra?augmentWidthOrHeight(elem,name,extra,jQuery.support.boxSizing&&"border-box"===jQuery.css(elem,"boxSizing",!1,styles),styles):0)}}}),jQuery.support.opacity||(jQuery.cssHooks.opacity={get:function(elem,computed){return ropacity.test((computed&&elem.currentStyle?elem.currentStyle.filter:elem.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":computed?"1":""},set:function(elem,value){var style=elem.style,currentStyle=elem.currentStyle,opacity=jQuery.isNumeric(value)?"alpha(opacity="+100*value+")":"",filter=currentStyle&&currentStyle.filter||style.filter||"";style.zoom=1,(value>=1||""===value)&&""===jQuery.trim(filter.replace(ralpha,""))&&style.removeAttribute&&(style.removeAttribute("filter"),""===value||currentStyle&&!currentStyle.filter)||(style.filter=ralpha.test(filter)?filter.replace(ralpha,opacity):filter+" "+opacity)}}),jQuery(function(){jQuery.support.reliableMarginRight||(jQuery.cssHooks.marginRight={get:function(elem,computed){if(computed)return jQuery.swap(elem,{display:"inline-block"},curCSS,[elem,"marginRight"])}}),!jQuery.support.pixelPosition&&jQuery.fn.position&&jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]={get:function(elem,computed){if(computed)return computed=curCSS(elem,prop),rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed}}})}),jQuery.expr&&jQuery.expr.filters&&(jQuery.expr.filters.hidden=function(elem){return elem.offsetWidth<=0&&elem.offsetHeight<=0||!jQuery.support.reliableHiddenOffsets&&"none"===(elem.style&&elem.style.display||jQuery.css(elem,"display"))},jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem)}),jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){for(var i=0,expanded={},parts="string"==typeof value?value.split(" "):[value];i<4;i++)expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];return expanded}},rmargin.test(prefix)||(jQuery.cssHooks[prefix+suffix].set=setPositiveNumber)});var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!manipulation_rcheckableType.test(type))}).map(function(i,elem){var val=jQuery(this).val();return null==val?null:jQuery.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}}),jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,value){value=jQuery.isFunction(value)?value():null==value?"":value,s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value)};if(traditional===undefined&&(traditional=jQuery.ajaxSettings&&jQuery.ajaxSettings.traditional),jQuery.isArray(a)||a.jquery&&!jQuery.isPlainObject(a))jQuery.each(a,function(){add(this.name,this.value)});else for(prefix in a)buildParams(prefix,a[prefix],traditional,add);return s.join("&").replace(r20,"+")},jQuery.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)}}),jQuery.fn.hover=function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)};var ajaxLocParts,ajaxLocation,ajax_nonce=jQuery.now(),ajax_rquery=/\?/,rhash=/#.*$/,rts=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,rurl=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,_load=jQuery.fn.load,prefilters={},transports={},allTypes="*/".concat("*");try{ajaxLocation=location.href}catch(e){ajaxLocation=document.createElement("a"),ajaxLocation.href="",ajaxLocation=ajaxLocation.href}ajaxLocParts=rurl.exec(ajaxLocation.toLowerCase())||[],jQuery.fn.load=function(url,params,callback){if("string"!=typeof url&&_load)return _load.apply(this,arguments);var selector,response,type,self=this,off=url.indexOf(" ");return off>=0&&(selector=url.slice(off,url.length),url=url.slice(0,off)),jQuery.isFunction(params)?(callback=params,params=undefined):params&&"object"==typeof params&&(type="POST"),self.length>0&&jQuery.ajax({url:url,type:type,dataType:"html",data:params}).done(function(responseText){response=arguments,self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).complete(callback&&function(jqXHR,status){self.each(callback,response||[jqXHR.responseText,status,jqXHR])}),this},jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}}),jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){return jQuery.isFunction(data)&&(type=type||callback,callback=data,data=undefined),jQuery.ajax({url:url,type:method,dataType:type,data:data,success:callback})}}),jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ajaxLocation,type:"GET",isLocal:rlocalProtocol.test(ajaxLocParts[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":window.String,"text html":!0,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;2!==state&&(state=2,timeoutTimer&&clearTimeout(timeoutTimer),transport=undefined,responseHeadersString=headers||"",jqXHR.readyState=status>0?4:0,responses&&(response=ajaxHandleResponses(s,jqXHR,responses)),status>=200&&status<300||304===status?(s.ifModified&&(modified=jqXHR.getResponseHeader("Last-Modified"),modified&&(jQuery.lastModified[cacheURL]=modified),modified=jqXHR.getResponseHeader("etag"),modified&&(jQuery.etag[cacheURL]=modified)),204===status?(isSuccess=!0,statusText="nocontent"):304===status?(isSuccess=!0,statusText="notmodified"):(isSuccess=ajaxConvert(s,response),statusText=isSuccess.state,success=isSuccess.data,error=isSuccess.error,isSuccess=!error)):(error=statusText,!status&&statusText||(statusText="error",status<0&&(status=0))),jqXHR.status=status,jqXHR.statusText=(nativeStatusText||statusText)+"",isSuccess?deferred.resolveWith(callbackContext,[success,statusText,jqXHR]):deferred.rejectWith(callbackContext,[jqXHR,statusText,error]),jqXHR.statusCode(statusCode),statusCode=undefined,fireGlobals&&globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]),completeDeferred.fireWith(callbackContext,[jqXHR,statusText]),fireGlobals&&(globalEventContext.trigger("ajaxComplete",[jqXHR,s]),--jQuery.active||jQuery.event.trigger("ajaxStop")))}"object"==typeof url&&(options=url,url=undefined),options=options||{};var parts,i,cacheURL,responseHeadersString,timeoutTimer,fireGlobals,transport,responseHeaders,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},state=0,strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(2===state){if(!responseHeaders)for(responseHeaders={};match=rheaders.exec(responseHeadersString);)responseHeaders[match[1].toLowerCase()]=match[2];match=responseHeaders[key.toLowerCase()]}return null==match?null:match},getAllResponseHeaders:function(){return 2===state?responseHeadersString:null},setRequestHeader:function(name,value){var lname=name.toLowerCase();return state||(name=requestHeadersNames[lname]=requestHeadersNames[lname]||name,requestHeaders[name]=value),this},overrideMimeType:function(type){return state||(s.mimeType=type),this},statusCode:function(map){var code;if(map)if(state<2)for(code in map)statusCode[code]=[statusCode[code],map[code]];else jqXHR.always(map[jqXHR.status]);return this},abort:function(statusText){var finalText=statusText||strAbort;return transport&&transport.abort(finalText),done(0,finalText),this}};if(deferred.promise(jqXHR).complete=completeDeferred.add,jqXHR.success=jqXHR.done,jqXHR.error=jqXHR.fail,s.url=((url||s.url||ajaxLocation)+"").replace(rhash,"").replace(rprotocol,ajaxLocParts[1]+"//"),s.type=options.method||options.type||s.method||s.type,s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().match(core_rnotwhite)||[""],null==s.crossDomain&&(parts=rurl.exec(s.url.toLowerCase()),s.crossDomain=!(!parts||parts[1]===ajaxLocParts[1]&&parts[2]===ajaxLocParts[2]&&(parts[3]||("http:"===parts[1]?80:443))==(ajaxLocParts[3]||("http:"===ajaxLocParts[1]?80:443)))),s.data&&s.processData&&"string"!=typeof s.data&&(s.data=jQuery.param(s.data,s.traditional)),inspectPrefiltersOrTransports(prefilters,s,options,jqXHR),2===state)return jqXHR;fireGlobals=s.global,fireGlobals&&0===jQuery.active++&&jQuery.event.trigger("ajaxStart"),s.type=s.type.toUpperCase(),s.hasContent=!rnoContent.test(s.type),cacheURL=s.url,s.hasContent||(s.data&&(cacheURL=s.url+=(ajax_rquery.test(cacheURL)?"&":"?")+s.data,delete s.data),s.cache===!1&&(s.url=rts.test(cacheURL)?cacheURL.replace(rts,"$1_="+ajax_nonce++):cacheURL+(ajax_rquery.test(cacheURL)?"&":"?")+"_="+ajax_nonce++)),s.ifModified&&(jQuery.lastModified[cacheURL]&&jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]),jQuery.etag[cacheURL]&&jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])),(s.data&&s.hasContent&&s.contentType!==!1||options.contentType)&&jqXHR.setRequestHeader("Content-Type",s.contentType),jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+("*"!==s.dataTypes[0]?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers)jqXHR.setRequestHeader(i,s.headers[i]);if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===!1||2===state))return jqXHR.abort();strAbort="abort";for(i in{success:1,error:1,complete:1})jqXHR[i](s[i]);if(transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR)){jqXHR.readyState=1,fireGlobals&&globalEventContext.trigger("ajaxSend",[jqXHR,s]),s.async&&s.timeout>0&&(timeoutTimer=setTimeout(function(){jqXHR.abort("timeout")},s.timeout));try{state=1,transport.send(requestHeaders,done)}catch(e){if(!(state<2))throw e;done(-1,e)}}else done(-1,"No Transport");return jqXHR},getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script")},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")}}),jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(text){return jQuery.globalEval(text),text}}}),jQuery.ajaxPrefilter("script",function(s){s.cache===undefined&&(s.cache=!1),s.crossDomain&&(s.type="GET",s.global=!1)}),jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,head=document.head||jQuery("head")[0]||document.documentElement;return{send:function(_,callback){script=document.createElement("script"),script.async=!0,s.scriptCharset&&(script.charset=s.scriptCharset),script.src=s.url,script.onload=script.onreadystatechange=function(_,isAbort){(isAbort||!script.readyState||/loaded|complete/.test(script.readyState))&&(script.onload=script.onreadystatechange=null,script.parentNode&&script.parentNode.removeChild(script),script=null,isAbort||callback(200,"success"))},head.insertBefore(script,head.firstChild)},abort:function(){script&&script.onload(undefined,!0)}}}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+ajax_nonce++;return this[callback]=!0,callback}}),jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==!1&&(rjsonp.test(s.url)?"url":"string"==typeof s.data&&!(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||"jsonp"===s.dataTypes[0])return callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,jsonProp?s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName):s.jsonp!==!1&&(s.url+=(ajax_rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName),s.converters["script json"]=function(){return responseContainer||jQuery.error(callbackName+" was not called"),responseContainer[0]},s.dataTypes[0]="json",overwritten=window[callbackName],window[callbackName]=function(){responseContainer=arguments},jqXHR.always(function(){window[callbackName]=overwritten,s[callbackName]&&(s.jsonpCallback=originalSettings.jsonpCallback,oldCallbacks.push(callbackName)),responseContainer&&jQuery.isFunction(overwritten)&&overwritten(responseContainer[0]),responseContainer=overwritten=undefined}),"script"});var xhrCallbacks,xhrSupported,xhrId=0,xhrOnUnloadAbort=window.ActiveXObject&&function(){var key;for(key in xhrCallbacks)xhrCallbacks[key](undefined,!0)};jQuery.ajaxSettings.xhr=window.ActiveXObject?function(){return!this.isLocal&&createStandardXHR()||createActiveXHR()}:createStandardXHR,xhrSupported=jQuery.ajaxSettings.xhr(),jQuery.support.cors=!!xhrSupported&&"withCredentials"in xhrSupported,xhrSupported=jQuery.support.ajax=!!xhrSupported,xhrSupported&&jQuery.ajaxTransport(function(s){if(!s.crossDomain||jQuery.support.cors){var callback;return{send:function(headers,complete){var handle,i,xhr=s.xhr();if(s.username?xhr.open(s.type,s.url,s.async,s.username,s.password):xhr.open(s.type,s.url,s.async),s.xhrFields)for(i in s.xhrFields)xhr[i]=s.xhrFields[i];s.mimeType&&xhr.overrideMimeType&&xhr.overrideMimeType(s.mimeType),s.crossDomain||headers["X-Requested-With"]||(headers["X-Requested-With"]="XMLHttpRequest");try{for(i in headers)xhr.setRequestHeader(i,headers[i])}catch(err){}xhr.send(s.hasContent&&s.data||null),callback=function(_,isAbort){var status,responseHeaders,statusText,responses;try{if(callback&&(isAbort||4===xhr.readyState))if(callback=undefined,handle&&(xhr.onreadystatechange=jQuery.noop,xhrOnUnloadAbort&&delete xhrCallbacks[handle]),isAbort)4!==xhr.readyState&&xhr.abort();else{responses={},status=xhr.status,responseHeaders=xhr.getAllResponseHeaders(),"string"==typeof xhr.responseText&&(responses.text=xhr.responseText);try{statusText=xhr.statusText}catch(e){statusText=""}status||!s.isLocal||s.crossDomain?1223===status&&(status=204):status=responses.text?200:404}}catch(firefoxAccessException){isAbort||complete(-1,firefoxAccessException)}responses&&complete(status,statusText,responses,responseHeaders)},s.async?4===xhr.readyState?setTimeout(callback):(handle=++xhrId,xhrOnUnloadAbort&&(xhrCallbacks||(xhrCallbacks={},jQuery(window).unload(xhrOnUnloadAbort)),xhrCallbacks[handle]=callback),xhr.onreadystatechange=callback):callback()},abort:function(){callback&&callback(undefined,!0)}}}});var fxNow,timerId,rfxtypes=/^(?:toggle|show|hide)$/,rfxnum=new RegExp("^(?:([+-])=|)("+core_pnum+")([a-z%]*)$","i"),rrun=/queueHooks$/,animationPrefilters=[defaultPrefilter],tweeners={"*":[function(prop,value){var end,unit,tween=this.createTween(prop,value),parts=rfxnum.exec(value),target=tween.cur(),start=+target||0,scale=1,maxIterations=20;if(parts){if(end=+parts[2],unit=parts[3]||(jQuery.cssNumber[prop]?"":"px"),"px"!==unit&&start){start=jQuery.css(tween.elem,prop,!0)||end||1;do scale=scale||".5",start/=scale,jQuery.style(tween.elem,prop,start+unit);while(scale!==(scale=tween.cur()/target)&&1!==scale&&--maxIterations)}tween.unit=unit,tween.start=start,tween.end=parts[1]?start+(parts[1]+1)*end:end}return tween}]};jQuery.Animation=jQuery.extend(Animation,{tweener:function(props,callback){jQuery.isFunction(props)?(callback=props,props=["*"]):props=props.split(" ");for(var prop,index=0,length=props.length;index<length;index++)prop=props[index],tweeners[prop]=tweeners[prop]||[],tweeners[prop].unshift(callback)},prefilter:function(callback,prepend){prepend?animationPrefilters.unshift(callback):animationPrefilters.push(callback)}}),jQuery.Tween=Tween,Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem,this.prop=prop,this.easing=easing||"swing",this.options=options,this.start=this.now=this.cur(),this.end=end,this.unit=unit||(jQuery.cssNumber[prop]?"":"px")},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this)},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];return this.options.duration?this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration):this.pos=eased=percent,this.now=(this.end-this.start)*eased+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),hooks&&hooks.set?hooks.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(tween){var result;return null==tween.elem[tween.prop]||tween.elem.style&&null!=tween.elem.style[tween.prop]?(result=jQuery.css(tween.elem,tween.prop,""),result&&"auto"!==result?result:0):tween.elem[tween.prop]},set:function(tween){jQuery.fx.step[tween.prop]?jQuery.fx.step[tween.prop](tween):tween.elem.style&&(null!=tween.elem.style[jQuery.cssProps[tween.prop]]||jQuery.cssHooks[tween.prop])?jQuery.style(tween.elem,tween.prop,tween.now+tween.unit):tween.elem[tween.prop]=tween.now}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){tween.elem.nodeType&&tween.elem.parentNode&&(tween.elem[tween.prop]=tween.now)}},jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return null==speed||"boolean"==typeof speed?cssFn.apply(this,arguments):this.animate(genFx(name,!0),speed,easing,callback)}}),jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHidden).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);doAnimation.finish=function(){anim.stop(!0)},(empty||jQuery._data(this,"finish"))&&anim.stop(!0)};return doAnimation.finish=doAnimation,empty||optall.queue===!1?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop,stop(gotoEnd)};return"string"!=typeof type&&(gotoEnd=clearQueue,clearQueue=type,type=undefined),clearQueue&&type!==!1&&this.queue(type||"fx",[]),this.each(function(){var dequeue=!0,index=null!=type&&type+"queueHooks",timers=jQuery.timers,data=jQuery._data(this);
if(index)data[index]&&data[index].stop&&stopQueue(data[index]);else for(index in data)data[index]&&data[index].stop&&rrun.test(index)&&stopQueue(data[index]);for(index=timers.length;index--;)timers[index].elem!==this||null!=type&&timers[index].queue!==type||(timers[index].anim.stop(gotoEnd),dequeue=!1,timers.splice(index,1));!dequeue&&gotoEnd||jQuery.dequeue(this,type)})},finish:function(type){return type!==!1&&(type=type||"fx"),this.each(function(){var index,data=jQuery._data(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;for(data.finish=!0,jQuery.queue(this,type,[]),hooks&&hooks.cur&&hooks.cur.finish&&hooks.cur.finish.call(this),index=timers.length;index--;)timers[index].elem===this&&timers[index].queue===type&&(timers[index].anim.stop(!0),timers.splice(index,1));for(index=0;index<length;index++)queue[index]&&queue[index].finish&&queue[index].finish.call(this);delete data.finish})}}),jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}}),jQuery.speed=function(speed,easing,fn){var opt=speed&&"object"==typeof speed?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};return opt.duration=jQuery.fx.off?0:"number"==typeof opt.duration?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default,null!=opt.queue&&opt.queue!==!0||(opt.queue="fx"),opt.old=opt.complete,opt.complete=function(){jQuery.isFunction(opt.old)&&opt.old.call(this),opt.queue&&jQuery.dequeue(this,opt.queue)},opt},jQuery.easing={linear:function(p){return p},swing:function(p){return.5-Math.cos(p*Math.PI)/2}},jQuery.timers=[],jQuery.fx=Tween.prototype.init,jQuery.fx.tick=function(){var timer,timers=jQuery.timers,i=0;for(fxNow=jQuery.now();i<timers.length;i++)timer=timers[i],timer()||timers[i]!==timer||timers.splice(i--,1);timers.length||jQuery.fx.stop(),fxNow=undefined},jQuery.fx.timer=function(timer){timer()&&jQuery.timers.push(timer)&&jQuery.fx.start()},jQuery.fx.interval=13,jQuery.fx.start=function(){timerId||(timerId=setInterval(jQuery.fx.tick,jQuery.fx.interval))},jQuery.fx.stop=function(){clearInterval(timerId),timerId=null},jQuery.fx.speeds={slow:600,fast:200,_default:400},jQuery.fx.step={},jQuery.expr&&jQuery.expr.filters&&(jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length}),jQuery.fn.offset=function(options){if(arguments.length)return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)});var docElem,win,box={top:0,left:0},elem=this[0],doc=elem&&elem.ownerDocument;if(doc)return docElem=doc.documentElement,jQuery.contains(docElem,elem)?(typeof elem.getBoundingClientRect!==core_strundefined&&(box=elem.getBoundingClientRect()),win=getWindow(doc),{top:box.top+(win.pageYOffset||docElem.scrollTop)-(docElem.clientTop||0),left:box.left+(win.pageXOffset||docElem.scrollLeft)-(docElem.clientLeft||0)}):box},jQuery.offset={setOffset:function(elem,options,i){var position=jQuery.css(elem,"position");"static"===position&&(elem.style.position="relative");var curElem=jQuery(elem),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),calculatePosition=("absolute"===position||"fixed"===position)&&jQuery.inArray("auto",[curCSSTop,curCSSLeft])>-1,props={},curPosition={},curTop,curLeft;calculatePosition?(curPosition=curElem.position(),curTop=curPosition.top,curLeft=curPosition.left):(curTop=parseFloat(curCSSTop)||0,curLeft=parseFloat(curCSSLeft)||0),jQuery.isFunction(options)&&(options=options.call(elem,i,curOffset)),null!=options.top&&(props.top=options.top-curOffset.top+curTop),null!=options.left&&(props.left=options.left-curOffset.left+curLeft),"using"in options?options.using.call(elem,props):curElem.css(props)}},jQuery.fn.extend({position:function(){if(this[0]){var offsetParent,offset,parentOffset={top:0,left:0},elem=this[0];return"fixed"===jQuery.css(elem,"position")?offset=elem.getBoundingClientRect():(offsetParent=this.offsetParent(),offset=this.offset(),jQuery.nodeName(offsetParent[0],"html")||(parentOffset=offsetParent.offset()),parentOffset.top+=jQuery.css(offsetParent[0],"borderTopWidth",!0),parentOffset.left+=jQuery.css(offsetParent[0],"borderLeftWidth",!0)),{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",!0),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var offsetParent=this.offsetParent||document.documentElement;offsetParent&&!jQuery.nodeName(offsetParent,"html")&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.offsetParent;return offsetParent||document.documentElement})}}),jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top=/Y/.test(prop);jQuery.fn[method]=function(val){return jQuery.access(this,function(elem,method,val){var win=getWindow(elem);return val===undefined?win?prop in win?win[prop]:win.document.documentElement[method]:elem[method]:void(win?win.scrollTo(top?jQuery(win).scrollLeft():val,top?val:jQuery(win).scrollTop()):elem[method]=val)},method,val,arguments.length,null)}}),jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||"boolean"!=typeof margin),extra=defaultExtra||(margin===!0||value===!0?"margin":"border");return jQuery.access(this,function(elem,type,value){var doc;return jQuery.isWindow(elem)?elem.document.documentElement["client"+name]:9===elem.nodeType?(doc=elem.documentElement,Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])):value===undefined?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:undefined,chainable,null)}})}),BI.jQuery=BI.$=jQuery,window.$=window.$||jQuery,window.jQuery=window.jQuery||jQuery,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return jQuery})}(window),BI.$.extend(BI.$.Event.prototype,{stopEvent:function(){this.stopPropagation(),this.preventDefault()}}),BI.jQuery&&(!function($){$.fn.insets||($.fn.insets=function(){var p=this.padding(),b=this.border();return{top:p.top,bottom:p.bottom+b.bottom+b.top,left:p.left,right:p.right+b.right+b.left}}),$.fn.bounds||($.fn.bounds=function(value){var tmp={hasIgnoredBounds:!0};return value?(isNaN(value.x)||(tmp.left=value.x),isNaN(value.y)||(tmp.top=value.y),null!=value.width&&(tmp.width=value.width-(this.outerWidth(!0)-this.width()),tmp.width=tmp.width>=0?tmp.width:value.width),null!=value.height&&(tmp.height=value.height-(this.outerHeight(!0)-this.height()),tmp.height=tmp.height>=0?tmp.height:value.height),this.css(tmp),this):(tmp=this.position(),{x:tmp.left,y:tmp.top,width:this.outerWidth(),height:this.outerHeight()})})}(BI.jQuery),BI.extend(BI.jQuery.fn,{destroy:function(){this.remove(),BI.isIE()===!0&&(this[0].outerHTML="")},__textKeywordMarked__:function(text,keyword,py){if(!BI.isKey(keyword)||(text+"").length>100)return this.html(BI.htmlEncode(text));keyword+="",keyword=BI.toUpperCase(keyword);var textLeft=(text||"")+"";for(py=(py||BI.makeFirstPY(text,{splitChar:""}))+"",py=BI.toUpperCase(py),this.empty();py.length>0&&textLeft.length>0;){var tidx=BI.toUpperCase(textLeft).indexOf(keyword),pidx=py.indexOf(keyword);if(pidx>=0&&(pidx=(pidx-Math.floor(pidx/(textLeft.length+1)))%textLeft.length),tidx>=0&&(pidx>tidx||pidx===-1))this.append(BI.htmlEncode(textLeft.substr(0,tidx))),this.append(BI.$("<span>").addClass("bi-keyword-red-mark").html(BI.htmlEncode(textLeft.substr(tidx,keyword.length)))),textLeft=textLeft.substr(tidx+keyword.length),BI.isNotEmptyString(py)&&(py=BI.map(py.split(""),function(idx,ps){return ps.slice(tidx+keyword.length)}).join(""));else{if(!(pidx>=0)){this.append(BI.htmlEncode(textLeft));break}this.append(BI.htmlEncode(textLeft.substr(0,pidx))),this.append(BI.$("<span>").addClass("bi-keyword-red-mark").html(BI.htmlEncode(textLeft.substr(pidx,keyword.length)))),BI.isNotEmptyString(py)&&(py=BI.map(py.split(""),function(idx,ps){return ps.slice(pidx+keyword.length)}).join("")),textLeft=textLeft.substr(pidx+keyword.length)}}return this},getDomHeight:function(parent){var clone=BI.$(this).clone();clone.appendTo(BI.$(parent||"body"));var height=clone.height();return clone.remove(),height},hasVerticalScroll:function(){return this.height()>0&&this[0].clientWidth<this[0].offsetWidth},hasHorizonScroll:function(){return this.width()>0&&this[0].clientHeight<this[0].offsetHeight},getStyle:function(name){var node=this[0],computedStyle=void 0;if(_global.getComputedStyle&&(computedStyle=_global.getComputedStyle(node,null)))return computedStyle.getPropertyValue(BI.hyphenate(name));if(document.defaultView&&document.defaultView.getComputedStyle){if(computedStyle=document.defaultView.getComputedStyle(node,null))return computedStyle.getPropertyValue(BI.hyphenate(name));if("display"===name)return"none"}return node.currentStyle?"float"===name?node.currentStyle.cssFloat||node.currentStyle.styleFloat:node.currentStyle[BI.camelize(name)]:node.style&&node.style[BI.camelize(name)]},__isMouseInBounds__:function(e){var offset2Body=this.get(0).getBoundingClientRect?this.get(0).getBoundingClientRect():this.offset(),width=offset2Body.width||this.outerWidth(),height=offset2Body.height||this.outerHeight();return!(e.pageX<Math.floor(offset2Body.left)||e.pageX>offset2Body.left+width||e.pageY<Math.floor(offset2Body.top)||e.pageY>offset2Body.top+height)},__hasZIndexMask__:function(zindex){return zindex&&null!=this.zIndexMask[zindex]},__buildZIndexMask__:function(zindex,domArray){this.zIndexMask=this.zIndexMask||{},this.indexMask=this.indexMask||[];var mask=BI.createWidget({type:"bi.center_adapt",cls:"bi-z-index-mask",items:domArray});return mask.element.css({"z-index":zindex}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:mask,left:0,right:0,top:0,bottom:0}]}),this.indexMask.push(mask),zindex&&(this.zIndexMask[zindex]=mask),mask.element},__releaseZIndexMask__:function(zindex){if(zindex&&this.zIndexMask[zindex])return BI.remove(this.indexMask,this.zIndexMask[zindex]),void this.zIndexMask[zindex].destroy();this.indexMask=this.indexMask||[];var indexMask=this.indexMask.pop();indexMask&&indexMask.destroy()}})),_.extend(BI,{$import:function(){function loadReady(src,must){var $scripts=BI.$("head script, body script");BI.$.each($scripts,function(i,item){item.src.indexOf(src)!=-1&&(_LOADED[src]=!0)});var $links=BI.$("head link");BI.$.each($links,function(i,item){item.href.indexOf(src)!=-1&&must&&(_LOADED[src]=!1,BI.$(item).remove())})}var _LOADED={};return function(src,ext,must){if(loadReady(src,must),_LOADED[src]!==!0)if("css"===ext){var link=document.createElement("link");link.rel="stylesheet",link.type="text/css",link.href=src;var head=document.getElementsByTagName("head")[0];head.appendChild(link),_LOADED[src]=!0}else BI.$.ajax({url:src,dataType:"script",async:!1,cache:!0,complete:function(res,status){"success"==status&&(_LOADED[src]=!0)}})}}()}),Number.prototype.toFixed&&"0.000"===8e-5.toFixed(3)&&"0"!==.9.toFixed(0)&&"1.25"===1.255.toFixed(2)&&"1000000000000000128"===(0xde0b6b3a7640080).toFixed(0)||!function(){function multiply(n,c){for(var i=-1;++i<size;)c+=n*data[i],data[i]=c%base,c=Math.floor(c/base)}function divide(n){for(var i=size,c=0;--i>=0;)c+=data[i],data[i]=Math.floor(c/n),c=c%n*base}function toString(){for(var i=size,s="";--i>=0;)if(""!==s||0===i||0!==data[i]){var t=String(data[i]);""===s?s=t:s+="0000000".slice(0,7-t.length)+t}return s}function pow(x,n,acc){return 0===n?acc:n%2===1?pow(x,n-1,acc*x):pow(x*x,n/2,acc)}function log(x){for(var n=0;x>=4096;)n+=12,x/=4096;for(;x>=2;)n+=1,x/=2;return n}var base,size,data,i;base=1e7,size=6,data=[0,0,0,0,0,0],Number.prototype.toFixed=function(fractionDigits){var f,x,s,m,e,z,j,k;if(f=Number(fractionDigits),f=f!==f?0:Math.floor(f),f<0||f>20)throw new RangeError("Number.toFixed called with invalid number of decimals");if(x=Number(this),x!==x)return"NaN";if(x<=-1e21||x>1e21)return String(x);if(s="",x<0&&(s="-",x=-x),m="0",x>1e-21)if(e=log(x*pow(2,69,1))-69,z=e<0?x*pow(2,-e,1):x/pow(2,e,1),z*=4503599627370496,e=52-e,e>0){for(multiply(0,z),j=f;j>=7;)multiply(1e7,0),j-=7;for(multiply(pow(10,j,1),0),j=e-1;j>=23;)divide(1<<23),j-=23;divide(1<<j),multiply(1,1),divide(2),m=toString()}else multiply(0,z),multiply(1<<-e,0),m=toString()+"0.00000000000000000000".slice(2,2+f);return f>0?(k=m.length,m=k<=f?s+"0.0000000000000000000".slice(0,f-k+2)+m:s+m.slice(0,k-f)+"."+m.slice(k-f)):m=s+m,m}}(),_.extend(BI,{MAX:0x1000000000000000,MIN:-0x1000000000000000,EVENT_RESPONSE_TIME:200,zIndex_layer:1e5,zIndex_popover:1e6,zIndex_popup:1e7,zIndex_masker:1e8,zIndex_tip:1e9,emptyStr:"",emptyFn:function(){},empty:null,Key:{48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/"},KeyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},Status:{SUCCESS:1,WRONG:2,START:3,END:4,WAITING:5,READY:6,RUNNING:7,OUTOFBOUNDS:8,NULL:-1},Direction:{Top:"top",Bottom:"bottom",Left:"left",Right:"right",Custom:"custom"},Axis:{Vertical:"vertical",Horizontal:"horizontal"},Selection:{Default:-2,None:-1,Single:0,Multi:1,All:2},HorizontalAlign:{Left:"left",Right:"right",Center:"center",Stretch:"stretch"},VerticalAlign:{Middle:"middle",Top:"top",Bottom:"bottom",Stretch:"stretch"},StartOfWeek:1}),BI.version="2.0",BI.AbsoluteCenterLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.AbsoluteCenterLayout.superclass.props.apply(this,arguments),{baseCls:"bi-absolute-center-layout",hgap:0,lgap:0,rgap:0,vgap:0,tgap:0,bgap:0})},render:function(){BI.AbsoluteCenterLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.AbsoluteCenterLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"absolute",left:o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0),right:o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0),top:o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0),bottom:o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0),margin:"auto"}),w},resize:function(){},populate:function(items){BI.AbsoluteCenterLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.absolute_center_adapt",BI.AbsoluteCenterLayout),BI.AbsoluteHorizontalLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.AbsoluteHorizontalLayout.superclass.props.apply(this,arguments),{baseCls:"bi-absolute-horizontal-layout",hgap:0,lgap:0,rgap:0,vgap:0,tgap:0,bgap:0})},render:function(){BI.AbsoluteHorizontalLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.AbsoluteHorizontalLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"absolute",left:o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0),right:o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0),margin:"auto"}),o.vgap+o.tgap+(item.vgap||0)+(item.tgap||0)!==0&&w.element.css("top",o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)),o.vgap+o.bgap+(item.vgap||0)+(item.bgap||0)!==0&&w.element.css("bottom",o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)),w},resize:function(){},populate:function(items){BI.AbsoluteHorizontalLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.absolute_horizontal_adapt",BI.AbsoluteHorizontalLayout),BI.AbsoluteVerticalLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.AbsoluteVerticalLayout.superclass.props.apply(this,arguments),{baseCls:"bi-absolute-vertical-layout",hgap:0,lgap:0,rgap:0,vgap:0,tgap:0,bgap:0})},render:function(){BI.AbsoluteVerticalLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.AbsoluteVerticalLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"absolute",left:item.lgap,right:item.rgap,top:o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0),bottom:o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0),margin:"auto"}),o.hgap+o.lgap+(item.hgap||0)+(item.lgap||0)!==0&&w.element.css("left",o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)),o.hgap+o.rgap+(item.hgap||0)+(item.rgap||0)!==0&&w.element.css("right",o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)),w},resize:function(){},populate:function(items){BI.AbsoluteVerticalLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.absolute_vertical_adapt",BI.AbsoluteVerticalLayout),BI.CenterAdaptLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.CenterAdaptLayout.superclass.props.apply(this,arguments),{baseCls:"bi-center-adapt-layout",horizontalAlign:BI.HorizontalAlign.Center,columnSize:[],scrollx:!1,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){var o=this.options,self=this;return BI.CenterAdaptLayout.superclass.render.apply(this,arguments),{type:"bi.horizontal",verticalAlign:BI.VerticalAlign.Middle,horizontalAlign:o.horizontalAlign,columnSize:o.columnSize,scrollx:o.scrollx,items:o.items,ref:function(_ref){self.layout=_ref},hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap}},resize:function(){},populate:function(items){this.layout.populate.apply(this,arguments)}}),BI.shortcut("bi.center_adapt",BI.CenterAdaptLayout),BI.HorizontalAdaptLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.HorizontalAdaptLayout.superclass.props.apply(this,arguments),{baseCls:"bi-horizontal-adapt-layout",verticalAlign:BI.VerticalAlign.Top,horizontalAlign:BI.HorizontalAlign.Center,columnSize:[],scrollx:!1,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){var self=this,o=this.options;return BI.HorizontalAdaptLayout.superclass.render.apply(this,arguments),{type:"bi.horizontal",verticalAlign:BI.VerticalAlign.Top,horizontalAlign:o.horizontalAlign,columnSize:o.columnSize,items:o.items,scrollx:o.scrollx,ref:function(_ref){self.layout=_ref},hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap}},resize:function(){},populate:function(items){this.layout.populate.apply(this,arguments)}}),BI.shortcut("bi.horizontal_adapt",BI.HorizontalAdaptLayout),BI.LeftRightVerticalAdaptLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.LeftRightVerticalAdaptLayout.superclass.props.apply(this,arguments),{baseCls:"bi-left-right-vertical-adapt-layout",items:{},llgap:0,lrgap:0,lhgap:0,rlgap:0,rrgap:0,rhgap:0})},render:function(){var o=this.options,self=this;BI.LeftRightVerticalAdaptLayout.superclass.render.apply(this,arguments);var layoutArray=[];return"left"in o.items&&layoutArray.push({type:"bi.left",items:[{el:{type:"bi.vertical_adapt",height:"100%",items:o.items.left,hgap:o.lhgap,lgap:o.llgap,rgap:o.lrgap}}]}),"right"in o.items&&layoutArray.push({type:"bi.right",items:[{el:{type:"bi.vertical_adapt",height:"100%",items:o.items.right,textAlign:"right",hgap:o.rhgap,lgap:o.rlgap,rgap:o.rrgap}}]}),layoutArray},resize:function(){},addItem:function(){throw new Error("cannot be added")},populate:function(items){BI.LeftRightVerticalAdaptLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.left_right_vertical_adapt",BI.LeftRightVerticalAdaptLayout),BI.LeftVerticalAdaptLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.LeftRightVerticalAdaptLayout.superclass.props.apply(this,arguments),{baseCls:"bi-left-vertical-adapt-layout",items:[],lgap:0,rgap:0,hgap:0})},render:function(){var o=this.options,self=this;return BI.LeftVerticalAdaptLayout.superclass.render.apply(this,arguments),{type:"bi.left",ref:function(_ref){self.layout=_ref},items:[{el:{type:"bi.vertical_adapt",height:"100%",items:o.items,lgap:o.lgap,hgap:o.hgap,rgap:o.rgap}}]}},resize:function(){},addItem:function(){throw new Error("cannot be added")},populate:function(items){this.layout.populate.apply(this,arguments)}}),BI.shortcut("bi.left_vertical_adapt",BI.LeftVerticalAdaptLayout),BI.RightVerticalAdaptLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.RightVerticalAdaptLayout.superclass.props.apply(this,arguments),{baseCls:"bi-right-vertical-adapt-layout",items:[],lgap:0,rgap:0,hgap:0})},render:function(){var o=this.options,self=this;return BI.RightVerticalAdaptLayout.superclass.render.apply(this,arguments),{type:"bi.right",ref:function(_ref){self.layout=_ref},items:[{el:{type:"bi.vertical_adapt",height:"100%",textAlign:"right",items:o.items,lgap:o.lgap,hgap:o.hgap,rgap:o.rgap}}]}},resize:function(){},addItem:function(){throw new Error("cannot be added")},populate:function(items){this.layout.populate.apply(this,arguments)}}),BI.shortcut("bi.right_vertical_adapt",BI.RightVerticalAdaptLayout),BI.TableAdaptLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.TableAdaptLayout.superclass.props.apply(this,arguments),{baseCls:"bi-table-center-adapt-layout",columnSize:[],verticalAlign:BI.VerticalAlign.Top,horizontalAlign:BI.HorizontalAlign.Left,scrollx:!0,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){var o=this.options;BI.TableAdaptLayout.superclass.render.apply(this,arguments),this.$table=BI.Widget._renderEngine.createElement("<div>").css({position:"relative",display:"table",height:o.verticalAlign===BI.VerticalAlign.Middle?"100%":"auto",width:o.horizontalAlign===BI.HorizontalAlign.Center?"100%":"auto","white-space":"nowrap"}),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,td,width=o.columnSize[i]<=1?100*o.columnSize[i]+"%":o.columnSize[i];if(this.hasWidget(this._getChildName(i)))td=this.getWidgetByName(this._getChildName(i)),td.element.width(width);else{var w=BI.createWidget(item);w.element.css({position:"relative",top:"0",left:"0",margin:"0px auto"}),td=BI.createWidget({type:"bi.default",width:width,items:[w]}),this.addWidget(this._getChildName(i),td)}return td.element.css({"max-width":o.columnSize[i]<=1?width:width+"px"}),0===i&&td.element.addClass("first-element"),td.element.css({position:"relative",display:"table-cell","vertical-align":o.verticalAlign,margin:"0",padding:"0",height:"100%"}),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":(0===i?o.hgap:0)+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),td},appendFragment:function(frag){this.$table.append(frag),this.element.append(this.$table)},resize:function(){},populate:function(items){BI.TableAdaptLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.table_adapt",BI.TableAdaptLayout),BI.VerticalAdaptLayout=BI.inherit(BI.Layout,{props:{baseCls:"bi-vertical-adapt-layout",horizontalAlign:BI.HorizontalAlign.Left,columnSize:[],scrollx:!1,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0},render:function(){var self=this,o=this.options;return BI.VerticalAdaptLayout.superclass.render.apply(this,arguments),{type:"bi.horizontal",verticalAlign:BI.VerticalAlign.Middle,horizontalAlign:o.horizontalAlign,columnSize:o.columnSize,items:o.items,scrollx:o.scrollx,ref:function(_ref){self.layout=_ref},hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap}},resize:function(){},populate:function(items){this.layout.populate.apply(this,arguments)}}),BI.shortcut("bi.vertical_adapt",BI.VerticalAdaptLayout),BI.HorizontalAutoLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.HorizontalAutoLayout.superclass.props.apply(this,arguments),{baseCls:"bi-horizon-auto-layout",hgap:0,lgap:0,rgap:0,vgap:0,tgap:0,bgap:0})},render:function(){BI.HorizontalAutoLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.HorizontalAutoLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative",margin:"0px auto"}),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":(0===i?o.vgap:0)+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),w},resize:function(){},populate:function(items){BI.HorizontalAutoLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.horizontal_auto",BI.HorizontalAutoLayout),BI.FloatHorizontalLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FloatHorizontalLayout.superclass.props.apply(this,arguments),{baseCls:"bi-float-horizontal-adapt-layout",items:[],hgap:0,vgap:0,tgap:0,bgap:0,lgap:0,rgap:0})},render:function(){BI.FloatHorizontalLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},resize:function(){},mounted:function(){var self=this,width=this.left.element.width(),height=this.left.element.height();this.left.element.width(width).height(height).css("float","none"),BI.remove(this._children,function(i,wi){wi===self.container&&delete self._children[i]}),BI.createWidget({type:"bi.horizontal_auto",element:this,items:[this.left]})},_addElement:function(i,item){var self=this,o=this.options;return this.left=BI.createWidget({type:"bi.vertical",items:[item],hgap:o.hgap,vgap:o.vgap,tgap:o.tgap,bgap:o.bgap,lgap:o.lgap,rgap:o.rgap}),this.container=BI.createWidget({type:"bi.left",element:this,items:[this.left]}),this.left},populate:function(items){BI.HorizontalAutoLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.horizontal_float",BI.FloatHorizontalLayout),BI.InlineCenterAdaptLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.InlineLayout.superclass.props.apply(this,arguments),{baseCls:"bi-inline-center-adapt-layout",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.InlineCenterAdaptLayout.superclass.render.apply(this,arguments),this.element.css({whiteSpace:"nowrap",textAlign:"center"}),this.populate(this.options.items)},_addElement:function(i,item,length){var o=this.options,w=BI.InlineVerticalAdaptLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative","vertical-align":"middle"}),w.element.addClass("inline-center-adapt-item"),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":(0===i?o.hgap:0)+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),w},resize:function(){this.stroke(this.options.items)},addItem:function(item){throw new Error("不能添加元素")},stroke:function(items){var self=this;BI.each(items,function(i,item){item&&self._addElement(i,item,items.length)})},populate:function(items){BI.InlineCenterAdaptLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.inline_center_adapt",BI.InlineCenterAdaptLayout),BI.InlineVerticalAdaptLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.InlineLayout.superclass.props.apply(this,arguments),{baseCls:"bi-inline-vertical-adapt-layout",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0,textAlign:"left"})},render:function(){BI.InlineVerticalAdaptLayout.superclass.render.apply(this,arguments);var o=this.options;this.element.css({whiteSpace:"nowrap",textAlign:o.textAlign}),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.InlineVerticalAdaptLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative","vertical-align":"middle"}),w.element.addClass("inline-vertical-adapt-item"),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":(0===i?o.hgap:0)+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),w},resize:function(){this.stroke(this.options.items)},populate:function(items){BI.InlineVerticalAdaptLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.inline_vertical_adapt",BI.InlineVerticalAdaptLayout),BI.FlexCenterLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FlexCenterLayout.superclass.props.apply(this,arguments),{baseCls:"bi-flex-center-adapt-layout",hgap:0,vgap:0})},render:function(){BI.FlexCenterLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.FlexCenterLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative","flex-shrink":"0","margin-left":(0===i?o.hgap:0)+"px","margin-right":o.hgap+"px","margin-top":o.vgap+"px","margin-bottom":o.vgap+"px"}),w},resize:function(){},populate:function(items){BI.FlexCenterLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.flex_center_adapt",BI.FlexCenterLayout),BI.FlexHorizontalCenter=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FlexHorizontalCenter.superclass.props.apply(this,arguments),{baseCls:"bi-flex-horizontal-center-adapt-layout",verticalAlign:BI.VerticalAlign.Top,rowSize:[],scrolly:!1,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){var self=this,o=this.options;return{type:"bi.flex_vertical",ref:function(_ref){self.wrapper=_ref},horizontalAlign:BI.HorizontalAlign.Center,verticalAlign:o.verticalAlign,rowSize:o.rowSize,scrollx:o.scrollx,scrolly:o.scrolly,scrollable:o.scrollable,hgap:o.hgap,vgap:o.vgap,tgap:o.tgap,bgap:o.bgap,items:o.items}},resize:function(){},update:function(opt){return this.wrapper.update(opt)},populate:function(items){this.wrapper.populate(items)}}),BI.shortcut("bi.flex_horizontal_adapt",BI.FlexHorizontalCenter),BI.shortcut("bi.flex_horizontal_center_adapt",BI.FlexHorizontalCenter),BI.FlexHorizontalLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FlexHorizontalLayout.superclass.props.apply(this,arguments),{baseCls:"bi-flex-horizontal-layout",verticalAlign:BI.VerticalAlign.Top,horizontalAlign:BI.HorizontalAlign.Left,columnSize:[],scrollx:!0,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.FlexHorizontalLayout.superclass.render.apply(this,arguments);var o=this.options;this.element.addClass("v-"+o.verticalAlign).addClass("h-"+o.horizontalAlign),
this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.FlexHorizontalLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative","flex-shrink":"0"}),o.columnSize[i]>0&&w.element.width(o.columnSize[i]),"fill"===o.columnSize[i]&&w.element.css("flex","1"),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":(0===i?o.hgap:0)+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),w},resize:function(){},populate:function(items){BI.FlexHorizontalLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.flex_horizontal",BI.FlexHorizontalLayout),BI.FlexVerticalCenter=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FlexVerticalCenter.superclass.props.apply(this,arguments),{baseCls:"bi-flex-vertical-center-adapt-layout",horizontalAlign:BI.HorizontalAlign.Left,columnSize:[],scrollx:!1,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){var self=this,o=this.options;return{type:"bi.flex_horizontal",ref:function(_ref){self.wrapper=_ref},verticalAlign:BI.VerticalAlign.Middle,horizontalAlign:o.horizontalAlign,columnSize:o.columnSize,scrollx:o.scrollx,scrolly:o.scrolly,scrollable:o.scrollable,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,hgap:o.hgap,items:o.items}},resize:function(){},update:function(opt){return this.wrapper.update(opt)},populate:function(items){this.wrapper.populate(items)}}),BI.shortcut("bi.flex_vertical_adapt",BI.FlexVerticalCenter),BI.shortcut("bi.flex_vertical_center_adapt",BI.FlexVerticalCenter),BI.FlexVerticalLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FlexVerticalLayout.superclass.props.apply(this,arguments),{baseCls:"bi-flex-vertical-layout",horizontalAlign:BI.HorizontalAlign.Left,verticalAlign:BI.VerticalAlign.Top,rowSize:[],scrolly:!0,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.FlexVerticalLayout.superclass.render.apply(this,arguments);var o=this.options;this.element.addClass("h-"+o.horizontalAlign).addClass("v-"+o.verticalAlign),this.populate(this.options.items)},_addElement:function(i,item){var w=BI.FlexVerticalLayout.superclass._addElement.apply(this,arguments),o=this.options;return w.element.css({position:"relative","flex-shrink":"0"}),o.rowSize[i]>0&&w.element.height(o.rowSize[i]),"fill"===o.rowSize[i]&&w.element.css("flex","1"),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":(0===i?o.vgap:0)+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),w},resize:function(){},populate:function(items){BI.FlexVerticalLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.flex_vertical",BI.FlexVerticalLayout),BI.FlexWrapperCenterLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FlexWrapperCenterLayout.superclass.props.apply(this,arguments),{baseCls:"bi-flex-scrollable-center-adapt-layout clearfix",scrollable:!0})},render:function(){BI.FlexWrapperCenterLayout.superclass.render.apply(this,arguments),this.$wrapper=BI.Widget._renderEngine.createElement("<div>").addClass("flex-scrollable-center-adapt-layout-wrapper"),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.FlexWrapperCenterLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative","margin-left":(0===i?o.hgap:0)+"px","margin-right":o.hgap+"px","margin-top":o.vgap+"px","margin-bottom":o.vgap+"px"}),w},appendFragment:function(frag){this.$wrapper.append(frag),this.element.append(this.$wrapper)},_getWrapper:function(){return this.$wrapper},resize:function(){},populate:function(items){BI.FlexWrapperCenterLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.flex_scrollable_center_adapt",BI.FlexWrapperCenterLayout),BI.FlexWrapperHorizontalCenter=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FlexWrapperHorizontalCenter.superclass.props.apply(this,arguments),{baseCls:"bi-flex-scrollable-vertical-center-adapt-layout clearfix",verticalAlign:BI.VerticalAlign.Top,rowSize:[],scrollable:!0,scrolly:!1,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){var self=this,o=this.options;return{type:"bi.flex_scrollable_vertical",ref:function(_ref){self.wrapper=_ref},horizontalAlign:BI.HorizontalAlign.Center,verticalAlign:o.verticalAlign,rowSize:o.rowSize,scrollx:o.scrollx,scrolly:o.scrolly,scrollable:o.scrollable,hgap:o.hgap,vgap:o.vgap,tgap:o.tgap,bgap:o.bgap,items:o.items}},update:function(opt){return this.wrapper.update(opt)},populate:function(items){this.wrapper.populate(items)}}),BI.shortcut("bi.flex_scrollable_horizontal_adapt",BI.FlexWrapperHorizontalCenter),BI.shortcut("bi.flex_scrollable_horizontal_center_adapt",BI.FlexWrapperHorizontalCenter),BI.FlexWrapperHorizontalLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FlexWrapperHorizontalLayout.superclass.props.apply(this,arguments),{baseCls:"bi-flex-scrollable-horizontal-layout clearfix",verticalAlign:BI.VerticalAlign.Top,horizontalAlign:BI.HorizontalAlign.Left,columnSize:[],scrollable:null,scrollx:!0,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.FlexWrapperHorizontalLayout.superclass.render.apply(this,arguments);var o=this.options;this.$wrapper=BI.Widget._renderEngine.createElement("<div>").addClass("flex-scrollable-horizontal-layout-wrapper v-"+o.verticalAlign).addClass("h-"+o.horizontalAlign),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.FlexWrapperHorizontalLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative","flex-shrink":"0"}),o.columnSize[i]>0&&w.element.width(o.columnSize[i]),"fill"===o.columnSize[i]&&w.element.css("flex","1"),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":(0===i?o.hgap:0)+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),w},appendFragment:function(frag){this.$wrapper.append(frag),this.element.append(this.$wrapper)},_getWrapper:function(){return this.$wrapper},resize:function(){},populate:function(items){BI.FlexWrapperHorizontalLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.flex_scrollable_horizontal",BI.FlexWrapperHorizontalLayout),BI.FlexWrapperVerticalCenter=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FlexWrapperVerticalCenter.superclass.props.apply(this,arguments),{baseCls:"bi-flex-scrollable-vertical-center-adapt-layout clearfix",horizontalAlign:BI.HorizontalAlign.Left,columnSize:[],scrollx:!1,scrollable:!0,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){var self=this,o=this.options;return{type:"bi.flex_scrollable_horizontal",ref:function(_ref){self.wrapper=_ref},verticalAlign:BI.VerticalAlign.Middle,horizontalAlign:o.horizontalAlign,columnSize:o.columnSize,scrollx:o.scrollx,scrolly:o.scrolly,scrollable:o.scrollable,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,items:o.items}},update:function(opt){return this.wrapper.update(opt)},populate:function(items){this.wrapper.populate(items)}}),BI.shortcut("bi.flex_scrollable_vertical_adapt",BI.FlexWrapperVerticalCenter),BI.shortcut("bi.flex_scrollable_vertical_center_adapt",BI.FlexWrapperVerticalCenter),BI.FlexWrapperVerticalLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FlexWrapperVerticalLayout.superclass.props.apply(this,arguments),{baseCls:"bi-flex-scrollable-vertical-layout clearfix",horizontalAlign:BI.HorizontalAlign.Left,verticalAlign:BI.VerticalAlign.Top,rowSize:[],scrollable:null,scrolly:!0,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.FlexWrapperVerticalLayout.superclass.render.apply(this,arguments);var o=this.options;this.$wrapper=BI.Widget._renderEngine.createElement("<div>").addClass("flex-scrollable-vertical-layout-wrapper h-"+o.horizontalAlign).addClass("v-"+o.verticalAlign),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.FlexWrapperVerticalLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative","flex-shrink":"0"}),o.rowSize[i]>0&&w.element.height(o.rowSize[i]),"fill"===o.rowSize[i]&&w.element.css("flex","1"),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":(0===i?o.vgap:0)+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),w},appendFragment:function(frag){this.$wrapper.append(frag),this.element.append(this.$wrapper)},_getWrapper:function(){return this.$wrapper},resize:function(){},populate:function(items){BI.FlexWrapperVerticalLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.flex_scrollable_vertical",BI.FlexWrapperVerticalLayout),BI.AbsoluteLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.AbsoluteLayout.superclass.props.apply(this,arguments),{baseCls:"bi-absolute-layout",hgap:null,vgap:null,lgap:null,rgap:null,tgap:null,bgap:null})},render:function(){BI.AbsoluteLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.AbsoluteLayout.superclass._addElement.apply(this,arguments),left=0,right=0,top=0,bottom=0;return BI.isNotNull(item.left)&&(w.element.css({left:item.left}),left+=item.left),BI.isNotNull(item.right)&&(w.element.css({right:item.right}),right+=item.right),BI.isNotNull(item.top)&&(w.element.css({top:item.top}),top+=item.top),BI.isNotNull(item.bottom)&&(w.element.css({bottom:item.bottom}),bottom+=item.bottom),BI.isNotNull(o.hgap)&&(left+=o.hgap,w.element.css({left:left}),right+=o.hgap,w.element.css({right:right})),BI.isNotNull(o.vgap)&&(top+=o.vgap,w.element.css({top:top}),bottom+=o.vgap,w.element.css({bottom:bottom})),BI.isNotNull(o.lgap)&&(left+=o.lgap,w.element.css({left:left})),BI.isNotNull(o.rgap)&&(right+=o.rgap,w.element.css({right:right})),BI.isNotNull(o.tgap)&&(top+=o.tgap,w.element.css({top:top})),BI.isNotNull(o.bgap)&&(bottom+=o.bgap,w.element.css({bottom:bottom})),BI.isNotNull(item.width)&&w.element.css({width:item.width}),BI.isNotNull(item.height)&&w.element.css({height:item.height}),w.element.css({position:"absolute"}),w},resize:function(){this.stroke(this.options.items)},stroke:function(items){this.options.items=items||[];var self=this;BI.each(items,function(i,item){if(item){if(!BI.isWidget(item)&&!item.el)throw new Error("el must be exist");self._addElement(i,item)}})},populate:function(items){BI.AbsoluteLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.absolute",BI.AbsoluteLayout),BI.AdaptiveLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.AdaptiveLayout.superclass.props.apply(this,arguments),{baseCls:"bi-adaptive-layout",hgap:null,vgap:null,lgap:null,rgap:null,tgap:null,bgap:null})},render:function(){BI.AdaptiveLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.AdaptiveLayout.superclass._addElement.apply(this,arguments);w.element.css({position:"relative"});var left=0,right=0,top=0,bottom=0;return BI.isNotNull(item.left)&&w.element.css({left:item.left}),BI.isNotNull(item.right)&&w.element.css({right:item.right}),BI.isNotNull(item.top)&&w.element.css({top:item.top}),BI.isNotNull(item.bottom)&&w.element.css({bottom:item.bottom}),BI.isNotNull(o.hgap)&&(left+=o.hgap,w.element.css({"margin-left":left}),right+=o.hgap,w.element.css({"margin-right":right})),BI.isNotNull(o.vgap)&&(top+=o.vgap,w.element.css({"margin-top":top}),bottom+=o.vgap,w.element.css({"margin-bottom":bottom})),BI.isNotNull(o.lgap)&&(left+=o.lgap,w.element.css({"margin-left":left})),BI.isNotNull(o.rgap)&&(right+=o.rgap,w.element.css({"margin-right":right})),BI.isNotNull(o.tgap)&&(top+=o.tgap,w.element.css({"margin-top":top})),BI.isNotNull(o.bgap)&&(bottom+=o.bgap,w.element.css({"margin-bottom":bottom})),BI.isNotNull(item.width)&&w.element.css({width:item.width}),BI.isNotNull(item.height)&&w.element.css({height:item.height}),w},resize:function(){this.stroke(this.options.items)},populate:function(items){BI.AbsoluteLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.adaptive",BI.AdaptiveLayout),BI.BorderLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.BorderLayout.superclass.props.apply(this,arguments),{baseCls:"bi-border-layout",items:{}})},render:function(){BI.BorderLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},resize:function(){this.stroke(this.options.items)},addItem:function(item){throw new Error("cannot be added")},stroke:function(regions){var item,top=0,bottom=0,left=0,right=0;if("north"in regions&&(item=regions.north,null!=item)){if(item.el){if(!this.hasWidget(this.getName()+"north")){var w=BI.createWidget(item);this.addWidget(this.getName()+"north",w)}this.getWidgetByName(this.getName()+"north").element.height(item.height).css({position:"absolute",top:item.top||0,left:item.left||0,right:item.right||0,bottom:"initial"})}top=(item.height||0)+(item.top||0)+(item.bottom||0)}if("south"in regions&&(item=regions.south,null!=item)){if(item.el){if(!this.hasWidget(this.getName()+"south")){var w=BI.createWidget(item);this.addWidget(this.getName()+"south",w)}this.getWidgetByName(this.getName()+"south").element.height(item.height).css({position:"absolute",bottom:item.bottom||0,left:item.left||0,right:item.right||0,top:"initial"})}bottom=(item.height||0)+(item.top||0)+(item.bottom||0)}if("west"in regions&&(item=regions.west,null!=item)){if(item.el){if(!this.hasWidget(this.getName()+"west")){var w=BI.createWidget(item);this.addWidget(this.getName()+"west",w)}this.getWidgetByName(this.getName()+"west").element.width(item.width).css({position:"absolute",left:item.left||0,top:top,bottom:bottom,right:"initial"})}left=(item.width||0)+(item.left||0)+(item.right||0)}if("east"in regions&&(item=regions.east,null!=item)){if(item.el){if(!this.hasWidget(this.getName()+"east")){var w=BI.createWidget(item);this.addWidget(this.getName()+"east",w)}this.getWidgetByName(this.getName()+"east").element.width(item.width).css({position:"absolute",right:item.right||0,top:top,bottom:bottom,left:"initial"})}right=(item.width||0)+(item.left||0)+(item.right||0)}if("center"in regions&&(item=regions.center,null!=item)){if(!this.hasWidget(this.getName()+"center")){var w=BI.createWidget(item);this.addWidget(this.getName()+"center",w)}this.getWidgetByName(this.getName()+"center").element.css({position:"absolute",top:top,bottom:bottom,left:left,right:right})}},update:function(opt){},populate:function(items){BI.BorderLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.border",BI.BorderLayout),BI.CardLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.CardLayout.superclass.props.apply(this,arguments),{baseCls:"bi-card-layout",items:[]})},render:function(){BI.CardLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},resize:function(){},stroke:function(items){var self=this,o=this.options;this.showIndex=void 0,BI.each(items,function(i,item){if(item){if(self.hasWidget(item.cardName))var w=self.getWidgetByName(item.cardName);else{var w=BI.createWidget(item);w.on(BI.Events.DESTROY,function(){var index=BI.findIndex(o.items,function(i,tItem){return tItem.cardName==item.cardName});index>-1&&o.items.splice(index,1)}),self.addWidget(item.cardName,w)}w.element.css({position:"absolute",top:"0",right:"0",bottom:"0",left:"0"}),w.setVisible(!1)}})},update:function(){},empty:function(){BI.CardLayout.superclass.empty.apply(this,arguments),this.options.items=[]},populate:function(items){BI.CardLayout.superclass.populate.apply(this,arguments),this._mount(),this.options.defaultShowName&&this.showCardByName(this.options.defaultShowName)},isCardExisted:function(cardName){return BI.some(this.options.items,function(i,item){return item.cardName==cardName&&item.el})},getCardByName:function(cardName){if(!this.isCardExisted(cardName))throw new Error("cardName is not exist");return this._children[cardName]},_deleteCardByName:function(cardName){delete this._children[cardName];var index=BI.findIndex(this.options.items,function(i,item){return item.cardName==cardName});index>-1&&this.options.items.splice(index,1)},deleteCardByName:function(cardName){if(!this.isCardExisted(cardName))throw new Error("cardName is not exist");var child=this._children[cardName];this._deleteCardByName(cardName),child&&child._destroy()},addCardByName:function(cardName,cardItem){if(this.isCardExisted(cardName))throw new Error("cardName is already exist");var widget=BI.createWidget(cardItem,this);return widget.element.css({position:"relative",top:"0",left:"0",width:"100%",height:"100%"}).appendTo(this.element),widget.invisible(),this.addWidget(cardName,widget),this.options.items.push({el:cardItem,cardName:cardName}),widget},showCardByName:function(name,action,callback){var self=this,exist=this.isCardExisted(name);null!=this.showIndex&&(this.lastShowIndex=this.showIndex),this.showIndex=name;var flag=!1;BI.each(this.options.items,function(i,item){var el=self._children[item.cardName];el&&(name!=item.cardName?!flag&&!exist&&BI.Action&&action instanceof BI.Action?(action.actionBack(el),flag=!0):el.invisible():BI.Action&&action instanceof BI.Action?action.actionPerformed(void 0,el,callback):(el.visible(),callback&&callback()))})},showLastCard:function(){var self=this;this.showIndex=this.lastShowIndex,BI.each(this.options.items,function(i,item){self._children[item.cardName].setVisible(self.showIndex==i)})},setDefaultShowName:function(name){return this.options.defaultShowName=name,this},getDefaultShowName:function(){return this.options.defaultShowName},getAllCardNames:function(){return BI.map(this.options.items,function(i,item){return item.cardName})},getShowingCard:function(){if(BI.isKey(this.showIndex))return this.getWidgetByName(this.showIndex)},deleteAllCard:function(){var self=this;BI.each(this.getAllCardNames(),function(i,name){self.deleteCardByName(name)})},hideAllCard:function(){var self=this;BI.each(this.options.items,function(i,item){self._children[item.cardName].invisible()})},isAllCardHide:function(){var self=this,flag=!0;return BI.some(this.options.items,function(i,item){if(self._children[item.cardName].isVisible())return flag=!1,!1}),flag},removeWidget:function(nameOrWidget){var removeName;BI.isWidget(nameOrWidget)?BI.each(this._children,function(name,child){child===nameOrWidget&&(removeName=name)}):removeName=nameOrWidget,removeName&&this._deleteCardByName(removeName)}}),BI.shortcut("bi.card",BI.CardLayout),BI.DefaultLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.DefaultLayout.superclass.props.apply(this,arguments),{hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0,items:[]})},render:function(){BI.DefaultLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.DefaultLayout.superclass._addElement.apply(this,arguments);return o.vgap+o.tgap+(item.tgap||0)!==0&&w.element.css({"margin-top":o.vgap+o.tgap+(item.tgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)!==0&&w.element.css({"margin-left":o.hgap+o.lgap+(item.lgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+"px"}),w},resize:function(){},populate:function(items){BI.DefaultLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.default",BI.DefaultLayout),BI.DivisionLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.DivisionLayout.superclass.props.apply(this,arguments),{baseCls:"bi-division-layout",columns:null,rows:null,items:[]})},render:function(){BI.DivisionLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},resize:function(){this.stroke(this.opitons.items)},addItem:function(item){throw new Error("cannot be added")},stroke:function(items){function firstElement(item,row,col){0===row&&item.addClass("first-row"),0===col&&item.addClass("first-col"),item.addClass(BI.isOdd(row+1)?"odd-row":"even-row"),item.addClass(BI.isOdd(col+1)?"odd-col":"even-col"),item.addClass("center-element")}function firstObject(item,row,col){var cls="";0===row&&(cls+=" first-row"),0===col&&(cls+=" first-col"),cls+=BI.isOdd(row+1)?" odd-row":" even-row",cls+=BI.isOdd(col+1)?" odd-col":" even-col",item.cls=(item.cls||"")+cls+" center-element"}function first(item,row,col){item instanceof BI.Widget?firstElement(item.element,row,col):item.el instanceof BI.Widget?firstElement(item.el.element,row,col):item.el?firstObject(item.el,row,col):firstObject(item,row,col)}var o=this.options,rows=o.rows||o.items.length,columns=o.columns||0|(o.items[0]&&o.items[0].length),map=BI.makeArray(rows),widths={},heights={};BI.each(map,function(i){map[i]=BI.makeArray(columns)}),BI.each(items,function(i,item){return BI.isArray(item)?void BI.each(item,function(j,el){widths[i]=(widths[i]||0)+item.width,heights[j]=(heights[j]||0)+item.height,map[i][j]=el}):(widths[item.row]=(widths[item.row]||0)+item.width,heights[item.column]=(heights[item.column]||0)+item.height,void(map[item.row][item.column]=item))});for(var i=0;i<rows;i++)for(var totalW=0,j=0;j<columns;j++){if(!map[i][j])throw new Error("item be required");if(this.hasWidget(this.getName()+i+"_"+j))w=this.getWidgetByName(this.getName()+i+"_"+j);else{var w=BI.createWidget(map[i][j]);this.addWidget(this.getName()+i+"_"+j,w)}var left=100*totalW/widths[i];if(w.element.css({position:"absolute",left:left+"%"}),j>0){var lastW=this.getWidgetByName(this.getName()+i+"_"+(j-1));lastW.element.css({right:100-left+"%"})}j==o.columns-1&&w.element.css({right:"0%"}),first(w,i,j),totalW+=map[i][j].width}for(var j=0;j<o.columns;j++)for(var totalH=0,i=0;i<o.rows;i++){var w=this.getWidgetByName(this.getName()+i+"_"+j),top=100*totalH/heights[j];if(w.element.css({top:top+"%"}),i>0){var lastW=this.getWidgetByName(this.getName()+(i-1)+"_"+j);lastW.element.css({bottom:100-top+"%"})}i==o.rows-1&&w.element.css({bottom:"0%"}),totalH+=map[i][j].height}},update:function(){},populate:function(items){BI.DivisionLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.division",BI.DivisionLayout),BI.FloatLeftLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FloatLeftLayout.superclass.props.apply(this,arguments),{baseCls:"bi-float-left-layout clearfix",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.FloatLeftLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.FloatLeftLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative","float":"left"}),BI.isNotNull(item.left)&&w.element.css({left:item.left}),BI.isNotNull(item.right)&&w.element.css({right:item.right}),BI.isNotNull(item.top)&&w.element.css({top:item.top}),BI.isNotNull(item.bottom)&&w.element.css({bottom:item.bottom}),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":(0===i?o.hgap:0)+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),w},resize:function(){this.stroke(this.options.items)},populate:function(items){BI.FloatLeftLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.left",BI.FloatLeftLayout),BI.FloatRightLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FloatRightLayout.superclass.props.apply(this,arguments),{baseCls:"bi-float-right-layout clearfix",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.FloatRightLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.FloatRightLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative","float":"right"}),BI.isNotNull(item.left)&&w.element.css({left:item.left}),BI.isNotNull(item.right)&&w.element.css({right:item.right}),BI.isNotNull(item.top)&&w.element.css({top:item.top}),BI.isNotNull(item.bottom)&&w.element.css({bottom:item.bottom}),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":(0===i?o.hgap:0)+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),w},resize:function(){this.stroke(this.options.items)},populate:function(items){BI.FloatRightLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.right",BI.FloatRightLayout),BI.GridLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.GridLayout.superclass.props.apply(this,arguments),{baseCls:"bi-grid-layout",columns:null,rows:null,items:[]})},render:function(){BI.GridLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},resize:function(){},addItem:function(){throw new Error("cannot be added")},stroke:function(items){function firstElement(item,row,col){0===row&&item.addClass("first-row"),0===col&&item.addClass("first-col"),item.addClass(BI.isOdd(row+1)?"odd-row":"even-row"),item.addClass(BI.isOdd(col+1)?"odd-col":"even-col"),item.addClass("center-element")}function firstObject(item,row,col){var cls="";0===row&&(cls+=" first-row"),0===col&&(cls+=" first-col"),cls+=BI.isOdd(row+1)?" odd-row":" even-row",cls+=BI.isOdd(col+1)?" odd-col":" even-col",item.cls=(item.cls||"")+cls+" center-element"}function first(item,row,col){item instanceof BI.Widget?firstElement(item.element,row,col):item.el instanceof BI.Widget?firstElement(item.el.element,row,col):item.el?firstObject(item.el,row,col):firstObject(item,row,col)}for(var self=this,o=this.options,rows=o.rows||o.items.length,columns=o.columns||0|(o.items[0]&&o.items[0].length),width=100/columns,height=100/rows,els=[],i=0;i<rows;i++)els[i]=[];BI.each(items,function(i,item){return BI.isArray(item)?void BI.each(item,function(j,el){els[i][j]=BI.createWidget(el)}):void(els[item.row][item.column]=BI.createWidget(item))});for(var i=0;i<rows;i++)for(var j=0;j<columns;j++)els[i][j]||(els[i][j]=BI.createWidget({type:"bi.layout"})),first(els[i][j],i,j),els[i][j].element.css({position:"absolute",top:height*i+"%",left:width*j+"%",right:100-width*(j+1)+"%",bottom:100-height*(i+1)+"%"}),this.addWidget(els[i][j])},update:function(){},populate:function(items){BI.GridLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.grid",BI.GridLayout),BI.HorizontalLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.HorizontalLayout.superclass.props.apply(this,arguments),{baseCls:"bi-horizontal-layout",verticalAlign:BI.VerticalAlign.Top,horizontalAlign:BI.HorizontalAlign.Left,columnSize:[],scrollx:!0,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){var o=this.options;BI.HorizontalLayout.superclass.render.apply(this,arguments),this.$table=BI.Widget._renderEngine.createElement("<table>").attr({cellspacing:0,cellpadding:0}).css({position:"relative","white-space":"nowrap",height:o.verticalAlign===BI.VerticalAlign.Middle?"100%":"auto",width:o.horizontalAlign===BI.HorizontalAlign.Center||o.horizontalAlign===BI.HorizontalAlign.Stretch?"100%":"auto","border-spacing":"0px",border:"none","border-collapse":"separate"}),this.$tr=BI.Widget._renderEngine.createElement("<tr>"),this.$tr.appendTo(this.$table),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,td,width=o.columnSize[i]<=1?100*o.columnSize[i]+"%":o.columnSize[i];if(this.hasWidget(this._getChildName(i)))td=this.getWidgetByName(this._getChildName(i)),td.element.attr("width",width);else{var w=BI.createWidget(item);w.element.css({position:"relative",margin:"0px auto"}),td=BI.createWidget({type:"bi.default",tagName:"td",attributes:{width:width},items:[w]}),this.addWidget(this._getChildName(i),td)}return td.element.css({"max-width":o.columnSize[i]<=1?width:width+"px"}),0===i&&td.element.addClass("first-element"),td.element.css({position:"relative","vertical-align":o.verticalAlign,margin:"0",padding:"0",border:"none"}),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":(0===i?o.hgap:0)+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),td},appendFragment:function(frag){this.$tr.append(frag),this.element.append(this.$table)},resize:function(){},_getWrapper:function(){return this.$tr},populate:function(items){BI.HorizontalLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.horizontal",BI.HorizontalLayout),BI.HorizontalCellLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.HorizontalCellLayout.superclass.props.apply(this,arguments),{baseCls:"bi-horizontal-cell-layout",scrollable:!0,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.HorizontalCellLayout.superclass.render.apply(this,arguments),this.element.css({display:"table","vertical-align":"top"}),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.HorizontalCellLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative",display:"table-cell","vertical-align":"middle"}),o.hgap+o.lgap>0&&w.element.css({"margin-left":o.hgap+o.lgap+"px"}),o.hgap+o.rgap>0&&w.element.css({"margin-right":o.hgap+o.rgap+"px"}),o.vgap+o.tgap>0&&w.element.css({"margin-top":o.vgap+o.tgap+"px"}),o.vgap+o.bgap>0&&w.element.css({"margin-bottom":o.vgap+o.bgap+"px"}),w},resize:function(){},populate:function(items){BI.HorizontalCellLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.horizontal_cell",BI.HorizontalCellLayout),
BI.InlineLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.InlineLayout.superclass.props.apply(this,arguments),{baseCls:"bi-inline-layout",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.InlineLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.InlineLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative",display:"inline-block","*display":"inline","*zoom":1}),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":(0===i?o.hgap:0)+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),w},resize:function(){this.stroke(this.options.items)},populate:function(items){BI.InlineLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.inline",BI.InlineLayout),BI.LatticeLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.LatticeLayout.superclass.props.apply(this,arguments),{baseCls:"bi-lattice-layout clearfix"})},render:function(){BI.LatticeLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.LatticeLayout.superclass._addElement.apply(this,arguments);if(o.columnSize&&o.columnSize[i])var width=o.columnSize[i]/BI.sum(o.columnSize)*100+"%";else var width=1/this.options.items.length*100+"%";return w.element.css({position:"relative","float":"left",width:width}),w},addItem:function(item){var w=BI.LatticeLayout.superclass.addItem.apply(this,arguments);return this.resize(),w},addItemAt:function(item){var w=BI.LatticeLayout.superclass.addItemAt.apply(this,arguments);return this.resize(),w},resize:function(){this.stroke(this.options.items)},populate:function(items){BI.LatticeLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.lattice",BI.LatticeLayout),BI.TableLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.TableLayout.superclass.props.apply(this,arguments),{baseCls:"bi-table-layout",scrolly:!0,columnSize:[200,200,"fill"],rowSize:30,hgap:0,vgap:0,items:[[{el:{text:"label1"}},{el:{text:"label2"}},{el:{text:"label3"}}]]})},render:function(){BI.TableLayout.superclass.render.apply(this,arguments),this.rows=0,this.populate(this.options.items)},_addElement:function(idx,arr){function firstElement(item,row,col){0===row&&item.addClass("first-row"),0===col&&item.addClass("first-col"),item.addClass(BI.isOdd(row+1)?"odd-row":"even-row"),item.addClass(BI.isOdd(col+1)?"odd-col":"even-col"),item.addClass("center-element")}function firstObject(item,row,col){var cls="";0===row&&(cls+=" first-row"),0===col&&(cls+=" first-col"),cls+=BI.isOdd(row+1)?" odd-row":" even-row",cls+=BI.isOdd(col+1)?" odd-col":" even-col",item.cls=(item.cls||"")+cls+" center-element"}function first(item,row,col){item instanceof BI.Widget?firstElement(item.element,row,col):item.el instanceof BI.Widget?firstElement(item.el.element,row,col):item.el?firstObject(item.el,row,col):firstObject(item,row,col)}var o=this.options,abs=[],left=0,right=0,i,j;for(i=0;i<arr.length&&BI.isNumber(o.columnSize[i]);i++)first(arr[i],this.rows,i),abs.push(BI.extend({top:0,bottom:0,left:o.columnSize[i]<=1?100*left+"%":left,width:o.columnSize[i]<=1?100*o.columnSize[i]+"%":o.columnSize[i]},arr[i])),left+=o.columnSize[i]+(o.columnSize[i]<1?0:o.hgap);for(j=arr.length-1;j>i;j--){if(!BI.isNumber(o.columnSize[j]))throw new Error("item with fill can only be one");first(arr[j],this.rows,j),abs.push(BI.extend({top:0,bottom:0,right:o.columnSize[j]<=1?100*right+"%":right,width:o.columnSize[j]<=1?100*o.columnSize[j]+"%":o.columnSize[j]},arr[j])),right+=o.columnSize[j]+(o.columnSize[j]<1?0:o.hgap)}i>=0&&i<arr.length&&(first(arr[i],this.rows,i),abs.push(BI.extend({top:0,bottom:0,left:left<=1?100*left+"%":left,right:right<=1?100*right+"%":right},arr[i])));var w=BI.createWidget({type:"bi.absolute",height:BI.isArray(o.rowSize)?o.rowSize[this.rows]:o.rowSize,items:abs});return this.rows>0&&this.getWidgetByName(this.getName()+(this.rows-1)).element.css({"margin-bottom":o.vgap}),w.element.css({position:"relative"}),this.addWidget(this.getName()+this.rows++,w),w},resize:function(){},addItem:function(arr){if(!BI.isArray(arr))throw new Error("item must be array");return BI.TableLayout.superclass.addItem.apply(this,arguments)},update:function(){},populate:function(items){BI.TableLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.table",BI.TableLayout),BI.HTapeLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.HTapeLayout.superclass.props.apply(this,arguments),{baseCls:"bi-h-tape-layout",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0,items:[{width:100,el:{type:"bi.button",text:"button1"}},{width:"fill",el:{type:"bi.button",text:"button2"}},{width:200,el:{type:"bi.button",text:"button3"}}]})},render:function(){BI.HTapeLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},resize:function(){this.stroke(this.options.items)},addItem:function(item){throw new Error("cannot be added")},stroke:function(items){var self=this,o=this.options;items=BI.compact(items),BI.each(items,function(i,item){if(self.hasWidget(self.getName()+i+""))w=self.getWidgetByName(self.getName()+i+"");else{var w=BI.createWidget(item);self.addWidget(self.getName()+i+"",w)}w.element.css({position:"absolute",top:(item.vgap||0)+(item.tgap||0)+o.vgap+o.tgap+"px",bottom:(item.bgap||0)+(item.vgap||0)+o.vgap+o.bgap+"px"})});var left={},right={};left[0]=0,right[items.length-1]=0,BI.any(items,function(i,item){var w=self.getWidgetByName(self.getName()+i+"");if(BI.isNull(left[i])&&(left[i]=left[i-1]+items[i-1].width+(items[i-1].lgap||0)+2*(items[i-1].hgap||0)+o.hgap+o.lgap+o.rgap),item.width<1&&item.width>=0?w.element.css({left:100*left[i]+"%",width:100*item.width+"%"}):w.element.css({left:left[i]+(item.lgap||0)+(item.hgap||0)+o.hgap+o.lgap+"px",width:BI.isNumber(item.width)?item.width:""}),!BI.isNumber(item.width))return!0}),BI.backAny(items,function(i,item){var w=self.getWidgetByName(self.getName()+i+"");if(BI.isNull(right[i])&&(right[i]=right[i+1]+items[i+1].width+(items[i+1].rgap||0)+2*(items[i+1].hgap||0)+o.hgap+o.lgap+o.rgap),item.width<1&&item.width>=0?w.element.css({right:100*right[i]+"%",width:100*item.width+"%"}):w.element.css({right:right[i]+(item.rgap||0)+(item.hgap||0)+o.hgap+o.rgap+"px",width:BI.isNumber(item.width)?item.width:""}),!BI.isNumber(item.width))return!0})},update:function(){var updated;return BI.each(this._children,function(i,child){updated=child.update()||updated}),updated},populate:function(items){BI.HTapeLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.htape",BI.HTapeLayout),BI.VTapeLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.VTapeLayout.superclass.props.apply(this,arguments),{baseCls:"bi-v-tape-layout",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0,items:[{height:100,el:{type:"bi.button",text:"button1"}},{height:"fill",el:{type:"bi.button",text:"button2"}},{height:200,el:{type:"bi.button",text:"button3"}}]})},render:function(){BI.VTapeLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},resize:function(){this.stroke(this.options.items)},addItem:function(item){throw new Error("cannot be added")},stroke:function(items){var self=this,o=this.options;items=BI.compact(items),BI.each(items,function(i,item){if(self.hasWidget(self.getName()+i+""))w=self.getWidgetByName(self.getName()+i+"");else{var w=BI.createWidget(item);self.addWidget(self.getName()+i+"",w)}w.element.css({position:"absolute",left:(item.lgap||0)+(item.hgap||0)+o.hgap+o.lgap+"px",right:+(item.hgap||0)+(item.rgap||0)+o.hgap+o.rgap+"px"})});var top={},bottom={};top[0]=0,bottom[items.length-1]=0,BI.any(items,function(i,item){var w=self.getWidgetByName(self.getName()+i+"");if(BI.isNull(top[i])&&(top[i]=top[i-1]+items[i-1].height+(items[i-1].tgap||0)+2*(items[i-1].vgap||0)+o.vgap+o.tgap+o.bgap),item.height<1&&item.height>=0?w.element.css({top:100*top[i]+"%",height:100*item.height+"%"}):w.element.css({top:top[i]+(item.vgap||0)+(item.tgap||0)+o.vgap+o.tgap+"px",height:BI.isNumber(item.height)?item.height:""}),!BI.isNumber(item.height))return!0}),BI.backAny(items,function(i,item){var w=self.getWidgetByName(self.getName()+i+"");if(BI.isNull(bottom[i])&&(bottom[i]=bottom[i+1]+items[i+1].height+(items[i+1].bgap||0)+2*(items[i+1].vgap||0)+o.vgap+o.tgap+o.bgap),item.height<1&&item.height>=0?w.element.css({bottom:100*bottom[i]+"%",height:100*item.height+"%"}):w.element.css({bottom:bottom[i]+(item.vgap||0)+(item.bgap||0)+o.vgap+o.bgap+"px",height:BI.isNumber(item.height)?item.height:""}),!BI.isNumber(item.height))return!0})},update:function(){},populate:function(items){BI.VTapeLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.vtape",BI.VTapeLayout),BI.TdLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.TdLayout.superclass.props.apply(this,arguments),{baseCls:"bi-td-layout",columnSize:[200,200,200],hgap:0,vgap:0,items:[[{el:{text:"label1"}},{el:{text:"label2"}},{el:{text:"label3"}}]]})},render:function(){BI.TdLayout.superclass.render.apply(this,arguments),this.$table=BI.Widget._renderEngine.createElement("<table>").attr({cellspacing:0,cellpadding:0}).css({position:"relative",width:"100%",height:"100%","border-spacing":"0px",border:"none","border-collapse":"separate"}),this.rows=0,this.populate(this.options.items)},_addElement:function(idx,arr){function firstElement(item,row,col){0===row&&item.addClass("first-row"),0===col&&item.addClass("first-col"),item.addClass(BI.isOdd(row+1)?"odd-row":"even-row"),item.addClass(BI.isOdd(col+1)?"odd-col":"even-col"),item.addClass("center-element")}function firstObject(item,row,col){var cls="";0===row&&(cls+=" first-row"),0===col&&(cls+=" first-col"),cls+=BI.isOdd(row+1)?" odd-row":" even-row",cls+=BI.isOdd(col+1)?" odd-col":" even-col",item.cls=(item.cls||"")+cls+" center-element"}function first(item,row,col){item instanceof BI.Widget?firstElement(item.element,row,col):item.el instanceof BI.Widget?firstElement(item.el.element,row,col):item.el?firstObject(item.el,row,col):firstObject(item,row,col)}for(var o=this.options,tr=BI.createWidget({type:"bi.default",tagName:"tr"}),i=0;i<arr.length;i++){var w=BI.createWidget(arr[i]);w.element.css({position:"relative",top:"0",left:"0",margin:"0px auto"}),arr[i].lgap&&w.element.css({"margin-left":arr[i].lgap+"px"}),arr[i].rgap&&w.element.css({"margin-right":arr[i].rgap+"px"}),arr[i].tgap&&w.element.css({"margin-top":arr[i].tgap+"px"}),arr[i].bgap&&w.element.css({"margin-bottom":arr[i].bgap+"px"}),first(w,this.rows++,i);var td=BI.createWidget({type:"bi.default",attributes:{width:o.columnSize[i]<=1?100*o.columnSize[i]+"%":o.columnSize[i]},tagName:"td",items:[w]});td.element.css({position:"relative","vertical-align":"middle",margin:"0",padding:"0",border:"none"}),tr.addItem(td)}return this.addWidget(this.getName()+idx,tr),tr},appendFragment:function(frag){this.$table.append(frag),this.element.append(this.$table)},resize:function(){},addItem:function(arr){if(!BI.isArray(arr))throw new Error("item must be array");return BI.TdLayout.superclass.addItem.apply(this,arguments)},update:function(){},populate:function(items){BI.TdLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.td",BI.TdLayout),BI.VerticalLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.VerticalLayout.superclass.props.apply(this,arguments),{baseCls:"bi-vertical-layout",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0,scrolly:!0})},render:function(){BI.VerticalLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},_addElement:function(i,item){var o=this.options,w=BI.VerticalLayout.superclass._addElement.apply(this,arguments);return w.element.css({position:"relative"}),o.vgap+o.tgap+(item.tgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-top":(0===i?o.vgap:0)+o.tgap+(item.tgap||0)+(item.vgap||0)+"px"}),o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-left":o.hgap+o.lgap+(item.lgap||0)+(item.hgap||0)+"px"}),o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)!==0&&w.element.css({"margin-right":o.hgap+o.rgap+(item.rgap||0)+(item.hgap||0)+"px"}),o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)!==0&&w.element.css({"margin-bottom":o.vgap+o.bgap+(item.bgap||0)+(item.vgap||0)+"px"}),w},resize:function(){this.stroke(this.options.items)},populate:function(items){BI.VerticalLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.vertical",BI.VerticalLayout),BI.WindowLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.WindowLayout.superclass.props.apply(this,arguments),{baseCls:"bi-window-layout",columns:3,rows:2,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0,columnSize:[100,"fill",200],rowSize:[100,"fill"],items:[[{el:{type:"bi.button",text:"button1"}},{el:{type:"bi.button",text:"button2"}},{el:{type:"bi.button",text:"button3"}}]]})},render:function(){BI.WindowLayout.superclass.render.apply(this,arguments),this.populate(this.options.items)},resize:function(){this.stroke(this.options.items)},addItem:function(item){throw new Error("cannot be added")},stroke:function(items){function firstElement(item,row,col){0===row&&item.addClass("first-row"),0===col&&item.addClass("first-col"),item.addClass(BI.isOdd(row+1)?"odd-row":"even-row"),item.addClass(BI.isOdd(col+1)?"odd-col":"even-col"),item.addClass("center-element")}function firstObject(item,row,col){var cls="";0===row&&(cls+=" first-row"),0===col&&(cls+=" first-col"),cls+=BI.isOdd(row+1)?" odd-row":" even-row",cls+=BI.isOdd(col+1)?" odd-col":" even-col",item.cls=(item.cls||"")+cls+" center-element"}function first(item,row,col){item instanceof BI.Widget?firstElement(item.element,row,col):item.el instanceof BI.Widget?firstElement(item.el.element,row,col):item.el?firstObject(item.el,row,col):firstObject(item,row,col)}var o=this.options;BI.isNumber(o.rowSize)&&(o.rowSize=BI.makeArray(o.items.length,1/o.items.length)),BI.isNumber(o.columnSize)&&(o.columnSize=BI.makeArray(o.items[0].length,1/o.items[0].length));for(var i=0;i<o.rows;i++)for(var j=0;j<o.columns;j++){if(!o.items[i][j])throw new Error("item be required");if(!this.hasWidget(this.getName()+i+"_"+j)){var w=BI.createWidget(o.items[i][j]);w.element.css({position:"absolute"}),this.addWidget(this.getName()+i+"_"+j,w)}}var left={},right={},top={},bottom={};left[0]=0,top[0]=0,right[o.columns-1]=0,bottom[o.rows-1]=0;for(var i=0;i<o.rows;i++){for(var j=0;j<o.columns;j++){var wi=this.getWidgetByName(this.getName()+i+"_"+j);BI.isNull(top[i])&&(top[i]=top[i-1]+(o.rowSize[i-1]<1?o.rowSize[i-1]:o.rowSize[i-1]+o.vgap+o.bgap));var t=top[i]<=1?100*top[i]+"%":top[i]+o.vgap+o.tgap+"px",h="";BI.isNumber(o.rowSize[i])&&(h=o.rowSize[i]<=1?100*o.rowSize[i]+"%":o.rowSize[i]+"px"),wi.element.css({top:t,height:h}),first(wi,i,j)}if(!BI.isNumber(o.rowSize[i]))break}for(var i=o.rows-1;i>=0;i--){for(var j=0;j<o.columns;j++){var wi=this.getWidgetByName(this.getName()+i+"_"+j);BI.isNull(bottom[i])&&(bottom[i]=bottom[i+1]+(o.rowSize[i+1]<1?o.rowSize[i+1]:o.rowSize[i+1]+o.vgap+o.tgap));var b=bottom[i]<=1?100*bottom[i]+"%":bottom[i]+o.vgap+o.bgap+"px",h="";BI.isNumber(o.rowSize[i])&&(h=o.rowSize[i]<=1?100*o.rowSize[i]+"%":o.rowSize[i]+"px"),wi.element.css({bottom:b,height:h}),first(wi,i,j)}if(!BI.isNumber(o.rowSize[i]))break}for(var j=0;j<o.columns;j++){for(var i=0;i<o.rows;i++){var wi=this.getWidgetByName(this.getName()+i+"_"+j);BI.isNull(left[j])&&(left[j]=left[j-1]+(o.columnSize[j-1]<1?o.columnSize[j-1]:o.columnSize[j-1]+o.hgap+o.rgap));var l=left[j]<=1?100*left[j]+"%":left[j]+o.hgap+o.lgap+"px",w="";BI.isNumber(o.columnSize[j])&&(w=o.columnSize[j]<=1?100*o.columnSize[j]+"%":o.columnSize[j]+"px"),wi.element.css({left:l,width:w}),first(wi,i,j)}if(!BI.isNumber(o.columnSize[j]))break}for(var j=o.columns-1;j>=0;j--){for(var i=0;i<o.rows;i++){var wi=this.getWidgetByName(this.getName()+i+"_"+j);BI.isNull(right[j])&&(right[j]=right[j+1]+(o.columnSize[j+1]<1?o.columnSize[j+1]:o.columnSize[j+1]+o.hgap+o.lgap));var r=right[j]<=1?100*right[j]+"%":right[j]+o.hgap+o.rgap+"px",w="";BI.isNumber(o.columnSize[j])&&(w=o.columnSize[j]<=1?100*o.columnSize[j]+"%":o.columnSize[j]+"px"),wi.element.css({right:r,width:w}),first(wi,i,j)}if(!BI.isNumber(o.columnSize[j]))break}},update:function(){},populate:function(items){BI.WindowLayout.superclass.populate.apply(this,arguments),this._mount()}}),BI.shortcut("bi.window",BI.WindowLayout),BI.CenterLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.CenterLayout.superclass.props.apply(this,arguments),{baseCls:"bi-center-layout",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.CenterLayout.superclass.render.apply(this,arguments);var self=this,o=this.options,list=[],items=o.items;return BI.each(items,function(i){list.push({column:i,row:0,el:BI.createWidget({type:"bi.default",cls:"center-element "+(0===i?"first-element ":"")+(i===items.length-1?"last-element":"")})})}),BI.each(items,function(i,item){if(item){var w=BI.createWidget(item);w.element.css({position:"absolute",left:o.hgap+o.lgap,right:o.hgap+o.rgap,top:o.vgap+o.tgap,bottom:o.vgap+o.bgap,width:"auto",height:"auto"}),list[i].el.addItem(w)}}),{type:"bi.grid",ref:function(_ref){self.wrapper=_ref},columns:list.length,rows:1,items:list}},resize:function(){},addItem:function(item){throw new Error("cannot be added")},update:function(opt){return this.wrapper.update(opt)},populate:function(items){this.wrapper.populate.apply(this.wrapper,arguments)}}),BI.shortcut("bi.center",BI.CenterLayout),BI.FloatCenterLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.FloatCenterLayout.superclass.props.apply(this,arguments),{baseCls:"bi-float-center-layout",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.FloatCenterLayout.superclass.render.apply(this,arguments);var self=this,o=this.options,items=o.items,list=[],width=100/items.length;return BI.each(items,function(i){var widget=BI.createWidget({type:"bi.default"});widget.element.addClass("center-element "+(0===i?"first-element ":"")+(i===items.length-1?"last-element":"")).css({width:width+"%",height:"100%"}),list.push({el:widget})}),BI.each(items,function(i,item){if(item){var w=BI.createWidget(item);w.element.css({position:"absolute",left:o.hgap+o.lgap,right:o.hgap+o.rgap,top:o.vgap+o.tgap,bottom:o.vgap+o.bgap,width:"auto",height:"auto"}),list[i].el.addItem(w)}}),{type:"bi.left",ref:function(_ref){self.wrapper=_ref},items:list}},resize:function(){},addItem:function(item){throw new Error("cannot be added")},update:function(opt){return this.wrapper.update(opt)},populate:function(items){this.wrapper.populate.apply(this.wrapper,arguments)}}),BI.shortcut("bi.float_center",BI.FloatCenterLayout),BI.HorizontalCenterLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.HorizontalCenterLayout.superclass.props.apply(this,arguments),{baseCls:"bi-horizontal-center-layout",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.HorizontalCenterLayout.superclass.render.apply(this,arguments);var self=this,o=this.options,items=o.items,list=[];return BI.each(items,function(i){list.push({column:i,row:0,el:BI.createWidget({type:"bi.default",cls:"center-element "+(0===i?"first-element ":"")+(i===items.length-1?"last-element":"")})})}),BI.each(items,function(i,item){if(item){var w=BI.createWidget(item);w.element.css({position:"absolute",left:o.hgap+o.lgap,right:o.hgap+o.rgap,top:o.vgap+o.tgap,bottom:o.vgap+o.bgap,width:"auto"}),list[i].el.addItem(w)}}),{type:"bi.grid",ref:function(_ref){self.wrapper=_ref},columns:list.length,rows:1,items:list}},resize:function(){},addItem:function(item){throw new Error("cannot be added")},update:function(opt){return this.wrapper.update(opt)},populate:function(items){this.wrapper.populate.apply(this.wrapper,arguments)}}),BI.shortcut("bi.horizontal_center",BI.HorizontalCenterLayout),BI.VerticalCenterLayout=BI.inherit(BI.Layout,{props:function(){return BI.extend(BI.VerticalCenterLayout.superclass.props.apply(this,arguments),{baseCls:"bi-vertical-center-layout",hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0})},render:function(){BI.VerticalCenterLayout.superclass.render.apply(this,arguments);var self=this,o=this.options,items=o.items,list=[];return BI.each(items,function(i){list.push({column:0,row:i,el:BI.createWidget({type:"bi.default",cls:"center-element "+(0===i?"first-element ":"")+(i===items.length-1?"last-element":"")})})}),BI.each(items,function(i,item){if(item){var w=BI.createWidget(item);w.element.css({position:"absolute",left:o.hgap+o.lgap,right:o.hgap+o.rgap,top:o.vgap+o.tgap,bottom:o.vgap+o.bgap,height:"auto"}),list[i].el.addItem(w)}}),{type:"bi.grid",ref:function(_ref){self.wrapper=_ref},columns:1,rows:list.length,items:list}},resize:function(){},addItem:function(item){throw new Error("cannot be added")},update:function(opt){return this.wrapper.update(opt)},populate:function(items){this.wrapper.populate.apply(this.wrapper,arguments)}}),BI.shortcut("bi.vertical_center",BI.VerticalCenterLayout),function(){var Buffer={},MODE=!1;BI.BufferPool={put:function(name,cache){if(BI.isNotNull(Buffer[name]))throw new Error("Buffer Pool has the key already!");Buffer[name]=cache},get:function(name){return Buffer[name]}}}(),function(){var _Shared={};BI.SharingPool={_Shared:_Shared,put:function(name,shared){_Shared[name]=shared},cat:function(){for(var args=Array.prototype.slice.call(arguments,0),copy=_Shared,i=0;i<args.length;i++)copy=copy&&copy[args[i]];return copy},get:function(){return BI.deepClone(this.cat.apply(this,arguments))},remove:function(key){delete _Shared[key]}}}(),BI.Req={},function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("lodash"),require("underscore")):"function"==typeof define&&define.amd?define(["exports","lodash","underscore"],factory):factory(global.Fix=global.Fix||{},global._,global._)}(this,function(exports,lodash,_$1){"use strict";function noop(a,b,c){}function isNative(Ctor){return"function"==typeof Ctor&&/native code/.test(Ctor.toString())}function makeHashCode(){var prefix=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"bi";return String(Math.random()+Math.random()).replace(rhashcode,prefix)}function isIE(){return"undefined"!=typeof navigator&&/(msie|trident)/i.test(navigator.userAgent.toLowerCase())}function getIEVersion(){var version=0;if("undefined"==typeof navigator)return!1;var agent=navigator.userAgent.toLowerCase(),v1=agent.match(/(?:msie\s([\w.]+))/),v2=agent.match(/(?:trident.*rv:([\w.]+))/);return version=v1&&v2&&v1[1]&&v2[1]?Math.max(1*v1[1],1*v2[1]):v1&&v1[1]?1*v1[1]:v2&&v2[1]?1*v2[1]:0}function isPlainObject(obj){return"[object Object]"===_toString.call(obj)}function parsePath(path){if(!bailRE.test(path)){var segments=path.split(".");return function(obj){for(var i=0;i<segments.length;i++){if(!obj)return;obj=obj[segments[i]]}return obj}}}function toJSON(model){var result=void 0;if(_$1.isArray(model)){result=[];for(var i=0,len=model.length;i<len;i++)result[i]=toJSON(model[i])}else if(model&&isPlainObject(model)){result={};for(var key in model)$$skips.indexOf(key)===-1&&(result[key]=toJSON(model[key]))}else result=model;return result}function cloneShadow(obj){if(null===obj)return null;if(Array.isArray(obj)){var result=[].concat(obj);return void 0!==obj.__ref__&&(result.__ref__=obj.__ref__),result}return toJSON(obj)}function inherit(sb,sp,overrides){"object"==typeof sp&&(overrides=sp,sp=sb,sb=function temp(){return sp.apply(this,arguments)});var F=function F(){},spp=sp.prototype;return F.prototype=spp,sb.prototype=new F,sb.superclass=spp,_$1.extend(sb.prototype,overrides,{superclass:sp}),sb}function isShadowEqual(a,b){if(a===b)return!0;if(a&&b&&"object"==typeof a&&"object"==typeof b){if(a.constructor!==b.constructor)return!1;var length=void 0,i=void 0,key=void 0,keys=void 0;if(Array.isArray(a)){if(length=a.length,length!==b.length)return!1;for(i=length;0!==i--;)if(!isShadowEqual(a[i],b[i]))return!1;return!0}if(a.constructor===RegExp)return!0;if(a.valueOf!==Object.prototype.valueOf)return a.valueOf()===b.valueOf();if(a.toString!==Object.prototype.toString)return a.toString()===b.toString();if(keys=Object.keys(a),length=keys.length,length!==Object.keys(b).length)return!1;for(i=length;0!==i--;)if(!Object.prototype.hasOwnProperty.call(b,keys[i]))return!1;for(i=length;0!==i--;)if(key=keys[i],$$skips.indexOf(key)===-1&&!isShadowEqual(a[key],b[key]))return!1;return!0}return"function"==typeof a||a!==a&&b!==b}function getMixins(type){return mixinInjection[type]}function mixin(xtype,cls){mixinInjection[xtype]=_.cloneDeep(cls)}function runBinaryFunction(binarys){for(var expr="",i=0,len=binarys.length;i<len;i++)expr+=_$1.isBoolean(binarys[i])||_$1.has(operators,binarys[i])?binarys[i]:"false";return new Function("return "+expr)()}function watch(vm,expOrFn,cb){var options=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},model=vm;!model.$watch&&model.$vm&&(model=model.$vm),isPlainObject(cb)&&(options=cb,cb=cb.handler),"string"==typeof cb&&(cb=model[cb]),options=options||{},options.user=!0;var exps=void 0;if(_$1.isFunction(expOrFn)||!(exps=expOrFn.match(/[a-zA-Z0-9_.*]+|[|][|]|[&][&]|[(]|[)]/g))||1===exps.length&&!/\*/.test(expOrFn))return model.$watch(expOrFn,cb,options),[];var watchers=[],fns=exps.slice(),complete=!1,running=!1,callback=function callback(index,newValue,oldValue,attrs){complete!==!0&&(fns[index]=!0,runBinaryFunction(fns)&&(complete=!0,cb.call(vm,newValue,oldValue,attrs)),options&&options.sync?(complete=!1,running=!1,fns=exps.slice()):running||(running=!0,nextTick(function(){complete=!1,running=!1,fns=exps.slice()})))};return _$1.each(exps,function(exp,i){if(!_$1.has(operators,exp)){if(/^[1-9a-zA-Z.]+(\*\*$|\*$)/.test(exp)||"**"===exp){var isGlobal=/\*\*$/.test(exp);exp=isGlobal?exp.replace(".**",""):exp.replace(".*","");var getter=isGlobal?exp:function(){var result={};return _$1.each(model.model,function(v,key){key in $$skipArray||(result[key]=v)}),result};return void model.$watch(getter,function(newValue,oldValue,attrs){callback(i,newValue,oldValue,_$1.extend({index:i},attrs))},_$1.extend(options,{deep:isGlobal}))}if(/\*\*$|\*$/.test(exp))throw new Error("not support");if(/\*/.test(exp)){var paths=exp.split("."),_getter=function _getter(){for(var currentModels={root:model.model},_loop=(function _loop(len,_i){var models={};"*"===paths[_i]?_$1.each(currentModels,function(model,key){_$1.each(model,function(v,k){key+k in $$skipArray||(models[key+k]=v)})}):_$1.each(currentModels,function(model,key){key+paths[_i]in $$skipArray||(models[key+paths[_i]]=model[paths[_i]])}),currentModels=models}),_i=0,len=paths.length;_i<len;_i++)_loop(len,_i);return currentModels};return void model.$watch(_getter,function(newValue,oldValue,attrs){callback(i,newValue,oldValue,_$1.extend({index:i},attrs))},options)}model.$watch(exp,function(newValue,oldValue,attrs){callback(i,newValue,oldValue,_$1.extend({index:i},attrs))},options)}}),watchers}function initState(vm,state){var watchers=vm._stateWatchers={};for(var key in state)vm.model[key]=state[key];var _loop2=function _loop2(_key2){var userDef=state[_key2];watchers[_key2]=new Watcher({id:vm._modelHashId+"-"+_key2,get:function get(){return vm.model[_key2]},last:userDef,listener:vm.options.defaultCallback||emptyFn})};for(var _key2 in state)_loop2(_key2)}function initComputed(vm,computed){var watchers=vm._computedWatchers={},order=vm._computedOrder=[];for(var key in computed){var userDef=computed[key],context=vm;order.push(key),watchers[key]=new Watcher({id:vm._modelHashId+"-"+key,get:_$1.bind(userDef,context),last:void 0,listener:emptyFn})}}function initWatch(vm,watchObj){vm._watchers||(vm._watchers=[]);for(var expOrFn in watchObj){var handler=watchObj[expOrFn];if(_$1.isArray(handler))for(var i=0;i<handler.length;i++)watch(vm,expOrFn,handler[i]);else watch(vm,expOrFn,handler)}}function createWatcher(vm,expOrFn,cb){var options=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};isPlainObject(cb)&&(options=cb,cb=cb.handler),"string"==typeof cb&&(cb=vm[cb]);var getter=_$1.isFunction(expOrFn)?_$1.bind(expOrFn,vm):_$1.bind(function(){return parsePath("model."+expOrFn)(vm)},vm);return new Watcher({get:getter,listener:_$1.bind(cb,vm),last:getter(),sync:options.sync,deep:options.deep,id:options.id})}function injectMethod(method,vm){return function(){var result=method.apply(vm,[].concat(Array.prototype.slice.call(arguments)));return vm.$digest(),result}}function initMethods(vm,methods){for(var key in methods)vm[key]=null==methods[key]?noop:injectMethod(methods[key],vm)}function initMixins(vm){var mixins=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];_$1.each(mixins.reverse(),function(mixinType){var mixin$$1=getMixins(mixinType);for(var key in mixin$$1)"function"==typeof mixin$$1[key]&&(_$1.has(vm,key)||(vm[key]=injectMethod(mixin$$1[key],vm)))})}function defineContext(vm,keys){function getSingleContext(key){for(var p=vm._parent;p;){if(p.childContext&&p.childContext.indexOf(key)>-1)return p.$watch(key,function(cur,last,p){vm._contextWatchers[key]&&(vm.model[key]=cur,vm._contextWatchers[key].last=cloneShadow(cur),vm.$digest())},{id:vm._modelHashId+"-"+key}),{p:p,value:p.model[key]};p=p._parent}}var watchers=vm._contextWatchers={};_$1.each(keys,function(key){var context=getSingleContext(key);context&&(vm.model[key]=context.p?context.p.model[key]:void 0,watchers[key]=new Watcher({id:context.p._modelHashId+"-"+key,get:function get(){return vm.model[key]},last:vm.model[key],listener:_$1.bind(function(c){context.p.model[key]=c,context.p.$digest()},context.p)}))})}function digestState(vm){var dirty=!1;return _$1.each(vm._stateWatchers,function(watcher,key){var cur=watcher.get(),last=watcher.last;isShadowEqual(cur,last)||(vm.model[key]=cur,dirty=!0,watcher.last=cloneShadow(cur))}),dirty}function digestComputed(vm){var dirty=!1,dirtyQueue=[],cleanQueue=[];return _$1.each(vm._computedOrder,function(key){var watcher=vm._computedWatchers[key];try{var cur=watcher.get(),last=watcher.last;isShadowEqual(cur,last)?cleanQueue.push(key):(vm.model[key]=cur,dirty=!0,dirtyQueue.push(key),watcher.last=cloneShadow(cur))}catch(err){dirty=!0,dirtyQueue.push(key)}}),vm._computedOrder=[].concat(cleanQueue,dirtyQueue),dirty}function digestContext(vm){var dirty=!1;return _$1.each(vm._contextWatchers,function(watcher,key){var cur=watcher.get(),last=watcher.last;if(!isShadowEqual(cur,last)){var listener={id:watcher.id,cb:_$1.bind(watcher.listener,vm,cur,last,vm)};vm.contextListeners.push(listener),vm.model[key]=cur,dirty=!0,watcher.last=cloneShadow(cur)}}),dirty}function digest(vm){for(var stateDirty=!0,contextDirty=!0,computedDirty=!0,ttl=TTL;stateDirty&&ttl>0;ttl--)stateDirty=digestState(vm);for(var _ttl=TTL;contextDirty&&_ttl>0;_ttl--)contextDirty=digestContext(vm);for(var _ttl2=TTL;computedDirty&&_ttl2>0;_ttl2--)computedDirty=digestComputed(vm)}function executeWatchListeners(vm){var syncListeners=[].concat(vm.syncListeners||[]),asyncListeners=[].concat(vm.asyncListeners||[]),contextListeners=[].concat(vm.contextListeners||[]);vm.asyncListeners=[],vm.syncListeners=[];var watchers=[].concat(vm._watchers);_$1.each(watchers,function(watcher){if(watcher){var cur=watcher.get(),last=watcher.last;if(!isShadowEqual(cur,last)){var listner={id:watcher.id,cb:_$1.bind(watcher.listener,vm,cur,last,vm)};watcher.sync===!0?syncListeners.push(listner):asyncListeners.push(listner),watcher.last=cloneShadow(cur)}}}),_$1.each(syncListeners,function(listener){listener.cb()}),0===contextListeners.length&&0===asyncListeners.length||nextTick(function(){_$1.each(BI.uniqBy(contextListeners.reverse(),"id").reverse(),function(listener){
listener.cb()}),_$1.each(asyncListeners,function(listener){listener.cb()})})}function refreshAllDefineModel(){_$1.each(allDefineModelInstances,function(insta){insta&&insta.$digest&&insta.$digest()})}function getAllModelInstances(){return allModelInstances}function refreshAll(){_$1.each(getAllModelInstances(),function(insta){insta&&insta.$digest&&insta.$digest()})}function define(model){var OB=inherit(Model,{state:function state(){return model}}),ob=new OB;return ob._constructor({define:!0}),allDefineModelInstances[ob.getModelID()]=ob,ob.model}_$1="default"in _$1?_$1["default"]:_$1;var falsy=void 0,$$skipArray={$accessors:falsy,$vbthis:falsy,$vbsetter:falsy,$vm:falsy},$$skips=["$accessors","$vbthis","$vbsetter","$vm"],originalMethods=[];_$1.each(["slice","splice"],function(method){originalMethods[method]=Array.prototype[method]}),Array.prototype.splice=function(){this.__ref__=makeHashCode();for(var _len=arguments.length,args=Array(_len),_key=0;_key<_len;_key++)args[_key]=arguments[_key];return originalMethods.splice.apply(this,args)};var rhashcode=/\d\.\d{4}/,isIE9Below=isIE()&&getIEVersion()<9,_toString=Object.prototype.toString,bailRE=/[^\w.$]/,nextTick=function(){function nextTickHandler(){pending=!1;var copies=callbacks.slice(0);callbacks.length=0;for(var i=0;i<copies.length;i++)copies[i]()}var callbacks=[],pending=!1,timerFunc=void 0;if("undefined"!=typeof setImmediate&&isNative(setImmediate))timerFunc=function timerFunc(){setImmediate(nextTickHandler)};else if("undefined"==typeof MessageChannel||!isNative(MessageChannel)&&"[object MessageChannelConstructor]"!==MessageChannel.toString())if("undefined"!=typeof Promise&&isNative(Promise)){var p=Promise.resolve();timerFunc=function timerFunc(){p.then(nextTickHandler)}}else timerFunc=function timerFunc(){setTimeout(nextTickHandler,0)};else{var channel=new MessageChannel,port=channel.port2;channel.port1.onmessage=nextTickHandler,timerFunc=function timerFunc(){port.postMessage(1)}}return function queueNextTick(cb,ctx){var _resolve=void 0;if(callbacks.push(function(){if(cb)try{cb.call(ctx)}catch(e){console.error(e)}else _resolve&&_resolve(ctx)}),pending||(pending=!0,timerFunc()),!cb&&"undefined"!=typeof Promise)return new Promise(function(resolve,reject){_resolve=resolve})}}(),SymbolProto="undefined"!=typeof Symbol?Symbol.prototype:null,ObjProto=Object.prototype,toString=ObjProto.toString,deepEq=function deepEq(a,b,aStack,bStack){a instanceof _$1&&(a=a._wrapped),b instanceof _$1&&(b=b._wrapped);var className=toString.call(a);if(className!==toString.call(b))return!1;switch(className){case"[object RegExp]":case"[object String]":return""+a==""+b;case"[object Number]":return+a!==+a?+b!==+b:0===+a?1/+a===1/b:+a===+b;case"[object Date]":case"[object Boolean]":return+a===+b;case"[object Symbol]":return SymbolProto.valueOf.call(a)===SymbolProto.valueOf.call(b)}var areArrays="[object Array]"===className;if(!areArrays){if("object"!=typeof a||"object"!=typeof b)return!1;var aCtor=a.constructor,bCtor=b.constructor;if(aCtor!==bCtor&&!(_$1.isFunction(aCtor)&&aCtor instanceof aCtor&&_$1.isFunction(bCtor)&&bCtor instanceof bCtor)&&"constructor"in a&&"constructor"in b)return!1}aStack=aStack||[],bStack=bStack||[];for(var length=aStack.length;length--;)if(aStack[length]===a)return bStack[length]===b;if(aStack.push(a),bStack.push(b),areArrays){if(length=a.length,length!==b.length)return!1;for(;length--;)if(!eq(a[length],b[length],aStack,bStack))return!1}else{var keys=_$1.keys(a),key=void 0;if(length=keys.length,_$1.keys(b).length!==length)return!1;for(;length--;){if(key=keys[length],$$skips.indexOf(key)!==-1)return!0;if(Object.keys(b).indexOf(key)===-1||!eq(a[key],b[key],aStack,bStack))return!1}}return aStack.pop(),bStack.pop(),!0},eq=function eq(a,b,aStack,bStack){if(a===b)return 0!==a||1/a===1/b;if(null==a||null==b)return!1;if(a!==a)return b!==b;var type=typeof a;return("function"===type||"object"===type||"object"==typeof b)&&("function"===type||deepEq(a,b,aStack,bStack))},mixinInjection={},falsy$1=void 0,operators={"||":falsy$1,"&&":falsy$1,"(":falsy$1,")":falsy$1},allModelInstances={},allDefineModelInstances={},emptyFn=function emptyFn(){},TTL=10,Watcher=function(){function Watcher(_ref){var get=_ref.get,last=_ref.last,listener=_ref.listener,sync=_ref.sync,deep=_ref.deep,id=_ref.id;return _classCallCheck(this,Watcher),this.id=id,this.get=get,this.last=cloneShadow(last),this.listener=listener||emptyFn,this.sync=sync||!1,{id:this.id,get:this.get,last:this.last,listener:this.listener}}return Watcher.prototype.getInstance=function getInstance(){return this},Watcher}(),nextListener=function(){var callbackMap={};return function queueNextListener(listener,ctx){var id=listener.id,cb=listener.cb;id&&callbackMap[id]||(nextTick(function(){cb(),callbackMap[id]=!1},ctx),callbackMap[id]=!0)}}(),Model=function(){function Model(){_classCallCheck(this,Model)}return Model.prototype._constructor=function _constructor(model){this.alive=!0,this.options=model||{},this.model={$vm:this},this._modelHashId=makeHashCode("model"),this.syncListeners=[],this.asyncListeners=[],this.contextListeners=[],this._parent=Model.target;var state=_$1.isFunction(this.state)?this.state():this.state,computed=this.computed,context=this.context,childContext=this.childContext,watch$$1=this.watch,actions=this.actions,mixins=this.mixins;context&&defineContext(this,context),initMixins(this,mixins),this.init(),initState(this,state),initComputed(this,computed),digest(this),initWatch(this,watch$$1),initMethods(this,actions),this.created&&this.created(),allModelInstances[this._modelHashId]=this},Model.prototype._init=function _init(){},Model.prototype.init=function init(){this._init()},Model.prototype.destroy=function destroy(){this.alive=!1,allModelInstances[this._modelHashId]=null,this._watchers&&(this._watchers=[]),this._computedWatchers&&(this._computedWatchers=[]),this._stateWatchers&&(this._stateWatchers=[]),this._contextWatchers&&(this._contextWatchers=[]),this.destroyed&&this.destroyed()},Model.prototype.$watch=function $watch(expOrFn,cb,options){var watcher=createWatcher(this,expOrFn,cb,options);this._watchers.push(watcher)},Model.prototype.$digest=function $digest(){digest(this),executeWatchListeners(this),this.options.define||refreshAllDefineModel()},Model.prototype.getModelID=function getModelID(){return this._modelHashId},Model}(),version="2.0";exports.version=version,exports.$$skipArray=$$skipArray,exports.mixin=mixin,exports.toJSON=toJSON,exports.nextListener=nextListener,exports.Model=Model,exports.getAllModelInstances=getAllModelInstances,exports.refreshAll=refreshAll,exports.define=define,exports.inherit=inherit,exports.watch=watch,exports.__esModule=!0}),function(factory){"function"==typeof define&&define.amd?define(["../core/jquery"],factory):"object"==typeof exports?module.exports=factory:factory(BI.jQuery)}(function($){function handler(event){var orgEvent=event||_global.event,args=slice.call(arguments,1),delta=0,deltaX=0,deltaY=0,absDelta=0,offsetX=0,offsetY=0;if(event=$.event.fix(orgEvent),event.type="mousewheel","detail"in orgEvent&&(deltaY=orgEvent.detail*-1),"wheelDelta"in orgEvent&&(deltaY=orgEvent.wheelDelta),"wheelDeltaY"in orgEvent&&(deltaY=orgEvent.wheelDeltaY),"wheelDeltaX"in orgEvent&&(deltaX=orgEvent.wheelDeltaX*-1),"axis"in orgEvent&&orgEvent.axis===orgEvent.HORIZONTAL_AXIS&&(deltaX=deltaY*-1,deltaY=0),delta=0===deltaY?deltaX:deltaY,"deltaY"in orgEvent&&(deltaY=orgEvent.deltaY*-1,delta=deltaY),"deltaX"in orgEvent&&(deltaX=orgEvent.deltaX,0===deltaY&&(delta=deltaX*-1)),0!==deltaY||0!==deltaX){if(1===orgEvent.deltaMode){var lineHeight=40;delta*=lineHeight,deltaY*=lineHeight,deltaX*=lineHeight}else if(2===orgEvent.deltaMode){var pageHeight=800;delta*=pageHeight,deltaY*=pageHeight,deltaX*=pageHeight}if(absDelta=Math.max(Math.abs(deltaY),Math.abs(deltaX)),(!lowestDelta||absDelta<lowestDelta)&&(lowestDelta=absDelta,shouldAdjustOldDeltas(orgEvent,absDelta)&&(lowestDelta/=40)),shouldAdjustOldDeltas(orgEvent,absDelta)&&(delta/=40,deltaX/=40,deltaY/=40),delta=Math[delta>=1?"floor":"ceil"](delta/lowestDelta),deltaX=Math[deltaX>=1?"floor":"ceil"](deltaX/lowestDelta),deltaY=Math[deltaY>=1?"floor":"ceil"](deltaY/lowestDelta),special.settings.normalizeOffset&&this.getBoundingClientRect){var boundingRect=this.getBoundingClientRect();offsetX=event.clientX-boundingRect.left,offsetY=event.clientY-boundingRect.top}return event.deltaX=deltaX,event.deltaY=deltaY,event.deltaFactor=lowestDelta,event.offsetX=offsetX,event.offsetY=offsetY,event.deltaMode=0,args.unshift(event,delta,deltaX,deltaY),nullLowestDeltaTimeout&&clearTimeout(nullLowestDeltaTimeout),nullLowestDeltaTimeout=setTimeout(nullLowestDelta,200),($.event.dispatch||$.event.handle).apply(this,args)}}function nullLowestDelta(){lowestDelta=null}function shouldAdjustOldDeltas(orgEvent,absDelta){return special.settings.adjustOldDeltas&&"mousewheel"===orgEvent.type&&absDelta%120===0}var toFix=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],toBind="onwheel"in document||document.documentMode>=9?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],slice=Array.prototype.slice,nullLowestDeltaTimeout,lowestDelta;if($.event.fixHooks)for(var i=toFix.length;i;)$.event.fixHooks[toFix[--i]]=$.event.mouseHooks;var special=$.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var i=toBind.length;i;)this.addEventListener(toBind[--i],handler,!1);else this.onmousewheel=handler},teardown:function(){if(this.removeEventListener)for(var i=toBind.length;i;)this.removeEventListener(toBind[--i],handler,!1);else this.onmousewheel=null},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};$.fn.extend({mousewheel:function(fn){return fn?this.bind("mousewheel",fn):this.trigger("mousewheel")},unmousewheel:function(fn){return this.unbind("mousewheel",fn)}})}),BI.Pane=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.Pane.superclass._defaultConfig.apply(this,arguments),{_baseCls:"bi-pane",tipText:BI.i18nText("BI-No_Selected_Item"),overlap:!0,onLoaded:BI.emptyFn})},_assertTip:function(){var o=this.options;this._tipText||(this._tipText=BI.createWidget({type:"bi.label",cls:"bi-tips",text:o.tipText,height:25}),BI.createWidget({type:"bi.absolute_center_adapt",element:this,items:[this._tipText]}))},loading:function(){var self=this,o=this.options,isIE=BI.isIE(),loadingAnimation=BI.createWidget({type:"bi.horizontal",cls:"bi-loading-widget"+(isIE?" wave-loading hack":""),height:30,width:30,hgap:5,vgap:2.5,items:isIE?[]:[{type:"bi.layout",cls:"animate-rect rect1",height:25,width:3},{type:"bi.layout",cls:"animate-rect rect2",height:25,width:3},{type:"bi.layout",cls:"animate-rect rect3",height:25,width:3}]});this.setTipVisible(!1),o.overlap===!0?(BI.Layers.has(this.getName())||BI.createWidget({type:"bi.absolute_center_adapt",cls:"loading-container",items:[{el:loadingAnimation}],element:BI.Layers.make(this.getName(),this)}),BI.Layers.show(self.getName())):BI.isNull(this._loading)&&(this._loading=loadingAnimation,this._loading.element.css("zIndex",1),BI.createWidget({type:"bi.absolute_center_adapt",element:this,cls:"loading-container",items:[{el:this._loading,left:0,right:0,top:0}]})),this.element.addClass("loading-status")},loaded:function(){var self=this,o=this.options;BI.Layers.remove(self.getName()),this._loading&&this._loading.destroy(),this._loading&&(this._loading=null),o.onLoaded(),self.fireEvent(BI.Pane.EVENT_LOADED),this.element.removeClass("loading-status")},check:function(){this.setTipVisible(BI.isEmpty(this.options.items))},setTipVisible:function(b){b===!0?(this._assertTip(),this._tipText.setVisible(!0)):this._tipText&&this._tipText.setVisible(!1)},populate:function(items){this.options.items=items||[],this.check()},empty:function(){}}),BI.Pane.EVENT_LOADED="EVENT_LOADED",BI.Single=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.Single.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{_baseCls:(conf._baseCls||"")+" bi-single",readonly:!1,title:null,warningTitle:null,tipType:null,value:null,belowMouse:!1})},_showToolTip:function(e,opt){opt||(opt={});var self=this,o=this.options,type=this.getTipType()||(this.isEnabled()?"success":"warning"),title="success"===type?this.getTitle():this.getWarningTitle()||this.getTitle();BI.isKey(title)&&(BI.Tooltips.show(e,this.getName(),title,type,this,opt),o.action&&BI.Actions.runAction(o.action,"hover",o,this),BI.Actions.runGlobalAction("hover",o,this))},_hideTooltip:function(){var self=this,tooltip=BI.Tooltips.get(this.getName());BI.isNotNull(tooltip)&&tooltip.element.fadeOut(200,function(){BI.Tooltips.remove(self.getName())})},_init:function(){BI.Single.superclass._init.apply(this,arguments);var self=this,o=this.options;(BI.isKey(o.title)||BI.isKey(o.warningTitle)||BI.isFunction(o.title)||BI.isFunction(o.warningTitle))&&this.enableHover({belowMouse:o.belowMouse,container:o.container})},_clearTimeOut:function(){BI.isNotNull(this.showTimeout)&&(clearTimeout(this.showTimeout),this.showTimeout=null),BI.isNotNull(this.hideTimeout)&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)},enableHover:function(opt){opt||(opt={});var self=this;this._hoverBinded||(this.element.on("mouseenter.title"+this.getName(),function(e){self._e=e,"warning"===self.getTipType()||BI.isKey(self.getWarningTitle())&&!self.isEnabled()?self.showTimeout=BI.delay(function(){BI.isNotNull(self.showTimeout)&&self._showToolTip(self._e||e,opt)},200):("success"===self.getTipType()||self.isEnabled())&&(self.showTimeout=BI.delay(function(){BI.isNotNull(self.showTimeout)&&self._showToolTip(self._e||e,opt)},500))}),this.element.on("mousemove.title"+this.getName(),function(e){self._e=e,BI.isNotNull(self.showTimeout)&&(clearTimeout(self.showTimeout),self.showTimeout=null),BI.isNull(self.hideTimeout)&&(self.hideTimeout=BI.delay(function(){BI.isNotNull(self.hideTimeout)&&self._hideTooltip()},500)),self.showTimeout=BI.delay(function(){BI.isNotNull(self.showTimeout)&&(BI.isNotNull(self.hideTimeout)&&(clearTimeout(self.hideTimeout),self.hideTimeout=null),self.element.__isMouseInBounds__(self._e||e)&&self._showToolTip(self._e||e,opt))},500)}),this.element.on("mouseleave.title"+this.getName(),function(e){self._e=null,self._clearTimeOut(),self._hideTooltip()}),this._hoverBinded=!0)},disabledHover:function(){this._clearTimeOut(),this._hideTooltip(),this.element.unbind("mouseenter.title"+this.getName()).unbind("mousemove.title"+this.getName()).unbind("mouseleave.title"+this.getName()),this._hoverBinded=!1},populate:function(items){this.items=items||[]},setTitle:function(title,opt){this.options.title=title,BI.isKey(title)||BI.isFunction(title)?this.enableHover(opt):this.disabledHover()},setWarningTitle:function(title,opt){this.options.warningTitle=title,BI.isKey(title)||BI.isFunction(title)?this.enableHover(opt):this.disabledHover()},getTipType:function(){return this.options.tipType},isReadOnly:function(){return!!this.options.readonly},getTitle:function(){var title=this.options.title;return BI.isFunction(title)?title():title},getWarningTitle:function(){var title=this.options.warningTitle;return BI.isFunction(title)?title():title},setValue:function(val){this.options.readonly||(this.options.value=val)},getValue:function(){return this.options.value},_unMount:function(){BI.Single.superclass._unMount.apply(this,arguments),BI.isNotNull(this.showTimeout)&&(clearTimeout(this.showTimeout),this.showTimeout=null),BI.Tooltips.remove(this.getName())}}),BI.Text=BI.inherit(BI.Single,{props:{baseCls:"bi-text",textAlign:"left",whiteSpace:"normal",lineHeight:null,handler:null,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0,text:"",py:"",highLight:!1},render:function(){var self=this,o=this.options;o.hgap+o.lgap>0&&this.element.css({"padding-left":o.hgap+o.lgap+"px"}),o.hgap+o.rgap>0&&this.element.css({"padding-right":o.hgap+o.rgap+"px"}),o.vgap+o.tgap>0&&this.element.css({"padding-top":o.vgap+o.tgap+"px"}),o.vgap+o.bgap>0&&this.element.css({"padding-bottom":o.vgap+o.bgap+"px"}),BI.isNumber(o.height)&&this.element.css({lineHeight:o.height+"px"}),BI.isNumber(o.lineHeight)&&this.element.css({lineHeight:o.lineHeight+"px"}),BI.isWidthOrHeight(o.maxWidth)&&this.element.css({maxWidth:o.maxWidth}),this.element.css({textAlign:o.textAlign,whiteSpace:o.whiteSpace,textOverflow:"nowrap"===o.whiteSpace?"ellipsis":"",overflow:"nowrap"===o.whiteSpace?"":BI.isWidthOrHeight(o.height)?"auto":""}),o.handler?(this.text=BI.createWidget({type:"bi.layout",tagName:"span"}),this.text.element.click(function(){o.handler(self.getValue())}),BI.createWidget({type:"bi.default",element:this,items:[this.text]})):this.text=this;var text=this._getShowText();BI.isKey(text)?this.setText(text):BI.isKey(o.value)&&this.setText(o.value),BI.isKey(o.keyword)&&this.doRedMark(o.keyword),o.highLight&&this.doHighLight()},_getShowText:function(){var o=this.options;return BI.isFunction(o.text)?o.text():o.text},doRedMark:function(keyword){var o=this.options;o.keyword=keyword,this.text.element.__textKeywordMarked__(this._getShowText()||o.value,keyword,o.py)},unRedMark:function(){var o=this.options;o.keyword="",this.text.element.__textKeywordMarked__(this._getShowText()||o.value,"",o.py)},doHighLight:function(){this.text.element.addClass("bi-high-light")},unHighLight:function(){this.text.element.removeClass("bi-high-light")},setValue:function(text){BI.Text.superclass.setValue.apply(this,arguments),this.isReadOnly()||this.setText(text)},setStyle:function(css){this.text.element.css(css)},setText:function(text){return BI.Text.superclass.setText.apply(this,arguments),this.options.text=BI.isNotNull(text)?text:"",BI.isIE9Below()?void this.text.element.html(BI.htmlEncode(this._getShowText())):(/\s/.test(text)?this.text.element[0].innerHTML=BI.htmlEncode(this._getShowText()):this.text.element[0].textContent=this._getShowText(),void(BI.isKey(this.options.keyword)&&this.doRedMark(this.options.keyword)))}}),BI.shortcut("bi.text",BI.Text),BI.BasicButton=BI.inherit(BI.Single,{_defaultConfig:function(){var conf=BI.BasicButton.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{_baseCls:(conf._baseCls||"")+" bi-basic-button"+(conf.invalid?"":" cursor-pointer")+(BI.isIE()&&BI.getIEVersion()<10?" hack":""),value:"",text:"",stopEvent:!1,stopPropagation:!1,selected:!1,once:!1,forceSelected:!1,forceNotSelected:!1,disableSelected:!1,shadow:!1,isShadowShowingOnSelected:!1,trigger:null,handler:BI.emptyFn,bubble:null})},_init:function(){BI.BasicButton.superclass._init.apply(this,arguments);var opts=this.options;opts.selected===!0&&BI.nextTick(BI.bind(function(){this.setSelected(opts.selected)},this)),BI.nextTick(BI.bind(this.bindEvent,this)),opts.shadow&&this._createShadow(),opts.level&&this.element.addClass("button-"+opts.level)},_createShadow:function(){var self=this,o=this.options,assertMask=function(){self.$mask||(self.$mask=BI.createWidget(BI.isObject(o.shadow)?o.shadow:{},{type:"bi.layout",cls:"bi-button-mask"}),self.$mask.invisible(),BI.createWidget({type:"bi.absolute",element:self,items:[{el:self.$mask,left:0,right:0,top:0,bottom:0}]}))};this.element.mouseup(function(){self._hover||o.isShadowShowingOnSelected||(assertMask(),self.$mask.invisible())}),this.element.on("mouseenter."+this.getName(),function(e){self.element.__isMouseInBounds__(e)&&(!self.isEnabled()||self._hover||!o.isShadowShowingOnSelected&&self.isSelected()||(assertMask(),self.$mask.visible()))}),this.element.on("mousemove."+this.getName(),function(e){self.element.__isMouseInBounds__(e)||self.isEnabled()&&!self._hover&&(assertMask(),self.$mask.invisible())}),this.element.on("mouseleave."+this.getName(),function(){self.isEnabled()&&!self._hover&&(assertMask(),self.$mask.invisible())})},bindEvent:function(){function ev(e){o.stopEvent&&e.stopEvent(),o.stopPropagation&&e.stopPropagation()}function clk(e){if(ev(e),!(!self.isEnabled()||self.isOnce()&&self.isSelected())){if(BI.isKey(o.bubble)||BI.isFunction(o.bubble)){if(BI.isNull(self.combo)){var popup;BI.createWidget({type:"bi.absolute",element:self,items:[{el:{type:"bi.bubble_combo",trigger:"",destroyWhenHide:!0,ref:function(){self.combo=this},el:{type:"bi.layout",height:"100%"},popup:{type:"bi.text_bubble_bar_popup_view",text:getBubble(),ref:function(){popup=this},listeners:[{eventName:BI.BubblePopupBarView.EVENT_CLICK_TOOLBAR_BUTTON,action:function(v){self.combo.hideView(),v&&onClick.apply(self,arguments)}}]},listeners:[{eventName:BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW,action:function(){popup.populate(getBubble())}}]},left:0,right:0,bottom:0,top:0}]})}return void(self.combo.isViewVisible()?self.combo.hideView():self.combo.showView())}onClick.apply(self,arguments)}}function getBubble(){var bubble=self.options.bubble;return BI.isFunction(bubble)?bubble():bubble}var self=this,o=this.options,hand=this.handle();if(hand){hand=hand.element;var triggerArr=(o.trigger||"").split(",");BI.each(triggerArr,function(idx,trigger){switch(trigger){case"mouseup":var mouseDown=!1;hand.mousedown(function(){mouseDown=!0}),hand.mouseup(function(e){mouseDown===!0&&clk(e),mouseDown=!1,ev(e)});break;case"mousedown":var mouseDown=!1,selected=!1;hand.mousedown(function(e){BI.Widget._renderEngine.createElement(document).bind("mouseup."+self.getName(),function(e){!BI.DOM.isExist(self)||hand.__isMouseInBounds__(e)||mouseDown!==!0||selected||self._trigger(),mouseDown=!1,BI.Widget._renderEngine.createElement(document).unbind("mouseup."+self.getName())}),mouseDown!==!0&&(self.isSelected()?selected=!0:clk(e),mouseDown=!0,ev(e))}),hand.mouseup(function(e){BI.DOM.isExist(self)&&mouseDown===!0&&selected===!0&&clk(e),mouseDown=!1,selected=!1,BI.Widget._renderEngine.createElement(document).unbind("mouseup."+self.getName())});break;case"dblclick":hand.dblclick(clk);break;case"lclick":var mouseDown=!1,interval;hand.mousedown(function(e){BI.Widget._renderEngine.createElement(document).bind("mouseup."+self.getName(),function(e){interval&&clearInterval(interval),interval=null,mouseDown=!1,BI.Widget._renderEngine.createElement(document).unbind("mouseup."+self.getName())}),mouseDown!==!0&&(!self.isEnabled()||self.isOnce()&&self.isSelected()||(interval=setInterval(function(){self.isEnabled()&&self.doClick()},180),mouseDown=!0,ev(e)))});break;default:(o.stopEvent||o.stopPropagation)&&hand.mousedown(function(e){ev(e)}),hand.click(clk)}});var onClick=BI.debounce(this._doClick,BI.EVENT_RESPONSE_TIME,{leading:!0,trailing:!1})}},_trigger:function(e){var o=this.options;if(this.isEnabled()&&(this.isDisableSelected()||(this.isForceSelected()?this.setSelected(!0):this.isForceNotSelected()?this.setSelected(!1):this.setSelected(!this.isSelected())),this.isValid())){o.handler.call(this,this.getValue(),this,e);var v=this.getValue();this.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.CLICK,v,this,e),this.fireEvent(BI.BasicButton.EVENT_CHANGE,v,this),o.action&&BI.Actions.runAction(o.action,"click",o,this),BI.Actions.runGlobalAction("click",o,this)}},_doClick:function(e){this.isValid()&&this.beforeClick(e),this._trigger(e),this.isValid()&&this.doClick(e)},beforeClick:function(){},doClick:function(){},handle:function(){return this},hover:function(){this._hover=!0,this.handle().element.addClass("hover"),this.options.shadow&&this.$mask&&this.$mask.setVisible(!0)},dishover:function(){this._hover=!1,this.handle().element.removeClass("hover"),this.options.shadow&&this.$mask&&this.$mask.setVisible(!1)},setSelected:function(b){var o=this.options;o.selected=b,b?this.handle().element.addClass("active"):this.handle().element.removeClass("active"),o.shadow&&!o.isShadowShowingOnSelected&&this.$mask&&this.$mask.setVisible(!1)},isSelected:function(){return this.options.selected},isOnce:function(){return this.options.once},isForceSelected:function(){return this.options.forceSelected},isForceNotSelected:function(){return this.options.forceNotSelected},isDisableSelected:function(){return this.options.disableSelected},setText:function(text){this.options.text=text},getText:function(){return this.options.text},_setEnable:function(enable){BI.BasicButton.superclass._setEnable.apply(this,arguments),enable===!0?this.element.removeClass("base-disabled disabled"):enable===!1&&this.element.addClass("base-disabled disabled"),enable||this.options.shadow&&this.$mask&&this.$mask.setVisible(!1)},empty:function(){BI.Widget._renderEngine.createElement(document).unbind("mouseup."+this.getName()),BI.BasicButton.superclass.empty.apply(this,arguments)},destroy:function(){BI.BasicButton.superclass.destroy.apply(this,arguments)}}),BI.BasicButton.EVENT_CHANGE="BasicButton.EVENT_CHANGE",BI.NodeButton=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.NodeButton.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{_baseCls:(conf._baseCls||"")+" bi-node",open:!1})},_init:function(){BI.NodeButton.superclass._init.apply(this,arguments);var self=this;BI.nextTick(function(){self.setOpened(self.isOpened())})},doClick:function(){BI.NodeButton.superclass.doClick.apply(this,arguments),this.setOpened(!this.isOpened())},isOnce:function(){return!1},isOpened:function(){return!!this.options.open},setOpened:function(b){this.options.open=!!b},triggerCollapse:function(){this.isOpened()&&(this.setOpened(!1),this.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.COLLAPSE,this.getValue(),this))},triggerExpand:function(){this.isOpened()||(this.setOpened(!0),this.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.EXPAND,this.getValue(),this))}}),BI.Tip=BI.inherit(BI.Single,{_defaultConfig:function(){var conf=BI.Tip.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{_baseCls:(conf._baseCls||"")+" bi-tip",zIndex:BI.zIndex_tip})},_init:function(){BI.Tip.superclass._init.apply(this,arguments),this.element.css({zIndex:this.options.zIndex})}}),BI.ButtonGroup=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.ButtonGroup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-button-group",behaviors:{},items:[],value:"",chooseType:BI.Selection.Single,layouts:[{type:"bi.center",hgap:0,vgap:0}]})},_init:function(){BI.ButtonGroup.superclass._init.apply(this,arguments);var o=this.options,behaviors={};BI.each(o.behaviors,function(key,rule){behaviors[key]=BI.BehaviorFactory.createBehavior(key,{rule:rule})}),this.behaviors=behaviors,this.populate(o.items),(BI.isKey(o.value)||BI.isNotEmptyArray(o.value))&&this.setValue(o.value)},_createBtns:function(items){var o=this.options;return BI.createWidgets(BI.createItems(items,{type:"bi.text_button"}))},_btnsCreator:function(items){var self=this,args=Array.prototype.slice.call(arguments),o=this.options,buttons=this._createBtns(items);return args[0]=buttons,BI.each(this.behaviors,function(i,behavior){behavior.doBehavior.apply(behavior,args)}),BI.each(buttons,function(i,btn){btn.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){if(type===BI.Events.CLICK){switch(o.chooseType){case BI.ButtonGroup.CHOOSE_TYPE_SINGLE:self.setValue(btn.getValue());break;case BI.ButtonGroup.CHOOSE_TYPE_NONE:self.setValue([])}self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),self.fireEvent(BI.ButtonGroup.EVENT_CHANGE,value,obj)}else self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),btn.on(BI.Events.DESTROY,function(){BI.remove(self.buttons,btn)})}),buttons},_packageBtns:function(btns){for(var o=this.options,i=o.layouts.length-1;i>0;i--)btns=BI.map(btns,function(k,it){return BI.extend({},o.layouts[i],{items:[BI.extend({},o.layouts[i].el,{el:it})]})});return btns},_packageSimpleItems:function(btns){var o=this.options;return BI.map(o.items,function(i,item){return BI.stripEL(item)===item?btns[i]:BI.extend({},item,{el:btns[i]})})},_packageItems:function(items,packBtns){return BI.createItems(BI.makeArrayByArray(items,{}),BI.clone(packBtns))},_packageLayout:function(items){for(var o=this.options,layout=BI.deepClone(o.layouts[0]),lay=BI.formatEL(layout).el;lay&&lay.items&&!BI.isEmpty(lay.items);)lay=BI.formatEL(lay.items[0]).el;return lay.items=items,layout},_isSimpleLayout:function(){var o=this.options;return 1===o.layouts.length&&!BI.isArray(o.items[0])},doBehavior:function(){var args=Array.prototype.slice.call(arguments);args.unshift(this.buttons),BI.each(this.behaviors,function(i,behavior){behavior.doBehavior.apply(behavior,args)})},prependItems:function(items){var o=this.options,btns=this._btnsCreator.apply(this,arguments);return this.buttons=BI.concat(btns,this.buttons),this._isSimpleLayout()&&this.layouts&&this.layouts.prependItems?void this.layouts.prependItems(btns):(items=this._packageItems(items,this._packageBtns(btns)),void this.layouts.prependItems(this._packageLayout(items).items))},addItems:function(items){var o=this.options,btns=this._btnsCreator.apply(this,arguments);return this.buttons=BI.concat(this.buttons,btns),this._isSimpleLayout()&&this.layouts&&this.layouts.addItems?void this.layouts.addItems(btns):(items=this._packageItems(items,this._packageBtns(btns)),void this.layouts.addItems(this._packageLayout(items).items))},removeItemAt:function(indexes){BI.removeAt(this.buttons,indexes),this.layouts.removeItemAt(indexes)},removeItems:function(values){values=BI.isArray(values)?values:[values];var deleted=[];BI.each(this.buttons,function(i,button){BI.deepContains(values,button.getValue())&&deleted.push(i)}),BI.removeAt(this.buttons,deleted),this.layouts.removeItemAt(deleted)},populate:function(items){items=items||[],this.empty(),this.options.items=items,this.buttons=this._btnsCreator.apply(this,arguments),items=this._isSimpleLayout()?this._packageSimpleItems(this.buttons):this._packageItems(items,this._packageBtns(this.buttons)),this.layouts=BI.createWidget(BI.extend({element:this},this._packageLayout(items)))},setNotSelectedValue:function(v){v=BI.isArray(v)?v:[v],BI.each(this.buttons,function(i,item){BI.deepContains(v,item.getValue())?item.setSelected&&item.setSelected(!1):item.setSelected&&item.setSelected(!0)})},setEnabledValue:function(v){v=BI.isArray(v)?v:[v],BI.each(this.buttons,function(i,item){BI.deepContains(v,item.getValue())?item.setEnable(!0):item.setEnable(!1)})},setValue:function(v){v=BI.isArray(v)?v:[v],BI.each(this.buttons,function(i,item){BI.deepContains(v,item.getValue())?item.setSelected&&item.setSelected(!0):item.setSelected&&item.setSelected(!1)})},getNotSelectedValue:function(){var v=[];return BI.each(this.buttons,function(i,item){!item.isEnabled()||item.isSelected&&item.isSelected()||v.push(item.getValue())}),v},getValue:function(){var v=[];return BI.each(this.buttons,function(i,item){item.isEnabled()&&item.isSelected&&item.isSelected()&&v.push(item.getValue())}),v},getAllButtons:function(){return this.buttons},getAllLeaves:function(){return this.buttons},getSelectedButtons:function(){var btns=[];return BI.each(this.buttons,function(i,item){item.isSelected&&item.isSelected()&&btns.push(item)}),btns},getNotSelectedButtons:function(){var btns=[];return BI.each(this.buttons,function(i,item){item.isSelected&&!item.isSelected()&&btns.push(item)}),btns},getIndexByValue:function(value){var index=-1;return BI.any(this.buttons,function(i,item){if(item.isEnabled()&&item.getValue()===value)return index=i,!0}),index},getNodeById:function(id){var node;return BI.any(this.buttons,function(i,item){if(item.isEnabled()&&item.options.id===id)return node=item,!0}),node},getNodeByValue:function(value){var node;return BI.any(this.buttons,function(i,item){if(item.isEnabled()&&item.getValue()===value)return node=item,!0}),node},empty:function(){BI.ButtonGroup.superclass.empty.apply(this,arguments),this.options.items=[]},destroy:function(){BI.ButtonGroup.superclass.destroy.apply(this,arguments),this.options.items=[]}}),BI.extend(BI.ButtonGroup,{CHOOSE_TYPE_SINGLE:BI.Selection.Single,CHOOSE_TYPE_MULTI:BI.Selection.Multi,CHOOSE_TYPE_ALL:BI.Selection.All,CHOOSE_TYPE_NONE:BI.Selection.None,CHOOSE_TYPE_DEFAULT:BI.Selection.Default}),BI.ButtonGroup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.button_group",BI.ButtonGroup),BI.ButtonTree=BI.inherit(BI.ButtonGroup,{_defaultConfig:function(){return BI.extend(BI.ButtonTree.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-button-tree"
})},_init:function(){BI.ButtonTree.superclass._init.apply(this,arguments)},setNotSelectedValue:function(v){v=BI.isArray(v)?v:[v],BI.each(this.buttons,function(i,item){return BI.isFunction(item.setSelected)?void(BI.deepContains(v,item.getValue())?item.setSelected(!1):item.setSelected(!0)):void item.setNotSelectedValue(v)})},setEnabledValue:function(v){v=BI.isArray(v)?v:[v],BI.each(this.buttons,function(i,item){return BI.isFunction(item.setEnabledValue)?void item.setEnabledValue(v):void(BI.deepContains(v,item.getValue())?item.setEnable(!0):item.setEnable(!1))})},setValue:function(v){v=BI.isArray(v)?v:[v],BI.each(this.buttons,function(i,item){return BI.isFunction(item.setSelected)?void(BI.deepContains(v,item.getValue())?item.setSelected(!0):item.setSelected(!1)):void item.setValue(v)})},getNotSelectedValue:function(){var v=[];return BI.each(this.buttons,function(i,item){return item.isEnabled()&&!BI.isFunction(item.setSelected)?void(v=BI.concat(v,item.getNotSelectedValue())):void(item.isEnabled()&&item.isSelected&&!item.isSelected()&&v.push(item.getValue()))}),v},getValue:function(){var v=[];return BI.each(this.buttons,function(i,item){return item.isEnabled()&&!BI.isFunction(item.setSelected)?void(v=BI.concat(v,item.getValue())):void(item.isEnabled()&&item.isSelected&&item.isSelected()&&v.push(item.getValue()))}),v},getSelectedButtons:function(){var btns=[];return BI.each(this.buttons,function(i,item){return item.isEnabled()&&!BI.isFunction(item.setSelected)?void(btns=btns.concat(item.getSelectedButtons())):void(item.isSelected&&item.isSelected()&&btns.push(item))}),btns},getNotSelectedButtons:function(){var btns=[];return BI.each(this.buttons,function(i,item){return item.isEnabled()&&!BI.isFunction(item.setSelected)?void(btns=btns.concat(item.getNotSelectedButtons())):void(item.isSelected&&!item.isSelected()&&btns.push(item))}),btns},getAllLeaves:function(){var leaves=[];return BI.each(this.buttons,function(i,item){return item.isEnabled()&&!BI.isFunction(item.setSelected)?void(leaves=leaves.concat(item.getAllLeaves())):void(item.isEnabled()&&leaves.push(item))}),leaves},getIndexByValue:function(value){var index=-1;return BI.any(this.buttons,function(i,item){var vs=item.getValue();if(item.isEnabled()&&(vs===value||BI.contains(vs,value)))return index=i,!0}),index},getNodeById:function(id){var node;return BI.any(this.buttons,function(i,item){if(item.isEnabled()){if(item.attr("id")===id)return node=item,!0;if(BI.isFunction(item.getNodeById)&&(node=item.getNodeById(id)))return!0}}),node},getNodeByValue:function(value){var node;return BI.any(this.buttons,function(i,item){if(item.isEnabled())if(BI.isFunction(item.getNodeByValue)){if(node=item.getNodeByValue(value))return!0}else if(item.attr("value")===value)return node=item,!0}),node}}),BI.ButtonTree.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.button_tree",BI.ButtonTree),BI.TreeView=BI.inherit(BI.Pane,{_defaultConfig:function(){return BI.extend(BI.TreeView.superclass._defaultConfig.apply(this,arguments),{_baseCls:"bi-tree",paras:{selectedValues:{}},itemsCreator:BI.emptyFn})},_init:function(){BI.TreeView.superclass._init.apply(this,arguments);var o=this.options;this._stop=!1,this._createTree(),this.tip=BI.createWidget({type:"bi.loading_bar",invisible:!0,handler:BI.bind(this._loadMore,this)}),BI.createWidget({type:"bi.vertical",scrollable:!0,scrolly:!1,element:this,items:[this.tip]}),BI.isNotNull(o.value)&&this.setSelectedValue(o.value),BI.isIE9Below&&BI.isIE9Below()&&this.element.addClass("hack")},_createTree:function(){this.id="bi-tree"+BI.UUID(),this.nodes&&this.nodes.destroy(),this.tree&&this.tree.destroy(),this.tree=BI.createWidget({type:"bi.layout",element:"<ul id='"+this.id+"' class='ztree'></ul>"}),BI.createWidget({type:"bi.default",element:this.element,items:[this.tree]})},_selectTreeNode:function(treeId,treeNode){this.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.CLICK,treeNode,this),this.fireEvent(BI.TreeView.EVENT_CHANGE,treeNode,this)},_configSetting:function(){function onClick(event,treeId,treeNode){var checked=treeNode.checked,status=treeNode.getCheckStatus();status.half===!0&&status.checked===!0&&(checked=!1),self.nodes.checkNode(treeNode,!checked,!0,!0)}function getUrl(treeId,treeNode){var parentNode=self._getParentValues(treeNode);treeNode.times=treeNode.times||1;var param="id="+treeNode.id+"&times="+treeNode.times++ +"&parentValues= "+_global.encodeURIComponent(BI.jsonEncode(parentNode))+"&checkState="+_global.encodeURIComponent(BI.jsonEncode(treeNode.getCheckStatus()));return"&"+param}function beforeExpand(treeId,treeNode){return treeNode.isAjaxing?(BI.Msg.toast("Please Wait。","warning"),!1):(treeNode.children||(treeNode.times=1,ajaxGetNodes(treeNode,"refresh")),!0)}function onAsyncSuccess(event,treeId,treeNode,msg){if(treeNode.halfCheck=!1,msg&&0!==msg.length&&!/^<html>[\s,\S]*<\/html>$/gi.test(msg)&&!self._stop){var zTree=self.nodes,totalCount=treeNode.count||0;treeNode.children.length>totalCount?(treeNode.count=treeNode.children.length,BI.delay(function(){ajaxGetNodes(treeNode)},perTime)):(zTree.updateNode(treeNode),zTree.selectNode(treeNode.children[0]))}}function onAsyncError(event,treeId,treeNode,XMLHttpRequest,textStatus,errorThrown){var zTree=self.nodes;BI.Msg.toast("Error!","warning")}function ajaxGetNodes(treeNode,reloadType){var zTree=self.nodes;"refresh"==reloadType&&zTree.updateNode(treeNode),zTree.reAsyncChildNodes(treeNode,reloadType,!0)}function beforeCheck(treeId,treeNode){function track(children){BI.each(children,function(i,ch){ch.halfCheck===!0&&(ch.halfCheck=!1,track(ch.children))})}if(treeNode.halfCheck=!1,treeNode.checked===!0){track(treeNode.children);var treeObj=self.nodes,nodes=treeObj.getSelectedNodes();BI.$.each(nodes,function(index,node){node.halfCheck=!1})}var status=treeNode.getCheckStatus();status.half===!0&&status.checked===!0&&(treeNode.checked=!1)}function onCheck(event,treeId,treeNode){self._selectTreeNode(treeId,treeNode)}function onExpand(event,treeId,treeNode){treeNode.halfCheck=!1}function onCollapse(event,treeId,treeNode){}var paras=this.options.paras,self=this,setting={async:{enable:!0,url:getUrl,autoParam:["id","name"],otherParam:BI.cjkEncodeDO(paras)},check:{enable:!0},data:{key:{title:"title",name:"text"},simpleData:{enable:!0}},view:{showIcon:!1,expandSpeed:"",nameIsHTML:!0,dblClickExpand:!1},callback:{beforeExpand:beforeExpand,onAsyncSuccess:onAsyncSuccess,onAsyncError:onAsyncError,beforeCheck:beforeCheck,onCheck:onCheck,onExpand:onExpand,onCollapse:onCollapse,onClick:onClick}},className="dark",perTime=100;return setting},_getParentValues:function(treeNode){if(!treeNode.getParentNode())return[];var parentNode=treeNode.getParentNode(),result=this._getParentValues(parentNode);return result=result.concat([this._getNodeValue(parentNode)])},_getNodeValue:function(node){return null==node.value?BI.replaceAll(node.text.replace(/<[^>]+>/g,""),"&nbsp;"," "):node.value},_getHalfSelectedValues:function(map,node){var self=this,checkState=node.getCheckStatus();if(checkState.checked!==!1||checkState.half!==!1){if(BI.isNotEmptyArray(node.children)&&checkState.half===!0){var children=node.children;return void BI.each(children,function(i,ch){self._getHalfSelectedValues(map,ch)})}var parent=node.parentValues||self._getParentValues(node),path=parent.concat(this._getNodeValue(node));if(BI.isNotEmptyArray(node.children)||checkState.half===!1)return void this._buildTree(map,path);var storeValues=BI.deepClone(this.options.paras.selectedValues),treeNode=this._getTree(storeValues,path);this._addTreeNode(map,parent,this._getNodeValue(node),treeNode)}},_getTree:function(map,values){var cur=map;return BI.any(values,function(i,value){return null==cur[value]||void(cur=cur[value])}),cur},_addTreeNode:function(map,values,key,value){var cur=map;BI.each(values,function(i,value){null==cur[value]&&(cur[value]={}),cur=cur[value]}),cur[key]=value},_buildTree:function(map,values){var cur=map;BI.each(values,function(i,value){null==cur[value]&&(cur[value]={}),cur=cur[value]})},_getSelectedValues:function(){function track(nodes){BI.each(nodes,function(i,node){var checkState=node.getCheckStatus();if(checkState.checked===!0||checkState.half===!0)if(checkState.half===!0)self._getHalfSelectedValues(hashMap,node);else{var parentValues=node.parentValues||self._getParentValues(node),values=parentValues.concat([self._getNodeValue(node)]);self._buildTree(hashMap,values)}})}var self=this,hashMap={},rootNoots=this.nodes.getNodes();return track(rootNoots),hashMap},_dealWidthNodes:function(nodes){var self=this,o=this.options,ns=BI.Tree.arrayFormat(nodes);return BI.each(ns,function(i,n){n.title=n.title||n.text||n.value,n.isParent=n.isParent||n.parent,BI.isKey(o.paras.keyword)?n.text=BI.$("<div>").__textKeywordMarked__(n.text,o.paras.keyword,n.py).html():n.text=BI.htmlEncode(n.text+"")}),nodes},_loadMore:function(){var self=this,o=this.options;this.tip.setLoading();var op=BI.extend({},o.paras,{times:++this.times});o.itemsCreator(op,function(res){if(self._stop!==!0){var hasNext=!!res.hasNext,nodes=res.items||[];hasNext?self.tip.setLoaded():self.tip.setEnd(),nodes.length>0&&self.nodes.addNodes(null,self._dealWidthNodes(nodes))}})},_initTree:function(setting){var self=this,o=this.options;self.fireEvent(BI.Events.INIT),this.times=1;var tree=this.tree;tree.empty(),this.loading(),this.tip.setVisible(!1);var callback=function(nodes){self._stop!==!0&&(self.nodes=BI.$.fn.zTree.init(tree.element,setting,nodes))},op=BI.extend({},o.paras,{times:1});o.itemsCreator(op,function(res){if(self._stop!==!0){var hasNext=!!res.hasNext,nodes=res.items||[];nodes.length>0&&callback(self._dealWidthNodes(nodes)),self.setTipVisible(nodes.length<=0),self.loaded(),hasNext?self.tip.setLoaded():self.tip.invisible(),1===op.times&&self.fireEvent(BI.Events.AFTERINIT)}})},initTree:function(nodes,setting){var setting=setting||{async:{enable:!1},check:{enable:!1},data:{key:{title:"title",name:"text"},simpleData:{enable:!0}},view:{showIcon:!1,expandSpeed:"",nameIsHTML:!0},callback:{}};this.nodes=BI.$.fn.zTree.init(this.tree.element,setting,nodes)},start:function(){this._stop=!1},stop:function(){this._stop=!0},stroke:function(config){delete this.options.keyword,BI.extend(this.options.paras,config);var setting=this._configSetting();this._createTree(),this.start(),this._initTree(setting)},populate:function(){this.stroke.apply(this,arguments)},hasChecked:function(){var treeObj=this.nodes;return treeObj.getCheckedNodes(!0).length>0},checkAll:function(checked){function setNode(children){BI.each(children,function(i,child){child.halfCheck=!1,setNode(child.children)})}this.nodes&&(BI.each(this.nodes.getNodes(),function(i,node){node.halfCheck=!1,setNode(node.children)}),this.nodes.checkAllNodes(checked))},expandAll:function(flag){this.nodes&&this.nodes.expandAll(flag)},setValue:function(value,param){this.checkAll(!1),this.updateValue(value,param),this.refresh()},setSelectedValue:function(value){this.options.paras.selectedValues=BI.deepClone(value||{})},updateValue:function(values,param){if(this.nodes){param||(param="value");var treeObj=this.nodes;BI.each(values,function(v,op){var nodes=treeObj.getNodesByParam(param,v,null);BI.each(nodes,function(j,node){BI.extend(node,{checked:!0},op),treeObj.updateNode(node)})})}},refresh:function(){this.nodes&&this.nodes.refresh()},getValue:function(){return this.nodes?this._getSelectedValues():null},destroyed:function(){this.stop(),this.nodes&&this.nodes.destroy()}}),BI.extend(BI.TreeView,{REQ_TYPE_INIT_DATA:1,REQ_TYPE_ADJUST_DATA:2,REQ_TYPE_SELECT_DATA:3,REQ_TYPE_GET_SELECTED_DATA:4}),BI.TreeView.EVENT_CHANGE="EVENT_CHANGE",BI.TreeView.EVENT_INIT=BI.Events.INIT,BI.TreeView.EVENT_AFTERINIT=BI.Events.AFTERINIT,BI.shortcut("bi.tree_view",BI.TreeView),BI.AsyncTree=BI.inherit(BI.TreeView,{_defaultConfig:function(){return BI.extend(BI.AsyncTree.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.AsyncTree.superclass._init.apply(this,arguments)},_configSetting:function(){function onClick(event,treeId,treeNode){var zTree=BI.$.fn.zTree.getZTreeObj(treeId),checked=treeNode.checked,status=treeNode.getCheckStatus();status.half===!0&&status.checked===!0&&(checked=!1),zTree.checkNode(treeNode,!checked,!0,!0)}function beforeCheck(treeId,treeNode){function track(children){BI.each(children,function(i,ch){ch.halfCheck===!0&&(ch.halfCheck=!1,track(ch.children))})}if(treeNode.halfCheck=!1,treeNode.checked===!0){track(treeNode.children);var treeObj=BI.$.fn.zTree.getZTreeObj(treeId),nodes=treeObj.getSelectedNodes();BI.each(nodes,function(index,node){node.halfCheck=!1})}var status=treeNode.getCheckStatus();status.half===!0&&status.checked===!0&&(treeNode.checked=!1)}function beforeExpand(treeId,treeNode){self._beforeExpandNode(treeId,treeNode)}function onCheck(event,treeId,treeNode){self._selectTreeNode(treeId,treeNode)}function onExpand(event,treeId,treeNode){treeNode.halfCheck=!1}function onCollapse(event,treeId,treeNode){treeNode.halfCheck=!1}var paras=this.options.paras,self=this,setting={async:{enable:!1,otherParam:BI.cjkEncodeDO(paras)},check:{enable:!0},data:{key:{title:"title",name:"text"},simpleData:{enable:!0}},view:{showIcon:!1,expandSpeed:"",nameIsHTML:!0,dblClickExpand:!1},callback:{beforeCheck:beforeCheck,onCheck:onCheck,beforeExpand:beforeExpand,onExpand:onExpand,onCollapse:onCollapse,onClick:onClick}};return setting},_selectTreeNode:function(treeId,treeNode){var self=this,o=this.options,parentValues=BI.deepClone(treeNode.parentValues||self._getParentValues(treeNode)),name=this._getNodeValue(treeNode);if(treeNode.checked===!0)this._addTreeNode(this.options.paras.selectedValues,parentValues,name,{});else{var tNode=treeNode,pNode=this._getTree(this.options.paras.selectedValues,parentValues);for(BI.isNotNull(pNode[name])&&delete pNode[name];null!=tNode&&BI.isEmpty(pNode);)parentValues=parentValues.slice(0,parentValues.length-1),tNode=tNode.getParentNode(),null!=tNode&&(pNode=this._getTree(this.options.paras.selectedValues,parentValues),name=this._getNodeValue(tNode),delete pNode[name])}BI.AsyncTree.superclass._selectTreeNode.apply(self,arguments)},_beforeExpandNode:function(treeId,treeNode){function callback(nodes,hasNext){self.nodes.addNodes(treeNode,nodes),hasNext===!0&&BI.delay(function(){times++,op.times=times,o.itemsCreator(op,complete)},100)}var self=this,o=this.options,parentValues=treeNode.parentValues||self._getParentValues(treeNode),op=BI.extend({},o.paras,{id:treeNode.id,times:1,parentValues:parentValues.concat(this._getNodeValue(treeNode)),checkState:treeNode.getCheckStatus()}),complete=function(d){var nodes=d.items||[];nodes.length>0&&callback(self._dealWidthNodes(nodes),!!d.hasNext)},times=1;treeNode.children||setTimeout(function(){o.itemsCreator(op,complete)},17)},_join:function(valueA,valueB){function track(parent,node,compare){BI.each(node,function(n,item){BI.isNull(compare[n])?self._addTreeNode(map,parent,n,item):BI.isEmpty(compare[n])?self._addTreeNode(map,parent,n,item):track(parent.concat([n]),node[n],compare[n])})}var self=this,map={};return track([],valueA,valueB),track([],valueB,valueA),map},hasChecked:function(){return!BI.isEmpty(this.options.paras.selectedValues)||BI.AsyncTree.superclass.hasChecked.apply(this,arguments)},_getJoinValue:function(){if(!this.nodes)return{};var checkedValues=this._getSelectedValues();return BI.isEmpty(checkedValues)?BI.deepClone(this.options.paras.selectedValues):BI.isEmpty(this.options.paras.selectedValues)?checkedValues:this._join(checkedValues,this.options.paras.selectedValues)},getValue:function(){return this._getJoinValue()},stroke:function(config){delete this.options.keyword,BI.extend(this.options.paras,config);var setting=this._configSetting();this._initTree(setting)}}),BI.shortcut("bi.async_tree",BI.AsyncTree),BI.PartTree=BI.inherit(BI.AsyncTree,{_defaultConfig:function(){return BI.extend(BI.PartTree.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.PartTree.superclass._init.apply(this,arguments)},_loadMore:function(){var self=this,o=this.options,op=BI.extend({},o.paras,{type:BI.TreeView.REQ_TYPE_INIT_DATA,times:++this.times});this.tip.setLoading(),o.itemsCreator(op,function(d){var hasNext=!!d.hasNext,nodes=d.items||[];o.paras.lastSearchValue=d.lastSearchValue,self._stop!==!0&&(hasNext?self.tip.setLoaded():self.tip.setEnd(),nodes.length>0&&self.nodes.addNodes(null,self._dealWidthNodes(nodes)))})},_selectTreeNode:function(treeId,treeNode){var self=this,o=this.options,parentValues=BI.deepClone(treeNode.parentValues||self._getParentValues(treeNode)),name=this._getNodeValue(treeNode);if(treeNode.checked===!0)this.options.paras.selectedValues=this._getJoinValue(),o.itemsCreator(BI.extend({},o.paras,{type:BI.TreeView.REQ_TYPE_ADJUST_DATA,curSelectedValue:name,parentValues:parentValues}),function(res){self.options.paras.selectedValues=res,BI.AsyncTree.superclass._selectTreeNode.apply(self,arguments)});else{for(var t=this.options.paras.selectedValues,p=parentValues.concat(name),i=0,len=p.length;i<len;i++){if(t=t[p[i]],null==t)return;if(BI.isEmpty(t))break}o.itemsCreator(BI.extend({},o.paras,{type:BI.TreeView.REQ_TYPE_SELECT_DATA,notSelectedValue:name,parentValues:parentValues}),function(new_values){self.options.paras.selectedValues=new_values,BI.AsyncTree.superclass._selectTreeNode.apply(self,arguments)})}},_getSelectedValues:function(){function track(nodes){BI.each(nodes,function(i,node){var checkState=node.getCheckStatus();if(checkState.checked===!1)return!0;var parentValues=node.parentValues||self._getParentValues(node),values=parentValues.concat([self._getNodeValue(node)]);return self._buildTree(hashMap,values),BI.isNotEmptyArray(node.children)?(track(node.children),!0):void(checkState.half===!0&&self._getHalfSelectedValues(hashMap,node))})}var self=this,hashMap={},rootNoots=this.nodes.getNodes();return track(rootNoots),hashMap},_initTree:function(setting,keyword){function callback(nodes){self._stop!==!0&&(self.nodes=BI.$.fn.zTree.init(tree.element,setting,nodes))}var self=this,o=this.options;this.times=1;var tree=this.tree;tree.empty(),self.tip.setVisible(!1),this.loading();var op=BI.extend({},o.paras,{type:BI.TreeView.REQ_TYPE_INIT_DATA,times:this.times}),complete=function(d){if(self._stop!==!0&&keyword==o.paras.keyword){var hasNext=!!d.hasNext,nodes=d.items||[];o.paras.lastSearchValue=d.lastSearchValue,callback(nodes.length>0?self._dealWidthNodes(nodes):[]),self.setTipVisible(nodes.length<=0),self.loaded(),hasNext?self.tip.setLoaded():self.tip.invisible(),self.fireEvent(BI.Events.AFTERINIT)}};BI.delay(function(){o.itemsCreator(op,complete)},100)},getValue:function(){return BI.deepClone(this.options.paras.selectedValues||{})},stroke:function(config){var o=this.options;delete o.paras.keyword,BI.extend(o.paras,config),delete o.paras.lastSearchValue;var setting=this._configSetting();this._initTree(setting,o.paras.keyword)}}),BI.shortcut("bi.part_tree",BI.PartTree),BI.ListTreeView=BI.inherit(BI.TreeView,{_constants:{SPLIT:"<|>"},_defaultConfig:function(){return BI.extend(BI.ListTreeView.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.ListTreeView.superclass._init.apply(this,arguments);var o=this.options;this.storeValue=o.value||{}},_configSetting:function(){function onClick(event,treeId,treeNode){var zTree=BI.$.fn.zTree.getZTreeObj(treeId),checked=treeNode.checked;self._checkValue(treeNode,!checked),zTree.checkNode(treeNode,!checked,!0,!0)}function onCheck(event,treeId,treeNode){self._selectTreeNode(treeId,treeNode)}var paras=this.options.paras,self=this,setting={async:{enable:!1},check:{enable:!0,chkboxType:{Y:"",N:""}},data:{key:{title:"title",name:"text"},simpleData:{enable:!0}},view:{showIcon:!1,expandSpeed:"",nameIsHTML:!0,dblClickExpand:!1},callback:{onCheck:onCheck,onClick:onClick}};return setting},_selectTreeNode:function(treeId,treeNode){this._checkValue(treeNode,treeNode.checked),BI.ListTreeView.superclass._selectTreeNode.apply(this,arguments)},_transArrayToMap:function(treeArrays){var self=this,map={};return BI.each(treeArrays,function(idx,array){var key=array.join(self._constants.SPLIT);map[key]=!0}),map},_transMapToArray:function(treeMap){var self=this,array=[];return BI.each(treeMap,function(key){var item=key.split(self._constants.SPLIT);array.push(item)}),array},_checkValue:function(treeNode,checked){var key=BI.concat(this._getParentValues(treeNode),this._getNodeValue(treeNode)).join(this._constants.SPLIT);checked?this.storeValue[key]=!0:delete this.storeValue[key]},setSelectedValue:function(value){this.options.paras.selectedValues=value||[],this.storeValue=this._transArrayToMap(value)},getValue:function(){return this._transMapToArray(this.storeValue)}}),BI.shortcut("bi.list_tree_view",BI.ListTreeView),BI.ListAsyncTree=BI.inherit(BI.ListTreeView,{_defaultConfig:function(){return BI.extend(BI.ListAsyncTree.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.ListAsyncTree.superclass._init.apply(this,arguments)},_configSetting:function(){function beforeCheck(treeId,treeNode){treeNode.half=!1}function onClick(event,treeId,treeNode){var zTree=BI.$.fn.zTree.getZTreeObj(treeId),checked=treeNode.checked;self._checkValue(treeNode,!checked),zTree.checkNode(treeNode,!checked,!0,!0)}function beforeExpand(treeId,treeNode){self._beforeExpandNode(treeId,treeNode)}function onCheck(event,treeId,treeNode){self._selectTreeNode(treeId,treeNode)}var paras=this.options.paras,self=this,setting={async:{enable:!1,otherParam:BI.cjkEncodeDO(paras)},check:{enable:!0,chkboxType:{Y:"",N:""}},data:{key:{title:"title",name:"text"},simpleData:{enable:!0}},view:{showIcon:!1,expandSpeed:"",nameIsHTML:!0,dblClickExpand:!1},callback:{onCheck:onCheck,beforeExpand:beforeExpand,beforeCheck:beforeCheck,onClick:onClick}};return setting},_beforeExpandNode:function(treeId,treeNode){function callback(nodes,hasNext){self.nodes.addNodes(treeNode,nodes),hasNext===!0&&BI.delay(function(){times++,op.times=times,o.itemsCreator(op,complete)},100)}var self=this,o=this.options,parentValues=treeNode.parentValues||self._getParentValues(treeNode),op=BI.extend({},o.paras,{id:treeNode.id,times:1,parentValues:parentValues.concat(this._getNodeValue(treeNode))}),complete=function(d){var nodes=d.items||[];nodes.length>0&&callback(self._dealWidthNodes(nodes),!!d.hasNext)},times=1;treeNode.children||setTimeout(function(){o.itemsCreator(op,complete)},17)},hasChecked:function(){return!BI.isEmpty(this.options.paras.selectedValues)||BI.ListAsyncTree.superclass.hasChecked.apply(this,arguments)},stroke:function(config){delete this.options.keyword,BI.extend(this.options.paras,config);var setting=this._configSetting();this._initTree(setting)}}),BI.shortcut("bi.list_async_tree",BI.ListAsyncTree),BI.ListPartTree=BI.inherit(BI.ListAsyncTree,{_defaultConfig:function(){return BI.extend(BI.ListPartTree.superclass._defaultConfig.apply(this,arguments),{})},_init:function(){BI.ListPartTree.superclass._init.apply(this,arguments)},_loadMore:function(){var self=this,o=this.options,op=BI.extend({},o.paras,{type:BI.TreeView.REQ_TYPE_INIT_DATA,times:++this.times});this.tip.setLoading(),o.itemsCreator(op,function(d){var hasNext=!!d.hasNext,nodes=d.items||[];o.paras.lastSearchValue=d.lastSearchValue,self._stop!==!0&&(hasNext?self.tip.setLoaded():self.tip.setEnd(),nodes.length>0&&self.nodes.addNodes(null,self._dealWidthNodes(nodes)))})},_initTree:function(setting,keyword){function callback(nodes){self._stop!==!0&&(self.nodes=BI.$.fn.zTree.init(tree.element,setting,nodes))}var self=this,o=this.options;this.times=1;var tree=this.tree;tree.empty(),self.tip.setVisible(!1),this.loading();var op=BI.extend({},o.paras,{type:BI.TreeView.REQ_TYPE_INIT_DATA,times:this.times}),complete=function(d){if(self._stop!==!0&&keyword==o.paras.keyword){var hasNext=!!d.hasNext,nodes=d.items||[];o.paras.lastSearchValue=d.lastSearchValue,callback(nodes.length>0?self._dealWidthNodes(nodes):[]),self.setTipVisible(nodes.length<=0),self.loaded(),hasNext?self.tip.setLoaded():self.tip.invisible(),self.fireEvent(BI.Events.AFTERINIT)}};BI.delay(function(){o.itemsCreator(op,complete)},100)},stroke:function(config){var o=this.options;delete o.paras.keyword,BI.extend(o.paras,config),delete o.paras.lastSearchValue;var setting=this._configSetting();this._initTree(setting,o.paras.keyword)}}),BI.shortcut("bi.list_part_tree",BI.ListPartTree),BI.prepares.push(function(){BI.Resizers=new BI.ResizeController,BI.Layers=new BI.LayerController,BI.Maskers=new BI.MaskersController,BI.Bubbles=new BI.BubblesController,BI.Tooltips=new BI.TooltipsController,BI.Popovers=new BI.PopoverController,BI.Broadcasts=new BI.BroadcastController,BI.StyleLoaders=new BI.StyleLoaderManager}),BI.CollectionView=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.CollectionView.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-collection",overflowX:!0,overflowY:!0,cellSizeAndPositionGetter:BI.emptyFn,horizontalOverscanSize:0,verticalOverscanSize:0,scrollLeft:0,scrollTop:0,items:[]})},_init:function(){BI.CollectionView.superclass._init.apply(this,arguments);var self=this,o=this.options;this.renderedCells=[],this.renderedKeys=[],this.renderRange={},this._scrollLock=!1,this._debounceRelease=BI.debounce(function(){self._scrollLock=!1},1e3/60),this.container=BI.createWidget({type:"bi.absolute"}),this.element.scroll(function(){self._scrollLock!==!0&&(o.scrollLeft=self.element.scrollLeft(),o.scrollTop=self.element.scrollTop(),self._calculateChildrenToRender(),self.fireEvent(BI.CollectionView.EVENT_SCROLL,{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}))}),BI.createWidget({type:"bi.vertical",element:this,scrollable:o.overflowX===!0&&o.overflowY===!0,scrolly:o.overflowX===!1&&o.overflowY===!0,scrollx:o.overflowX===!0&&o.overflowY===!1,items:[this.container]}),o.items.length>0&&(this._calculateSizeAndPositionData(),this._populate())},mounted:function(){var o=this.options;0===o.scrollLeft&&0===o.scrollTop||(this.element.scrollTop(o.scrollTop),this.element.scrollLeft(o.scrollLeft))},_calculateSizeAndPositionData:function(){for(var o=this.options,cellMetadata=[],sectionManager=new BI.SectionManager,height=0,width=0,index=0,len=o.items.length;index<len;index++){var cellMetadatum=o.cellSizeAndPositionGetter(index);if(null==cellMetadatum.height||isNaN(cellMetadatum.height)||null==cellMetadatum.width||isNaN(cellMetadatum.width)||null==cellMetadatum.x||isNaN(cellMetadatum.x)||null==cellMetadatum.y||isNaN(cellMetadatum.y))throw Error();height=Math.max(height,cellMetadatum.y+cellMetadatum.height),width=Math.max(width,cellMetadatum.x+cellMetadatum.width),cellMetadatum.index=index,cellMetadata[index]=cellMetadatum,sectionManager.registerCell(cellMetadatum,index)}this._cellMetadata=cellMetadata,this._sectionManager=sectionManager,this._height=height,this._width=width},_cellRenderers:function(height,width,x,y){return this._lastRenderedCellIndices=this._sectionManager.getCellIndices(height,width,x,y),this._cellGroupRenderer()},_cellGroupRenderer:function(){var self=this,o=this.options,rendered=[];return BI.each(this._lastRenderedCellIndices,function(i,index){var cellMetadata=self._sectionManager.getCellMetadata(index);rendered.push(cellMetadata)}),rendered},_calculateChildrenToRender:function(){var self=this,o=this.options,scrollLeft=BI.clamp(o.scrollLeft,0,this._getMaxScrollLeft()),scrollTop=BI.clamp(o.scrollTop,0,this._getMaxScrollTop()),left=Math.max(0,scrollLeft-o.horizontalOverscanSize),top=Math.max(0,scrollTop-o.verticalOverscanSize),right=Math.min(this._width,scrollLeft+o.width+o.horizontalOverscanSize),bottom=Math.min(this._height,scrollTop+o.height+o.verticalOverscanSize);if(right>0&&bottom>0){if(top>=this.renderRange.minY&&bottom<=this.renderRange.maxY&&left>=this.renderRange.minX&&right<=this.renderRange.maxX)return;for(var childrenToDisplay=this._cellRenderers(bottom-top,right-left,left,top),renderedCells=[],renderedKeys={},renderedWidgets={},lefts={},tops={},i=0,len=childrenToDisplay.length;i<len;i++){var datum=childrenToDisplay[i];lefts[datum.x]=datum.x,lefts[datum.x+datum.width]=datum.x+datum.width,tops[datum.y]=datum.y,tops[datum.y+datum.height]=datum.y+datum.height}lefts=BI.toArray(lefts),tops=BI.toArray(tops);for(var leftMap=BI.invert(lefts),topMap=BI.invert(tops),leftBorder={},rightBorder={},topBorder={},bottomBorder={},assertMinBorder=function(border,offset){null==border[offset]&&(border[offset]=Number.MAX_VALUE)},assertMaxBorder=function(border,offset){null==border[offset]&&(border[offset]=0)},i=0,len=childrenToDisplay.length;i<len;i++){var datum=childrenToDisplay[i],index=this.renderedKeys[datum.index]&&this.renderedKeys[datum.index][1],child;index>=0?(datum.width!==this.renderedCells[index]._width&&(this.renderedCells[index]._width=datum.width,this.renderedCells[index].el.setWidth(datum.width)),datum.height!==this.renderedCells[index]._height&&(this.renderedCells[index]._height=datum.height,this.renderedCells[index].el.setHeight(datum.height)),this.renderedCells[index]._left!==datum.x&&this.renderedCells[index].el.element.css("left",datum.x+"px"),this.renderedCells[index]._top!==datum.y&&this.renderedCells[index].el.element.css("top",datum.y+"px"),renderedCells.push(child=this.renderedCells[index])):(child=BI.createWidget(BI.extend({type:"bi.label",width:datum.width,height:datum.height},o.items[datum.index],{cls:(o.items[datum.index].cls||"")+" container-cell"+(0===datum.y?" first-row":"")+(0===datum.x?" first-col":""),_left:datum.x,_top:datum.y})),renderedCells.push({el:child,left:datum.x,top:datum.y,_left:datum.x,_top:datum.y,_width:datum.width,_height:datum.height}));for(var startTopIndex=0|topMap[datum.y],endTopIndex=0|topMap[datum.y+datum.height],k=startTopIndex;k<=endTopIndex;k++){var t=tops[k];assertMinBorder(leftBorder,t),assertMaxBorder(rightBorder,t),leftBorder[t]=Math.min(leftBorder[t],datum.x),rightBorder[t]=Math.max(rightBorder[t],datum.x+datum.width)}for(var startLeftIndex=0|leftMap[datum.x],endLeftIndex=0|leftMap[datum.x+datum.width],k=startLeftIndex;k<=endLeftIndex;k++){var l=lefts[k];assertMinBorder(topBorder,l),assertMaxBorder(bottomBorder,l),topBorder[l]=Math.min(topBorder[l],datum.y),bottomBorder[l]=Math.max(bottomBorder[l],datum.y+datum.height)}renderedKeys[datum.index]=[datum.index,i],renderedWidgets[i]=child}var existSet={},addSet={},deleteArray=[];BI.each(renderedKeys,function(i,key){self.renderedKeys[i]?existSet[i]=key:addSet[i]=key}),BI.each(this.renderedKeys,function(i,key){existSet[i]||addSet[i]||deleteArray.push(key[1])}),BI.each(deleteArray,function(i,index){self.renderedCells[index].el._destroy()});var addedItems=[];BI.each(addSet,function(index,key){addedItems.push(renderedCells[key[1]])}),this.container.addItems(addedItems),this.container._children=renderedWidgets,this.container.attr("items",renderedCells),this.renderedCells=renderedCells,this.renderedKeys=renderedKeys;var minX=BI.min(leftBorder),maxX=BI.max(rightBorder),minY=BI.max(topBorder),maxY=BI.min(bottomBorder);this.renderRange={minX:minX,minY:minY,maxX:maxX,maxY:maxY}}},_getMaxScrollLeft:function(){return Math.max(0,this._width-this.options.width+(this.options.overflowX?BI.DOM.getScrollWidth():0))},_getMaxScrollTop:function(){return Math.max(0,this._height-this.options.height+(this.options.overflowY?BI.DOM.getScrollWidth():0))},_populate:function(items){var o=this.options;if(this._reRange(),items&&items!==this.options.items&&(this.options.items=items,this._calculateSizeAndPositionData()),o.items.length>0){this.container.setWidth(this._width),this.container.setHeight(this._height),this._calculateChildrenToRender();try{this.element.scrollTop(o.scrollTop),this.element.scrollLeft(o.scrollLeft)}catch(e){}}},setScrollLeft:function(scrollLeft){this.options.scrollLeft!==scrollLeft&&(this._scrollLock=!0,this.options.scrollLeft=BI.clamp(scrollLeft||0,0,this._getMaxScrollLeft()),this._debounceRelease(),this._calculateChildrenToRender(),this.element.scrollLeft(this.options.scrollLeft))},setScrollTop:function(scrollTop){this.options.scrollTop!==scrollTop&&(this._scrollLock=!0,this.options.scrollTop=BI.clamp(scrollTop||0,0,this._getMaxScrollTop()),this._debounceRelease(),
this._calculateChildrenToRender(),this.element.scrollTop(this.options.scrollTop))},setOverflowX:function(b){var self=this;this.options.overflowX!==!!b&&(this.options.overflowX=!!b,BI.nextTick(function(){self.element.css({overflowX:b?"auto":"hidden"})}))},setOverflowY:function(b){var self=this;this.options.overflowY!==!!b&&(this.options.overflowY=!!b,BI.nextTick(function(){self.element.css({overflowY:b?"auto":"hidden"})}))},getScrollLeft:function(){return this.options.scrollLeft},getScrollTop:function(){return this.options.scrollTop},getMaxScrollLeft:function(){return this._getMaxScrollLeft()},getMaxScrollTop:function(){return this._getMaxScrollTop()},_reRange:function(){this.renderRange={}},_clearChildren:function(){this.container._children={},this.container.attr("items",[])},restore:function(){BI.each(this.renderedCells,function(i,cell){cell.el._destroy()}),this._clearChildren(),this.renderedCells=[],this.renderedKeys=[],this.renderRange={},this._scrollLock=!1},populate:function(items){items&&items!==this.options.items&&this.restore(),this._populate(items)}}),BI.CollectionView.EVENT_SCROLL="EVENT_SCROLL",BI.shortcut("bi.collection_view",BI.CollectionView),BI.Combo=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.Combo.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-combo",trigger:"click",toggle:!0,direction:"bottom",logic:{dynamic:!0},container:null,isDefaultInit:!1,destroyWhenHide:!1,isNeedAdjustHeight:!0,isNeedAdjustWidth:!0,stopEvent:!1,stopPropagation:!1,adjustLength:0,adjustXOffset:0,adjustYOffset:0,hideChecker:BI.emptyFn,offsetStyle:"left",el:{},popup:{},comboClass:"bi-combo-popup",hoverClass:"bi-combo-hover"})},_init:function(){BI.Combo.superclass._init.apply(this,arguments);var self=this,o=this.options;this._initCombo(),this._initPullDownAction(),this.combo.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.isEnabled()&&self.isValid()&&(type===BI.Events.EXPAND&&self._popupView(),type===BI.Events.COLLAPSE&&self._hideView(),type===BI.Events.EXPAND&&(self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),self.fireEvent(BI.Combo.EVENT_EXPAND)),type===BI.Events.COLLAPSE&&(self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),self.isViewVisible()&&self.fireEvent(BI.Combo.EVENT_COLLAPSE)),type===BI.Events.CLICK&&self.fireEvent(BI.Combo.EVENT_TRIGGER_CHANGE,obj))}),self.element.on("mouseenter."+self.getName(),function(e){self.isEnabled()&&self.isValid()&&self.combo.isEnabled()&&self.combo.isValid()&&self.element.addClass(o.hoverClass)}),self.element.on("mouseleave."+self.getName(),function(e){self.isEnabled()&&self.isValid()&&self.combo.isEnabled()&&self.combo.isValid()&&self.element.removeClass(o.hoverClass)}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("vertical",BI.extend(o.logic,{items:[{el:this.combo}]})))),o.isDefaultInit&&this._assertPopupView(),BI.Resizers.add(this.getName(),BI.bind(function(){this.isViewVisible()&&this._hideView()},this))},_toggle:function(){this._assertPopupViewRender(),this.popupView.isVisible()?this._hideView():this.isEnabled()&&this._popupView()},_initPullDownAction:function(){function hide(){self.isEnabled()&&self.isValid()&&self.combo.isEnabled()&&self.combo.isValid()&&o.toggle===!0&&(self._hideView(),self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.COLLAPSE,"",self.combo),self.fireEvent(BI.Combo.EVENT_COLLAPSE)),self.popupView&&self.popupView.element.off("mouseenter."+self.getName()).off("mouseleave."+self.getName()),enterPopup=!1}var self=this,o=this.options,evs=(this.options.trigger||"").split(","),st=function(e){o.stopEvent&&e.stopEvent(),o.stopPropagation&&e.stopPropagation()},enterPopup=!1;BI.each(evs,function(i,ev){switch(ev){case"hover":self.element.on("mouseenter."+self.getName(),function(e){self.isEnabled()&&self.isValid()&&self.combo.isEnabled()&&self.combo.isValid()&&(self._popupView(),self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.EXPAND,"",self.combo),self.fireEvent(BI.Combo.EVENT_EXPAND))}),self.element.on("mouseleave."+self.getName(),function(e){self.popupView&&(self.popupView.element.on("mouseenter."+self.getName(),function(e){enterPopup=!0,self.popupView.element.on("mouseleave."+self.getName(),function(e){hide()}),self.popupView.element.off("mouseenter."+self.getName())}),BI.defer(function(){enterPopup||hide()},50))});break;case"click":var debounce=BI.debounce(function(e){self.combo.element.__isMouseInBounds__(e)&&self.isEnabled()&&self.isValid()&&self.combo.isEnabled()&&self.combo.isValid()&&(o.toggle?self._toggle():self._popupView(),self.isViewVisible()?(self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.EXPAND,"",self.combo),self.fireEvent(BI.Combo.EVENT_EXPAND)):(self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.COLLAPSE,"",self.combo),self.fireEvent(BI.Combo.EVENT_COLLAPSE)))},BI.EVENT_RESPONSE_TIME,{leading:!0,trailing:!1});self.element.off(ev+"."+self.getName()).on(ev+"."+self.getName(),function(e){debounce(e),st(e)});break;case"click-hover":var debounce=BI.debounce(function(e){self.combo.element.__isMouseInBounds__(e)&&self.isEnabled()&&self.isValid()&&self.combo.isEnabled()&&self.combo.isValid()&&(self._popupView(),self.isViewVisible()&&(self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.EXPAND,"",self.combo),self.fireEvent(BI.Combo.EVENT_EXPAND)))},BI.EVENT_RESPONSE_TIME,{leading:!0,trailing:!1});self.element.off("click."+self.getName()).on("click."+self.getName(),function(e){debounce(e),st(e)}),self.element.on("mouseleave."+self.getName(),function(e){self.popupView&&(self.popupView.element.on("mouseenter."+self.getName(),function(e){enterPopup=!0,self.popupView.element.on("mouseleave."+self.getName(),function(e){hide()}),self.popupView.element.off("mouseenter."+self.getName())}),BI.defer(function(){enterPopup||hide()},50))})}})},_initCombo:function(){this.combo=BI.createWidget(this.options.el,{value:this.options.value})},_assertPopupView:function(){var self=this,o=this.options;null==this.popupView&&(this.popupView=BI.createWidget(this.options.popup,{type:"bi.popup_view",value:o.value},this),this.popupView.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){type===BI.Events.CLICK&&(self.combo.setValue(self.getValue()),self.fireEvent(BI.Combo.EVENT_CHANGE,value,obj)),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.popupView.setVisible(!1),BI.nextTick(function(){self.fireEvent(BI.Combo.EVENT_AFTER_INIT)}))},_assertPopupViewRender:function(){this._assertPopupView(),this._rendered||(BI.createWidget({type:"bi.vertical",scrolly:!1,element:this.options.container||this,items:[{el:this.popupView}]}),this._rendered=!0)},_hideIf:function(e){if(this.element.find(e.target).length>0||this.popupView&&this.popupView.element.find(e.target).length>0||"CodeMirror-cursor"===e.target.className||BI.Widget._renderEngine.createElement(e.target).closest(".CodeMirror-hints").length>0){var directions=this.options.direction.split(",");return void((BI.contains(directions,"innerLeft")||BI.contains(directions,"innerRight"))&&(this.adjustWidth(),this.adjustHeight()))}var isHide=this.options.hideChecker.apply(this,[e]);isHide!==!1&&this._hideView()},_hideView:function(){this.fireEvent(BI.Combo.EVENT_BEFORE_HIDEVIEW),this.options.destroyWhenHide===!0?(this.popupView&&this.popupView.destroy(),this.popupView=null,this._rendered=!1):this.popupView&&this.popupView.invisible(),this.element.removeClass(this.options.comboClass),BI.Widget._renderEngine.createElement(document).unbind("mousedown."+this.getName()).unbind("mousewheel."+this.getName()),this.fireEvent(BI.Combo.EVENT_AFTER_HIDEVIEW)},_popupView:function(e){this._assertPopupViewRender(),this.fireEvent(BI.Combo.EVENT_BEFORE_POPUPVIEW),this.popupView.visible(),this.adjustWidth(e),this.adjustHeight(e),this.element.addClass(this.options.comboClass),BI.Widget._renderEngine.createElement(document).unbind("mousedown."+this.getName()).unbind("mousewheel."+this.getName()),BI.Widget._renderEngine.createElement(document).bind("mousedown."+this.getName(),BI.bind(this._hideIf,this)).bind("mousewheel."+this.getName(),BI.bind(this._hideIf,this)),this.fireEvent(BI.Combo.EVENT_AFTER_POPUPVIEW)},adjustWidth:function(e){var o=this.options;if(this.popupView&&o.isNeedAdjustWidth===!0){this.resetListWidth("");var width=this.popupView.element.outerWidth(),maxW=this.element.outerWidth()||o.width;width>maxW+80?maxW+=80:width>maxW&&(maxW=width),this.resetListWidth(maxW<100?100:maxW)}},adjustHeight:function(e){var o=this.options,p={};if(this.popupView){var isVisible=this.popupView.isVisible();this.popupView.visible();var combo=BI.isNotNull(e)?{element:{offset:function(){return{left:e.pageX,top:e.pageY}},bounds:function(){return{x:e.offsetX,y:e.offsetY,width:0,height:24}},outerWidth:function(){return 0},outerHeight:function(){return 24}}}:this.combo;switch(o.direction){case"bottom":case"bottom,right":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset,o.adjustYOffset||o.adjustLength,o.isNeedAdjustHeight,["bottom","top","right","left"],o.offsetStyle);break;case"top":case"top,right":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset,o.adjustYOffset||o.adjustLength,o.isNeedAdjustHeight,["top","bottom","right","left"],o.offsetStyle);break;case"left":case"left,bottom":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset||o.adjustLength,o.adjustYOffset,o.isNeedAdjustHeight,["left","right","bottom","top"],o.offsetStyle);break;case"right":case"right,bottom":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset||o.adjustLength,o.adjustYOffset,o.isNeedAdjustHeight,["right","left","bottom","top"],o.offsetStyle);break;case"top,left":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset,o.adjustYOffset||o.adjustLength,o.isNeedAdjustHeight,["top","bottom","left","right"],o.offsetStyle);break;case"bottom,left":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset,o.adjustYOffset||o.adjustLength,o.isNeedAdjustHeight,["bottom","top","left","right"],o.offsetStyle);break;case"left,top":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset||o.adjustLength,o.adjustYOffset,o.isNeedAdjustHeight,["left","right","top","bottom"],o.offsetStyle);break;case"right,top":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset||o.adjustLength,o.adjustYOffset,o.isNeedAdjustHeight,["right","left","top","bottom"],o.offsetStyle);break;case"right,innerRight":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset||o.adjustLength,o.adjustYOffset,o.isNeedAdjustHeight,["right","left","innerRight","innerLeft","bottom","top"],o.offsetStyle);break;case"right,innerLeft":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset||o.adjustLength,o.adjustYOffset,o.isNeedAdjustHeight,["right","left","innerLeft","innerRight","bottom","top"],o.offsetStyle);break;case"innerRight":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset||o.adjustLength,o.adjustYOffset,o.isNeedAdjustHeight,["innerRight","innerLeft","right","left","bottom","top"],o.offsetStyle);break;case"innerLeft":p=BI.DOM.getComboPosition(combo,this.popupView,o.adjustXOffset||o.adjustLength,o.adjustYOffset,o.isNeedAdjustHeight,["innerLeft","innerRight","left","right","bottom","top"],o.offsetStyle);break;case"top,custom":case"custom,top":p=BI.DOM.getTopAdaptPosition(combo,this.popupView,o.adjustYOffset||o.adjustLength,o.isNeedAdjustHeight);break;case"custom,bottom":case"bottom,custom":p=BI.DOM.getBottomAdaptPosition(combo,this.popupView,o.adjustYOffset||o.adjustLength,o.isNeedAdjustHeight);break;case"left,custom":case"custom,left":p=BI.DOM.getLeftAdaptPosition(combo,this.popupView,o.adjustXOffset||o.adjustLength),delete p.top,delete p.adaptHeight;break;case"custom,right":case"right,custom":p=BI.DOM.getRightAdaptPosition(combo,this.popupView,o.adjustXOffset||o.adjustLength),delete p.top,delete p.adaptHeight}"adaptHeight"in p&&this.resetListHeight(p.adaptHeight),"left"in p&&this.popupView.element.css({left:p.left}),"top"in p&&this.popupView.element.css({top:p.top}),this.position=p,this.popupView.setVisible(isVisible)}},resetListHeight:function(h){this._assertPopupView(),this.popupView.resetHeight&&this.popupView.resetHeight(h)},resetListWidth:function(w){this._assertPopupView(),this.popupView.resetWidth&&this.popupView.resetWidth(w)},populate:function(items){this._assertPopupView(),this.popupView.populate.apply(this.popupView,arguments),this.combo.populate.apply(this.combo,arguments)},_setEnable:function(arg){BI.Combo.superclass._setEnable.apply(this,arguments),arg===!0?this.element.removeClass("base-disabled disabled"):arg===!1&&this.element.addClass("base-disabled disabled"),!arg&&this.element.removeClass(this.options.hoverClass),!arg&&this.isViewVisible()&&this._hideView()},setValue:function(v){this.combo.setValue(v),BI.isNull(this.popupView)?this.options.popup.value=v:this.popupView.setValue(v)},getValue:function(){return BI.isNull(this.popupView)?this.options.popup.value:this.popupView.getValue()},isViewVisible:function(){return this.isEnabled()&&this.combo.isEnabled()&&!!this.popupView&&this.popupView.isVisible()},showView:function(e){this.isEnabled()&&this.combo.isEnabled()&&!this.isViewVisible()&&this._popupView(e)},hideView:function(){this._hideView()},getView:function(){return this.popupView},getPopupPosition:function(){return this.position},toggle:function(){this._toggle()},destroyed:function(){BI.Widget._renderEngine.createElement(document).unbind("mousedown."+this.getName()).unbind("mousewheel."+this.getName()).unbind("mouseenter."+this.getName()).unbind("mousemove."+this.getName()).unbind("mouseleave."+this.getName()),BI.Resizers.remove(this.getName()),this.popupView&&this.popupView._destroy()}}),BI.Combo.EVENT_TRIGGER_CHANGE="EVENT_TRIGGER_CHANGE",BI.Combo.EVENT_CHANGE="EVENT_CHANGE",BI.Combo.EVENT_EXPAND="EVENT_EXPAND",BI.Combo.EVENT_COLLAPSE="EVENT_COLLAPSE",BI.Combo.EVENT_AFTER_INIT="EVENT_AFTER_INIT",BI.Combo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.Combo.EVENT_AFTER_POPUPVIEW="EVENT_AFTER_POPUPVIEW",BI.Combo.EVENT_BEFORE_HIDEVIEW="EVENT_BEFORE_HIDEVIEW",BI.Combo.EVENT_AFTER_HIDEVIEW="EVENT_AFTER_HIDEVIEW",BI.shortcut("bi.combo",BI.Combo),BI.Expander=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.Expander.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-expander",trigger:"click",toggle:!0,isDefaultInit:!1,el:{},popup:{},expanderClass:"bi-expander-popup",hoverClass:"bi-expander-hover"})},_init:function(){BI.Expander.superclass._init.apply(this,arguments);var self=this,o=this.options;this._expanded=!!o.el.open,this._initExpander(),this._initPullDownAction(),this.expander.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.isEnabled()&&self.isValid()&&(type===BI.Events.EXPAND&&self._popupView(),type===BI.Events.COLLAPSE&&self._hideView(),type===BI.Events.EXPAND&&(self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),self.fireEvent(BI.Expander.EVENT_EXPAND)),type===BI.Events.COLLAPSE&&(self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),self.isViewVisible()&&self.fireEvent(BI.Expander.EVENT_COLLAPSE)),type===BI.Events.CLICK&&self.fireEvent(BI.Expander.EVENT_TRIGGER_CHANGE,value,obj))}),this.element.hover(function(){self.isEnabled()&&self.isValid()&&self.expander.isEnabled()&&self.expander.isValid()&&self.element.addClass(o.hoverClass)},function(){self.isEnabled()&&self.isValid()&&self.expander.isEnabled()&&self.expander.isValid()&&self.element.removeClass(o.hoverClass)}),BI.createWidget({type:"bi.vertical",scrolly:!1,element:this,items:[{el:this.expander}]}),o.isDefaultInit&&this._assertPopupView(),this.expander.isOpened()===!0&&this._popupView()},_toggle:function(){this._assertPopupViewRender(),this.popupView.isVisible()?this._hideView():this.isEnabled()&&this._popupView()},_initPullDownAction:function(){var self=this,o=this.options,evs=this.options.trigger.split(",");BI.each(evs,function(i,e){switch(e){case"hover":self.element[e](function(e){self.isEnabled()&&self.isValid()&&self.expander.isEnabled()&&self.expander.isValid()&&(self._popupView(),self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.EXPAND,"",self.expander),self.fireEvent(BI.Expander.EVENT_EXPAND))},function(){self.isEnabled()&&self.isValid()&&self.expander.isEnabled()&&self.expander.isValid()&&o.toggle&&(self._hideView(),self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.COLLAPSE,"",self.expander),self.fireEvent(BI.Expander.EVENT_COLLAPSE))});break;case"click":e&&self.element.off(e+"."+self.getName()).on(e+"."+self.getName(),BI.debounce(function(e){self.expander.element.__isMouseInBounds__(e)&&self.isEnabled()&&self.isValid()&&self.expander.isEnabled()&&self.expander.isValid()&&(o.toggle?self._toggle():self._popupView(),self.isExpanded()?(self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.EXPAND,"",self.expander),self.fireEvent(BI.Expander.EVENT_EXPAND)):(self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.COLLAPSE,"",self.expander),self.fireEvent(BI.Expander.EVENT_COLLAPSE)))},BI.EVENT_RESPONSE_TIME,{leading:!0,trailing:!1}))}})},_initExpander:function(){this.expander=BI.createWidget(this.options.el)},_assertPopupView:function(){var self=this,o=this.options;null==this.popupView&&(this.popupView=BI.createWidget(this.options.popup,{type:"bi.button_group",cls:"expander-popup",layouts:[{type:"bi.vertical",hgap:0,vgap:0}],value:o.value},this),this.popupView.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.Expander.EVENT_CHANGE,value,obj)}),this.popupView.setVisible(this.isExpanded()),BI.nextTick(function(){self.fireEvent(BI.Expander.EVENT_AFTER_INIT)}))},_assertPopupViewRender:function(){this._assertPopupView(),this._rendered||(BI.createWidget({type:"bi.vertical",scrolly:!1,element:this,items:[{el:this.popupView}]}),this._rendered=!0)},_hideView:function(){this.fireEvent(BI.Expander.EVENT_BEFORE_HIDEVIEW),this._expanded=!1,this.expander.setOpened(!1),this.popupView&&this.popupView.invisible(),this.element.removeClass(this.options.expanderClass),this.fireEvent(BI.Expander.EVENT_AFTER_HIDEVIEW)},_popupView:function(){this._assertPopupViewRender(),this.fireEvent(BI.Expander.EVENT_BEFORE_POPUPVIEW),this._expanded=!0,this.expander.setOpened(!0),this.popupView.visible(),this.element.addClass(this.options.expanderClass),this.fireEvent(BI.Expander.EVENT_AFTER_POPUPVIEW)},populate:function(items){this.popupView&&this.popupView.populate.apply(this.popupView,arguments),this.expander.populate.apply(this.expander,arguments)},_setEnable:function(arg){BI.Expander.superclass._setEnable.apply(this,arguments),!arg&&this.element.removeClass(this.options.hoverClass),!arg&&this.isViewVisible()&&this._hideView()},setValue:function(v){this.expander.setValue(v),BI.isNull(this.popupView)?this.options.popup.value=v:this.popupView.setValue(v)},getValue:function(){return BI.isNull(this.popupView)?this.options.popup.value:this.popupView.getValue()},isViewVisible:function(){return this.isEnabled()&&this.expander.isEnabled()&&!!this.popupView&&this.popupView.isVisible()},isExpanded:function(){return this._expanded},showView:function(){this.isEnabled()&&this.expander.isEnabled()&&this._popupView()},hideView:function(){this._hideView()},getView:function(){return this.popupView},getAllLeaves:function(){return this.popupView&&this.popupView.getAllLeaves()},getNodeById:function(id){return this.expander.options.id===id?this.expander:this.popupView&&this.popupView.getNodeById(id)},getNodeByValue:function(value){return this.expander.getValue()===value?this.expander:this.popupView&&this.popupView.getNodeByValue(value)},destroy:function(){BI.Expander.superclass.destroy.apply(this,arguments)}}),BI.Expander.EVENT_EXPAND="EVENT_EXPAND",BI.Expander.EVENT_COLLAPSE="EVENT_COLLAPSE",BI.Expander.EVENT_TRIGGER_CHANGE="EVENT_TRIGGER_CHANGE",BI.Expander.EVENT_CHANGE="EVENT_CHANGE",BI.Expander.EVENT_AFTER_INIT="EVENT_AFTER_INIT",BI.Expander.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.Expander.EVENT_AFTER_POPUPVIEW="EVENT_AFTER_POPUPVIEW",BI.Expander.EVENT_BEFORE_HIDEVIEW="EVENT_BEFORE_HIDEVIEW",BI.Expander.EVENT_AFTER_HIDEVIEW="EVENT_AFTER_HIDEVIEW",BI.shortcut("bi.expander",BI.Expander),BI.ComboGroup=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.ComboGroup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-combo-group bi-list-item",trigger:"click,hover",direction:"right",adjustLength:0,isDefaultInit:!1,isNeedAdjustHeight:!1,isNeedAdjustWidth:!1,el:{type:"bi.text_button",text:"",value:""},children:[],popup:{el:{type:"bi.button_tree",chooseType:0,layouts:[{type:"bi.vertical"}]}}})},_init:function(){BI.ComboGroup.superclass._init.apply(this,arguments),this._populate(this.options.el)},_populate:function(item){var self=this,o=this.options,children=o.children;if(BI.isEmpty(children))throw new Error("ComboGroup构造错误");BI.each(children,function(i,ch){var son=BI.formatEL(ch).el.children;ch=BI.formatEL(ch).el,BI.isEmpty(son)||(ch.el=BI.clone(ch),ch.children=son,ch.type="bi.combo_group",ch.action=o.action,ch.height=o.height,ch.direction=o.direction,ch.isDefaultInit=o.isDefaultInit,ch.isNeedAdjustHeight=o.isNeedAdjustHeight,ch.isNeedAdjustWidth=o.isNeedAdjustWidth,ch.adjustLength=o.adjustLength,ch.popup=o.popup)}),this.combo=BI.createWidget({type:"bi.combo",element:this,container:o.container,height:o.height,trigger:o.trigger,direction:o.direction,isDefaultInit:o.isDefaultInit,isNeedAdjustWidth:o.isNeedAdjustWidth,isNeedAdjustHeight:o.isNeedAdjustHeight,adjustLength:o.adjustLength,el:item,popup:BI.extend({},o.popup,{el:BI.extend({items:children},o.popup.el)})}),this.combo.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.ComboGroup.EVENT_CHANGE,obj)})},getValue:function(){return this.combo.getValue()},setValue:function(v){this.combo.setValue(v)}}),BI.ComboGroup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.combo_group",BI.ComboGroup),BI.VirtualGroup=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.VirtualGroup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-virtual-group",items:[],layouts:[{type:"bi.center",hgap:0,vgap:0}]})},render:function(){var o=this.options;this.populate(o.items),BI.isKey(o.value)&&this.setValue(o.value)},_packageBtns:function(items){for(var o=this.options,map=this.buttonMap={},i=o.layouts.length-1;i>0;i--)items=BI.map(items,function(k,it){var el=BI.stripEL(it);return BI.extend({},o.layouts[i],{items:[BI.extend({},o.layouts[i].el,{el:BI.extend({ref:function(_ref){BI.isKey(map[el.value])&&(map[el.value]=_ref)}},el)})]})});return items},_packageLayout:function(items){for(var o=this.options,layout=BI.deepClone(o.layouts[0]),lay=BI.formatEL(layout).el;lay&&lay.items&&!BI.isEmpty(lay.items);)lay=BI.formatEL(lay.items[0]).el;return lay.items=items,layout},addItems:function(items){this.layouts.addItems(items)},prependItems:function(items){this.layouts.prependItems(items)},setValue:function(v){v=BI.isArray(v)?v:[v],BI.each(this.buttonMap,function(key,item){item&&(v.deepContains(key)?item.setSelected&&item.setSelected(!0):item.setSelected&&item.setSelected(!1))})},getNotSelectedValue:function(){var v=[];return BI.each(this.buttonMap,function(i,item){item&&(!item.isEnabled()||item.isSelected&&item.isSelected()||v.push(item.getValue()))}),v},getValue:function(){var v=[];return BI.each(this.buttonMap,function(i,item){item&&item.isEnabled()&&item.isSelected&&item.isSelected()&&v.push(item.getValue())}),v},populate:function(items){var self=this;items=items||[],this.options.items=items,items=this._packageBtns(items),this.layouts?this.layouts.populate(items):this.layouts=BI.createWidget(BI.extend({element:this},this._packageLayout(items)))}}),BI.VirtualGroup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.virtual_group",BI.VirtualGroup),BI.Loader=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.Loader.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-loader",direction:"top",isDefaultInit:!0,logic:{dynamic:!0,scrolly:!0},el:{type:"bi.button_group"},items:[],itemsCreator:BI.emptyFn,onLoaded:BI.emptyFn,count:!1,prev:!1,next:{},hasPrev:BI.emptyFn,hasNext:BI.emptyFn})},_prevLoad:function(){var self=this,o=this.options;this.prev.setLoading(),o.itemsCreator.apply(this,[{times:--this.times},function(){self.prev.setLoaded(),self.prependItems.apply(self,arguments)}])},_nextLoad:function(){var self=this,o=this.options;this.next.setLoading(),o.itemsCreator.apply(this,[{times:++this.times},function(){self.next.setLoaded(),self.addItems.apply(self,arguments)}])},_init:function(){BI.Loader.superclass._init.apply(this,arguments);var self=this,o=this.options;o.itemsCreator===!1&&(o.prev=!1,o.next=!1),o.prev!==!1&&(this.prev=BI.createWidget(BI.extend({type:"bi.loading_bar"},o.prev)),this.prev.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&self._prevLoad()})),this.button_group=BI.createWidget(o.el,{type:"bi.button_group",chooseType:0,items:o.items,behaviors:{},layouts:[{type:"bi.vertical"}],value:o.value}),this.button_group.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.Loader.EVENT_CHANGE,obj)}),o.next!==!1&&(this.next=BI.createWidget(BI.extend({type:"bi.loading_bar"},o.next)),this.next.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&self._nextLoad()})),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction),BI.extend({scrolly:!0},o.logic,{items:BI.LogicFactory.createLogicItemsByDirection(o.direction,this.prev,this.button_group,this.next)})))),o.isDefaultInit&&BI.isEmpty(o.items)&&BI.nextTick(BI.bind(function(){o.isDefaultInit&&BI.isEmpty(o.items)&&this._populate()},this)),BI.isNotEmptyArray(o.items)&&this._populate(o.items)},hasPrev:function(){var o=this.options;return BI.isNumber(o.count)?this.count<o.count:!!o.hasPrev.apply(this,[{times:this.times,count:this.count}])},hasNext:function(){var o=this.options;return BI.isNumber(o.count)?this.count<o.count:!!o.hasNext.apply(this,[{times:this.times,count:this.count}])},prependItems:function(items){this.count+=items.length,this.next!==!1&&(this.hasPrev()?(this.options.items=this.options.items.concat(items),this.prev.setLoaded()):this.prev.setEnd()),this.button_group.prependItems.apply(this.button_group,arguments)},addItems:function(items){this.count+=items.length,BI.isObject(this.next)&&(this.hasNext()?(this.options.items=this.options.items.concat(items),this.next.setLoaded()):this.next.setEnd()),this.button_group.addItems.apply(this.button_group,arguments)},_populate:function(items){var self=this,o=this.options;return 0===arguments.length&&BI.isFunction(o.itemsCreator)?(o.itemsCreator.apply(this,[{times:1},function(){if(0===arguments.length)throw new Error("arguments can not be null!!!");self.populate.apply(self,arguments),o.onLoaded()}]),!1):(this.options.items=items,this.times=1,this.count=0,this.count+=items.length,BI.isObject(this.next)&&(this.hasNext()?this.next.setLoaded():this.next.invisible()),BI.isObject(this.prev)&&(this.hasPrev()?this.prev.setLoaded():this.prev.invisible()),!0)},populate:function(){this._populate.apply(this,arguments)&&this.button_group.populate.apply(this.button_group,arguments)},setNotSelectedValue:function(){this.button_group.setNotSelectedValue.apply(this.button_group,arguments)},getNotSelectedValue:function(){return this.button_group.getNotSelectedValue()},setValue:function(){this.button_group.setValue.apply(this.button_group,arguments)},getValue:function(){return this.button_group.getValue.apply(this.button_group,arguments)},getAllButtons:function(){return this.button_group.getAllButtons()},getAllLeaves:function(){return this.button_group.getAllLeaves()},getSelectedButtons:function(){return this.button_group.getSelectedButtons()},getNotSelectedButtons:function(){return this.button_group.getNotSelectedButtons()},getIndexByValue:function(value){return this.button_group.getIndexByValue(value)},getNodeById:function(id){return this.button_group.getNodeById(id)},getNodeByValue:function(value){return this.button_group.getNodeByValue(value)},empty:function(){this.button_group.empty(),BI.each([this.prev,this.next],function(i,ob){ob&&ob.setVisible(!1)})},destroy:function(){BI.Loader.superclass.destroy.apply(this,arguments)}}),BI.Loader.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.loader",BI.Loader),BI.Navigation=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.Navigation.superclass._defaultConfig.apply(this,arguments),{direction:"bottom",logic:{dynamic:!1},single:!1,showIndex:!1,tab:!1,cardCreator:function(v){return BI.createWidget()},afterCardCreated:BI.emptyFn,afterCardShow:BI.emptyFn})},render:function(){var self=this,o=this.options;this.tab=BI.createWidget(this.options.tab,{type:"bi.button_group"}),this.cardMap={},this.showIndex=0,this.layout=BI.createWidget({type:"bi.card"}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction),BI.extend({},o.logic,{items:BI.LogicFactory.createLogicItemsByDirection(o.direction,this.tab,this.layout)})))),new BI.ShowListener({eventObj:this.tab,cardLayout:this.layout,cardNameCreator:function(v){return self.showIndex+v},cardCreator:function(v){var card=o.cardCreator(v);return self.cardMap[v]=card,card},afterCardCreated:BI.bind(this.afterCardCreated,this),afterCardShow:BI.bind(this.afterCardShow,this)})},mounted:function(){var o=this.options;o.showIndex!==!1&&this.setSelect(o.showIndex)},_deleteOtherCards:function(currCardName){var self=this,o=this.options;o.single===!0&&BI.each(this.cardMap,function(name,card){name!==currCardName+""&&(self.layout.deleteCardByName(name),delete self.cardMap[name])})},afterCardCreated:function(v){var self=this;this.cardMap[v].on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.Navigation.EVENT_CHANGE,obj)}),this.options.afterCardCreated.apply(this,arguments)},afterCardShow:function(v){this.showIndex=v,this._deleteOtherCards(v),this.options.afterCardShow.apply(this,arguments)},populate:function(){var card=this.layout.getShowingCard();if(card)return card.populate.apply(card,arguments)},_assertCard:function(v){if(!this.layout.isCardExisted(v)){var card=this.options.cardCreator(v);this.cardMap[v]=card,this.layout.addCardByName(v,card),this.afterCardCreated(v)}},setSelect:function(v){this._assertCard(v),this.layout.showCardByName(v),this._deleteOtherCards(v),this.showIndex!==v&&(this.showIndex=v,BI.nextTick(BI.bind(this.afterCardShow,this,v)))},getSelect:function(){return this.showIndex},getSelectedCard:function(){if(BI.isKey(this.showIndex))return this.cardMap[this.showIndex]},setValue:function(v){var card=this.layout.getShowingCard();card&&card.setValue(v)},getValue:function(){var card=this.layout.getShowingCard();if(card)return card.getValue()},empty:function(){this.layout.deleteAllCard(),this.cardMap={}},destroy:function(){BI.Navigation.superclass.destroy.apply(this,arguments)}}),BI.Navigation.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.navigation",BI.Navigation),BI.Searcher=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.Searcher.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-searcher",lgap:0,rgap:0,tgap:0,bgap:0,vgap:0,hgap:0,isDefaultInit:!1,isAutoSearch:!0,isAutoSync:!0,chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE,onSearch:function(op,callback){callback([])},el:{type:"bi.search_editor"},popup:{type:"bi.searcher_view"},adapter:null,masker:{offset:{}}})},_init:function(){BI.Searcher.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget(o.el,{type:"bi.search_editor"}),BI.createWidget({type:"bi.vertical",element:this,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,vgap:o.vgap,hgap:o.hgap,items:[this.editor]}),o.isDefaultInit&&this._assertPopupView();var search=BI.debounce(BI.bind(this._search,this),BI.EVENT_RESPONSE_TIME,{
leading:!0,trailing:!1});this.editor.on(BI.Controller.EVENT_CHANGE,function(type){switch(type){case BI.Events.STARTEDIT:self._startSearch();break;case BI.Events.EMPTY:self._stopSearch();break;case BI.Events.CHANGE:search();break;case BI.Events.PAUSE:self._pauseSearch()}})},_assertPopupView:function(){var self=this,o=this.options;(o.masker&&!BI.Maskers.has(this.getName())||o.masker===!1&&!this.popupView)&&(this.popupView=BI.createWidget(o.popup,{type:"bi.searcher_view",chooseType:o.chooseType}),this.popupView.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){if(self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK){if(o.isAutoSync){var values=o.adapter&&o.adapter.getValue();if(obj.isSelected())switch(o.chooseType){case BI.ButtonGroup.CHOOSE_TYPE_SINGLE:o.adapter&&o.adapter.setValue([obj.getValue()]);break;case BI.ButtonGroup.CHOOSE_TYPE_MULTI:values.push(obj.getValue()),o.adapter&&o.adapter.setValue(values)}else o.adapter&&o.adapter.setValue(BI.deepWithout(values,obj.getValue()))}self.fireEvent(BI.Searcher.EVENT_CHANGE,value,obj)}}),BI.nextTick(function(){self.fireEvent(BI.Searcher.EVENT_AFTER_INIT)})),o.masker&&!BI.Maskers.has(this.getName())&&BI.Maskers.create(this.getName(),o.adapter,BI.extend({container:this,render:this.popupView},o.masker),this)},_startSearch:function(){this._assertPopupView(),this._stop=!1,this._isSearching=!0,this.fireEvent(BI.Searcher.EVENT_START),this.popupView.startSearch&&this.popupView.startSearch(),BI.nextTick(function(name){BI.Maskers.show(name)},this.getName())},_pauseSearch:function(){var o=this.options,name=this.getName();this._stop=!0,BI.nextTick(function(name){BI.Maskers.hide(name)},this.getName()),this._isSearching===!0&&(this.popupView&&this.popupView.pauseSearch&&this.popupView.pauseSearch(),this.fireEvent(BI.Searcher.EVENT_PAUSE)),this._isSearching=!1},_stopSearch:function(){var o=this.options,name=this.getName();this._stop=!0,BI.Maskers.hide(name),this._isSearching===!0&&(this.popupView&&this.popupView.stopSearch&&this.popupView.stopSearch(),this.fireEvent(BI.Searcher.EVENT_STOP)),this._isSearching=!1},_search:function(){var self=this,o=this.options,keyword=this._getLastSearchKeyword();if(""!==keyword&&!this._stop){if(o.isAutoSearch){var items=o.adapter&&(o.adapter.getItems&&o.adapter.getItems()||o.adapter.attr("items"))||[],finding=BI.Func.getSearchResult(items,keyword),match=finding.match,find=finding.find;return this.popupView.populate(find,match,keyword),o.isAutoSync&&o.adapter&&o.adapter.getValue&&this.popupView.setValue(o.adapter.getValue()),void self.fireEvent(BI.Searcher.EVENT_SEARCHING)}this.popupView.loading&&this.popupView.loading(),o.onSearch({times:1,keyword:keyword,selectedValues:o.adapter&&o.adapter.getValue()},function(searchResult,matchResult){if(!self._stop){var args=[].slice.call(arguments);args.length>0&&args.push(keyword),BI.Maskers.show(self.getName()),self.popupView.populate.apply(self.popupView,args),o.isAutoSync&&o.adapter&&o.adapter.getValue&&self.popupView.setValue(o.adapter.getValue()),self.popupView.loaded&&self.popupView.loaded(),self.fireEvent(BI.Searcher.EVENT_SEARCHING)}})}},_getLastSearchKeyword:function(){if(this.isValid()){var res=this.editor.getValue().match(/[\S]+/g);return BI.isNull(res)?"":res[res.length-1]}},setAdapter:function(adapter){this.options.adapter=adapter,BI.Maskers.remove(this.getName())},doSearch:function(){this.isSearching()&&this._search()},stopSearch:function(){this._stopSearch();try{this.editor.blur()}catch(e){if(!this.editor.blur)throw new Error("editor没有实现blur方法")}finally{this.editor.setValue("")}},isSearching:function(){return this._isSearching},isViewVisible:function(){return this.editor.isEnabled()&&BI.Maskers.isVisible(this.getName())},getView:function(){return this.popupView},hasMatched:function(){return this._assertPopupView(),this.popupView.hasMatched()},adjustHeight:function(){BI.Maskers.has(this.getName())&&BI.Maskers.get(this.getName()).isVisible()&&BI.Maskers.show(this.getName())},adjustView:function(){this.isViewVisible()&&BI.Maskers.show(this.getName())},setValue:function(v){BI.isNull(this.popupView)?this.options.popup.value=v:this.popupView.setValue(v)},getKeyword:function(){return this._getLastSearchKeyword()},getKeywords:function(){return this.editor.getKeywords()},getValue:function(){var o=this.options;return o.isAutoSync&&o.adapter&&o.adapter.getValue?o.adapter.getValue():this.isSearching()?this.popupView.getValue():o.adapter&&o.adapter.getValue?o.adapter.getValue():BI.isNull(this.popupView)?o.popup.value:this.popupView.getValue()},populate:function(result,searchResult,keyword){var o=this.options;this._assertPopupView(),this.popupView.populate.apply(this.popupView,arguments),o.isAutoSync&&o.adapter&&o.adapter.getValue&&this.popupView.setValue(o.adapter.getValue())},empty:function(){this.popupView&&this.popupView.empty()},destroyed:function(){BI.Maskers.remove(this.getName())}}),BI.Searcher.EVENT_CHANGE="EVENT_CHANGE",BI.Searcher.EVENT_START="EVENT_START",BI.Searcher.EVENT_STOP="EVENT_STOP",BI.Searcher.EVENT_PAUSE="EVENT_PAUSE",BI.Searcher.EVENT_SEARCHING="EVENT_SEARCHING",BI.Searcher.EVENT_AFTER_INIT="EVENT_AFTER_INIT",BI.shortcut("bi.searcher",BI.Searcher),BI.Switcher=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.Switcher.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-switcher",direction:BI.Direction.Top,trigger:"click",toggle:!0,el:{},popup:{},adapter:null,masker:{},switcherClass:"bi-switcher-popup",hoverClass:"bi-switcher-hover"})},_init:function(){BI.Switcher.superclass._init.apply(this,arguments);var self=this,o=this.options;this._initSwitcher(),this._initPullDownAction(),this.switcher.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.isEnabled()&&self.isValid()&&(type===BI.Events.EXPAND&&self._popupView(),type===BI.Events.COLLAPSE&&self._hideView(),type===BI.Events.EXPAND&&(self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),self.fireEvent(BI.Switcher.EVENT_EXPAND)),type===BI.Events.COLLAPSE&&(self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),self.isViewVisible()&&self.fireEvent(BI.Switcher.EVENT_COLLAPSE)),type===BI.Events.CLICK&&self.fireEvent(BI.Switcher.EVENT_TRIGGER_CHANGE,value,obj))}),this.element.hover(function(){self.isEnabled()&&self.switcher.isEnabled()&&self.element.addClass(o.hoverClass)},function(){self.isEnabled()&&self.switcher.isEnabled()&&self.element.removeClass(o.hoverClass)}),BI.createWidget({type:"bi.vertical",scrolly:!1,element:this,items:[{el:this.switcher}]}),o.isDefaultInit&&this._assertPopupView()},_toggle:function(){this._assertPopupView(),this.isExpanded()?this._hideView():this.isEnabled()&&this._popupView()},_initPullDownAction:function(){var self=this,o=this.options,evs=this.options.trigger.split(",");BI.each(evs,function(i,e){switch(e){case"hover":self.element[e](function(e){self.isEnabled()&&self.switcher.isEnabled()&&(self._popupView(),self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.EXPAND,"",self.switcher),self.fireEvent(BI.Switcher.EVENT_EXPAND))},function(){self.isEnabled()&&self.switcher.isEnabled()&&o.toggle&&(self._hideView(),self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.COLLAPSE,"",self.switcher),self.fireEvent(BI.Switcher.EVENT_COLLAPSE))});break;default:e&&self.element.off(e+"."+self.getName()).on(e+"."+self.getName(),BI.debounce(function(e){self.switcher.element.__isMouseInBounds__(e)&&self.isEnabled()&&self.switcher.isEnabled()&&(o.toggle?self._toggle():self._popupView(),self.isExpanded()?(self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.EXPAND,"",self.switcher),self.fireEvent(BI.Switcher.EVENT_EXPAND)):(self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.COLLAPSE,"",self.switcher),self.fireEvent(BI.Switcher.EVENT_COLLAPSE)))},BI.EVENT_RESPONSE_TIME,{leading:!0,trailing:!1}))}})},_initSwitcher:function(){this.switcher=BI.createWidget(this.options.el,{value:this.options.value})},_assertPopupView:function(){var self=this,o=this.options;this._created||(this.popupView=BI.createWidget(o.popup,{type:"bi.button_group",element:o.adapter&&BI.Maskers.create(this.getName(),o.adapter,BI.extend({container:this},o.masker)),cls:"switcher-popup",layouts:[{type:"bi.vertical",hgap:0,vgap:0}],value:o.value},this),this.popupView.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.Switcher.EVENT_CHANGE,value,obj)}),o.direction===BI.Direction.Custom||o.adapter||BI.createWidget({type:"bi.vertical",scrolly:!1,element:this,items:[{el:this.popupView}]}),this._created=!0,BI.nextTick(function(){self.fireEvent(BI.Switcher.EVENT_AFTER_INIT)}))},_hideView:function(){this.fireEvent(BI.Switcher.EVENT_BEFORE_HIDEVIEW);var self=this,o=this.options;o.adapter?BI.Maskers.hide(self.getName()):self.popupView&&self.popupView.setVisible(!1),BI.nextTick(function(){o.adapter?BI.Maskers.hide(self.getName()):self.popupView&&self.popupView.setVisible(!1),self.element.removeClass(o.switcherClass),self.fireEvent(BI.Switcher.EVENT_AFTER_HIDEVIEW)})},_popupView:function(){var self=this,o=this.options;this._assertPopupView(),this.fireEvent(BI.Switcher.EVENT_BEFORE_POPUPVIEW),o.adapter?BI.Maskers.show(this.getName()):self.popupView.setVisible(!0),BI.nextTick(function(name){o.adapter?BI.Maskers.show(name):self.popupView.setVisible(!0),self.element.addClass(o.switcherClass),self.fireEvent(BI.Switcher.EVENT_AFTER_POPUPVIEW)},this.getName())},populate:function(items){this._assertPopupView(),this.popupView.populate.apply(this.popupView,arguments),this.switcher.populate.apply(this.switcher,arguments)},_setEnable:function(arg){BI.Switcher.superclass._setEnable.apply(this,arguments),!arg&&this.isViewVisible()&&this._hideView()},setValue:function(v){this.switcher.setValue(v),BI.isNull(this.popupView)?this.options.popup.value=v:this.popupView.setValue(v)},getValue:function(){return BI.isNull(this.popupView)?this.options.popup.value:this.popupView.getValue()},setAdapter:function(adapter){this.options.adapter=adapter,BI.Maskers.remove(this.getName())},isViewVisible:function(){return this.isEnabled()&&this.switcher.isEnabled()&&(this.options.adapter?BI.Maskers.isVisible(this.getName()):this.popupView&&this.popupView.isVisible())},isExpanded:function(){return this.isViewVisible()},showView:function(){this.isEnabled()&&this.switcher.isEnabled()&&this._popupView()},hideView:function(){this._hideView()},getView:function(){return this.popupView},adjustView:function(){this.isViewVisible()&&BI.Maskers.show(this.getName())},getAllLeaves:function(){return this.popupView&&this.popupView.getAllLeaves()},getNodeById:function(id){return this.switcher.attr("id")===id?this.switcher:this.popupView&&this.popupView.getNodeById(id)},getNodeByValue:function(value){return this.switcher.getValue()===value?this.switcher:this.popupView&&this.popupView.getNodeByValue(value)},empty:function(){this.popupView&&this.popupView.empty()}}),BI.Switcher.EVENT_EXPAND="EVENT_EXPAND",BI.Switcher.EVENT_COLLAPSE="EVENT_COLLAPSE",BI.Switcher.EVENT_TRIGGER_CHANGE="EVENT_TRIGGER_CHANGE",BI.Switcher.EVENT_CHANGE="EVENT_CHANGE",BI.Switcher.EVENT_AFTER_INIT="EVENT_AFTER_INIT",BI.Switcher.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.Switcher.EVENT_AFTER_POPUPVIEW="EVENT_AFTER_POPUPVIEW",BI.Switcher.EVENT_BEFORE_HIDEVIEW="EVENT_BEFORE_HIDEVIEW",BI.Switcher.EVENT_AFTER_HIDEVIEW="EVENT_AFTER_HIDEVIEW",BI.shortcut("bi.switcher",BI.Switcher),BI.Tab=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.Tab.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-tab",direction:"top",single:!1,logic:{dynamic:!1},showIndex:!1,tab:!1,cardCreator:function(v){return BI.createWidget()}})},render:function(){var self=this,o=this.options;BI.isObject(o.tab)&&(this.tab=BI.createWidget(this.options.tab,{type:"bi.button_group"}),this.tab.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)})),this.cardMap={},this.layout=BI.createWidget({type:"bi.card"}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction),BI.extend({},o.logic,{items:BI.LogicFactory.createLogicItemsByDirection(o.direction,this.tab,this.layout)}))));var listener=new BI.ShowListener({eventObj:this.tab,cardLayout:this.layout,cardCreator:function(v){var card=o.cardCreator.apply(self,arguments);return self.cardMap[v]=card,card},afterCardShow:function(v){self._deleteOtherCards(v),self.curr=v}});listener.on(BI.ShowListener.EVENT_CHANGE,function(value){self.fireEvent(BI.Tab.EVENT_CHANGE,value,self)})},_deleteOtherCards:function(currCardName){var self=this,o=this.options;o.single===!0&&BI.each(this.cardMap,function(name,card){name!==currCardName+""&&(self.layout.deleteCardByName(name),delete self.cardMap[name])})},_assertCard:function(v){if(!this.layout.isCardExisted(v)){var card=this.options.cardCreator(v);this.cardMap[v]=card,this.layout.addCardByName(v,card)}},mounted:function(){var o=this.options;o.showIndex!==!1&&this.setSelect(o.showIndex)},setSelect:function(v){this.tab&&this.tab.setValue(v),this._assertCard(v),this.layout.showCardByName(v),this._deleteOtherCards(v),this.curr!==v&&(this.curr=v)},removeTab:function(cardname){var self=this,o=this.options;BI.any(this.cardMap,function(name,card){if(BI.isEqual(name,cardname+""))return self.layout.deleteCardByName(name),delete self.cardMap[name],!0})},getSelect:function(){return this.curr},getSelectedTab:function(){return this.layout.getShowingCard()},getTab:function(v){return this._assertCard(v),this.layout.getCardByName(v)},setValue:function(v){var card=this.layout.getShowingCard();card&&card.setValue(v)},getValue:function(){var card=this.layout.getShowingCard();if(card)return card.getValue()},populate:function(){var card=this.layout.getShowingCard();if(card)return card.populate&&card.populate.apply(card,arguments)},empty:function(){this.layout.deleteAllCard(),this.cardMap={}},destroy:function(){this.cardMap={},BI.Tab.superclass.destroy.apply(this,arguments)}}),BI.Tab.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.tab",BI.Tab),BI.EL=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.EL.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-el",el:{},layout:{}})},_init:function(){BI.EL.superclass._init.apply(this,arguments);var self=this,o=this.options;this.ele=BI.createWidget(o.el),BI.createWidget(o.layout,{type:"bi.adaptive",element:this,items:[this.ele]}),this.ele.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)})},setValue:function(v){this.ele.setValue(v)},getValue:function(){return this.ele.getValue()},populate:function(){this.ele.populate.apply(this,arguments)}}),BI.shortcut("bi.el",BI.EL),BI.Msg=function(){var messageShow,$mask,$pop,toastStack=[];return{alert:function(title,message,callback){this._show(!1,title,message,callback)},confirm:function(title,message,callback){this._show(!0,title,message,callback)},prompt:function(title,message,value,callback,min_width){},toast:function(message,options,context){options=options||{},context=context||BI.Widget._renderEngine.createElement("body");var level=options.level||"normal",autoClose=!!BI.isNull(options.autoClose)||options.autoClose,callback=BI.isFunction(options.callback)?options.callback:BI.emptyFn,toast=BI.createWidget({type:"bi.toast",cls:"bi-message-animate bi-message-leave",level:level,autoClose:autoClose,text:message,listeners:[{eventName:BI.Toast.EVENT_DESTORY,action:function(){BI.remove(toastStack,toast.element);var _height=10;BI.each(toastStack,function(i,element){element.css({top:_height}),_height+=element.outerHeight()+10}),callback()}}]}),height=10;BI.each(toastStack,function(i,element){height+=element.outerHeight()+10}),BI.createWidget({type:"bi.absolute",element:context,items:[{el:toast,left:"50%",top:height}]}),toastStack.push(toast.element),toast.element.css({"margin-left":-1*toast.element.outerWidth()/2}),toast.element.removeClass("bi-message-leave").addClass("bi-message-enter"),autoClose&&BI.delay(function(){toast.element.removeClass("bi-message-enter").addClass("bi-message-leave"),toast.destroy()},5e3)},_show:function(hasCancel,title,message,callback){$mask=BI.Widget._renderEngine.createElement('<div class="bi-z-index-mask">').css({position:"absolute",zIndex:BI.zIndex_tip-2,top:0,left:0,right:0,bottom:0,opacity:.5}).appendTo("body"),$pop=BI.Widget._renderEngine.createElement('<div class="bi-message-depend">').css({position:"absolute",zIndex:BI.zIndex_tip-1,top:0,left:0,right:0,bottom:0}).appendTo("body");var close=function(){messageShow.destroy(),$mask.remove()},controlItems=[];hasCancel===!0&&controlItems.push({el:{type:"bi.button",text:BI.i18nText("BI-Basic_Cancel"),level:"ignore",handler:function(){close(),BI.isFunction(callback)&&callback.apply(null,[!1])}}}),controlItems.push({el:{type:"bi.button",text:BI.i18nText("BI-Basic_OK"),handler:function(){close(),BI.isFunction(callback)&&callback.apply(null,[!0])}}});var conf={element:$pop,type:"bi.center_adapt",items:[{type:"bi.border",cls:"bi-card",items:{north:{el:{type:"bi.border",cls:"bi-message-title bi-background",items:{center:{el:{type:"bi.label",cls:"bi-font-bold",text:title||BI.i18nText("BI-Basic_Prompt"),textAlign:"left",hgap:20,height:40}},east:{el:{type:"bi.icon_button",cls:"bi-message-close close-font",handler:function(){close(),BI.isFunction(callback)&&callback.apply(null,[!1])}},width:60}}},height:40},center:{el:{type:"bi.label",vgap:10,hgap:20,whiteSpace:"normal",text:message}},south:{el:{type:"bi.absolute",items:[{el:{type:"bi.right_vertical_adapt",lgap:10,items:controlItems},top:0,left:20,right:20,bottom:0}]},height:44}},width:450,height:200}]};messageShow=BI.createWidget(conf)}}}(),BI.GridView=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.GridView.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-grid-view",overflowX:!0,overflowY:!0,overscanColumnCount:0,overscanRowCount:0,rowHeightGetter:BI.emptyFn,columnWidthGetter:BI.emptyFn,scrollLeft:0,scrollTop:0,items:[]})},_init:function(){BI.GridView.superclass._init.apply(this,arguments);var self=this,o=this.options;this.renderedCells=[],this.renderedKeys=[],this.renderRange={},this._scrollLock=!1,this._debounceRelease=BI.debounce(function(){self._scrollLock=!1},1e3/60),this.container=BI.createWidget({type:"bi.absolute"}),this.element.scroll(function(){self._scrollLock!==!0&&(o.scrollLeft=self.element.scrollLeft(),o.scrollTop=self.element.scrollTop(),self._calculateChildrenToRender(),self.fireEvent(BI.GridView.EVENT_SCROLL,{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}))}),BI.createWidget({type:"bi.vertical",element:this,scrollable:o.overflowX===!0&&o.overflowY===!0,scrolly:o.overflowX===!1&&o.overflowY===!0,scrollx:o.overflowX===!0&&o.overflowY===!1,items:[this.container]}),o.items.length>0&&this._populate()},mounted:function(){var o=this.options;0===o.scrollLeft&&0===o.scrollTop||(this.element.scrollTop(o.scrollTop),this.element.scrollLeft(o.scrollLeft))},_getOverscanIndices:function(cellCount,overscanCellsCount,startIndex,stopIndex){return{overscanStartIndex:Math.max(0,startIndex-overscanCellsCount),overscanStopIndex:Math.min(cellCount-1,stopIndex+overscanCellsCount)}},_calculateChildrenToRender:function(){var self=this,o=this.options,width=o.width,height=o.height,scrollLeft=BI.clamp(o.scrollLeft,0,this._getMaxScrollLeft()),scrollTop=BI.clamp(o.scrollTop,0,this._getMaxScrollTop()),overscanColumnCount=o.overscanColumnCount,overscanRowCount=o.overscanRowCount;if(height>0&&width>0){var visibleColumnIndices=this._columnSizeAndPositionManager.getVisibleCellRange(width,scrollLeft),visibleRowIndices=this._rowSizeAndPositionManager.getVisibleCellRange(height,scrollTop);if(BI.isEmpty(visibleColumnIndices)||BI.isEmpty(visibleRowIndices))return;var horizontalOffsetAdjustment=this._columnSizeAndPositionManager.getOffsetAdjustment(width,scrollLeft),verticalOffsetAdjustment=this._rowSizeAndPositionManager.getOffsetAdjustment(height,scrollTop);this._renderedColumnStartIndex=visibleColumnIndices.start,this._renderedColumnStopIndex=visibleColumnIndices.stop,this._renderedRowStartIndex=visibleRowIndices.start,this._renderedRowStopIndex=visibleRowIndices.stop;var overscanColumnIndices=this._getOverscanIndices(this.columnCount,overscanColumnCount,this._renderedColumnStartIndex,this._renderedColumnStopIndex),overscanRowIndices=this._getOverscanIndices(this.rowCount,overscanRowCount,this._renderedRowStartIndex,this._renderedRowStopIndex),columnStartIndex=overscanColumnIndices.overscanStartIndex,columnStopIndex=overscanColumnIndices.overscanStopIndex,rowStartIndex=overscanRowIndices.overscanStartIndex,rowStopIndex=overscanRowIndices.overscanStopIndex,minRowDatum=this._rowSizeAndPositionManager.getSizeAndPositionOfCell(rowStartIndex),minColumnDatum=this._columnSizeAndPositionManager.getSizeAndPositionOfCell(columnStartIndex),maxRowDatum=this._rowSizeAndPositionManager.getSizeAndPositionOfCell(rowStopIndex),maxColumnDatum=this._columnSizeAndPositionManager.getSizeAndPositionOfCell(columnStopIndex),top=minRowDatum.offset+verticalOffsetAdjustment,left=minColumnDatum.offset+horizontalOffsetAdjustment,bottom=maxRowDatum.offset+verticalOffsetAdjustment+maxRowDatum.size,right=maxColumnDatum.offset+horizontalOffsetAdjustment+maxColumnDatum.size;if(top>=this.renderRange.minY&&bottom<=this.renderRange.maxY&&left>=this.renderRange.minX&&right<=this.renderRange.maxX)return;for(var renderedCells=[],renderedKeys={},renderedWidgets={},minX=this._getMaxScrollLeft(),minY=this._getMaxScrollTop(),maxX=0,maxY=0,count=0,rowIndex=rowStartIndex;rowIndex<=rowStopIndex;rowIndex++)for(var rowDatum=this._rowSizeAndPositionManager.getSizeAndPositionOfCell(rowIndex),columnIndex=columnStartIndex;columnIndex<=columnStopIndex;columnIndex++){var key=rowIndex+"-"+columnIndex,columnDatum=this._columnSizeAndPositionManager.getSizeAndPositionOfCell(columnIndex),index=this.renderedKeys[key]&&this.renderedKeys[key][2],child;index>=0?(columnDatum.size!==this.renderedCells[index]._width&&(this.renderedCells[index]._width=columnDatum.size,this.renderedCells[index].el.setWidth(columnDatum.size)),rowDatum.size!==this.renderedCells[index]._height&&(this.renderedCells[index]._height=rowDatum.size,this.renderedCells[index].el.setHeight(rowDatum.size)),this.renderedCells[index]._left!==columnDatum.offset+horizontalOffsetAdjustment&&this.renderedCells[index].el.element.css("left",columnDatum.offset+horizontalOffsetAdjustment+"px"),this.renderedCells[index]._top!==rowDatum.offset+verticalOffsetAdjustment&&this.renderedCells[index].el.element.css("top",rowDatum.offset+verticalOffsetAdjustment+"px"),renderedCells.push(child=this.renderedCells[index])):(child=BI.createWidget(BI.extend({type:"bi.label",width:columnDatum.size,height:rowDatum.size},o.items[rowIndex][columnIndex],{cls:(o.items[rowIndex][columnIndex].cls||"")+" grid-cell"+(0===rowIndex?" first-row":"")+(0===columnIndex?" first-col":""),_rowIndex:rowIndex,_columnIndex:columnIndex,_left:columnDatum.offset+horizontalOffsetAdjustment,_top:rowDatum.offset+verticalOffsetAdjustment}),this),renderedCells.push({el:child,left:columnDatum.offset+horizontalOffsetAdjustment,top:rowDatum.offset+verticalOffsetAdjustment,_left:columnDatum.offset+horizontalOffsetAdjustment,_top:rowDatum.offset+verticalOffsetAdjustment,_width:columnDatum.size,_height:rowDatum.size})),minX=Math.min(minX,columnDatum.offset+horizontalOffsetAdjustment),maxX=Math.max(maxX,columnDatum.offset+horizontalOffsetAdjustment+columnDatum.size),minY=Math.min(minY,rowDatum.offset+verticalOffsetAdjustment),maxY=Math.max(maxY,rowDatum.offset+verticalOffsetAdjustment+rowDatum.size),renderedKeys[key]=[rowIndex,columnIndex,count],renderedWidgets[count]=child,count++}var existSet={},addSet={},deleteArray=[];BI.each(renderedKeys,function(i,key){self.renderedKeys[i]?existSet[i]=key:addSet[i]=key}),BI.each(this.renderedKeys,function(i,key){existSet[i]||addSet[i]||deleteArray.push(key[2])}),BI.each(deleteArray,function(i,index){self.renderedCells[index].el._destroy()});var addedItems=[];BI.each(addSet,function(index,key){addedItems.push(renderedCells[key[2]])}),this.container.addItems(addedItems,this),this.container._children=renderedWidgets,this.container.attr("items",renderedCells),this.renderedCells=renderedCells,this.renderedKeys=renderedKeys,this.renderRange={minX:minX,minY:minY,maxX:maxX,maxY:maxY}}},_getRealMaxScrollLeft:function(){var o=this.options,totalWidth=0;return BI.count(0,this.columnCount,function(index){totalWidth+=o.columnWidthGetter(index)}),Math.max(0,totalWidth-this.options.width+(this.options.overflowX?BI.DOM.getScrollWidth():0))},_getMaxScrollLeft:function(){return Math.max(0,this._columnSizeAndPositionManager.getTotalSize()-this.options.width+(this.options.overflowX?BI.DOM.getScrollWidth():0))},_getMaxScrollTop:function(){return Math.max(0,this._rowSizeAndPositionManager.getTotalSize()-this.options.height+(this.options.overflowY?BI.DOM.getScrollWidth():0))},_populate:function(items){var self=this,o=this.options;this._reRange(),this.columnCount=0,this.rowCount=0,items&&items!==this.options.items&&(this.options.items=items),BI.isNumber(o.columnCount)?this.columnCount=o.columnCount:o.items.length>0&&(this.columnCount=o.items[0].length),BI.isNumber(o.rowCount)?this.rowCount=o.rowCount:this.rowCount=o.items.length,this.container.setWidth(this.columnCount*o.estimatedColumnSize),this.container.setHeight(this.rowCount*o.estimatedRowSize),this._columnSizeAndPositionManager=new BI.ScalingCellSizeAndPositionManager(this.columnCount,o.columnWidthGetter,o.estimatedColumnSize),this._rowSizeAndPositionManager=new BI.ScalingCellSizeAndPositionManager(this.rowCount,o.rowHeightGetter,o.estimatedRowSize),this._calculateChildrenToRender();try{this.element.scrollTop(o.scrollTop),this.element.scrollLeft(o.scrollLeft)}catch(e){}},setScrollLeft:function(scrollLeft){this.options.scrollLeft!==scrollLeft&&(this._scrollLock=!0,this.options.scrollLeft=BI.clamp(scrollLeft||0,0,this._getRealMaxScrollLeft()),this._debounceRelease(),this._calculateChildrenToRender(),this.element.scrollLeft(this.options.scrollLeft))},setScrollTop:function(scrollTop){this.options.scrollTop!==scrollTop&&(this._scrollLock=!0,this.options.scrollTop=BI.clamp(scrollTop||0,0,this._getMaxScrollTop()),this._debounceRelease(),this._calculateChildrenToRender(),this.element.scrollTop(this.options.scrollTop))},setColumnCount:function(columnCount){this.options.columnCount=columnCount},setRowCount:function(rowCount){this.options.rowCount=rowCount},setOverflowX:function(b){var self=this;this.options.overflowX!==!!b&&(this.options.overflowX=!!b,BI.nextTick(function(){self.element.css({overflowX:b?"auto":"hidden"})}))},setOverflowY:function(b){var self=this;this.options.overflowY!==!!b&&(this.options.overflowY=!!b,BI.nextTick(function(){self.element.css({overflowY:b?"auto":"hidden"})}))},getScrollLeft:function(){return this.options.scrollLeft},getScrollTop:function(){return this.options.scrollTop},getMaxScrollLeft:function(){return this._getMaxScrollLeft()},getMaxScrollTop:function(){return this._getMaxScrollTop()},setEstimatedColumnSize:function(width){this.options.estimatedColumnSize=width},setEstimatedRowSize:function(height){this.options.estimatedRowSize=height},_reRange:function(){this.renderRange={}},_clearChildren:function(){this.container._children={},this.container.attr("items",[])},restore:function(){BI.each(this.renderedCells,function(i,cell){cell.el._destroy()}),this._clearChildren(),this.renderedCells=[],this.renderedKeys=[],this.renderRange={},this._scrollLock=!1},populate:function(items){items&&items!==this.options.items&&this.restore(),this._populate(items)}}),BI.GridView.EVENT_SCROLL="EVENT_SCROLL",BI.shortcut("bi.grid_view",BI.GridView),BI.Popover=BI.inherit(BI.Widget,{_constant:{SIZE:{SMALL:"small",NORMAL:"normal",BIG:"big"},HEADER_HEIGHT:40},_defaultConfig:function(){return BI.extend(BI.Popover.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-popover bi-card bi-border-radius",size:"normal",logic:{dynamic:!1},header:null,body:null,footer:null,closable:!0})},render:function(){var self=this,o=this.options;this.startX=0,this.startY=0,this.tracker=new BI.MouseMoveTracker(function(deltaX,deltaY){var size=self._calculateSize(),W=BI.Widget._renderEngine.createElement("body").width(),H=BI.Widget._renderEngine.createElement("body").height();self.startX+=deltaX,self.startY+=deltaY,self.element.css({left:BI.clamp(self.startX,0,W-self.element.width())+"px",top:BI.clamp(self.startY,0,H-self.element.height())+"px"}),BI.Resizers._resize()},function(){self.tracker.releaseMouseMoves()},_global);var items=[{el:{type:"bi.htape",cls:"bi-message-title bi-header-background",ref:function(_ref){self.dragger=_ref},items:[{type:"bi.absolute",items:[{el:BI.isPlainObject(o.header)?BI.createWidget(o.header,{extraCls:"bi-font-bold"}):{type:"bi.label",cls:"bi-font-bold",height:this._constant.HEADER_HEIGHT,text:o.header,title:o.header,textAlign:"left"},left:20,top:0,right:0,bottom:0}]},{el:o.closable?{type:"bi.icon_button",cls:"bi-message-close close-font",height:this._constant.HEADER_HEIGHT,handler:function(){self.close()}}:{type:"bi.layout"},width:56}],height:this._constant.HEADER_HEIGHT},height:this._constant.HEADER_HEIGHT},{el:o.logic.dynamic?{type:"bi.vertical",scrolly:!1,cls:"popover-body",ref:function(){self.body=this},hgap:20,tgap:10,items:[{el:BI.createWidget(o.body)}]}:{type:"bi.absolute",items:[{el:BI.createWidget(o.body),left:20,top:10,right:20,bottom:0}]}}];o.footer&&items.push({el:{type:"bi.absolute",items:[{el:BI.createWidget(o.footer),left:20,top:0,right:20,bottom:0}],height:44},height:44});var size=this._calculateSize();return BI.extend({type:o.logic.dynamic?"bi.vertical":"bi.vtape",items:items,width:size.width},o.logic.dynamic?{type:"bi.vertical",scrolly:!1}:{type:"bi.vtape",height:size.height})},mounted:function(){var self=this,o=this.options;if(this.dragger.element.mousedown(function(e){var pos=self.element.offset();self.startX=pos.left,self.startY=pos.top,self.tracker.captureMouseMoves(e)}),o.logic.dynamic){var size=this._calculateSize(),height=this.element.height(),compareHeight=BI.clamp(height,size.height,600)-(o.footer?84:44);this.body.element.height(compareHeight)}},_calculateSize:function(){var o=this.options,size={};if(BI.isNotNull(o.size))switch(o.size){case this._constant.SIZE.SMALL:size.width=450,size.height=200;break;case this._constant.SIZE.BIG:size.width=900,size.height=500;break;default:size.width=550,size.height=500}return{width:o.width||size.width,height:o.height||size.height}},hide:function(){},open:function(){this.show(),this.fireEvent(BI.Popover.EVENT_OPEN,arguments)},close:function(){this.hide(),this.fireEvent(BI.Popover.EVENT_CLOSE,arguments)},setZindex:function(zindex){this.element.css({"z-index":zindex})},destroyed:function(){}}),BI.shortcut("bi.popover",BI.Popover),BI.BarPopover=BI.inherit(BI.Popover,{_defaultConfig:function(){return BI.extend(BI.BarPopover.superclass._defaultConfig.apply(this,arguments),{btns:[BI.i18nText("BI-Basic_Sure"),BI.i18nText("BI-Basic_Cancel")]})},beforeCreate:function(){var self=this,o=this.options;o.footer||(o.footer={type:"bi.right_vertical_adapt",lgap:10,items:[{type:"bi.button",text:this.options.btns[1],value:1,level:"ignore",handler:function(v){self.fireEvent(BI.Popover.EVENT_CANCEL,v),self.close(v)}},{type:"bi.button",text:this.options.btns[0],warningTitle:o.warningTitle,value:0,handler:function(v){self.fireEvent(BI.Popover.EVENT_CONFIRM,v),self.close(v)}}]})}}),BI.shortcut("bi.bar_popover",BI.BarPopover),BI.Popover.EVENT_CLOSE="EVENT_CLOSE",BI.Popover.EVENT_OPEN="EVENT_OPEN",BI.Popover.EVENT_CANCEL="EVENT_CANCEL",BI.Popover.EVENT_CONFIRM="EVENT_CONFIRM",BI.PopupView=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.PopupView.superclass._defaultConfig.apply(this,arguments),{_baseCls:"bi-popup-view",maxWidth:"auto",minWidth:100,minHeight:24,lgap:0,rgap:0,tgap:0,bgap:0,vgap:0,hgap:0,innerVGap:0,direction:BI.Direction.Top,stopEvent:!1,stopPropagation:!1,
logic:{dynamic:!0},tool:!1,tabs:[],buttons:[],el:{type:"bi.button_group",items:[],chooseType:0,behaviors:{},layouts:[{type:"bi.vertical"}]}})},_init:function(){BI.PopupView.superclass._init.apply(this,arguments);var self=this,o=this.options,fn=function(e){e.stopPropagation()},stop=function(e){return e.stopEvent(),!1};this.element.css({"z-index":BI.zIndex_popup,"min-width":o.minWidth+"px","max-width":o.maxWidth+"px"}).bind({click:fn}),this.element.bind("mousewheel",fn),o.stopPropagation&&this.element.bind({mousedown:fn,mouseup:fn,mouseover:fn}),o.stopEvent&&this.element.bind({mousedown:stop,mouseup:stop,mouseover:stop}),this.tool=this._createTool(),this.tab=this._createTab(),this.view=this._createView(),this.toolbar=this._createToolBar(),this.view.on(BI.Controller.EVENT_CHANGE,function(type){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.PopupView.EVENT_CHANGE)}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction),BI.extend({},o.logic,{scrolly:!1,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,vgap:o.vgap,hgap:o.hgap,items:BI.LogicFactory.createLogicItemsByDirection(o.direction,BI.extend({cls:"list-view-outer bi-card list-view-shadow"},BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction),BI.extend({},o.logic,{items:BI.LogicFactory.createLogicItemsByDirection(o.direction,this.tool,this.tab,this.view,this.toolbar)}))))}))))},_createView:function(){var o=this.options;return this.button_group=BI.createWidget(o.el,{type:"bi.button_group",value:o.value}),this.button_group.element.css({"min-height":o.minHeight+"px","padding-top":o.innerVGap+"px","padding-bottom":o.innerVGap+"px"}),this.button_group},_createTool:function(){var o=this.options;if(!1!==o.tool)return BI.createWidget(o.tool)},_createTab:function(){var o=this.options;if(0!==o.tabs.length)return BI.createWidget({type:"bi.center",cls:"list-view-tab",height:25,items:o.tabs,value:o.value})},_createToolBar:function(){var o=this.options;if(0!==o.buttons.length)return BI.createWidget({type:"bi.center",cls:"list-view-toolbar bi-high-light bi-split-top",height:24,items:BI.createItems(o.buttons,{once:!1,shadow:!0,isShadowShowingOnSelected:!0})})},getView:function(){return this.view},populate:function(items){this.view.populate.apply(this.view,arguments)},resetWidth:function(w){this.options.width=w,this.element.width(w)},resetHeight:function(h){var tbHeight=this.toolbar?this.toolbar.attr("height")||24:0,tabHeight=this.tab?this.tab.attr("height")||24:0,toolHeight=(this.tool&&this.tool.attr("height")||24)*(this.tool&&this.tool.isVisible()?1:0),resetHeight=h-tbHeight-tabHeight-toolHeight-2*this.options.innerVGap;this.view.resetHeight?this.view.resetHeight(resetHeight):this.view.element.css({"max-height":resetHeight+"px"})},setValue:function(selectedValues){this.tab&&this.tab.setValue(selectedValues),this.view.setValue(selectedValues)},getValue:function(){return this.view.getValue()}}),BI.PopupView.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.popup_view",BI.PopupView),BI.SearcherView=BI.inherit(BI.Pane,{_defaultConfig:function(){var conf=BI.SearcherView.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-searcher-view bi-card",tipText:BI.i18nText("BI-No_Select"),chooseType:BI.Selection.Single,matcher:{type:"bi.button_group",behaviors:{redmark:function(){return!0}},items:[],layouts:[{type:"bi.vertical"}]},searcher:{type:"bi.button_group",behaviors:{redmark:function(){return!0}},items:[],layouts:[{type:"bi.vertical"}]}})},_init:function(){BI.SearcherView.superclass._init.apply(this,arguments);var self=this,o=this.options;this.matcher=BI.createWidget(o.matcher,{type:"bi.button_group",chooseType:o.chooseType,behaviors:{redmark:function(){return!0}},layouts:[{type:"bi.vertical"}],value:o.value}),this.matcher.on(BI.Controller.EVENT_CHANGE,function(type,val,ob){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.SearcherView.EVENT_CHANGE,val,ob)}),this.spliter=BI.createWidget({type:"bi.vertical",height:1,hgap:10,items:[{type:"bi.layout",height:1,cls:"searcher-view-spliter bi-background"}]}),this.searcher=BI.createWidget(o.searcher,{type:"bi.button_group",chooseType:o.chooseType,behaviors:{redmark:function(){return!0}},layouts:[{type:"bi.vertical"}],value:o.value}),this.searcher.on(BI.Controller.EVENT_CHANGE,function(type,val,ob){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.SearcherView.EVENT_CHANGE,val,ob)}),BI.createWidget({type:"bi.vertical",element:this,items:[this.matcher,this.spliter,this.searcher]})},startSearch:function(){},stopSearch:function(){},setValue:function(v){this.matcher.setValue(v),this.searcher.setValue(v)},getValue:function(){return this.matcher.getValue().concat(this.searcher.getValue())},populate:function(searchResult,matchResult,keyword){searchResult||(searchResult=[]),matchResult||(matchResult=[]),this.setTipVisible(searchResult.length+matchResult.length===0),this.spliter.setVisible(BI.isNotEmptyArray(matchResult)&&BI.isNotEmptyArray(searchResult)),this.matcher.populate(matchResult,keyword),this.searcher.populate(searchResult,keyword)},empty:function(){this.searcher.empty(),this.matcher.empty()},hasMatched:function(){return this.matcher.getAllButtons().length>0}}),BI.SearcherView.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.searcher_view",BI.SearcherView),BI.ListView=BI.inherit(BI.Widget,{props:function(){return{baseCls:"bi-list-view",overscanHeight:100,blockSize:10,scrollTop:0,el:{},items:[]}},init:function(){var self=this;this.renderedIndex=-1,this.cache={}},render:function(){var self=this,o=this.options;return{type:"bi.vertical",items:[BI.extend({type:"bi.vertical",scrolly:!1,ref:function(){self.container=this}},o.el)],element:this}},mounted:function(){var self=this,o=this.options;this._populate(),this.element.scroll(function(e){o.scrollTop=self.element.scrollTop(),self._calculateBlocksToRender()});var lastWidth=this.element.width(),lastHeight=this.element.height();BI.ResizeDetector.addResizeListener(this,function(){var width=self.element.width(),height=self.element.height();width===lastWidth&&height===lastHeight||(lastWidth=width,lastHeight=height,self._calculateBlocksToRender())})},_renderMoreIf:function(){for(var self=this,o=this.options,height=this.element.height(),minContentHeight=o.scrollTop+height+o.overscanHeight,index=this.cache[this.renderedIndex]&&this.cache[this.renderedIndex].index+o.blockSize||0,cnt=this.renderedIndex+1,lastHeight,getElementHeight=function(){return self.container.element.height()};(lastHeight=getElementHeight())<minContentHeight&&index<o.items.length;){var items=o.items.slice(index,index+o.blockSize);this.container.addItems(items,this);var addedHeight=getElementHeight()-lastHeight;this.cache[cnt]={index:index,scrollTop:lastHeight,height:addedHeight},this.renderedIndex=cnt,cnt++,index+=o.blockSize}},_calculateBlocksToRender:function(){var o=this.options;this._renderMoreIf()},_populate:function(items){var o=this.options;items&&this.options.items!==items&&(this.options.items=items),this._calculateBlocksToRender(),this.element.scrollTop(o.scrollTop)},restore:function(){this.renderedIndex=-1,this.container.empty(),this.cache={}},populate:function(items){items&&this.options.items!==items&&this.restore(),this._populate(items)},destroyed:function(){this.restore()}}),BI.shortcut("bi.list_view",BI.ListView),BI.VirtualList=BI.inherit(BI.Widget,{props:function(){return{baseCls:"bi-virtual-list",overscanHeight:100,blockSize:10,scrollTop:0,items:[]}},init:function(){var self=this;this.renderedIndex=-1,this.cache={}},render:function(){var self=this,o=this.options;return{type:"bi.vertical",items:[{type:"bi.layout",ref:function(){self.topBlank=this}},{type:"bi.vertical",scrolly:!1,ref:function(){self.container=this}},{type:"bi.layout",ref:function(){self.bottomBlank=this}}],element:this}},mounted:function(){var self=this,o=this.options;this._populate(),this.element.scroll(function(e){o.scrollTop=self.element.scrollTop(),self._calculateBlocksToRender()}),BI.ResizeDetector.addResizeListener(this,function(){self._calculateBlocksToRender()})},_renderMoreIf:function(){for(var self=this,o=this.options,height=this.element.height(),minContentHeight=o.scrollTop+height+o.overscanHeight,index=this.cache[this.renderedIndex]&&this.cache[this.renderedIndex].index+o.blockSize||0,cnt=this.renderedIndex+1,lastHeight,getElementHeight=function(){return self.container.element.height()+self.topBlank.element.height()+self.bottomBlank.element.height()};(lastHeight=getElementHeight())<minContentHeight&&index<o.items.length;){var items=o.items.slice(index,index+o.blockSize);this.container.addItems(items,this);var addedHeight=getElementHeight()-lastHeight;this.cache[cnt]={index:index,scrollTop:lastHeight,height:addedHeight},this.tree.set(cnt,addedHeight),this.renderedIndex=cnt,cnt++,index+=o.blockSize}},_calculateBlocksToRender:function(){var o=this.options;this._renderMoreIf();for(var height=this.element.height(),minContentHeightFrom=o.scrollTop-o.overscanHeight,minContentHeightTo=o.scrollTop+height+o.overscanHeight,start=this.tree.greatestLowerBound(minContentHeightFrom),end=this.tree.leastUpperBound(minContentHeightTo),needDestroyed=[],i=0;i<start;i++){var index=this.cache[i].index;if(!this.cache[i].destroyed){for(var j=index;j<index+o.blockSize&&j<o.items.length;j++)needDestroyed.push(this.container._children[j]),this.container._children[j]=null;this.cache[i].destroyed=!0}}for(var i=end+1;i<=this.renderedIndex;i++){var index=this.cache[i].index;if(!this.cache[i].destroyed){for(var j=index;j<index+o.blockSize&&j<o.items.length;j++)needDestroyed.push(this.container._children[j]),this.container._children[j]=null;this.cache[i].destroyed=!0}}for(var firstFragment=BI.Widget._renderEngine.createFragment(),lastFragment=BI.Widget._renderEngine.createFragment(),currentFragment=firstFragment,i=start<0?0:start;i<=end&&i<=this.renderedIndex;i++){var index=this.cache[i].index;if(this.cache[i].destroyed||(currentFragment=lastFragment),this.cache[i].destroyed===!0){for(var j=index;j<index+o.blockSize&&j<o.items.length;j++){var w=this.container._addElement(j,BI.extend({root:!0},BI.stripEL(o.items[j])),this);currentFragment.appendChild(w.element[0])}this.cache[i].destroyed=!1}}this.container.element.prepend(firstFragment),this.container.element.append(lastFragment),this.topBlank.setHeight(this.cache[start<0?0:start].scrollTop);var lastCache=this.cache[Math.min(end,this.renderedIndex)];this.bottomBlank.setHeight(this.tree.sumTo(this.renderedIndex)-lastCache.scrollTop-lastCache.height),BI.each(needDestroyed,function(i,child){child&&child._destroy()})},_populate:function(items){var o=this.options;items&&this.options.items!==items&&(this.options.items=items),this.tree=BI.PrefixIntervalTree.empty(Math.ceil(o.items.length/o.blockSize)),this._calculateBlocksToRender(),this.element.scrollTop(o.scrollTop)},_clearChildren:function(){BI.each(this.container._children,function(i,cell){cell&&cell._destroy()}),this.container._children={},this.container.attr("items",[])},restore:function(){this.renderedIndex=-1,this._clearChildren(),this.cache={},this.options.scrollTop=0,this.topBlank.setHeight(0),this.bottomBlank.setHeight(0)},populate:function(items){items&&this.options.items!==items&&this.restore(),this._populate()},destroyed:function(){this.restore()}}),BI.shortcut("bi.virtual_list",BI.VirtualList),BI.Pager=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.Pager.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-pager",behaviors:{},layouts:[{type:"bi.horizontal",hgap:10,vgap:0}],dynamicShow:!0,dynamicShowFirstLast:!1,dynamicShowPrevNext:!1,pages:!1,curr:function(){return 1},groups:0,jump:BI.emptyFn,first:!1,last:!1,prev:"上一页",next:"下一页",firstPage:1,lastPage:function(){return 1},hasPrev:BI.emptyFn,hasNext:BI.emptyFn})},_init:function(){BI.Pager.superclass._init.apply(this,arguments);var self=this;this.currPage=BI.result(this.options,"curr"),this._populate()},_populate:function(){var self=this,o=this.options,view=[],dict={};this.empty();var pages=BI.result(o,"pages"),curr=BI.result(this,"currPage"),groups=BI.result(o,"groups"),first=BI.result(o,"first"),last=BI.result(o,"last"),prev=BI.result(o,"prev"),next=BI.result(o,"next");pages===!1?(groups=0,first=!1,last=!1):groups>pages&&(groups=pages),dict.index=Math.ceil((curr+(groups>1&&groups!==pages?1:0))/(0===groups?1:groups)),(!o.dynamicShow&&!o.dynamicShowPrevNext||curr>1)&&prev!==!1&&(BI.isKey(prev)?view.push({text:prev,value:"prev",disabled:pages===!1?o.hasPrev(curr)===!1:!(curr>1&&prev!==!1)}):view.push(BI.extend({disabled:pages===!1?o.hasPrev(curr)===!1:!(curr>1&&prev!==!1)},prev))),(!o.dynamicShow&&!o.dynamicShowFirstLast||dict.index>1&&0!==groups)&&first&&(view.push({text:first,value:"first",disabled:!(dict.index>1&&0!==groups)}),dict.index>1&&0!==groups&&view.push({type:"bi.label",cls:"page-ellipsis",text:"…"})),dict.poor=Math.floor((groups-1)/2),dict.start=dict.index>1?curr-dict.poor:1,dict.end=dict.index>1?function(){var max=curr+(groups-dict.poor-1);return max>pages?pages:max}():groups,dict.end-dict.start<groups-1&&(dict.start=dict.end-groups+1);var s=dict.start,e=dict.end;for(first&&last&&dict.index>1&&0!==groups&&pages>groups&&dict.end<pages&&0!==groups&&(s++,e--);s<=e;s++)s===curr?view.push({text:s,value:s,selected:!0}):view.push({text:s,value:s});(!o.dynamicShow&&!o.dynamicShowFirstLast||pages>groups&&dict.end<pages&&0!==groups)&&last&&(pages>groups&&dict.end<pages&&0!==groups&&view.push({type:"bi.label",cls:"page-ellipsis",text:"…"}),view.push({text:last,value:"last",disabled:!(pages>groups&&dict.end<pages&&0!==groups)})),dict.flow=!prev&&0===groups,(!o.dynamicShow&&!o.dynamicShowPrevNext&&next||curr!==pages&&next||dict.flow)&&view.push(function(){return BI.isKey(next)?pages===!1?{text:next,value:"next",disabled:o.hasNext(curr)===!1}:dict.flow&&curr===pages?{text:next,value:"next",disabled:!0}:{text:next,value:"next",disabled:!(curr!==pages&&next||dict.flow)}:BI.extend({disabled:pages===!1?o.hasNext(curr)===!1:!(curr!==pages&&next||dict.flow)},next)}()),this.button_group=BI.createWidget({type:"bi.button_group",element:this,items:BI.createItems(view,{cls:"bi-list-item-select bi-border-radius",height:23,hgap:10}),behaviors:o.behaviors,layouts:o.layouts}),this.button_group.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){if(type===BI.Events.CLICK){var v=self.button_group.getValue()[0];switch(v){case"first":self.currPage=1;break;case"last":self.currPage=pages;break;case"prev":self.currPage--;break;case"next":self.currPage++;break;default:self.currPage=v}o.jump.apply(self,[{pages:pages,curr:self.currPage}]),self._populate(),self.fireEvent(BI.Pager.EVENT_CHANGE,obj)}self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.fireEvent(BI.Pager.EVENT_AFTER_POPULATE)},getCurrentPage:function(){return this.currPage},setAllPages:function(pages){this.options.pages=pages},hasPrev:function(v){v||(v=1);var o=this.options,pages=this.options.pages;return pages===!1?o.hasPrev(v):v>1},hasNext:function(v){v||(v=1);var o=this.options,pages=this.options.pages;return pages===!1?o.hasNext(v):v<pages},setValue:function(v){var o=this.options;if(v=0|v,v=v<1?1:v,o.pages===!1){var lastPage=BI.result(o,"lastPage"),firstPage=1;this.currPage=v>lastPage?lastPage:(firstPage=BI.result(o,"firstPage"),v<firstPage?firstPage:v)}else v=v>o.pages?o.pages:v,this.currPage=v;this._populate()},getValue:function(){var val=this.button_group.getValue()[0];switch(val){case"prev":return-1;case"next":return 1;case"first":return BI.MIN;case"last":return BI.MAX;default:return val}},attr:function(key,value){BI.Pager.superclass.attr.apply(this,arguments),"curr"===key&&(this.currPage=BI.result(this.options,"curr"))},populate:function(){this._populate()}}),BI.Pager.EVENT_CHANGE="EVENT_CHANGE",BI.Pager.EVENT_AFTER_POPULATE="EVENT_AFTER_POPULATE",BI.shortcut("bi.pager",BI.Pager),BI.A=BI.inherit(BI.Text,{_defaultConfig:function(){var conf=BI.A.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-a display-block",href:"",target:"_blank",el:null,tagName:"a"})},_init:function(){var o=this.options;BI.A.superclass._init.apply(this,arguments),this.element.attr({href:o.href,target:o.target}),o.el&&BI.createWidget(o.el,{element:this})}}),BI.shortcut("bi.a",BI.A),BI.LoadingBar=BI.inherit(BI.Single,{_defaultConfig:function(){var conf=BI.LoadingBar.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-loading-bar bi-tips",height:30,handler:BI.emptyFn})},_init:function(){BI.LoadingBar.superclass._init.apply(this,arguments);var self=this;this.loaded=BI.createWidget({type:"bi.text_button",cls:"loading-text bi-list-item-simple",text:BI.i18nText("BI-Load_More"),width:120,handler:this.options.handler}),this.loaded.on(BI.Controller.EVENT_CHANGE,function(type){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.loading=BI.createWidget({type:"bi.layout",width:this.options.height,height:this.options.height,cls:"loading-background cursor-default"});var loaded=BI.createWidget({type:"bi.center_adapt",items:[this.loaded]}),loading=BI.createWidget({type:"bi.center_adapt",items:[this.loading]});this.cardLayout=BI.createWidget({type:"bi.card",element:this,items:[{el:loaded,cardName:"loaded"},{el:loading,cardName:"loading"}]}),this.invisible()},_reset:function(){this.visible(),this.loaded.setText(BI.i18nText("BI-Load_More")),this.loaded.enable()},setLoaded:function(){this._reset(),this.cardLayout.showCardByName("loaded")},setEnd:function(){this.setLoaded(),this.loaded.setText(BI.i18nText("BI-No_More_Data")),this.loaded.disable()},setLoading:function(){this._reset(),this.cardLayout.showCardByName("loading")}}),BI.shortcut("bi.loading_bar",BI.LoadingBar),BI.IconButton=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.IconButton.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{_baseCls:(conf._baseCls||"")+" bi-icon-button horizon-center",iconWidth:null,iconHeight:null})},_init:function(){BI.IconButton.superclass._init.apply(this,arguments);var o=this.options;this.element.css({textAlign:"center"}),this.icon=BI.createWidget({type:"bi.icon",width:o.iconWidth,height:o.iconHeight}),BI.isNumber(o.height)&&o.height>0&&BI.isNull(o.iconWidth)&&BI.isNull(o.iconHeight)?(this.element.css("lineHeight",o.height+"px"),BI.createWidget({type:"bi.default",element:this,items:[this.icon]})):(this.element.css("lineHeight","1"),BI.createWidget({element:this,type:"bi.center_adapt",items:[this.icon]}))},doClick:function(){BI.IconButton.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.IconButton.EVENT_CHANGE,this)}}),BI.IconButton.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.icon_button",BI.IconButton),BI.ImageButton=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.ImageButton.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-image-button",src:"",iconWidth:"100%",iconHeight:"100%"})},_init:function(){BI.ImageButton.superclass._init.apply(this,arguments);var o=this.options;this.image=BI.createWidget({type:"bi.img",width:o.iconWidth,height:o.iconHeight,src:o.src}),BI.isNumber(o.iconWidth)||BI.isNumber(o.iconHeight)?BI.createWidget({type:"bi.center_adapt",element:this,items:[this.image]}):BI.createWidget({type:"bi.adaptive",element:this,items:[this.image],scrollable:!1})},setWidth:function(w){BI.ImageButton.superclass.setWidth.apply(this,arguments),this.options.width=w},setHeight:function(h){BI.ImageButton.superclass.setHeight.apply(this,arguments),this.options.height=h},setImageWidth:function(w){this.image.setWidth(w)},setImageHeight:function(h){this.image.setHeight(h)},getImageWidth:function(){return this.image.element.width()},getImageHeight:function(){return this.image.element.height()},setSrc:function(src){this.options.src=src,this.image.setSrc(src)},getSrc:function(){return this.image.getSrc()},doClick:function(){BI.ImageButton.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.ImageButton.EVENT_CHANGE,this)}}),BI.ImageButton.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.image_button",BI.ImageButton),BI.Button=BI.inherit(BI.BasicButton,{_defaultConfig:function(props){var conf=BI.Button.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-button"+(BI.isIE()&&BI.isIE9Below()?" hack":""),minWidth:props.block===!0||props.clear===!0?0:80,height:24,shadow:props.clear!==!0,isShadowShowingOnSelected:!0,readonly:!0,iconCls:"",level:"common",block:!1,clear:!1,ghost:!1,textAlign:"center",whiteSpace:"nowrap",textWidth:null,textHeight:null,hgap:props.clear?0:10,vgap:0,tgap:0,bgap:0,lgap:0,rgap:0})},_init:function(){BI.Button.superclass._init.apply(this,arguments);var o=this.options,self=this;!BI.isNumber(o.height)||o.clear||o.block?o.clear||o.block?this.element.css({lineHeight:o.height+"px"}):this.element.css({lineHeight:o.height-2+"px"}):this.element.css({height:o.height+"px",lineHeight:o.height-2+"px"}),BI.isKey(o.iconCls)?(this.icon=BI.createWidget({type:"bi.icon_label",cls:o.iconCls,width:18,height:o.height-2,iconWidth:o.iconWidth,iconHeight:o.iconHeight}),this.text=BI.createWidget({type:"bi.label",text:o.text,value:o.value,height:o.height-2}),BI.createWidget({type:"bi.center_adapt",element:this,hgap:o.hgap,vgap:o.vgap,items:[{type:"bi.horizontal",items:[this.icon,this.text]}]})):this.text=BI.createWidget({type:"bi.label",textAlign:o.textAlign,whiteSpace:o.whiteSpace,textWidth:o.textWidth,textHeight:o.textHeight,hgap:o.hgap,vgap:o.vgap,tgap:o.tgap,bgap:o.bgap,lgap:o.lgap,rgap:o.rgap,element:this,text:o.text,value:o.value}),o.block===!0&&this.element.addClass("block"),o.clear===!0&&this.element.addClass("clear"),o.ghost===!0&&this.element.addClass("ghost"),o.minWidth>0&&this.element.css({"min-width":o.minWidth+"px"})},doClick:function(){BI.Button.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.Button.EVENT_CHANGE,this)},setText:function(text){BI.Button.superclass.setText.apply(this,arguments),this.text.setText(text)},setValue:function(text){BI.Button.superclass.setValue.apply(this,arguments),this.isReadOnly()||this.text.setValue(text)},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},destroy:function(){BI.Button.superclass.destroy.apply(this,arguments)}}),BI.shortcut("bi.button",BI.Button),BI.Button.EVENT_CHANGE="EVENT_CHANGE",BI.TextButton=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.TextButton.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-text-button",textAlign:"center",whiteSpace:"nowrap",textWidth:null,textHeight:null,hgap:0,lgap:0,rgap:0,text:"",py:""})},_init:function(){BI.TextButton.superclass._init.apply(this,arguments);var o=this.options;this.text=BI.createWidget({type:"bi.label",element:this,textAlign:o.textAlign,whiteSpace:o.whiteSpace,textWidth:o.textWidth,textHeight:o.textHeight,width:o.width,height:o.height,hgap:o.hgap,lgap:o.lgap,rgap:o.rgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword})},doClick:function(){BI.TextButton.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.TextButton.EVENT_CHANGE,this.getValue(),this)},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},setText:function(text){BI.TextButton.superclass.setText.apply(this,arguments),text=BI.isArray(text)?text.join(","):text,this.text.setText(text)},setStyle:function(style){this.text.setStyle(style)},setValue:function(text){BI.TextButton.superclass.setValue.apply(this,arguments),this.isReadOnly()||(text=BI.isArray(text)?text.join(","):text,this.text.setValue(text))}}),BI.TextButton.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.text_button",BI.TextButton),BI.BlankIconIconTextItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.BlankIconIconTextItem.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-blank-icon-text-item",logic:{dynamic:!1},iconCls1:"close-ha-font",iconCls2:"close-ha-font",blankWidth:0,iconHeight:null,iconWidth:null,textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.BlankIconIconTextItem.superclass._init.apply(this,arguments);var o=this.options,c=this._const,blank=BI.createWidget({type:"bi.layout",width:o.blankWidth,height:o.height});this.text=BI.createWidget({type:"bi.label",cls:"list-item-text",textAlign:"left",hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,height:o.height}),this.icon1=BI.createWidget({type:"bi.icon_button",cls:o.iconCls1,forceNotSelected:!0,width:o.height,height:o.height}),this.icon2=BI.createWidget({type:"bi.icon_button",cls:o.iconCls2,forceNotSelected:!0,width:o.height,height:o.height}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",blank,this.icon1,this.icon2,this.text)}))))},doClick:function(){BI.BlankIconIconTextItem.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.BlankIconIconTextItem.EVENT_CHANGE,this.getValue(),this)},setSelected:function(b){BI.BlankIconIconTextItem.superclass.setSelected.apply(this,arguments),this.icon1.setSelected(b),this.icon2.setSelected(b)},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)}}),BI.BlankIconIconTextItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.blank_icon_icon_text_item",BI.BlankIconIconTextItem),BI.BlankIconTextIconItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.BlankIconTextIconItem.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-blank-icon-text-icon-item",logic:{dynamic:!1},iconCls1:"close-ha-font",iconCls2:"close-ha-font",blankWidth:0,iconHeight:null,iconWidth:null,textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.BlankIconTextIconItem.superclass._init.apply(this,arguments);var o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",textAlign:"left",hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,height:o.height});var icon1=BI.createWidget({type:"bi.icon_label",cls:o.iconCls1,width:o.height,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight});BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.icon_label",cls:o.iconCls2,width:o.height,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight},top:0,bottom:0,right:0}]}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",{type:"bi.layout",width:o.blankWidth},icon1,this.text,{type:"bi.layout",width:o.height})}))))},doClick:function(){BI.BlankIconTextIconItem.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.BlankIconTextIconItem.EVENT_CHANGE,this.getValue(),this)},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()}}),BI.BlankIconTextIconItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.blank_icon_text_icon_item",BI.BlankIconTextIconItem),BI.BlankIconTextItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.BlankIconTextItem.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-blank-icon-text-item",logic:{dynamic:!1},cls:"close-ha-font",blankWidth:0,iconHeight:null,iconWidth:null,textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.BlankIconTextItem.superclass._init.apply(this,arguments);var o=this.options,c=this._const,blank=BI.createWidget({type:"bi.layout",width:o.blankWidth});this.text=BI.createWidget({type:"bi.label",cls:"list-item-text",textAlign:"left",hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,height:o.height}),this.icon=BI.createWidget({type:"bi.icon_label",width:o.height,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",blank,this.icon,this.text)}))))},doClick:function(){BI.BlankIconTextItem.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.BlankIconTextItem.EVENT_CHANGE,this.getValue(),this)},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)}}),BI.BlankIconTextItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.blank_icon_text_item",BI.BlankIconTextItem),BI.IconTextIconItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.IconTextIconItem.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-icon-text-icon-item",logic:{dynamic:!1},iconCls1:"close-ha-font",iconCls2:"close-ha-font",iconHeight:null,iconWidth:null,textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.IconTextIconItem.superclass._init.apply(this,arguments);var o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",textAlign:"left",hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,height:o.height});var icon1=BI.createWidget({type:"bi.icon_label",cls:o.iconCls1,width:o.leftIconWrapperWidth,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight}),blank=BI.createWidget({type:"bi.layout",width:o.height});BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.icon_label",cls:o.iconCls2,width:o.rightIconWrapperWidth,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight},top:0,bottom:0,right:0}]}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",icon1,this.text,blank)}))))},doClick:function(){BI.IconTextIconItem.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.IconTextIconItem.EVENT_CHANGE,this.getValue(),this);
},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()}}),BI.IconTextIconItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.icon_text_icon_item",BI.IconTextIconItem),BI.IconTextItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.IconTextItem.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-icon-text-item",direction:BI.Direction.Left,logic:{dynamic:!1},iconWrapperWidth:null,iconHeight:null,iconWidth:null,textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.IconTextItem.superclass._init.apply(this,arguments);var o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",cls:"list-item-text",textAlign:"left",hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,height:o.height}),this.icon=BI.createWidget({type:"bi.icon_label",width:o.iconWrapperWidth||o.height,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction),BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection(o.direction,this.icon,this.text)}))))},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()},doClick:function(){BI.IconTextItem.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.IconTextItem.EVENT_CHANGE,this.getValue(),this)},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)}}),BI.IconTextItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.icon_text_item",BI.IconTextItem),BI.TextIconItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.TextIconItem.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-text-icon-item",logic:{dynamic:!1},cls:"close-ha-font",iconHeight:null,iconWidth:null,textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.TextIconItem.superclass._init.apply(this,arguments);var o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",cls:"list-item-text",textAlign:"left",hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,height:o.height}),this.icon=BI.createWidget({type:"bi.icon_label",width:o.height,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",this.text,this.icon)}))))},doClick:function(){BI.TextIconItem.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.TextIconItem.EVENT_CHANGE,this.getValue(),this)},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)}}),BI.TextIconItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.text_icon_item",BI.TextIconItem),BI.TextItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.TextItem.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-text-item",textAlign:"left",whiteSpace:"nowrap",textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.TextItem.superclass._init.apply(this,arguments);var o=this.options;this.text=BI.createWidget({type:"bi.label",element:this,textAlign:o.textAlign,whiteSpace:o.whiteSpace,textHeight:"nowrap"==o.whiteSpace?o.height:o.textHeight,height:o.height,hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,py:o.py})},doClick:function(){BI.TextItem.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.TextItem.EVENT_CHANGE,this.getValue(),this)},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()}}),BI.TextItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.text_item",BI.TextItem),BI.IconTextIconNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.IconTextIconNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-icon-text-icon-node",logic:{dynamic:!1},iconCls1:"close-ha-font",iconCls2:"close-ha-font",iconHeight:null,iconWidth:null,textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.IconTextIconNode.superclass._init.apply(this,arguments);var o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",textAlign:"left",hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,height:o.height});var icon1=BI.createWidget({type:"bi.icon_label",cls:o.iconCls1,width:o.height,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight}),blank=BI.createWidget({type:"bi.layout",width:o.height,height:o.height});BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.icon_label",cls:o.iconCls2,width:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight},top:0,bottom:0,right:0}]}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",icon1,this.text,blank)}))))},doClick:function(){BI.IconTextIconNode.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.IconTextIconNode.EVENT_CHANGE,this.getValue(),this)},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()}}),BI.IconTextIconNode.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.icon_text_icon_node",BI.IconTextIconNode),BI.IconTextNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.IconTextNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-icon-text-node",logic:{dynamic:!1},cls:"close-ha-font",iconHeight:null,iconWidth:null,textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.IconTextNode.superclass._init.apply(this,arguments);var o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",cls:"list-item-text",textAlign:"left",hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,height:o.height}),this.icon=BI.createWidget({type:"bi.icon_label",width:o.height,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",this.icon,this.text)}))))},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()},doClick:function(){BI.IconTextNode.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.IconTextNode.EVENT_CHANGE,this.getValue(),this)},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)}}),BI.IconTextNode.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.icon_text_node",BI.IconTextNode),BI.TextIconNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.TextIconNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-text-icon-node",logic:{dynamic:!1},cls:"close-ha-font",iconHeight:null,iconWidth:null,textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.TextIconNode.superclass._init.apply(this,arguments);var o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",cls:"list-item-text",textAlign:"left",hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,height:o.height}),this.icon=BI.createWidget({type:"bi.icon_label",width:o.height,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",this.text,this.icon)}))))},doClick:function(){BI.TextIconNode.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.TextIconNode.EVENT_CHANGE,this.getValue(),this)},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)}}),BI.TextIconNode.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.text_icon_node",BI.TextIconNode),BI.TextNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.TextNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-text-node",textAlign:"left",whiteSpace:"nowrap",textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.TextNode.superclass._init.apply(this,arguments);var o=this.options;this.text=BI.createWidget({type:"bi.label",element:this,textAlign:o.textAlign,whiteSpace:o.whiteSpace,textHeight:"nowrap"==o.whiteSpace?o.height:o.textHeight,height:o.height,hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,py:o.py})},doClick:function(){BI.TextNode.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.TextNode.EVENT_CHANGE,this.getValue(),this)},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()}}),BI.TextNode.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.text_node",BI.TextNode),BI.Editor=BI.inherit(BI.Single,{_defaultConfig:function(){var conf=BI.Editor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-editor bi-focus-shadow",hgap:4,vgap:2,lgap:0,rgap:0,tgap:0,bgap:0,tipType:"warning",inputType:"text",validationChecker:BI.emptyFn,quitChecker:BI.emptyFn,allowBlank:!1,watermark:"",errorText:""})},_init:function(){BI.Editor.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=this.addWidget(BI.createWidget({type:"bi.input",element:"<input type='"+o.inputType+"'/>",root:!0,value:o.value,watermark:o.watermark,validationChecker:o.validationChecker,quitChecker:o.quitChecker,allowBlank:o.allowBlank})),this.editor.element.css({width:"100%",height:"100%",border:"none",outline:"none",padding:"0",margin:"0"}),BI.isKey(this.options.watermark)&&this._assertWaterMark();var _items=[];this.watermark&&_items.push({el:this.watermark,left:3,right:3,top:0,bottom:0}),_items.push({el:this.editor,left:0,right:0,top:0,bottom:0});var items=[{el:{type:"bi.absolute",ref:function(_ref){self.contentWrapper=_ref},items:_items},left:o.hgap+o.lgap,right:o.hgap+o.rgap,top:o.vgap+o.tgap,bottom:o.vgap+o.bgap}];BI.createWidget({type:"bi.absolute",element:this,items:items}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.Input.EVENT_FOCUS,function(){self._checkError(),self.element.addClass("bi-editor-focus"),self.fireEvent(BI.Editor.EVENT_FOCUS,arguments)}),this.editor.on(BI.Input.EVENT_BLUR,function(){self._setErrorVisible(!1),self.element.removeClass("bi-editor-focus"),self.fireEvent(BI.Editor.EVENT_BLUR,arguments)}),this.editor.on(BI.Input.EVENT_CLICK,function(){self.fireEvent(BI.Editor.EVENT_CLICK,arguments)}),this.editor.on(BI.Input.EVENT_CHANGE,function(){self.fireEvent(BI.Editor.EVENT_CHANGE,arguments)}),this.editor.on(BI.Input.EVENT_KEY_DOWN,function(v){self.fireEvent(BI.Editor.EVENT_KEY_DOWN,arguments)}),this.editor.on(BI.Input.EVENT_QUICK_DOWN,function(e){e.keyCode!==BI.KeyCode.TAB&&self.watermark&&self.watermark.invisible()}),this.editor.on(BI.Input.EVENT_VALID,function(){self._checkWaterMark(),self._setErrorVisible(!1),self.fireEvent(BI.Editor.EVENT_VALID,arguments)}),this.editor.on(BI.Input.EVENT_ERROR,function(){self._checkWaterMark(),self.fireEvent(BI.Editor.EVENT_ERROR,arguments),self._setErrorVisible(self.isEditing())}),this.editor.on(BI.Input.EVENT_RESTRICT,function(){self._checkWaterMark();var tip=self._setErrorVisible(!0);tip&&tip.element.fadeOut(100,function(){tip.element.fadeIn(100)}),self.fireEvent(BI.Editor.EVENT_RESTRICT,arguments)}),this.editor.on(BI.Input.EVENT_EMPTY,function(){self._checkWaterMark(),self.fireEvent(BI.Editor.EVENT_EMPTY,arguments)}),this.editor.on(BI.Input.EVENT_ENTER,function(){self.fireEvent(BI.Editor.EVENT_ENTER,arguments)}),this.editor.on(BI.Input.EVENT_SPACE,function(){self.fireEvent(BI.Editor.EVENT_SPACE,arguments)}),this.editor.on(BI.Input.EVENT_BACKSPACE,function(){self.fireEvent(BI.Editor.EVENT_BACKSPACE,arguments)}),this.editor.on(BI.Input.EVENT_REMOVE,function(){self.fireEvent(BI.Editor.EVENT_REMOVE,arguments)}),this.editor.on(BI.Input.EVENT_START,function(){self.fireEvent(BI.Editor.EVENT_START,arguments)}),this.editor.on(BI.Input.EVENT_PAUSE,function(){self.fireEvent(BI.Editor.EVENT_PAUSE,arguments)}),this.editor.on(BI.Input.EVENT_STOP,function(){self.fireEvent(BI.Editor.EVENT_STOP,arguments)}),this.editor.on(BI.Input.EVENT_CONFIRM,function(){self.fireEvent(BI.Editor.EVENT_CONFIRM,arguments)}),this.editor.on(BI.Input.EVENT_CHANGE_CONFIRM,function(){self.fireEvent(BI.Editor.EVENT_CHANGE_CONFIRM,arguments)}),this.element.click(function(e){return e.stopPropagation(),!1}),BI.isKey(this.options.value)||BI.isEmptyString(this.options.value)?(this._checkError(),this._checkWaterMark()):this._checkWaterMark()},_checkToolTip:function(){var o=this.options,errorText=o.errorText;BI.isFunction(errorText)&&(errorText=errorText(this.editor.getValue())),BI.isKey(errorText)&&(!this.isEnabled()||this.isValid()||BI.Bubbles.has(this.getName())&&BI.Bubbles.get(this.getName()).isVisible()?this.setTitle(""):this.setTitle(errorText))},_assertWaterMark:function(){var self=this,o=this.options;BI.isNull(this.watermark)&&(this.watermark=BI.createWidget({type:"bi.label",cls:"bi-water-mark",text:this.options.watermark,height:o.height-2*(o.vgap+o.tgap),whiteSpace:"nowrap",textAlign:"left"}),this.watermark.element.bind({mousedown:function(e){self.isEnabled()?self.editor.isEditing()||self.editor.focus():self.editor.isEditing()&&self.editor.blur(),e.stopEvent()}}),this.watermark.element.bind("click",function(e){self.isEnabled()?self.editor.isEditing()||self.editor.focus():self.editor.isEditing()&&self.editor.blur(),e.stopEvent()}))},_checkError:function(){this._setErrorVisible(this.isEnabled()&&!this.isValid()),this._checkToolTip()},_checkWaterMark:function(){var o=this.options;!this.disabledWaterMark&&""===this.editor.getValue()&&BI.isKey(o.watermark)?this.watermark&&this.watermark.visible():this.watermark&&this.watermark.invisible()},setErrorText:function(text){this.options.errorText=text},getErrorText:function(){return this.options.errorText},setWaterMark:function(v){this.options.watermark=v,BI.isNull(this.watermark)&&(this._assertWaterMark(),BI.createWidget({type:"bi.absolute",element:this.contentWrapper,items:[{el:this.watermark,left:3,right:3,top:0,bottom:0}]})),BI.isKey(v)&&this.watermark.setText(v)},_setErrorVisible:function(b){var o=this.options,errorText=o.errorText;if(BI.isFunction(errorText)&&(errorText=errorText(BI.trim(this.editor.getValue()))),!this.disabledError&&BI.isKey(errorText))return BI.Bubbles[b?"show":"hide"](this.getName(),errorText,this,{adjustYOffset:2}),this._checkToolTip(),BI.Bubbles.get(this.getName())},disableError:function(){this.disabledError=!0,this._checkError()},enableError:function(){this.disabledError=!1,this._checkError()},disableWaterMark:function(){this.disabledWaterMark=!0,this._checkWaterMark()},enableWaterMark:function(){this.disabledWaterMark=!1,this._checkWaterMark()},focus:function(){this.element.addClass("text-editor-focus"),this.editor.focus()},blur:function(){this.element.removeClass("text-editor-focus"),this.editor.blur()},selectAll:function(){this.editor.selectAll()},onKeyDown:function(k){this.editor.onKeyDown(k)},setValue:function(v){BI.Editor.superclass.setValue.apply(this,arguments),this.editor.setValue(v),this._checkError(),this._checkWaterMark()},getLastValidValue:function(){return this.editor.getLastValidValue()},getLastChangedValue:function(){return this.editor.getLastChangedValue()},getValue:function(){return this.isValid()?BI.trim(this.editor.getValue()):BI.trim(this.editor.getLastValidValue())},isEditing:function(){return this.editor.isEditing()},isValid:function(){return this.editor.isValid()},destroyed:function(){BI.Bubbles.remove(this.getName())}}),BI.Editor.EVENT_CHANGE="EVENT_CHANGE",BI.Editor.EVENT_FOCUS="EVENT_FOCUS",BI.Editor.EVENT_BLUR="EVENT_BLUR",BI.Editor.EVENT_CLICK="EVENT_CLICK",BI.Editor.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.Editor.EVENT_SPACE="EVENT_SPACE",BI.Editor.EVENT_BACKSPACE="EVENT_BACKSPACE",BI.Editor.EVENT_START="EVENT_START",BI.Editor.EVENT_PAUSE="EVENT_PAUSE",BI.Editor.EVENT_STOP="EVENT_STOP",BI.Editor.EVENT_CONFIRM="EVENT_CONFIRM",BI.Editor.EVENT_CHANGE_CONFIRM="EVENT_CHANGE_CONFIRM",BI.Editor.EVENT_VALID="EVENT_VALID",BI.Editor.EVENT_ERROR="EVENT_ERROR",BI.Editor.EVENT_ENTER="EVENT_ENTER",BI.Editor.EVENT_RESTRICT="EVENT_RESTRICT",BI.Editor.EVENT_REMOVE="EVENT_REMOVE",BI.Editor.EVENT_EMPTY="EVENT_EMPTY",BI.shortcut("bi.editor",BI.Editor),BI.MultifileEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.MultifileEditor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-multifile-editor",multiple:!1,maxSize:-1,accept:"",url:""})},_init:function(){var self=this,o=this.options;BI.MultifileEditor.superclass._init.apply(this,arguments),this.file=BI.createWidget({type:"bi.file",cls:"multifile-editor",width:"100%",height:"100%",name:o.name,url:o.url,multiple:o.multiple,accept:o.accept,maxSize:o.maxSize,title:o.title}),this.file.on(BI.File.EVENT_CHANGE,function(){self.fireEvent(BI.MultifileEditor.EVENT_CHANGE,arguments)}),this.file.on(BI.File.EVENT_UPLOADSTART,function(){self.fireEvent(BI.MultifileEditor.EVENT_UPLOADSTART,arguments)}),this.file.on(BI.File.EVENT_ERROR,function(){self.fireEvent(BI.MultifileEditor.EVENT_ERROR,arguments)}),this.file.on(BI.File.EVENT_PROGRESS,function(){self.fireEvent(BI.MultifileEditor.EVENT_PROGRESS,arguments)}),this.file.on(BI.File.EVENT_UPLOADED,function(){self.fireEvent(BI.MultifileEditor.EVENT_UPLOADED,arguments)}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.adaptive",scrollable:!1,items:[this.file]},top:0,right:0,left:0,bottom:0}]})},select:function(){this.file.select()},getValue:function(){return this.file.getValue()},upload:function(){this.file.upload()},reset:function(){this.file.reset()}}),BI.MultifileEditor.EVENT_CHANGE="EVENT_CHANGE",BI.MultifileEditor.EVENT_UPLOADSTART="EVENT_UPLOADSTART",BI.MultifileEditor.EVENT_ERROR="EVENT_ERROR",BI.MultifileEditor.EVENT_PROGRESS="EVENT_PROGRESS",BI.MultifileEditor.EVENT_UPLOADED="EVENT_UPLOADED",BI.shortcut("bi.multifile_editor",BI.MultifileEditor),BI.TextAreaEditor=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.TextAreaEditor.superclass._defaultConfig.apply(),{baseCls:"bi-textarea-editor",value:""})},render:function(){var o=this.options,self=this;this.content=BI.createWidget({type:"bi.layout",tagName:"textarea",width:"100%",height:"100%",cls:"bi-textarea textarea-editor-content display-block"}),this.content.element.css({resize:"none"}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.adaptive",items:[this.content]},left:4,right:4,top:4,bottom:8}]}),this.content.element.on("input propertychange",function(e){self._checkWaterMark(),self.fireEvent(BI.TextAreaEditor.EVENT_CHANGE)}),this.content.element.focus(function(){self.isValid()&&(self._focus(),self.fireEvent(BI.TextAreaEditor.EVENT_FOCUS)),BI.Widget._renderEngine.createElement(document).bind("mousedown."+self.getName(),function(e){BI.DOM.isExist(self)&&!self.element.__isMouseInBounds__(e)&&(BI.Widget._renderEngine.createElement(document).unbind("mousedown."+self.getName()),self.content.element.blur())})}),this.content.element.blur(function(){self.isValid()&&(self._blur(),self.fireEvent(BI.TextAreaEditor.EVENT_BLUR)),BI.Widget._renderEngine.createElement(document).unbind("mousedown."+self.getName())}),BI.isKey(o.value)&&this.setValue(o.value),BI.isNotNull(o.style)&&this.setStyle(o.style),this._checkWaterMark()},_checkWaterMark:function(){var self=this,o=this.options,val=this.getValue();BI.isNotEmptyString(val)?(this.watermark&&this.watermark.destroy(),this.watermark=null):BI.isNotEmptyString(o.watermark)&&(this.watermark?(this.watermark.setText(o.watermark),this.watermark.setValid(!o.invalid),this.watermark.setEnable(!o.disabled)):(this.watermark=BI.createWidget({type:"bi.text_button",cls:"bi-water-mark cursor-default",textAlign:"left",whiteSpace:"normal",text:o.watermark,invalid:o.invalid,disabled:o.disabled}),this.watermark.on(BI.TextButton.EVENT_CHANGE,function(){self.focus()}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.watermark,left:4,top:4,right:0}]})))},_focus:function(){this.content.element.addClass("textarea-editor-focus"),this._checkWaterMark()},_blur:function(){this.content.element.removeClass("textarea-editor-focus"),this._checkWaterMark()},focus:function(){this._focus(),this.content.element.focus()},blur:function(){this._blur(),this.content.element.blur()},getValue:function(){return this.content.element.val()},setValue:function(value){this.content.element.val(value),this._checkWaterMark()},setStyle:function(style){this.style=style,this.element.css(style),this.content.element.css(BI.extend({},style,{color:style.color||BI.DOM.getContrastColor(BI.DOM.isRGBColor(style.backgroundColor)?BI.DOM.rgb2hex(style.backgroundColor):style.backgroundColor)}))},getStyle:function(){return this.style},_setValid:function(b){BI.TextAreaEditor.superclass._setValid.apply(this,arguments)},_setEnable:function(b){BI.TextAreaEditor.superclass._setEnable.apply(this,[b]),this.content&&(this.content.element[0].disabled=!b)}}),BI.TextAreaEditor.EVENT_CHANGE="EVENT_CHANGE",BI.TextAreaEditor.EVENT_BLUR="EVENT_BLUR",BI.TextAreaEditor.EVENT_FOCUS="EVENT_FOCUS",BI.shortcut("bi.textarea_editor",BI.TextAreaEditor),BI.Html=BI.inherit(BI.Single,{props:{baseCls:"bi-html",textAlign:"left",whiteSpace:"normal",lineHeight:null,handler:null,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0,text:"",highLight:!1},render:function(){var self=this,o=this.options;o.hgap+o.lgap>0&&this.element.css({"padding-left":o.hgap+o.lgap+"px"}),o.hgap+o.rgap>0&&this.element.css({"padding-right":o.hgap+o.rgap+"px"}),o.vgap+o.tgap>0&&this.element.css({"padding-top":o.vgap+o.tgap+"px"}),o.vgap+o.bgap>0&&this.element.css({"padding-bottom":o.vgap+o.bgap+"px"}),BI.isNumber(o.height)&&this.element.css({lineHeight:o.height+"px"}),BI.isNumber(o.lineHeight)&&this.element.css({lineHeight:o.lineHeight+"px"}),BI.isWidthOrHeight(o.maxWidth)&&this.element.css({maxWidth:o.maxWidth}),this.element.css({textAlign:o.textAlign,whiteSpace:o.whiteSpace,textOverflow:"nowrap"===o.whiteSpace?"ellipsis":"",overflow:"nowrap"===o.whiteSpace?"":"auto"}),o.handler?(this.text=BI.createWidget({type:"bi.layout",tagName:"span"}),this.text.element.click(function(){o.handler(self.getValue())}),BI.createWidget({type:"bi.default",element:this,items:[this.text]})):this.text=this,BI.isKey(o.text)?this.setText(o.text):BI.isKey(o.value)&&this.setText(o.value),o.highLight&&this.doHighLight()},doHighLight:function(){this.text.element.addClass("bi-high-light")},unHighLight:function(){this.text.element.removeClass("bi-high-light")},setValue:function(text){BI.Html.superclass.setValue.apply(this,arguments),this.isReadOnly()||this.setText(text)},setStyle:function(css){this.text.element.css(css)},setText:function(text){BI.Html.superclass.setText.apply(this,arguments),this.options.text=text,this.text.element.html(text)}}),BI.shortcut("bi.html",BI.Html),BI.Icon=BI.inherit(BI.Single,{_defaultConfig:function(){var conf=BI.Icon.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{tagName:"i",baseCls:(conf.baseCls||"")+" x-icon b-font horizon-center display-block"})},_init:function(){BI.Icon.superclass._init.apply(this,arguments),BI.isIE9Below&&BI.isIE9Below()&&this.element.addClass("hack")}}),BI.shortcut("bi.icon",BI.Icon),BI.Iframe=BI.inherit(BI.Single,{_defaultConfig:function(){var conf=BI.Iframe.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{tagName:"iframe",baseCls:(conf.baseCls||"")+" bi-iframe",src:"",name:"",attributes:{},width:"100%",height:"100%"})},_init:function(){var o=this.options;o.attributes.frameborder="0",o.attributes.src=o.src,o.attributes.name=o.name,BI.Iframe.superclass._init.apply(this,arguments)},setSrc:function(src){this.options.src=src,this.element.attr("src",src)},getSrc:function(){return this.options.src},setName:function(name){this.options.name=name,this.element.attr("name",name)},getName:function(){return this.options.name}}),BI.shortcut("bi.iframe",BI.Iframe),BI.Img=BI.inherit(BI.Single,{_defaultConfig:function(){var conf=BI.Img.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{tagName:"img",baseCls:(conf.baseCls||"")+" bi-img display-block",src:"",attributes:{},width:"100%",height:"100%"})},_init:function(){var o=this.options;o.attributes.src=o.src,BI.Img.superclass._init.apply(this,arguments)},setSrc:function(src){this.options.src=src,this.element.attr("src",src)},getSrc:function(){return this.options.src}}),BI.shortcut("bi.img",BI.Img),BI.ImageCheckbox=BI.inherit(BI.IconButton,{_defaultConfig:function(){var conf=BI.ImageCheckbox.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-image-checkbox check-box-icon",selected:!1,handler:BI.emptyFn,width:16,height:16,iconWidth:16,iconHeight:16})}}),BI.ImageCheckbox.EVENT_CHANGE=BI.IconButton.EVENT_CHANGE,BI.shortcut("bi.image_checkbox",BI.ImageCheckbox),BI.Checkbox=BI.inherit(BI.BasicButton,{props:{baseCls:"bi-checkbox",selected:!1,handler:BI.emptyFn,width:16,height:16,iconWidth:16,iconHeight:16},render:function(){var self=this,o=this.options;return{type:"bi.center_adapt",items:[{type:"bi.default",ref:function(_ref){self.checkbox=_ref},cls:"checkbox-content",width:o.iconWidth-2,height:o.iconHeight-2}]}},_setEnable:function(enable){BI.Checkbox.superclass._setEnable.apply(this,arguments),enable===!0?this.checkbox.element.removeClass("base-disabled disabled"):this.checkbox.element.addClass("base-disabled disabled")},doClick:function(){BI.Checkbox.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.Checkbox.EVENT_CHANGE)},setSelected:function(b){BI.Checkbox.superclass.setSelected.apply(this,arguments),b?this.checkbox.element.addClass("bi-high-light-background"):this.checkbox.element.removeClass("bi-high-light-background")}}),BI.Checkbox.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.checkbox",BI.Checkbox),function(document){var F=function(item){return function(input){var files=input.files||[input];return files.item||(files.item=item),files}}(function(i){return this[i]}),event={add:document.addEventListener?function(node,name,callback){return node.addEventListener(name,callback,!1),this}:function(node,name,callback){return node.attachEvent("on"+name,callback),this},del:document.removeEventListener?function(node,name,callback){return node.removeEventListener(name,callback,!1),this}:function(node,name,callback){return node.detachEvent("on"+name,callback),this},stop:function(e){return e?(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0,e.preventDefault?e.preventDefault():e.returnValue=!1):self.event&&(event.returnValue=!(event.cancelBubble=!0)),!1}},sendFile=function(toString){var multipart=function(boundary,name,file){return"--".concat(boundary,CRLF,'Content-Disposition: form-data; name="',name,'"; filename="',_global.encodeURIComponent(file.fileName),'"',CRLF,"Content-Type: application/octet-stream",CRLF,CRLF,file.getAsBinary(),CRLF,"--",boundary,"--",CRLF)},isFunction=function(Function){return"[object Function]"===toString.call(Function)},split="onabort.onerror.onloadstart.onprogress".split("."),length=split.length,CRLF="\r\n",xhr=this.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),sendFile;return sendFile=xhr.upload||xhr.sendAsBinary?function(handler,maxSize,width,height){if(-1<maxSize&&maxSize<handler.file.fileSize)return void(isFunction(handler.onerror)&&handler.onerror());for(var xhr=new XMLHttpRequest,upload=xhr.upload||{addEventListener:function(event,callback){this["on"+event]=callback}},i=0;i<length;i++)upload.addEventListener(split[i].substring(2),function(event){return function(rpe){isFunction(handler[event])&&handler[event](rpe,xhr)}}(split[i]),!1);if(upload.addEventListener("load",function(rpe){handler.onreadystatechange===!1?isFunction(handler.onload)&&handler.onload(rpe,xhr):setTimeout(function(){4===xhr.readyState?isFunction(handler.onload)&&handler.onload(rpe,xhr):setTimeout(arguments.callee,15)},15)},!1),xhr.open("post",handler.url+"&filename="+_global.encodeURIComponent(handler.file.fileName),!0),xhr.upload)xhr.onreadystatechange=function(){switch(xhr.readyState){case 4:var attachO=BI.jsonDecode(xhr.responseText);handler.file.type.indexOf("image")!=-1&&(attachO.attach_type="image"),attachO.filename=handler.file.fileName,1==handler.maxlength?handler.attach_array[0]=attachO:handler.attach_array.push(attachO)}},isFunction(upload.onloadstart)&&upload.onloadstart();else{var rpe={loaded:0,total:handler.file.fileSize||handler.file.size,simulation:!0};rpe.interval=setInterval(function(){rpe.loaded+=256,rpe.total<=rpe.loaded&&(rpe.loaded=rpe.total),upload.onprogress(rpe);
},100),xhr.onabort=function(){upload.onabort({})},xhr.onerror=function(){upload.onerror({})},xhr.onreadystatechange=function(){switch(xhr.readyState){case 2:case 3:rpe.total<=rpe.loaded&&(rpe.loaded=rpe.total),upload.onprogress(rpe);break;case 4:if(clearInterval(rpe.interval),rpe.interval=0,rpe.loaded=rpe.total,upload.onprogress(rpe),199<xhr.status&&xhr.status<400){upload.onload({});var attachO=BI.jsonDecode(xhr.responseText);attachO.filename=handler.file.fileName,handler.file.type.indexOf("image")!=-1&&(attachO.attach_type="image"),handler.attach_array.push(attachO)}else upload.onerror({})}},upload.onloadstart(rpe)}var boundary="AjaxUploadBoundary"+(new Date).getTime();if(xhr.setRequestHeader("Content-Type","multipart/form-data; boundary="+boundary),handler.file.getAsBinary)xhr[xhr.sendAsBinary?"sendAsBinary":"send"](multipart(boundary,handler.name,handler.file));else{xhr.setRequestHeader("Content-Type","multipart/form-data");var form=new FormData;form.append("FileData",handler.file),xhr.send(form)}return handler}:function(handler,maxSize,width,height){var url=handler.url.concat(-1===handler.url.indexOf("?")?"?":"&","AjaxUploadFrame=true"),rpe={loaded:1,total:100,simulation:!0,interval:setInterval(function(){rpe.loaded<rpe.total&&++rpe.loaded,isFunction(handler.onprogress)&&handler.onprogress(rpe,{})},100)},onload=function(){iframe.onreadystatechange=iframe.onload=iframe.onerror=null,form.parentNode.removeChild(form),form=null,clearInterval(rpe.interval);try{var responseText=(iframe.contentWindow.document||iframe.contentWindow.contentDocument).body.innerHTML,attachO=BI.jsonDecode(responseText);handler.file.type.indexOf("image")!=-1&&(attachO.attach_type="image"),attachO.filename=_global.decodeURIComponent(handler.file.fileName),1==handler.maxlength?handler.attach_array[0]=attachO:handler.attach_array.push(attachO)}catch(e){isFunction(handler.onerror)&&handler.onerror(rpe,event||_global.event)}isFunction(handler.onload)&&handler.onload(rpe,{responseText:responseText})},target=["AjaxUpload",(new Date).getTime(),String(Math.random()).substring(2)].join("_");try{var form=document.createElement('<form enctype="multipart/form-data"></form>'),iframe=handler.iframe||(handler.iframe=document.createElement('<iframe id="'+target+'" name="'+target+'" src="'+url+'"></iframe>'))}catch(e){var form=document.createElement("form"),iframe=handler.iframe||(handler.iframe=document.createElement("iframe"));form.setAttribute("enctype","multipart/form-data"),iframe.setAttribute("name",iframe.id=target),iframe.setAttribute("src",url)}with(iframe.style.position="absolute",iframe.style.left=iframe.style.top="-10000px",iframe.onload=onload,iframe.onerror=function(event){isFunction(handler.onerror)&&handler.onerror(rpe,event||_global.event)},iframe.onreadystatechange=function(){/loaded|complete/i.test(iframe.readyState)?onload():isFunction(handler.onloadprogress)&&(rpe.loaded<rpe.total&&++rpe.loaded,handler.onloadprogress(rpe,{readyState:{loading:2,interactive:3,loaded:4,complete:4}[iframe.readyState]||1}))},form.setAttribute("action",handler.url+"&filename="+_global.encodeURIComponent(handler.file.fileName)),form.setAttribute("target",iframe.id),form.setAttribute("method","post"),form.appendChild(handler.file),form.style.display="none",isFunction(handler.onloadstart)&&handler.onloadstart(rpe,{}),document.body||document.documentElement)appendChild(iframe),appendChild(form),form.submit();return handler},xhr=null,sendFile}(Object.prototype.toString),sendFiles=function(handler,maxSize,width,height){var length=handler.files.length,i=0,onload=handler.onload,onloadstart=handler.onloadstart;for(handler.current=0,handler.total=0,handler.sent=0;handler.current<length;)handler.total+=handler.files[handler.current].fileSize||handler.files[handler.current].size,handler.current++;return handler.current=0,length&&handler.files[0].fileSize!==-1?(handler.file=handler.files[handler.current],sendFile(handler,maxSize,width,height).onload=function(rpe,xhr){handler.onloadstart=null,handler.sent+=handler.files[handler.current].fileSize||handler.files[handler.current].size,++handler.current<length?(handler.file=handler.files[handler.current],sendFile(handler,maxSize,width,height).onload=arguments.callee):onload&&(handler.onloadstart=onloadstart,handler.onload=onload,handler.onload(rpe,xhr))}):length&&(handler.total=100*length,handler.file=handler.files[handler.current],sendFile(handler,maxSize,width,height).onload=function(rpe,xhr){var callee=arguments.callee;handler.onloadstart=null,handler.sent+=100,++handler.current<length?(/\b(chrome|safari)\b/i.test(navigator.userAgent)&&(handler.iframe.parentNode.removeChild(handler.iframe),handler.iframe=null),setTimeout(function(){handler.file=handler.files[handler.current],sendFile(handler,maxSize,width,height).onload=callee},15)):onload&&setTimeout(function(){handler.iframe.parentNode.removeChild(handler.iframe),handler.iframe=null,handler.onloadstart=onloadstart,handler.onload=onload,handler.onload(rpe,xhr)},15)}),handler};BI.File=BI.inherit(BI.Single,{_defaultConfig:function(){var conf=BI.File.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-file display-block",tagName:"input",attributes:{type:"file"},name:"",url:"",multiple:!0,accept:"",maxSize:-1})},_init:function(){var self=this,o=this.options;BI.File.superclass._init.apply(this,arguments),o.multiple===!0&&this.element.attr("multiple","multiple"),this.element.attr("name",o.name||this.getName()),this.element.attr("title",o.title||"")},created:function(){var self=this,o=this.options,_wrap=this.wrap=this._wrap(this.element[0],o.maxSize);_wrap.onloadstart=function(rpe,xhr){self.fireEvent(BI.File.EVENT_UPLOADSTART,arguments)},_wrap.onprogress=function(rpe,xhr){this.file.fileSize!==-1&&rpe.simulation,self.fireEvent(BI.File.EVENT_PROGRESS,{file:this.file,total:rpe.total,loaded:rpe.loaded,simulation:rpe.simulation})},_wrap.onerror=function(){self.fireEvent(BI.File.EVENT_ERROR)},_wrap.onload=function(rpe,xhr){var self_=this;setTimeout(function(){if(self_.clean(),self_.hide(),200>xhr.status||xhr.status>399)return BI.Msg.toast(BI.i18nText("BI-Upload_File_Error"),{level:"error"}),void self.fireEvent(BI.File.EVENT_ERROR);var error=BI.some(_wrap.attach_array,function(index,attach){if(attach.errorCode)return BI.Msg.toast(attach.errorMsg,{level:"error"}),self.fireEvent(BI.File.EVENT_ERROR,attach),!0});!error&&self.fireEvent(BI.File.EVENT_UPLOADED)},1e3)},_wrap.url=o.url,_wrap.fileType=o.accept,_wrap.attach_array=[],_wrap.attach_names=[],_wrap.attachNum=0},_events:function(wrap){var self=this;return event.add(wrap.dom.input,"change",function(){event.del(wrap.dom.input,"change",arguments.callee);for(var input=wrap.dom.input.cloneNode(!0),i=0,files=F(wrap.dom.input);i<files.length;i++){var item=files.item(i),tempFile=item.value||item.name,value=item.fileName||(item.fileName=tempFile.split("\\").pop()),ext=-1!==value.indexOf(".")?value.split(".").pop().toLowerCase():"unknown",size=item.fileSize||item.size;wrap.fileType&&-1===wrap.fileType.indexOf("*."+ext)?(BI.Msg.toast(BI.i18nText("BI-Upload_File_Type_Error"),{level:"error"}),self.fireEvent(BI.File.EVENT_ERROR,{errorType:0,file:item})):wrap.maxSize!==-1&&size&&wrap.maxSize<size?(BI.Msg.toast(BI.i18nText("BI-Upload_File_Size_Error"),{level:"error"}),self.fireEvent(BI.File.EVENT_ERROR,{errorType:1,file:item})):wrap.files.unshift(item)}wrap.files.length>0&&self.fireEvent(BI.File.EVENT_CHANGE,{files:wrap.files}),input.value="",wrap.dom.input.parentNode.replaceChild(input,wrap.dom.input),wrap.dom.input=input,event.add(wrap.dom.input,"change",arguments.callee)}),wrap},_wrap:function(){var self=this,o=this.options,input=this.element[0];return o.multiple===!0&&this.element.attr("multiple","multiple"),input.value="",this._events({dom:{input:input,disabled:!1},name:input.name,maxSize:o.maxSize?o.maxSize>>0:-1,files:[],clean:function(){this.files=[]},upload:function(handler){if(handler)for(var key in handler)this[key]=handler[key];return sendFiles(this,this.maxSize),this},hide:function(){this.dom.disabled&&(this.dom.disabled=!1,this.dom.input.removeAttribute("disabled"))},show:function(total,current,totalProp,currentProp){this.dom.disabled||(this.dom.disabled=!0,this.dom.input.setAttribute("disabled","disabled"))}})},select:function(){this.wrap&&BI.Widget._renderEngine.createElement(this.wrap.dom.input).click()},upload:function(handler){this.wrap&&this.wrap.upload(handler)},getValue:function(){return this.wrap?this.wrap.attach_array:[]},reset:function(){this.wrap&&(this.wrap.attach_array=[],this.wrap.attach_names=[],this.wrap.attachNum=0)},_setEnable:function(enable){BI.File.superclass._setEnable.apply(this,arguments),enable===!0?this.element.attr("disabled","disabled"):this.element.removeAttr("disabled")}}),BI.File.EVENT_CHANGE="EVENT_CHANGE",BI.File.EVENT_UPLOADSTART="EVENT_UPLOADSTART",BI.File.EVENT_ERROR="EVENT_ERROR",BI.File.EVENT_PROGRESS="EVENT_PROGRESS",BI.File.EVENT_UPLOADED="EVENT_UPLOADED",BI.shortcut("bi.file",BI.File)}(_global.document||{}),BI.Input=BI.inherit(BI.Single,{_defaultConfig:function(){var conf=BI.Input.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-input display-block overflow-dot",tagName:"input",validationChecker:BI.emptyFn,quitChecker:BI.emptyFn,allowBlank:!1})},_init:function(){BI.Input.superclass._init.apply(this,arguments);var self=this,ctrlKey=!1,keyCode=null,inputEventValid=!1,_keydown=BI.debounce(function(keyCode){self.onKeyDown(keyCode,ctrlKey),self._keydown_=!1},300),_clk=BI.debounce(BI.bind(this._click,this),BI.EVENT_RESPONSE_TIME,{leading:!0,trailing:!1});this._focusDebounce=BI.debounce(BI.bind(this._focus,this),BI.EVENT_RESPONSE_TIME,{leading:!0,trailing:!1}),this._blurDebounce=BI.debounce(BI.bind(this._blur,this),BI.EVENT_RESPONSE_TIME,{leading:!0,trailing:!1}),this.element.keydown(function(e){inputEventValid=!1,ctrlKey=e.ctrlKey||e.metaKey,keyCode=e.keyCode,self.fireEvent(BI.Input.EVENT_QUICK_DOWN,arguments)}).keyup(function(e){keyCode=null,inputEventValid&&e.keyCode===BI.KeyCode.ENTER||(self._keydown_=!0,_keydown(e.keyCode))}).on("input propertychange",function(e){var originalEvent=e.originalEvent;(BI.isNull(originalEvent.propertyName)||"value"===originalEvent.propertyName)&&(inputEventValid=!0,self._keydown_=!0,_keydown(keyCode),keyCode=null)}).click(function(e){e.stopPropagation(),_clk()}).mousedown(function(e){self.element.val(self.element.val())}).focus(function(e){self._focusDebounce()}).focusout(function(e){self._blurDebounce()}),(BI.isKey(this.options.value)||BI.isEmptyString(this.options.value))&&this.setValue(this.options.value)},_focus:function(){this.element.addClass("bi-input-focus"),this._checkValidationOnValueChange(),this._isEditing=!0,""==this.getValue()&&(this.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.EMPTY,this.getValue(),this),this.fireEvent(BI.Input.EVENT_EMPTY)),this.fireEvent(BI.Input.EVENT_FOCUS)},_blur:function(){function blur(){if(self.isValid()||self.options.quitChecker.apply(self,[BI.trim(self.getValue())])===!1||(self.element.val(self._lastValidValue?self._lastValidValue:""),self._checkValidationOnValueChange(),self._defaultState()),self.element.removeClass("bi-input-focus"),self._isEditing=!1,self._start=!1,self.isValid()){var lastValidValue=self._lastValidValue;self._lastValidValue=self.getValue(),self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.CONFIRM,self.getValue(),self),self.fireEvent(BI.Input.EVENT_CONFIRM),self._lastValidValue!==lastValidValue&&self.fireEvent(BI.Input.EVENT_CHANGE_CONFIRM)}self.fireEvent(BI.Input.EVENT_BLUR)}var self=this;self._keydown_===!0?BI.delay(blur,300):blur()},_click:function(){this._isEditing!==!0&&(this.selectAll(),this.fireEvent(BI.Input.EVENT_CLICK))},onClick:function(){this._click()},onKeyDown:function(keyCode,ctrlKey){this.isValid()&&BI.trim(this._lastChangedValue)===BI.trim(this.getValue())||this._checkValidationOnValueChange(),this.isValid()&&""!==BI.trim(this.getValue())&&((BI.trim(this.getValue())===this._lastValue||this._start&&null!=this._lastValue&&""!==this._lastValue)&&(this._pause!==!0||/(\s|\u00A0)$/.test(this.getValue()))||(this._start=!0,this._pause=!1,this.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.STARTEDIT,this.getValue(),this),this.fireEvent(BI.Input.EVENT_START))),keyCode==BI.KeyCode.ENTER&&(this.isValid()||this.options.quitChecker.apply(this,[BI.trim(this.getValue())])!==!1?(this.blur(),this.fireEvent(BI.Input.EVENT_ENTER)):this.fireEvent(BI.Input.EVENT_RESTRICT)),keyCode==BI.KeyCode.SPACE&&this.fireEvent(BI.Input.EVENT_SPACE),keyCode==BI.KeyCode.BACKSPACE&&""==this._lastValue&&this.fireEvent(BI.Input.EVENT_REMOVE),keyCode!=BI.KeyCode.BACKSPACE&&keyCode!=BI.KeyCode.DELETE||this.fireEvent(BI.Input.EVENT_BACKSPACE),this.fireEvent(BI.Input.EVENT_KEY_DOWN,arguments);var lastValue=this._lastValue;BI.trim(this.getValue())!==BI.trim(this._lastValue||"")&&this._valueChange(),BI.isEndWithBlank(this.getValue())?(this._pause=!0,this.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.PAUSE,"",this),this.fireEvent(BI.Input.EVENT_PAUSE),this._defaultState()):keyCode!==BI.KeyCode.BACKSPACE&&keyCode!==BI.KeyCode.DELETE||""!==BI.trim(this.getValue())||null===lastValue||""===BI.trim(lastValue)||(this.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.STOPEDIT,this.getValue(),this),this.fireEvent(BI.Input.EVENT_STOP))},_defaultState:function(){""==this.getValue()&&(this.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.EMPTY,this.getValue(),this),this.fireEvent(BI.Input.EVENT_EMPTY)),this._lastValue=this.getValue(),this._lastSubmitValue=null},_valueChange:function(){this.isValid()&&BI.trim(this.getValue())!==this._lastSubmitValue&&(this.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.CHANGE,this.getValue(),this),this.fireEvent(BI.Input.EVENT_CHANGE),this._lastSubmitValue=BI.trim(this.getValue())),""==this.getValue()&&(this.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.EMPTY,this.getValue(),this),this.fireEvent(BI.Input.EVENT_EMPTY)),this._lastValue=this.getValue()},_checkValidationOnValueChange:function(){var o=this.options,v=this.getValue();this.setValid(o.allowBlank===!0&&""==BI.trim(v)||BI.isNotEmptyString(BI.trim(v))&&o.validationChecker.apply(this,[BI.trim(v)])!==!1)},focus:function(){if(!this.element.is(":visible"))throw new Error("input输入框在不可见下不能focus");!this._isEditing==!0&&(this.element.focus(),this.selectAll())},blur:function(){if(!this.element.is(":visible"))throw new Error("input输入框在不可见下不能blur");this._isEditing===!0&&(this.element.blur(),this._blurDebounce())},selectAll:function(){if(!this.element.is(":visible"))throw new Error("input输入框在不可见下不能select");this.element.select(),this._isEditing=!0},setValue:function(textValue){this.element.val(textValue),BI.nextTick(BI.bind(function(){this._checkValidationOnValueChange(),this._defaultState(),this.isValid()&&(this._lastValidValue=this._lastSubmitValue=this.getValue())},this))},getValue:function(){return this.element.val()||""},isEditing:function(){return this._isEditing},getLastValidValue:function(){return this._lastValidValue},getLastChangedValue:function(){return this._lastChangedValue},_setValid:function(){BI.Input.superclass._setValid.apply(this,arguments),this.isValid()?(this._lastChangedValue=this.getValue(),this.element.removeClass("bi-input-error"),this.fireEvent(BI.Input.EVENT_VALID,BI.trim(this.getValue()),this)):(this._lastChangedValue===this.getValue()&&(this._lastChangedValue=null),this.element.addClass("bi-input-error"),this.fireEvent(BI.Input.EVENT_ERROR,BI.trim(this.getValue()),this))},_setEnable:function(b){BI.Input.superclass._setEnable.apply(this,[b]),this.element[0].disabled=!b}}),BI.Input.EVENT_CHANGE="EVENT_CHANGE",BI.Input.EVENT_FOCUS="EVENT_FOCUS",BI.Input.EVENT_CLICK="EVENT_CLICK",BI.Input.EVENT_BLUR="EVENT_BLUR",BI.Input.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.Input.EVENT_QUICK_DOWN="EVENT_QUICK_DOWN",BI.Input.EVENT_SPACE="EVENT_SPACE",BI.Input.EVENT_BACKSPACE="EVENT_BACKSPACE",BI.Input.EVENT_START="EVENT_START",BI.Input.EVENT_PAUSE="EVENT_PAUSE",BI.Input.EVENT_STOP="EVENT_STOP",BI.Input.EVENT_CHANGE_CONFIRM="EVENT_CHANGE_CONFIRM",BI.Input.EVENT_CONFIRM="EVENT_CONFIRM",BI.Input.EVENT_REMOVE="EVENT_REMOVE",BI.Input.EVENT_EMPTY="EVENT_EMPTY",BI.Input.EVENT_VALID="EVENT_VALID",BI.Input.EVENT_ERROR="EVENT_ERROR",BI.Input.EVENT_ENTER="EVENT_ENTER",BI.Input.EVENT_RESTRICT="EVENT_RESTRICT",BI.shortcut("bi.input",BI.Input),BI.ImageRadio=BI.inherit(BI.IconButton,{_defaultConfig:function(){var conf=BI.ImageRadio.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-radio radio-icon",selected:!1,handler:BI.emptyFn,width:16,height:16,iconWidth:16,iconHeight:16})},_init:function(){BI.ImageRadio.superclass._init.apply(this,arguments)},doClick:function(){BI.ImageRadio.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.ImageRadio.EVENT_CHANGE)}}),BI.ImageRadio.EVENT_CHANGE=BI.IconButton.EVENT_CHANGE,BI.shortcut("bi.image_radio",BI.ImageRadio),BI.Radio=BI.inherit(BI.BasicButton,{props:{baseCls:"bi-radio",selected:!1,handler:BI.emptyFn,width:16,height:16,iconWidth:14,iconHeight:14},render:function(){var self=this,o=this.options;return{type:"bi.center_adapt",element:this.element,items:[{type:"bi.layout",cls:"radio-content",ref:function(_ref){self.radio=_ref},width:o.iconWidth,height:o.iconHeight}]}},_setEnable:function(enable){BI.Radio.superclass._setEnable.apply(this,arguments),enable===!0?this.radio.element.removeClass("base-disabled disabled"):this.radio.element.addClass("base-disabled disabled")},doClick:function(){BI.Radio.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.Radio.EVENT_CHANGE)},setSelected:function(b){BI.Radio.superclass.setSelected.apply(this,arguments),b?this.radio.element.addClass("bi-high-light-background"):this.radio.element.removeClass("bi-high-light-background")}}),BI.Radio.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.radio",BI.Radio),BI.AbstractLabel=BI.inherit(BI.Single,{_defaultConfig:function(props){var conf=BI.AbstractLabel.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{textAlign:"center",whiteSpace:"nowrap",textWidth:null,textHeight:null,hgap:0,vgap:0,lgap:0,rgap:0,tgap:0,bgap:0,text:"",highLight:!1})},_createJson:function(){var o=this.options;return{type:"bi.text",textAlign:o.textAlign,whiteSpace:o.whiteSpace,lineHeight:o.textHeight,text:o.text,value:o.value,py:o.py,keyword:o.keyword,highLight:o.highLight}},_init:function(){BI.AbstractLabel.superclass._init.apply(this,arguments),"center"===this.options.textAlign?this._createCenterEl():this._createNotCenterEl()},_createCenterEl:function(){var o=this.options,json=this._createJson();return json.textAlign="left",BI.isNumber(o.width)&&o.width>0?BI.isNumber(o.textWidth)&&o.textWidth>0?(json.maxWidth=o.textWidth,BI.isNumber(o.height)&&o.height>0?void BI.createWidget({type:"bi.center_adapt",height:o.height,scrollable:"normal"===o.whiteSpace,element:this,items:[{el:this.text=BI.createWidget(json)}]}):void BI.createWidget({type:"bi.center_adapt",scrollable:"normal"===o.whiteSpace,element:this,items:[{el:this.text=BI.createWidget(json)}]})):"normal"==o.whiteSpace?(BI.extend(json,{hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap}),this.text=BI.createWidget(json),void BI.createWidget({type:"bi.center_adapt",scrollable:"normal"===o.whiteSpace,element:this,items:[this.text]})):BI.isNumber(o.height)&&o.height>0?(this.element.css({"line-height":o.height+"px"}),json.textAlign=o.textAlign,void(this.text=BI.createWidget(BI.extend(json,{element:this,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap})))):(BI.extend(json,{hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,maxWidth:"100%"}),this.text=BI.createWidget(json),void BI.createWidget({type:"bi.center_adapt",scrollable:"normal"===o.whiteSpace,element:this,items:[this.text]})):BI.isNumber(o.textWidth)&&o.textWidth>0?(json.maxWidth=o.textWidth,void BI.createWidget({type:"bi.center_adapt",scrollable:"normal"===o.whiteSpace,element:this,items:[{el:this.text=BI.createWidget(json)}]})):"normal"==o.whiteSpace?(BI.extend(json,{hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap}),this.text=BI.createWidget(json),void BI.createWidget({type:"bi.center_adapt",scrollable:!0,element:this,items:[this.text]})):BI.isNumber(o.height)&&o.height>0?(this.element.css({"line-height":o.height+"px"}),json.textAlign=o.textAlign,void(this.text=BI.createWidget(BI.extend(json,{element:this,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap})))):(BI.extend(json,{hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap}),this.text=BI.createWidget(BI.extend(json,{maxWidth:"100%"})),void BI.createWidget({type:"bi.center_adapt",element:this,items:[this.text]}))},_createNotCenterEl:function(){var o=this.options,adaptLayout="right"===o.textAlign?"bi.right_vertical_adapt":"bi.vertical_adapt",json=this._createJson();return BI.isNumber(o.width)&&o.width>0?BI.isNumber(o.textWidth)&&o.textWidth>0?(json.width=o.textWidth,BI.isNumber(o.height)&&o.height>0?void BI.createWidget({type:adaptLayout,height:o.height,scrollable:"normal"===o.whiteSpace,element:this,items:[{el:this.text=BI.createWidget(json)}]}):void BI.createWidget({type:adaptLayout,scrollable:"normal"===o.whiteSpace,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,element:this,items:[{el:this.text=BI.createWidget(json)}]})):BI.isNumber(o.height)&&o.height>0?(this.text=BI.createWidget(BI.extend(json,{element:this,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap})),void("normal"!==o.whiteSpace&&this.element.css({"line-height":o.height-2*o.vgap+"px"}))):(json.width=o.width-2*o.hgap-o.lgap-o.rgap,void BI.createWidget({type:adaptLayout,scrollable:"normal"===o.whiteSpace,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,element:this,items:[{el:this.text=BI.createWidget(json)}]})):BI.isNumber(o.textWidth)&&o.textWidth>0?(json.width=o.textWidth,void BI.createWidget({type:adaptLayout,scrollable:"normal"===o.whiteSpace,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,element:this,items:[{el:this.text=BI.createWidget(json)}]})):BI.isNumber(o.height)&&o.height>0?("normal"!==o.whiteSpace&&this.element.css({"line-height":o.height-2*o.vgap+"px"}),void(this.text=BI.createWidget(BI.extend(json,{element:this,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap})))):(BI.extend(json,{hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap}),this.text=BI.createWidget(BI.extend(json,{maxWidth:"100%"})),void BI.createWidget({type:adaptLayout,element:this,items:[this.text]}))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},setText:function(v){this.options.text=v,this.text.setText(v)},getText:function(){return this.options.text},setStyle:function(css){this.text.setStyle(css)},setValue:function(v){BI.AbstractLabel.superclass.setValue.apply(this,arguments),this.isReadOnly()||this.text.setValue(v)},populate:function(){BI.AbstractLabel.superclass.populate.apply(this,arguments)}}),BI.HtmlLabel=BI.inherit(BI.AbstractLabel,{props:{baseCls:"bi-html-label"},_createJson:function(){var o=this.options;return{type:"bi.html",textAlign:o.textAlign,whiteSpace:o.whiteSpace,lineHeight:o.textHeight,text:o.text,value:o.value}}}),BI.shortcut("bi.html_label",BI.HtmlLabel),BI.IconLabel=BI.inherit(BI.Single,{props:{baseCls:"bi-icon-label horizon-center",iconWidth:null,iconHeight:null},_init:function(){BI.IconLabel.superclass._init.apply(this,arguments);var o=this.options;this.element.css({textAlign:"center"}),this.icon=BI.createWidget({type:"bi.icon",width:o.iconWidth,height:o.iconHeight}),BI.isNumber(o.height)&&o.height>0&&BI.isNull(o.iconWidth)&&BI.isNull(o.iconHeight)?(this.element.css("lineHeight",o.height+"px"),BI.createWidget({type:"bi.default",element:this,items:[this.icon]})):(this.element.css("lineHeight","1"),BI.createWidget({element:this,type:"bi.center_adapt",items:[this.icon]}))}}),BI.shortcut("bi.icon_label",BI.IconLabel),BI.Label=BI.inherit(BI.AbstractLabel,{props:{baseCls:"bi-label",py:"",keyword:""},_createJson:function(){var o=this.options;return{type:"bi.text",textAlign:o.textAlign,whiteSpace:o.whiteSpace,lineHeight:o.textHeight,text:o.text,value:o.value,py:o.py,keyword:o.keyword,highLight:o.highLight}},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)}}),BI.shortcut("bi.label",BI.Label),BI.Link=BI.inherit(BI.Label,{_defaultConfig:function(){var conf=BI.Link.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-link display-block",tagName:"a",href:"",target:"_blank"})},_createJson:function(){var o=this.options;return{type:"bi.a",textAlign:o.textAlign,whiteSpace:o.whiteSpace,lineHeight:o.textHeight,text:o.text,keyword:o.keyword,value:o.value,py:o.py,href:o.href,target:o.target}},_init:function(){BI.Link.superclass._init.apply(this,arguments)}}),BI.shortcut("bi.link",BI.Link),BI.Bubble=BI.inherit(BI.Tip,{_defaultConfig:function(){return BI.extend(BI.Bubble.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-bubble",direction:"top",text:"",level:"error",height:18})},_init:function(){BI.Bubble.superclass._init.apply(this,arguments);var fn=function(e){return e.stopPropagation(),e.stopEvent(),!1};this.element.bind({click:fn,mousedown:fn,mouseup:fn,mouseover:fn,mouseenter:fn,mouseleave:fn,mousemove:fn}),BI.createWidget({type:"bi.left",element:this,items:[this["_"+this.options.direction]()]})},_createBubbleText:function(){var o=this.options;return this.text=BI.createWidget({type:"bi.label",cls:"bubble-text bubble-"+o.level,text:o.text,hgap:5,height:18})},_top:function(){return BI.createWidget({type:"bi.vertical",items:[{el:this._createBubbleText(),height:18},{el:{type:"bi.layout"},height:3}]})},_bottom:function(){return BI.createWidget({type:"bi.vertical",items:[{el:{type:"bi.layout"},height:3},{el:this._createBubbleText(),height:18}]})},_left:function(){return BI.createWidget({type:"bi.right",items:[{el:{type:"bi.layout",width:3,height:18}},{el:this._createBubbleText()}]})},_right:function(){return BI.createWidget({type:"bi.left",items:[{el:{type:"bi.layout",width:3,height:18}},{el:this._createBubbleText()}]})},setText:function(text){this.text.setText(text)}}),BI.shortcut("bi.bubble",BI.Bubble),BI.Toast=BI.inherit(BI.Tip,{_const:{minWidth:200,hgap:10},_defaultConfig:function(){return BI.extend(BI.Toast.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-toast",text:"",level:"success"})},_init:function(){BI.Toast.superclass._init.apply(this,arguments);var self=this,o=this.options;this.element.css({minWidth:this._const.minWidth+"px"}),this.element.addClass("toast-"+o.level);var fn=function(e){return e.stopPropagation(),e.stopEvent(),!1};this.element.bind({click:fn,mousedown:fn,mouseup:fn,mouseover:fn,mouseenter:fn,mouseleave:fn,mousemove:fn});var cls="close-font";switch(o.level){case"success":cls="toast-success-font";break;case"error":cls="toast-error-font";break;case"warning":cls="toast-warning-font";break;case"normal":default:cls="toast-message-font"}var items=[{type:"bi.icon_label",cls:cls+" toast-icon",width:36},{el:{type:"bi.label",whiteSpace:"normal",text:o.text,textHeight:16,textAlign:"left"},rgap:o.autoClose?this._const.hgap:0}],columnSize=[36,""];o.autoClose===!1&&(items.push({type:"bi.icon_button",cls:"close-font toast-icon",handler:function(){self.destroy()},width:36}),columnSize.push(36)),this.text=BI.createWidget({type:"bi.horizontal_adapt",element:this,items:items,vgap:7,columnSize:columnSize})},setText:function(text){this.text.setText(text)},beforeDestroy:function(){this.fireEvent(BI.Toast.EVENT_DESTORY)}}),BI.Toast.EVENT_DESTORY="EVENT_DESTORY",BI.shortcut("bi.toast",BI.Toast),BI.Tooltip=BI.inherit(BI.Tip,{_const:{hgap:5,vgap:3},_defaultConfig:function(){return BI.extend(BI.Tooltip.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-tooltip",text:"",level:"success",stopEvent:!1,stopPropagation:!1})},_init:function(){BI.Tooltip.superclass._init.apply(this,arguments);var self=this,o=this.options;this.element.addClass("tooltip-"+o.level);var fn=function(e){o.stopPropagation&&e.stopPropagation(),o.stopEvent&&e.stopEvent()};this.element.bind({click:fn,mousedown:fn,mouseup:fn,mouseover:fn,mouseenter:fn,mouseleave:fn,mousemove:fn});var texts=(o.text+"").split("\n");texts.length>1?BI.createWidget({type:"bi.vertical",element:this,hgap:this._const.hgap,items:BI.map(texts,function(i,text){return{type:"bi.label",textAlign:"left",whiteSpace:"normal",text:text,textHeight:18}})}):this.text=BI.createWidget({type:"bi.label",element:this,textAlign:"left",whiteSpace:"normal",text:o.text,textHeight:18,hgap:this._const.hgap})},setWidth:function(width){this.element.width(width-2*this._const.hgap)},setText:function(text){this.text&&this.text.setText(text)},setLevel:function(level){this.element.removeClass("tooltip-success").removeClass("tooltip-warning"),this.element.addClass("tooltip-"+level)}}),BI.shortcut("bi.tooltip",BI.Tooltip),BI.Trigger=BI.inherit(BI.Single,{_defaultConfig:function(){var conf=BI.Trigger.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{_baseCls:(conf._baseCls||"")+" bi-trigger cursor-pointer",height:24})},_init:function(){BI.Trigger.superclass._init.apply(this,arguments)},setKey:function(){},getKey:function(){}}),BI.CustomTree=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.CustomTree.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-custom-tree",expander:{el:{},popup:{type:"bi.custom_tree"}},items:[],itemsCreator:BI.emptyFn,el:{type:"bi.button_tree",chooseType:0,layouts:[{type:"bi.vertical"}]}})},_init:function(){BI.CustomTree.superclass._init.apply(this,arguments),this.initTree(this.options.items)},_formatItems:function(nodes){var self=this,o=this.options;nodes=BI.Tree.transformToTreeFormat(nodes);var items=[];return BI.each(nodes,function(i,node){if(BI.isNotEmptyArray(node.children)||node.isParent===!0){var item=BI.extend({type:"bi.expander",el:{value:node.value},popup:{type:"bi.custom_tree"}},BI.deepClone(o.expander),{id:node.id,pId:node.pId}),el=BI.stripEL(node);BI.isWidget(el)?item.el=el:(el=BI.clone(el),delete el.children,BI.extend(item.el,el)),item.popup.expander=BI.deepClone(o.expander),item.items=item.popup.items=node.children,item.itemsCreator=item.popup.itemsCreator=function(op){if(BI.isNotNull(op.node))return o.itemsCreator.apply(self,arguments);var args=Array.prototype.slice.call(arguments,0);return args[0].node=node,o.itemsCreator.apply(self,args)},BI.isNull(item.popup.el)&&(item.popup.el=BI.deepClone(o.el)),items.push(item)}else items.push(node)}),items},initTree:function(nodes){var self=this,o=this.options;this.tree=BI.createWidget(o.el,{element:this,items:this._formatItems(nodes),itemsCreator:function(op,callback){o.itemsCreator.apply(this,[op,function(items){var args=Array.prototype.slice.call(arguments,0);args[0]=self._formatItems(items),callback.apply(null,args)}])},value:o.value}),this.tree.on(BI.Controller.EVENT_CHANGE,function(type,val,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.CustomTree.EVENT_CHANGE,val,obj)})},stroke:function(nodes){this.populate.apply(this,arguments)},populate:function(nodes){var args=Array.prototype.slice.call(arguments,0);arguments.length>0&&(args[0]=this._formatItems(nodes)),this.tree.populate.apply(this.tree,args)},setValue:function(v){this.tree&&this.tree.setValue(v)},getValue:function(){return this.tree?this.tree.getValue():[]},getAllButtons:function(){return this.tree?this.tree.getAllButtons():[]},getAllLeaves:function(){
return this.tree?this.tree.getAllLeaves():[]},getNodeById:function(id){return this.tree&&this.tree.getNodeById(id)},getNodeByValue:function(id){return this.tree&&this.tree.getNodeByValue(id)},empty:function(){this.tree.empty()}}),BI.CustomTree.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.custom_tree",BI.CustomTree),function($){var settings={},roots={},caches={},_consts={className:{BUTTON:"button",LEVEL:"level",ICO_LOADING:"ico_loading",SWITCH:"switch"},event:{NODECREATED:"ztree_nodeCreated",CLICK:"ztree_click",EXPAND:"ztree_expand",COLLAPSE:"ztree_collapse",ASYNC_SUCCESS:"ztree_async_success",ASYNC_ERROR:"ztree_async_error",REMOVE:"ztree_remove",SELECTED:"ztree_selected",UNSELECTED:"ztree_unselected"},id:{A:"_a",ICON:"_ico",SPAN:"_span",SWITCH:"_switch",UL:"_ul"},line:{ROOT:"root",ROOTS:"roots",CENTER:"center",BOTTOM:"bottom",NOLINE:"noline",LINE:"line"},folder:{OPEN:"open",CLOSE:"close",DOCU:"docu"},node:{CURSELECTED:"curSelectedNode"}},_setting={treeId:"",treeObj:null,view:{addDiyDom:null,autoCancelSelected:!0,dblClickExpand:!0,expandSpeed:"fast",fontCss:{},nameIsHTML:!1,selectedMulti:!0,showIcon:!0,showLine:!0,showTitle:!0,txtSelectedEnable:!1},data:{key:{children:"children",name:"name",title:"",url:"url"},simpleData:{enable:!1,idKey:"id",pIdKey:"pId",rootPId:null},keep:{parent:!1,leaf:!1}},async:{enable:!1,contentType:"application/x-www-form-urlencoded",type:"post",dataType:"text",url:"",autoParam:[],otherParam:[],dataFilter:null},callback:{beforeAsync:null,beforeClick:null,beforeDblClick:null,beforeRightClick:null,beforeMouseDown:null,beforeMouseUp:null,beforeExpand:null,beforeCollapse:null,beforeRemove:null,onAsyncError:null,onAsyncSuccess:null,onNodeCreated:null,onClick:null,onDblClick:null,onRightClick:null,onMouseDown:null,onMouseUp:null,onExpand:null,onCollapse:null,onRemove:null}},_initRoot=function(setting){var r=data.getRoot(setting);r||(r={},data.setRoot(setting,r)),r[setting.data.key.children]=[],r.expandTriggerFlag=!1,r.curSelectedList=[],r.noSelection=!0,r.createdNodes=[],r.zId=0,r._ver=(new Date).getTime()},_initCache=function(setting){var c=data.getCache(setting);c||(c={},data.setCache(setting,c)),c.nodes=[],c.doms=[]},_bindEvent=function(setting){var o=setting.treeObj,c=consts.event;o.bind(c.NODECREATED,function(event,treeId,node){tools.apply(setting.callback.onNodeCreated,[event,treeId,node])}),o.bind(c.CLICK,function(event,srcEvent,treeId,node,clickFlag){tools.apply(setting.callback.onClick,[srcEvent,treeId,node,clickFlag])}),o.bind(c.EXPAND,function(event,treeId,node){tools.apply(setting.callback.onExpand,[event,treeId,node])}),o.bind(c.COLLAPSE,function(event,treeId,node){tools.apply(setting.callback.onCollapse,[event,treeId,node])}),o.bind(c.ASYNC_SUCCESS,function(event,treeId,node,msg){tools.apply(setting.callback.onAsyncSuccess,[event,treeId,node,msg])}),o.bind(c.ASYNC_ERROR,function(event,treeId,node,XMLHttpRequest,textStatus,errorThrown){tools.apply(setting.callback.onAsyncError,[event,treeId,node,XMLHttpRequest,textStatus,errorThrown])}),o.bind(c.REMOVE,function(event,treeId,treeNode){tools.apply(setting.callback.onRemove,[event,treeId,treeNode])}),o.bind(c.SELECTED,function(event,srcEvent,treeId,node){tools.apply(setting.callback.onSelected,[srcEvent,treeId,node])}),o.bind(c.UNSELECTED,function(event,srcEvent,treeId,node){tools.apply(setting.callback.onUnSelected,[srcEvent,treeId,node])})},_unbindEvent=function(setting){var o=setting.treeObj,c=consts.event;o.unbind(c.NODECREATED).unbind(c.CLICK).unbind(c.EXPAND).unbind(c.COLLAPSE).unbind(c.ASYNC_SUCCESS).unbind(c.ASYNC_ERROR).unbind(c.REMOVE).unbind(c.SELECTED).unbind(c.UNSELECTED)},_eventProxy=function(event){var target=event.target,setting=data.getSetting(event.data.treeId),tId="",node=null,nodeEventType="",treeEventType="",nodeEventCallback=null,treeEventCallback=null,tmp=null;if(tools.eqs(event.type,"mousedown")?treeEventType="mousedown":tools.eqs(event.type,"mouseup")?treeEventType="mouseup":tools.eqs(event.type,"contextmenu")?treeEventType="contextmenu":tools.eqs(event.type,"click")?tools.eqs(target.tagName,"span")&&null!==target.getAttribute("treeNode"+consts.id.SWITCH)?(tId=tools.getNodeMainDom(target).id,nodeEventType="switchNode"):(tmp=tools.getMDom(setting,target,[{tagName:"a",attrName:"treeNode"+consts.id.A}]),tmp&&(tId=tools.getNodeMainDom(tmp).id,nodeEventType="clickNode")):tools.eqs(event.type,"dblclick")&&(treeEventType="dblclick",tmp=tools.getMDom(setting,target,[{tagName:"a",attrName:"treeNode"+consts.id.A}]),tmp&&(tId=tools.getNodeMainDom(tmp).id,nodeEventType="switchNode")),treeEventType.length>0&&0==tId.length&&(tmp=tools.getMDom(setting,target,[{tagName:"a",attrName:"treeNode"+consts.id.A}]),tmp&&(tId=tools.getNodeMainDom(tmp).id)),tId.length>0)switch(node=data.getNodeCache(setting,tId),nodeEventType){case"switchNode":node.isParent&&(tools.eqs(event.type,"click")||tools.eqs(event.type,"dblclick")&&tools.apply(setting.view.dblClickExpand,[setting.treeId,node],setting.view.dblClickExpand))?nodeEventCallback=handler.onSwitchNode:nodeEventType="";break;case"clickNode":nodeEventCallback=handler.onClickNode}switch(treeEventType){case"mousedown":treeEventCallback=handler.onZTreeMousedown;break;case"mouseup":treeEventCallback=handler.onZTreeMouseup;break;case"dblclick":treeEventCallback=handler.onZTreeDblclick;break;case"contextmenu":treeEventCallback=handler.onZTreeContextmenu}var proxyResult={stop:!1,node:node,nodeEventType:nodeEventType,nodeEventCallback:nodeEventCallback,treeEventType:treeEventType,treeEventCallback:treeEventCallback};return proxyResult},_initNode=function(setting,level,n,parentNode,isFirstNode,isLastNode,openFlag){if(n){var r=data.getRoot(setting),childKey=setting.data.key.children;n.level=level,n.tId=setting.treeId+"_"+ ++r.zId,n.parentTId=parentNode?parentNode.tId:null,n.open="string"==typeof n.open?tools.eqs(n.open,"true"):!!n.open,n[childKey]&&n[childKey].length>0?(n.isParent=!0,n.zAsync=!0):(n.isParent="string"==typeof n.isParent?tools.eqs(n.isParent,"true"):!!n.isParent,n.open=!(!n.isParent||setting.async.enable)&&n.open,n.zAsync=!n.isParent),n.isFirstNode=isFirstNode,n.isLastNode=isLastNode,n.getParentNode=function(){return data.getNodeCache(setting,n.parentTId)},n.getPreNode=function(){return data.getPreNode(setting,n)},n.getNextNode=function(){return data.getNextNode(setting,n)},n.isAjaxing=!1,data.fixPIdKeyValue(setting,n)}},_init={bind:[_bindEvent],unbind:[_unbindEvent],caches:[_initCache],nodes:[_initNode],proxys:[_eventProxy],roots:[_initRoot],beforeA:[],afterA:[],innerBeforeA:[],innerAfterA:[],zTreeTools:[]},data={addNodeCache:function(setting,node){data.getCache(setting).nodes[data.getNodeCacheId(node.tId)]=node},getNodeCacheId:function(tId){return tId.substring(tId.lastIndexOf("_")+1)},addAfterA:function(afterA){_init.afterA.push(afterA)},addBeforeA:function(beforeA){_init.beforeA.push(beforeA)},addInnerAfterA:function(innerAfterA){_init.innerAfterA.push(innerAfterA)},addInnerBeforeA:function(innerBeforeA){_init.innerBeforeA.push(innerBeforeA)},addInitBind:function(bindEvent){_init.bind.push(bindEvent)},addInitUnBind:function(unbindEvent){_init.unbind.push(unbindEvent)},addInitCache:function(initCache){_init.caches.push(initCache)},addInitNode:function(initNode){_init.nodes.push(initNode)},addInitProxy:function(initProxy,isFirst){isFirst?_init.proxys.splice(0,0,initProxy):_init.proxys.push(initProxy)},addInitRoot:function(initRoot){_init.roots.push(initRoot)},addNodesData:function(setting,parentNode,nodes){var childKey=setting.data.key.children;parentNode[childKey]||(parentNode[childKey]=[]),parentNode[childKey].length>0&&(parentNode[childKey][parentNode[childKey].length-1].isLastNode=!1,view.setNodeLineIcos(setting,parentNode[childKey][parentNode[childKey].length-1])),parentNode.isParent=!0,parentNode[childKey]=parentNode[childKey].concat(nodes)},addSelectedNode:function(setting,node){var root=data.getRoot(setting);data.isSelectedNode(setting,node)||root.curSelectedList.push(node)},addCreatedNode:function(setting,node){if(setting.callback.onNodeCreated||setting.view.addDiyDom){var root=data.getRoot(setting);root.createdNodes.push(node)}},addZTreeTools:function(zTreeTools){_init.zTreeTools.push(zTreeTools)},exSetting:function(s){$.extend(!0,_setting,s)},fixPIdKeyValue:function(setting,node){setting.data.simpleData.enable&&(node[setting.data.simpleData.pIdKey]=node.parentTId?node.getParentNode()[setting.data.simpleData.idKey]:setting.data.simpleData.rootPId)},getAfterA:function(setting,node,array){for(var i=0,j=_init.afterA.length;i<j;i++)_init.afterA[i].apply(this,arguments)},getBeforeA:function(setting,node,array){for(var i=0,j=_init.beforeA.length;i<j;i++)_init.beforeA[i].apply(this,arguments)},getInnerAfterA:function(setting,node,array){for(var i=0,j=_init.innerAfterA.length;i<j;i++)_init.innerAfterA[i].apply(this,arguments)},getInnerBeforeA:function(setting,node,array){for(var i=0,j=_init.innerBeforeA.length;i<j;i++)_init.innerBeforeA[i].apply(this,arguments)},getCache:function(setting){return caches[setting.treeId]},getNextNode:function(setting,node){if(!node)return null;for(var childKey=setting.data.key.children,p=node.parentTId?node.getParentNode():data.getRoot(setting),i=0,l=p[childKey].length-1;i<=l;i++)if(p[childKey][i]===node)return i==l?null:p[childKey][i+1];return null},getNodeByParam:function(setting,nodes,key,value){if(!nodes||!key)return null;for(var childKey=setting.data.key.children,i=0,l=nodes.length;i<l;i++){if(nodes[i][key]==value)return nodes[i];var tmp=data.getNodeByParam(setting,nodes[i][childKey],key,value);if(tmp)return tmp}return null},getNodeCache:function(setting,tId){if(!tId)return null;var n=caches[setting.treeId].nodes[data.getNodeCacheId(tId)];return n?n:null},getNodeName:function(setting,node){var nameKey=setting.data.key.name;return""+node[nameKey]},getNodeTitle:function(setting,node){var t=""===setting.data.key.title?setting.data.key.name:setting.data.key.title;return""+node[t]},getNodes:function(setting){return data.getRoot(setting)[setting.data.key.children]},getNodesByParam:function(setting,nodes,key,value){if(!nodes||!key)return[];for(var childKey=setting.data.key.children,result=[],i=0,l=nodes.length;i<l;i++)nodes[i][key]==value&&result.push(nodes[i]),result=result.concat(data.getNodesByParam(setting,nodes[i][childKey],key,value));return result},getNodesByParamFuzzy:function(setting,nodes,key,value){if(!nodes||!key)return[];var childKey=setting.data.key.children,result=[];value=value.toLowerCase();for(var i=0,l=nodes.length;i<l;i++)"string"==typeof nodes[i][key]&&nodes[i][key].toLowerCase().indexOf(value)>-1&&result.push(nodes[i]),result=result.concat(data.getNodesByParamFuzzy(setting,nodes[i][childKey],key,value));return result},getNodesByFilter:function(setting,nodes,filter,isSingle,invokeParam){if(!nodes)return isSingle?null:[];for(var childKey=setting.data.key.children,result=isSingle?null:[],i=0,l=nodes.length;i<l;i++){if(tools.apply(filter,[nodes[i],invokeParam],!1)){if(isSingle)return nodes[i];result.push(nodes[i])}var tmpResult=data.getNodesByFilter(setting,nodes[i][childKey],filter,isSingle,invokeParam);if(isSingle&&tmpResult)return tmpResult;result=isSingle?tmpResult:result.concat(tmpResult)}return result},getPreNode:function(setting,node){if(!node)return null;for(var childKey=setting.data.key.children,p=node.parentTId?node.getParentNode():data.getRoot(setting),i=0,l=p[childKey].length;i<l;i++)if(p[childKey][i]===node)return 0==i?null:p[childKey][i-1];return null},getRoot:function(setting){return setting?roots[setting.treeId]:null},getRoots:function(){return roots},getSetting:function(treeId){return settings[treeId]},getSettings:function(){return settings},getZTreeTools:function(treeId){var r=this.getRoot(this.getSetting(treeId));return r?r.treeTools:null},initCache:function(setting){for(var i=0,j=_init.caches.length;i<j;i++)_init.caches[i].apply(this,arguments)},initNode:function(setting,level,node,parentNode,preNode,nextNode){for(var i=0,j=_init.nodes.length;i<j;i++)_init.nodes[i].apply(this,arguments)},initRoot:function(setting){for(var i=0,j=_init.roots.length;i<j;i++)_init.roots[i].apply(this,arguments)},isSelectedNode:function(setting,node){for(var root=data.getRoot(setting),i=0,j=root.curSelectedList.length;i<j;i++)if(node===root.curSelectedList[i])return!0;return!1},removeNodeCache:function(setting,node){var childKey=setting.data.key.children;if(node[childKey])for(var i=0,l=node[childKey].length;i<l;i++)arguments.callee(setting,node[childKey][i]);data.getCache(setting).nodes[data.getNodeCacheId(node.tId)]=null},removeSelectedNode:function(setting,node){for(var root=data.getRoot(setting),i=0,j=root.curSelectedList.length;i<j;i++)node!==root.curSelectedList[i]&&data.getNodeCache(setting,root.curSelectedList[i].tId)||(root.curSelectedList.splice(i,1),i--,j--)},setCache:function(setting,cache){caches[setting.treeId]=cache},setRoot:function(setting,root){roots[setting.treeId]=root},setZTreeTools:function(setting,zTreeTools){for(var i=0,j=_init.zTreeTools.length;i<j;i++)_init.zTreeTools[i].apply(this,arguments)},transformToArrayFormat:function(setting,nodes){if(!nodes)return[];var childKey=setting.data.key.children,r=[];if(tools.isArray(nodes))for(var i=0,l=nodes.length;i<l;i++)r.push(nodes[i]),nodes[i][childKey]&&(r=r.concat(data.transformToArrayFormat(setting,nodes[i][childKey])));else r.push(nodes),nodes[childKey]&&(r=r.concat(data.transformToArrayFormat(setting,nodes[childKey])));return r},transformTozTreeFormat:function(setting,sNodes){var i,l,key=setting.data.simpleData.idKey,parentKey=setting.data.simpleData.pIdKey,childKey=setting.data.key.children;if(!key||""==key||!sNodes)return[];if(tools.isArray(sNodes)){var r=[],tmpMap={};for(i=0,l=sNodes.length;i<l;i++)tmpMap[sNodes[i][key]]=sNodes[i];for(i=0,l=sNodes.length;i<l;i++)tmpMap[sNodes[i][parentKey]]&&sNodes[i][key]!=sNodes[i][parentKey]?(tmpMap[sNodes[i][parentKey]][childKey]||(tmpMap[sNodes[i][parentKey]][childKey]=[]),tmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i])):r.push(sNodes[i]);return r}return[sNodes]}},event={bindEvent:function(setting){for(var i=0,j=_init.bind.length;i<j;i++)_init.bind[i].apply(this,arguments)},unbindEvent:function(setting){for(var i=0,j=_init.unbind.length;i<j;i++)_init.unbind[i].apply(this,arguments)},bindTree:function(setting){var eventParam={treeId:setting.treeId},o=setting.treeObj;setting.view.txtSelectedEnable||o.bind("selectstart",function(e){var node,n=e.originalEvent.srcElement.nodeName.toLowerCase();return"input"===n||"textarea"===n}).css({"-moz-user-select":"-moz-none"}),o.bind("click",eventParam,event.proxy),o.bind("dblclick",eventParam,event.proxy),o.bind("mouseover",eventParam,event.proxy),o.bind("mouseout",eventParam,event.proxy),o.bind("mousedown",eventParam,event.proxy),o.bind("mouseup",eventParam,event.proxy),o.bind("contextmenu",eventParam,event.proxy)},unbindTree:function(setting){var o=setting.treeObj;o.unbind("click",event.proxy).unbind("dblclick",event.proxy).unbind("mouseover",event.proxy).unbind("mouseout",event.proxy).unbind("mousedown",event.proxy).unbind("mouseup",event.proxy).unbind("contextmenu",event.proxy)},doProxy:function(e){for(var results=[],i=0,j=_init.proxys.length;i<j;i++){var proxyResult=_init.proxys[i].apply(this,arguments);if(results.push(proxyResult),proxyResult.stop)break}return results},proxy:function(e){var setting=data.getSetting(e.data.treeId);if(!tools.uCanDo(setting,e))return!0;for(var results=event.doProxy(e),r=!0,x=!1,i=0,l=results.length;i<l;i++){var proxyResult=results[i];proxyResult.nodeEventCallback&&(x=!0,r=proxyResult.nodeEventCallback.apply(proxyResult,[e,proxyResult.node])&&r),proxyResult.treeEventCallback&&(x=!0,r=proxyResult.treeEventCallback.apply(proxyResult,[e,proxyResult.node])&&r)}return r}},handler={onSwitchNode:function(event,node){var setting=data.getSetting(event.data.treeId);if(node.open){if(0==tools.apply(setting.callback.beforeCollapse,[setting.treeId,node],!0))return!0;data.getRoot(setting).expandTriggerFlag=!0,view.switchNode(setting,node)}else{if(0==tools.apply(setting.callback.beforeExpand,[setting.treeId,node],!0))return!0;data.getRoot(setting).expandTriggerFlag=!0,view.switchNode(setting,node)}return!0},onClickNode:function(event,node){var setting=data.getSetting(event.data.treeId),clickFlag=setting.view.autoCancelSelected&&(event.ctrlKey||event.metaKey)&&data.isSelectedNode(setting,node)?0:setting.view.autoCancelSelected&&(event.ctrlKey||event.metaKey)&&setting.view.selectedMulti?2:1;return 0==tools.apply(setting.callback.beforeClick,[setting.treeId,node,clickFlag],!0)||(0===clickFlag?view.cancelPreSelectedNode(setting,node):view.selectNode(setting,node,2===clickFlag),setting.treeObj.trigger(consts.event.CLICK,[event,setting.treeId,node,clickFlag]),!0)},onZTreeMousedown:function(event,node){var setting=data.getSetting(event.data.treeId);return tools.apply(setting.callback.beforeMouseDown,[setting.treeId,node],!0)&&tools.apply(setting.callback.onMouseDown,[event,setting.treeId,node]),!0},onZTreeMouseup:function(event,node){var setting=data.getSetting(event.data.treeId);return tools.apply(setting.callback.beforeMouseUp,[setting.treeId,node],!0)&&tools.apply(setting.callback.onMouseUp,[event,setting.treeId,node]),!0},onZTreeDblclick:function(event,node){var setting=data.getSetting(event.data.treeId);return tools.apply(setting.callback.beforeDblClick,[setting.treeId,node],!0)&&tools.apply(setting.callback.onDblClick,[event,setting.treeId,node]),!0},onZTreeContextmenu:function(event,node){var setting=data.getSetting(event.data.treeId);return tools.apply(setting.callback.beforeRightClick,[setting.treeId,node],!0)&&tools.apply(setting.callback.onRightClick,[event,setting.treeId,node]),"function"!=typeof setting.callback.onRightClick}},tools={apply:function(fun,param,defaultValue){return"function"==typeof fun?fun.apply(zt,param?param:[]):defaultValue},canAsync:function(setting,node){var childKey=setting.data.key.children;return setting.async.enable&&node&&node.isParent&&!(node.zAsync||node[childKey]&&node[childKey].length>0)},clone:function(obj){if(null===obj)return null;var o=tools.isArray(obj)?[]:{};for(var i in obj)o[i]=obj[i]instanceof Date?new Date(obj[i].getTime()):"object"==typeof obj[i]?arguments.callee(obj[i]):obj[i];return o},eqs:function(str1,str2){return str1.toLowerCase()===str2.toLowerCase()},isArray:function(arr){return"[object Array]"===Object.prototype.toString.apply(arr)},$:function(node,exp,setting){return exp&&"string"!=typeof exp&&(setting=exp,exp=""),"string"==typeof node?$(node,setting?setting.treeObj.get(0).ownerDocument:null):$("#"+node.tId+exp,setting?setting.treeObj:null)},getMDom:function(setting,curDom,targetExpr){if(!curDom)return null;for(;curDom&&curDom.id!==setting.treeId;){for(var i=0,l=targetExpr.length;curDom.tagName&&i<l;i++)if(tools.eqs(curDom.tagName,targetExpr[i].tagName)&&null!==curDom.getAttribute(targetExpr[i].attrName))return curDom;curDom=curDom.parentNode}return null},getNodeMainDom:function(target){return $(target).parent("li").get(0)||$(target).parentsUntil("li").parent().get(0)},isChildOrSelf:function(dom,parentId){return $(dom).closest("#"+parentId).length>0},uCanDo:function(setting,e){return!0}},view={addNodes:function(setting,parentNode,newNodes,isSilent){if(!setting.data.keep.leaf||!parentNode||parentNode.isParent)if(tools.isArray(newNodes)||(newNodes=[newNodes]),setting.data.simpleData.enable&&(newNodes=data.transformTozTreeFormat(setting,newNodes)),parentNode){var target_switchObj=$$(parentNode,consts.id.SWITCH,setting),target_icoObj=$$(parentNode,consts.id.ICON,setting),target_ulObj=$$(parentNode,consts.id.UL,setting);parentNode.open||(view.replaceSwitchClass(parentNode,target_switchObj,consts.folder.CLOSE),view.replaceIcoClass(parentNode,target_icoObj,consts.folder.CLOSE),parentNode.open=!1,target_ulObj.css({display:"none"})),data.addNodesData(setting,parentNode,newNodes),view.createNodes(setting,parentNode.level+1,newNodes,parentNode),isSilent||view.expandCollapseParentNode(setting,parentNode,!0)}else data.addNodesData(setting,data.getRoot(setting),newNodes),view.createNodes(setting,0,newNodes,null)},appendNodes:function(setting,level,nodes,parentNode,initFlag,openFlag){if(!nodes)return[];for(var html=[],childKey=setting.data.key.children,i=0,l=nodes.length;i<l;i++){var node=nodes[i];if(initFlag){var tmpPNode=parentNode?parentNode:data.getRoot(setting),tmpPChild=tmpPNode[childKey],isFirstNode=tmpPChild.length==nodes.length&&0==i,isLastNode=i==nodes.length-1;data.initNode(setting,level,node,parentNode,isFirstNode,isLastNode,openFlag),data.addNodeCache(setting,node)}var childHtml=[];node[childKey]&&node[childKey].length>0&&(childHtml=view.appendNodes(setting,level+1,node[childKey],node,initFlag,openFlag&&node.open)),openFlag&&(view.makeDOMNodeMainBefore(html,setting,node),view.makeDOMNodeLine(html,setting,node),data.getBeforeA(setting,node,html),view.makeDOMNodeNameBefore(html,setting,node),data.getInnerBeforeA(setting,node,html),view.makeDOMNodeIcon(html,setting,node),data.getInnerAfterA(setting,node,html),view.makeDOMNodeNameAfter(html,setting,node),data.getAfterA(setting,node,html),node.isParent&&node.open&&view.makeUlHtml(setting,node,html,childHtml.join("")),view.makeDOMNodeMainAfter(html,setting,node),data.addCreatedNode(setting,node))}return html},appendParentULDom:function(setting,node){var html=[],nObj=$$(node,setting);!nObj.get(0)&&node.parentTId&&(view.appendParentULDom(setting,node.getParentNode()),nObj=$$(node,setting));var ulObj=$$(node,consts.id.UL,setting);ulObj.get(0)&&ulObj.remove();var childKey=setting.data.key.children,childHtml=view.appendNodes(setting,node.level+1,node[childKey],node,!1,!0);view.makeUlHtml(setting,node,html,childHtml.join("")),nObj.append(html.join(""))},asyncNode:function(setting,node,isSilent,callback){var i,l;if(node&&!node.isParent)return tools.apply(callback),!1;if(node&&node.isAjaxing)return!1;if(0==tools.apply(setting.callback.beforeAsync,[setting.treeId,node],!0))return tools.apply(callback),!1;if(node){node.isAjaxing=!0;var icoObj=$$(node,consts.id.ICON,setting);icoObj.attr({style:"","class":consts.className.BUTTON+" "+consts.className.ICO_LOADING})}var tmpParam={};for(i=0,l=setting.async.autoParam.length;node&&i<l;i++){var pKey=setting.async.autoParam[i].split("="),spKey=pKey;pKey.length>1&&(spKey=pKey[1],pKey=pKey[0]),tmpParam[spKey]=node[pKey]}if(tools.isArray(setting.async.otherParam))for(i=0,l=setting.async.otherParam.length;i<l;i+=2)tmpParam[setting.async.otherParam[i]]=setting.async.otherParam[i+1];else for(var p in setting.async.otherParam)tmpParam[p]=setting.async.otherParam[p];var _tmpV=data.getRoot(setting)._ver;return $.ajax({contentType:setting.async.contentType,cache:!1,type:setting.async.type,url:tools.apply(setting.async.url,[setting.treeId,node],setting.async.url),data:tmpParam,dataType:setting.async.dataType,success:function(msg){if(_tmpV==data.getRoot(setting)._ver){var newNodes=[];try{newNodes=msg&&0!=msg.length?"string"==typeof msg?eval("("+msg+")"):msg:[]}catch(err){newNodes=msg}node&&(node.isAjaxing=null,node.zAsync=!0),view.setNodeLineIcos(setting,node),newNodes&&""!==newNodes?(newNodes=tools.apply(setting.async.dataFilter,[setting.treeId,node,newNodes],newNodes),view.addNodes(setting,node,newNodes?tools.clone(newNodes):[],!!isSilent)):view.addNodes(setting,node,[],!!isSilent),setting.treeObj.trigger(consts.event.ASYNC_SUCCESS,[setting.treeId,node,msg]),tools.apply(callback)}},error:function(XMLHttpRequest,textStatus,errorThrown){_tmpV==data.getRoot(setting)._ver&&(node&&(node.isAjaxing=null),view.setNodeLineIcos(setting,node),setting.treeObj.trigger(consts.event.ASYNC_ERROR,[setting.treeId,node,XMLHttpRequest,textStatus,errorThrown]))}}),!0},cancelPreSelectedNode:function(setting,node,excludeNode){var list=data.getRoot(setting).curSelectedList,i,n;for(i=list.length-1;i>=0;i--)if(n=list[i],node===n||!node&&(!excludeNode||excludeNode!==n)){if($$(n,consts.id.A,setting).removeClass(consts.node.CURSELECTED),node){data.removeSelectedNode(setting,node),setting.treeObj.trigger(consts.event.UNSELECTED,[event,setting.treeId,n]);break}list.splice(i,1),setting.treeObj.trigger(consts.event.UNSELECTED,[event,setting.treeId,n])}},createNodeCallback:function(setting){if(setting.callback.onNodeCreated||setting.view.addDiyDom)for(var root=data.getRoot(setting);root.createdNodes.length>0;){var node=root.createdNodes.shift();tools.apply(setting.view.addDiyDom,[setting.treeId,node]),setting.callback.onNodeCreated&&setting.treeObj.trigger(consts.event.NODECREATED,[setting.treeId,node])}},createNodes:function(setting,level,nodes,parentNode){if(nodes&&0!=nodes.length){var root=data.getRoot(setting),childKey=setting.data.key.children,openFlag=!parentNode||parentNode.open||!!$$(parentNode[childKey][0],setting).get(0);root.createdNodes=[];var zTreeHtml=view.appendNodes(setting,level,nodes,parentNode,!0,openFlag);if(parentNode){var ulObj=$$(parentNode,consts.id.UL,setting);ulObj.get(0)&&ulObj.append(zTreeHtml.join(""))}else setting.treeObj.append(zTreeHtml.join(""));view.createNodeCallback(setting)}},destroy:function(setting){setting&&(data.initCache(setting),data.initRoot(setting),event.unbindTree(setting),event.unbindEvent(setting),setting.treeObj.empty(),delete settings[setting.treeId])},expandCollapseNode:function(setting,node,expandFlag,animateFlag,callback){var root=data.getRoot(setting),childKey=setting.data.key.children;if(!node)return void tools.apply(callback,[]);if(root.expandTriggerFlag){var _callback=callback;callback=function(){_callback&&_callback(),node.open?setting.treeObj.trigger(consts.event.EXPAND,[setting.treeId,node]):setting.treeObj.trigger(consts.event.COLLAPSE,[setting.treeId,node])},root.expandTriggerFlag=!1}if(!node.open&&node.isParent&&(!$$(node,consts.id.UL,setting).get(0)||node[childKey]&&node[childKey].length>0&&!$$(node[childKey][0],setting).get(0))&&(view.appendParentULDom(setting,node),view.createNodeCallback(setting)),node.open==expandFlag)return void tools.apply(callback,[]);var ulObj=$$(node,consts.id.UL,setting),switchObj=$$(node,consts.id.SWITCH,setting),icoObj=$$(node,consts.id.ICON,setting);node.isParent?(node.open=!node.open,node.iconOpen&&node.iconClose&&icoObj.attr("style",view.makeNodeIcoStyle(setting,node)),node.open?(view.replaceSwitchClass(node,switchObj,consts.folder.OPEN),view.replaceIcoClass(node,icoObj,consts.folder.OPEN),0==animateFlag||""==setting.view.expandSpeed?(ulObj.show(),tools.apply(callback,[])):node[childKey]&&node[childKey].length>0?ulObj.slideDown(setting.view.expandSpeed,callback):(ulObj.show(),tools.apply(callback,[]))):(view.replaceSwitchClass(node,switchObj,consts.folder.CLOSE),view.replaceIcoClass(node,icoObj,consts.folder.CLOSE),0!=animateFlag&&""!=setting.view.expandSpeed&&node[childKey]&&node[childKey].length>0?ulObj.slideUp(setting.view.expandSpeed,callback):(ulObj.hide(),tools.apply(callback,[])))):tools.apply(callback,[])},expandCollapseParentNode:function(setting,node,expandFlag,animateFlag,callback){if(node){if(!node.parentTId)return void view.expandCollapseNode(setting,node,expandFlag,animateFlag,callback);view.expandCollapseNode(setting,node,expandFlag,animateFlag),node.parentTId&&view.expandCollapseParentNode(setting,node.getParentNode(),expandFlag,animateFlag,callback)}},expandCollapseSonNode:function(setting,node,expandFlag,animateFlag,callback){var root=data.getRoot(setting),childKey=setting.data.key.children,treeNodes=node?node[childKey]:root[childKey],selfAnimateSign=!node&&animateFlag,expandTriggerFlag=data.getRoot(setting).expandTriggerFlag;if(data.getRoot(setting).expandTriggerFlag=!1,treeNodes)for(var i=0,l=treeNodes.length;i<l;i++)treeNodes[i]&&view.expandCollapseSonNode(setting,treeNodes[i],expandFlag,selfAnimateSign);data.getRoot(setting).expandTriggerFlag=expandTriggerFlag,view.expandCollapseNode(setting,node,expandFlag,animateFlag,callback)},isSelectedNode:function(setting,node){if(!node)return!1;var list=data.getRoot(setting).curSelectedList,i;for(i=list.length-1;i>=0;i--)if(node===list[i])return!0;return!1},makeDOMNodeIcon:function(html,setting,node){var nameStr=data.getNodeName(setting,node),name=setting.view.nameIsHTML?nameStr:nameStr.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");html.push("<span id='",node.tId,consts.id.ICON,"' title='' treeNode",consts.id.ICON," class='",view.makeNodeIcoClass(setting,node),"' style='",view.makeNodeIcoStyle(setting,node),"'></span><span id='",node.tId,consts.id.SPAN,"'>",name,"</span>")},makeDOMNodeLine:function(html,setting,node){html.push("<span id='",node.tId,consts.id.SWITCH,"' title='' class='",view.makeNodeLineClass(setting,node),"' treeNode",consts.id.SWITCH,"></span>")},makeDOMNodeMainAfter:function(html,setting,node){html.push("</li>")},makeDOMNodeMainBefore:function(html,setting,node){html.push("<li id='",node.tId,"' class='",consts.className.LEVEL,node.level,"' tabindex='0' hidefocus='true' treenode>")},makeDOMNodeNameAfter:function(html,setting,node){html.push("</a>")},makeDOMNodeNameBefore:function(html,setting,node){var title=data.getNodeTitle(setting,node),url=view.makeNodeUrl(setting,node),fontcss=view.makeNodeFontCss(setting,node),fontStyle=[];for(var f in fontcss)fontStyle.push(f,":",fontcss[f],";");html.push("<a id='",node.tId,consts.id.A,"' class='",consts.className.LEVEL,node.level,"' treeNode",consts.id.A,' onclick="',node.click||"",'" ',null!=url&&url.length>0?"href='"+url+"'":""," target='",view.makeNodeTarget(node),"' style='",fontStyle.join(""),"'"),tools.apply(setting.view.showTitle,[setting.treeId,node],setting.view.showTitle)&&title&&html.push("title='",title.replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),"'"),html.push(">")},makeNodeFontCss:function(setting,node){var fontCss=tools.apply(setting.view.fontCss,[setting.treeId,node],setting.view.fontCss);return fontCss&&"function"!=typeof fontCss?fontCss:{}},makeNodeIcoClass:function(setting,node){var icoCss=["ico"];return node.isAjaxing||(icoCss[0]=(node.iconSkin?node.iconSkin+"_":"")+icoCss[0],node.isParent?icoCss.push(node.open?consts.folder.OPEN:consts.folder.CLOSE):icoCss.push(consts.folder.DOCU)),consts.className.BUTTON+" "+icoCss.join("_")},makeNodeIcoStyle:function(setting,node){var icoStyle=[];if(!node.isAjaxing){var icon=node.isParent&&node.iconOpen&&node.iconClose?node.open?node.iconOpen:node.iconClose:node.icon;icon&&icoStyle.push("background:url(",icon,") 0 0 no-repeat;"),0!=setting.view.showIcon&&tools.apply(setting.view.showIcon,[setting.treeId,node],!0)||icoStyle.push("width:0px;height:0px;")}return icoStyle.join("")},makeNodeLineClass:function(setting,node){var lineClass=[];return setting.view.showLine?0==node.level&&node.isFirstNode&&node.isLastNode?lineClass.push(consts.line.ROOT):0==node.level&&node.isFirstNode?lineClass.push(consts.line.ROOTS):node.isLastNode?lineClass.push(consts.line.BOTTOM):lineClass.push(consts.line.CENTER):lineClass.push(consts.line.NOLINE),node.isParent?lineClass.push(node.open?consts.folder.OPEN:consts.folder.CLOSE):lineClass.push(consts.folder.DOCU),view.makeNodeLineClassEx(node)+lineClass.join("_")},makeNodeLineClassEx:function(node){return consts.className.BUTTON+" "+consts.className.LEVEL+node.level+" "+consts.className.SWITCH+" "},makeNodeTarget:function(node){return node.target||"_blank"},makeNodeUrl:function(setting,node){var urlKey=setting.data.key.url;return node[urlKey]?node[urlKey]:null},makeUlHtml:function(setting,node,html,content){html.push("<ul id='",node.tId,consts.id.UL,"' class='",consts.className.LEVEL,node.level," ",view.makeUlLineClass(setting,node),"' style='display:",node.open?"block":"none","'>"),html.push(content),html.push("</ul>")},makeUlLineClass:function(setting,node){return setting.view.showLine&&!node.isLastNode?consts.line.LINE:""},removeChildNodes:function(setting,node){if(node){var childKey=setting.data.key.children,nodes=node[childKey];if(nodes){for(var i=0,l=nodes.length;i<l;i++)data.removeNodeCache(setting,nodes[i]);if(data.removeSelectedNode(setting),delete node[childKey],setting.data.keep.parent)$$(node,consts.id.UL,setting).empty();else{
node.isParent=!1,node.open=!1;var tmp_switchObj=$$(node,consts.id.SWITCH,setting),tmp_icoObj=$$(node,consts.id.ICON,setting);view.replaceSwitchClass(node,tmp_switchObj,consts.folder.DOCU),view.replaceIcoClass(node,tmp_icoObj,consts.folder.DOCU),$$(node,consts.id.UL,setting).remove()}}}},setFirstNode:function(setting,parentNode){var childKey=setting.data.key.children,childLength=parentNode[childKey].length;childLength>0&&(parentNode[childKey][0].isFirstNode=!0)},setLastNode:function(setting,parentNode){var childKey=setting.data.key.children,childLength=parentNode[childKey].length;childLength>0&&(parentNode[childKey][childLength-1].isLastNode=!0)},removeNode:function(setting,node){var root=data.getRoot(setting),childKey=setting.data.key.children,parentNode=node.parentTId?node.getParentNode():root;if(node.isFirstNode=!1,node.isLastNode=!1,node.getPreNode=function(){return null},node.getNextNode=function(){return null},data.getNodeCache(setting,node.tId)){$$(node,setting).remove(),data.removeNodeCache(setting,node),data.removeSelectedNode(setting,node);for(var i=0,l=parentNode[childKey].length;i<l;i++)if(parentNode[childKey][i].tId==node.tId){parentNode[childKey].splice(i,1);break}view.setFirstNode(setting,parentNode),view.setLastNode(setting,parentNode);var tmp_ulObj,tmp_switchObj,tmp_icoObj,childLength=parentNode[childKey].length;if(setting.data.keep.parent||0!=childLength){if(setting.view.showLine&&childLength>0){var newLast=parentNode[childKey][childLength-1];if(tmp_ulObj=$$(newLast,consts.id.UL,setting),tmp_switchObj=$$(newLast,consts.id.SWITCH,setting),tmp_icoObj=$$(newLast,consts.id.ICON,setting),parentNode==root)if(1==parentNode[childKey].length)view.replaceSwitchClass(newLast,tmp_switchObj,consts.line.ROOT);else{var tmp_first_switchObj=$$(parentNode[childKey][0],consts.id.SWITCH,setting);view.replaceSwitchClass(parentNode[childKey][0],tmp_first_switchObj,consts.line.ROOTS),view.replaceSwitchClass(newLast,tmp_switchObj,consts.line.BOTTOM)}else view.replaceSwitchClass(newLast,tmp_switchObj,consts.line.BOTTOM);tmp_ulObj.removeClass(consts.line.LINE)}}else parentNode.isParent=!1,parentNode.open=!1,tmp_ulObj=$$(parentNode,consts.id.UL,setting),tmp_switchObj=$$(parentNode,consts.id.SWITCH,setting),tmp_icoObj=$$(parentNode,consts.id.ICON,setting),view.replaceSwitchClass(parentNode,tmp_switchObj,consts.folder.DOCU),view.replaceIcoClass(parentNode,tmp_icoObj,consts.folder.DOCU),tmp_ulObj.css("display","none")}},replaceIcoClass:function(node,obj,newName){if(obj&&!node.isAjaxing){var tmpName=obj.attr("class");if(void 0!=tmpName){var tmpList=tmpName.split("_");switch(newName){case consts.folder.OPEN:case consts.folder.CLOSE:case consts.folder.DOCU:tmpList[tmpList.length-1]=newName}obj.attr("class",tmpList.join("_"))}}},replaceSwitchClass:function(node,obj,newName){if(obj){var tmpName=obj.attr("class");if(void 0!=tmpName){var tmpList=tmpName.split("_");switch(newName){case consts.line.ROOT:case consts.line.ROOTS:case consts.line.CENTER:case consts.line.BOTTOM:case consts.line.NOLINE:tmpList[0]=view.makeNodeLineClassEx(node)+newName;break;case consts.folder.OPEN:case consts.folder.CLOSE:case consts.folder.DOCU:tmpList[1]=newName}obj.attr("class",tmpList.join("_")),newName!==consts.folder.DOCU?obj.removeAttr("disabled"):obj.attr("disabled","disabled")}}},selectNode:function(setting,node,addFlag){addFlag||view.cancelPreSelectedNode(setting,null,node),$$(node,consts.id.A,setting).addClass(consts.node.CURSELECTED),data.addSelectedNode(setting,node),setting.treeObj.trigger(consts.event.SELECTED,[event,setting.treeId,node])},setNodeFontCss:function(setting,treeNode){var aObj=$$(treeNode,consts.id.A,setting),fontCss=view.makeNodeFontCss(setting,treeNode);fontCss&&aObj.css(fontCss)},setNodeLineIcos:function(setting,node){if(node){var switchObj=$$(node,consts.id.SWITCH,setting),ulObj=$$(node,consts.id.UL,setting),icoObj=$$(node,consts.id.ICON,setting),ulLine=view.makeUlLineClass(setting,node);0==ulLine.length?ulObj.removeClass(consts.line.LINE):ulObj.addClass(ulLine),switchObj.attr("class",view.makeNodeLineClass(setting,node)),node.isParent?switchObj.removeAttr("disabled"):switchObj.attr("disabled","disabled"),icoObj.removeAttr("style"),icoObj.attr("style",view.makeNodeIcoStyle(setting,node)),icoObj.attr("class",view.makeNodeIcoClass(setting,node))}},setNodeName:function(setting,node){var title=data.getNodeTitle(setting,node),nObj=$$(node,consts.id.SPAN,setting);if(nObj.empty(),setting.view.nameIsHTML?nObj.html(data.getNodeName(setting,node)):nObj.text(data.getNodeName(setting,node)),tools.apply(setting.view.showTitle,[setting.treeId,node],setting.view.showTitle)){var aObj=$$(node,consts.id.A,setting);aObj.attr("title",title?title:"")}},setNodeTarget:function(setting,node){var aObj=$$(node,consts.id.A,setting);aObj.attr("target",view.makeNodeTarget(node))},setNodeUrl:function(setting,node){var aObj=$$(node,consts.id.A,setting),url=view.makeNodeUrl(setting,node);null==url||0==url.length?aObj.removeAttr("href"):aObj.attr("href",url)},switchNode:function(setting,node){if(node.open||!tools.canAsync(setting,node))view.expandCollapseNode(setting,node,!node.open);else if(setting.async.enable){if(!view.asyncNode(setting,node))return void view.expandCollapseNode(setting,node,!node.open)}else node&&view.expandCollapseNode(setting,node,!node.open)}};$.fn.zTree={consts:_consts,_z:{tools:tools,view:view,event:event,data:data},getZTreeObj:function(treeId){var o=data.getZTreeTools(treeId);return o?o:null},destroy:function(treeId){if(treeId&&treeId.length>0)view.destroy(data.getSetting(treeId));else for(var s in settings)view.destroy(settings[s])},init:function(obj,zSetting,zNodes){var setting=tools.clone(_setting);$.extend(!0,setting,zSetting),setting.treeId=obj.attr("id"),setting.treeObj=obj,setting.treeObj.empty(),settings[setting.treeId]=setting,"undefined"==typeof document.body.style.maxHeight&&(setting.view.expandSpeed=""),data.initRoot(setting);var root=data.getRoot(setting),childKey=setting.data.key.children;zNodes=zNodes?tools.clone(tools.isArray(zNodes)?zNodes:[zNodes]):[],setting.data.simpleData.enable?root[childKey]=data.transformTozTreeFormat(setting,zNodes):root[childKey]=zNodes,data.initCache(setting),event.unbindTree(setting),event.bindTree(setting),event.unbindEvent(setting),event.bindEvent(setting);var zTreeTools={setting:setting,addNodes:function(parentNode,newNodes,isSilent){function addCallback(){view.addNodes(setting,parentNode,xNewNodes,1==isSilent)}if(!newNodes)return null;if(parentNode||(parentNode=null),parentNode&&!parentNode.isParent&&setting.data.keep.leaf)return null;var xNewNodes=tools.clone(tools.isArray(newNodes)?newNodes:[newNodes]);return tools.canAsync(setting,parentNode)?view.asyncNode(setting,parentNode,isSilent,addCallback):addCallback(),xNewNodes},cancelSelectedNode:function(node){view.cancelPreSelectedNode(setting,node)},destroy:function(){view.destroy(setting)},expandAll:function(expandFlag){return expandFlag=!!expandFlag,view.expandCollapseSonNode(setting,null,expandFlag,!0),expandFlag},expandNode:function(node,expandFlag,sonSign,focus,callbackFlag){if(!node||!node.isParent)return null;if(expandFlag!==!0&&expandFlag!==!1&&(expandFlag=!node.open),callbackFlag=!!callbackFlag,callbackFlag&&expandFlag&&0==tools.apply(setting.callback.beforeExpand,[setting.treeId,node],!0))return null;if(callbackFlag&&!expandFlag&&0==tools.apply(setting.callback.beforeCollapse,[setting.treeId,node],!0))return null;if(expandFlag&&node.parentTId&&view.expandCollapseParentNode(setting,node.getParentNode(),expandFlag,!1),expandFlag===node.open&&!sonSign)return null;if(data.getRoot(setting).expandTriggerFlag=callbackFlag,!tools.canAsync(setting,node)&&sonSign)view.expandCollapseSonNode(setting,node,expandFlag,!0,function(){if(focus!==!1)try{$$(node,setting).focus().blur()}catch(e){}});else if(node.open=!expandFlag,view.switchNode(this.setting,node),focus!==!1)try{$$(node,setting).focus().blur()}catch(e){}return expandFlag},getNodes:function(){return data.getNodes(setting)},getNodeByParam:function(key,value,parentNode){return key?data.getNodeByParam(setting,parentNode?parentNode[setting.data.key.children]:data.getNodes(setting),key,value):null},getNodeByTId:function(tId){return data.getNodeCache(setting,tId)},getNodesByParam:function(key,value,parentNode){return key?data.getNodesByParam(setting,parentNode?parentNode[setting.data.key.children]:data.getNodes(setting),key,value):null},getNodesByParamFuzzy:function(key,value,parentNode){return key?data.getNodesByParamFuzzy(setting,parentNode?parentNode[setting.data.key.children]:data.getNodes(setting),key,value):null},getNodesByFilter:function(filter,isSingle,parentNode,invokeParam){return isSingle=!!isSingle,filter&&"function"==typeof filter?data.getNodesByFilter(setting,parentNode?parentNode[setting.data.key.children]:data.getNodes(setting),filter,isSingle,invokeParam):isSingle?null:[]},getNodeIndex:function(node){if(!node)return null;for(var childKey=setting.data.key.children,parentNode=node.parentTId?node.getParentNode():data.getRoot(setting),i=0,l=parentNode[childKey].length;i<l;i++)if(parentNode[childKey][i]==node)return i;return-1},getSelectedNodes:function(){for(var r=[],list=data.getRoot(setting).curSelectedList,i=0,l=list.length;i<l;i++)r.push(list[i]);return r},isSelectedNode:function(node){return data.isSelectedNode(setting,node)},reAsyncChildNodes:function(parentNode,reloadType,isSilent){if(this.setting.async.enable){var isRoot=!parentNode;if(isRoot&&(parentNode=data.getRoot(setting)),"refresh"==reloadType){for(var childKey=this.setting.data.key.children,i=0,l=parentNode[childKey]?parentNode[childKey].length:0;i<l;i++)data.removeNodeCache(setting,parentNode[childKey][i]);if(data.removeSelectedNode(setting),parentNode[childKey]=[],isRoot)this.setting.treeObj.empty();else{var ulObj=$$(parentNode,consts.id.UL,setting);ulObj.empty()}}view.asyncNode(this.setting,isRoot?null:parentNode,!!isSilent)}},refresh:function(){this.setting.treeObj.empty();var root=data.getRoot(setting),nodes=root[setting.data.key.children];data.initRoot(setting),root[setting.data.key.children]=nodes,data.initCache(setting),view.createNodes(setting,0,root[setting.data.key.children])},removeChildNodes:function(node){if(!node)return null;var childKey=setting.data.key.children,nodes=node[childKey];return view.removeChildNodes(setting,node),nodes?nodes:null},removeNode:function(node,callbackFlag){node&&(callbackFlag=!!callbackFlag,callbackFlag&&0==tools.apply(setting.callback.beforeRemove,[setting.treeId,node],!0)||(view.removeNode(setting,node),callbackFlag&&this.setting.treeObj.trigger(consts.event.REMOVE,[setting.treeId,node])))},selectNode:function(node,addFlag){if(node&&tools.uCanDo(setting)){if(addFlag=setting.view.selectedMulti&&addFlag,node.parentTId)view.expandCollapseParentNode(setting,node.getParentNode(),!0,!1,function(){try{$$(node,setting).focus().blur()}catch(e){}});else try{$$(node,setting).focus().blur()}catch(e){}view.selectNode(setting,node,addFlag)}},transformTozTreeNodes:function(simpleNodes){return data.transformTozTreeFormat(setting,simpleNodes)},transformToArray:function(nodes){return data.transformToArrayFormat(setting,nodes)},updateNode:function(node,checkTypeFlag){if(node){var nObj=$$(node,setting);nObj.get(0)&&tools.uCanDo(setting)&&(view.setNodeName(setting,node),view.setNodeTarget(setting,node),view.setNodeUrl(setting,node),view.setNodeLineIcos(setting,node),view.setNodeFontCss(setting,node))}}};return root.treeTools=zTreeTools,data.setZTreeTools(setting,zTreeTools),root[childKey]&&root[childKey].length>0?view.createNodes(setting,0,root[childKey]):setting.async.enable&&setting.async.url&&""!==setting.async.url&&view.asyncNode(setting),zTreeTools}};var zt=$.fn.zTree,$$=tools.$,consts=zt.consts}(BI.jQuery),function($){var _consts={event:{CHECK:"ztree_check"},id:{CHECK:"_check"},checkbox:{STYLE:"checkbox",DEFAULT:"chk",DISABLED:"disable",FALSE:"false",TRUE:"true",FULL:"full",PART:"part",FOCUS:"focus"},radio:{STYLE:"radio",TYPE_ALL:"all",TYPE_LEVEL:"level"}},_setting={check:{enable:!1,autoCheckTrigger:!1,chkStyle:_consts.checkbox.STYLE,nocheckInherit:!1,chkDisabledInherit:!1,radioType:_consts.radio.TYPE_LEVEL,chkboxType:{Y:"ps",N:"ps"}},data:{key:{checked:"checked"}},callback:{beforeCheck:null,onCheck:null}},_initRoot=function(setting){var r=data.getRoot(setting);r.radioCheckedList=[]},_initCache=function(treeId){},_bindEvent=function(setting){var o=setting.treeObj,c=consts.event;o.bind(c.CHECK,function(event,srcEvent,treeId,node){event.srcEvent=srcEvent,tools.apply(setting.callback.onCheck,[event,treeId,node])})},_unbindEvent=function(setting){var o=setting.treeObj,c=consts.event;o.unbind(c.CHECK)},_eventProxy=function(e){var target=e.target,setting=data.getSetting(e.data.treeId),tId="",node=null,nodeEventType="",treeEventType="",nodeEventCallback=null,treeEventCallback=null;if(tools.eqs(e.type,"mouseover")?setting.check.enable&&tools.eqs(target.tagName,"span")&&null!==target.getAttribute("treeNode"+consts.id.CHECK)&&(tId=tools.getNodeMainDom(target).id,nodeEventType="mouseoverCheck"):tools.eqs(e.type,"mouseout")?setting.check.enable&&tools.eqs(target.tagName,"span")&&null!==target.getAttribute("treeNode"+consts.id.CHECK)&&(tId=tools.getNodeMainDom(target).id,nodeEventType="mouseoutCheck"):tools.eqs(e.type,"click")&&setting.check.enable&&tools.eqs(target.tagName,"span")&&null!==target.getAttribute("treeNode"+consts.id.CHECK)&&(tId=tools.getNodeMainDom(target).id,nodeEventType="checkNode"),tId.length>0)switch(node=data.getNodeCache(setting,tId),nodeEventType){case"checkNode":nodeEventCallback=_handler.onCheckNode;break;case"mouseoverCheck":nodeEventCallback=_handler.onMouseoverCheck;break;case"mouseoutCheck":nodeEventCallback=_handler.onMouseoutCheck}var proxyResult={stop:"checkNode"===nodeEventType,node:node,nodeEventType:nodeEventType,nodeEventCallback:nodeEventCallback,treeEventType:treeEventType,treeEventCallback:treeEventCallback};return proxyResult},_initNode=function(setting,level,n,parentNode,isFirstNode,isLastNode,openFlag){if(n){var checkedKey=setting.data.key.checked;if("string"==typeof n[checkedKey]&&(n[checkedKey]=tools.eqs(n[checkedKey],"true")),n[checkedKey]=!!n[checkedKey],n.checkedOld=n[checkedKey],"string"==typeof n.nocheck&&(n.nocheck=tools.eqs(n.nocheck,"true")),n.nocheck=!!n.nocheck||setting.check.nocheckInherit&&parentNode&&!!parentNode.nocheck,"string"==typeof n.chkDisabled&&(n.chkDisabled=tools.eqs(n.chkDisabled,"true")),n.chkDisabled=!!n.chkDisabled||setting.check.chkDisabledInherit&&parentNode&&!!parentNode.chkDisabled,"string"==typeof n.halfCheck&&(n.halfCheck=tools.eqs(n.halfCheck,"true")),n.halfCheck=!!n.halfCheck,n.check_Child_State=-1,n.check_Focus=!1,n.getCheckStatus=function(){return data.getCheckStatus(setting,n)},setting.check.chkStyle==consts.radio.STYLE&&setting.check.radioType==consts.radio.TYPE_ALL&&n[checkedKey]){var r=data.getRoot(setting);r.radioCheckedList.push(n)}}},_beforeA=function(setting,node,html){var checkedKey=setting.data.key.checked;setting.check.enable&&(data.makeChkFlag(setting,node),html.push("<span ID='",node.tId,consts.id.CHECK,"' class='",view.makeChkClass(setting,node),"' treeNode",consts.id.CHECK,node.nocheck===!0?" style='display:none;'":"","></span>"))},_zTreeTools=function(setting,zTreeTools){zTreeTools.checkNode=function(node,checked,checkTypeFlag,callbackFlag){var checkedKey=this.setting.data.key.checked;if(node.chkDisabled!==!0&&(checked!==!0&&checked!==!1&&(checked=!node[checkedKey]),callbackFlag=!!callbackFlag,(node[checkedKey]!==checked||checkTypeFlag)&&(!callbackFlag||0!=tools.apply(this.setting.callback.beforeCheck,[this.setting.treeId,node],!0))&&tools.uCanDo(this.setting)&&this.setting.check.enable&&node.nocheck!==!0)){node[checkedKey]=checked;var checkObj=$$(node,consts.id.CHECK,this.setting);(checkTypeFlag||this.setting.check.chkStyle===consts.radio.STYLE)&&view.checkNodeRelation(this.setting,node),view.setChkClass(this.setting,checkObj,node),view.repairParentChkClassWithSelf(this.setting,node),callbackFlag&&this.setting.treeObj.trigger(consts.event.CHECK,[null,this.setting.treeId,node])}},zTreeTools.checkAllNodes=function(checked){view.repairAllChk(this.setting,!!checked)},zTreeTools.getCheckedNodes=function(checked){var childKey=this.setting.data.key.children;return checked=checked!==!1,data.getTreeCheckedNodes(this.setting,data.getRoot(this.setting)[childKey],checked)},zTreeTools.getChangeCheckedNodes=function(){var childKey=this.setting.data.key.children;return data.getTreeChangeCheckedNodes(this.setting,data.getRoot(this.setting)[childKey])},zTreeTools.setChkDisabled=function(node,disabled,inheritParent,inheritChildren){disabled=!!disabled,inheritParent=!!inheritParent,inheritChildren=!!inheritChildren,view.repairSonChkDisabled(this.setting,node,disabled,inheritChildren),view.repairParentChkDisabled(this.setting,node.getParentNode(),disabled,inheritParent)};var _updateNode=zTreeTools.updateNode;zTreeTools.updateNode=function(node,checkTypeFlag){if(_updateNode&&_updateNode.apply(zTreeTools,arguments),node&&this.setting.check.enable){var nObj=$$(node,this.setting);if(nObj.get(0)&&tools.uCanDo(this.setting)){var checkObj=$$(node,consts.id.CHECK,this.setting);1!=checkTypeFlag&&this.setting.check.chkStyle!==consts.radio.STYLE||view.checkNodeRelation(this.setting,node),view.setChkClass(this.setting,checkObj,node),view.repairParentChkClassWithSelf(this.setting,node)}}}},_data={getRadioCheckedList:function(setting){for(var checkedList=data.getRoot(setting).radioCheckedList,i=0,j=checkedList.length;i<j;i++)data.getNodeCache(setting,checkedList[i].tId)||(checkedList.splice(i,1),i--,j--);return checkedList},getCheckStatus:function(setting,node){if(!setting.check.enable||node.nocheck||node.chkDisabled)return null;var checkedKey=setting.data.key.checked,r={checked:node[checkedKey],half:node.halfCheck?node.halfCheck:setting.check.chkStyle==consts.radio.STYLE?2===node.check_Child_State:node[checkedKey]?node.check_Child_State>-1&&node.check_Child_State<2:node.check_Child_State>0};return r},getTreeCheckedNodes:function(setting,nodes,checked,results){if(!nodes)return[];var childKey=setting.data.key.children,checkedKey=setting.data.key.checked,onlyOne=checked&&setting.check.chkStyle==consts.radio.STYLE&&setting.check.radioType==consts.radio.TYPE_ALL;results=results?results:[];for(var i=0,l=nodes.length;i<l&&(nodes[i].nocheck===!0||nodes[i].chkDisabled===!0||nodes[i][checkedKey]!=checked||(results.push(nodes[i]),!onlyOne))&&(data.getTreeCheckedNodes(setting,nodes[i][childKey],checked,results),!(onlyOne&&results.length>0));i++);return results},getTreeChangeCheckedNodes:function(setting,nodes,results){if(!nodes)return[];var childKey=setting.data.key.children,checkedKey=setting.data.key.checked;results=results?results:[];for(var i=0,l=nodes.length;i<l;i++)nodes[i].nocheck!==!0&&nodes[i].chkDisabled!==!0&&nodes[i][checkedKey]!=nodes[i].checkedOld&&results.push(nodes[i]),data.getTreeChangeCheckedNodes(setting,nodes[i][childKey],results);return results},makeChkFlag:function(setting,node){if(node){var childKey=setting.data.key.children,checkedKey=setting.data.key.checked,chkFlag=-1;if(node[childKey])for(var i=0,l=node[childKey].length;i<l;i++){var cNode=node[childKey][i],tmp=-1;if(setting.check.chkStyle==consts.radio.STYLE){if(tmp=cNode.nocheck===!0||cNode.chkDisabled===!0?cNode.check_Child_State:cNode.halfCheck===!0?2:cNode[checkedKey]?2:cNode.check_Child_State>0?2:0,2==tmp){chkFlag=2;break}0==tmp&&(chkFlag=0)}else if(setting.check.chkStyle==consts.checkbox.STYLE){if(tmp=cNode.nocheck===!0||cNode.chkDisabled===!0?cNode.check_Child_State:cNode.halfCheck===!0?1:cNode[checkedKey]?cNode.check_Child_State===-1||2===cNode.check_Child_State?2:1:cNode.check_Child_State>0?1:0,1===tmp){chkFlag=1;break}if(2===tmp&&chkFlag>-1&&i>0&&tmp!==chkFlag){chkFlag=1;break}if(2===chkFlag&&tmp>-1&&tmp<2){chkFlag=1;break}tmp>-1&&(chkFlag=tmp)}}node.check_Child_State=chkFlag}}},_event={},_handler={onCheckNode:function(event,node){if(node.chkDisabled===!0)return!1;var setting=data.getSetting(event.data.treeId),checkedKey=setting.data.key.checked;if(0==tools.apply(setting.callback.beforeCheck,[setting.treeId,node],!0))return!0;node[checkedKey]=!node[checkedKey],view.checkNodeRelation(setting,node);var checkObj=$$(node,consts.id.CHECK,setting);return view.setChkClass(setting,checkObj,node),view.repairParentChkClassWithSelf(setting,node),setting.treeObj.trigger(consts.event.CHECK,[event,setting.treeId,node]),!0},onMouseoverCheck:function(event,node){if(node.chkDisabled===!0)return!1;var setting=data.getSetting(event.data.treeId),checkObj=$$(node,consts.id.CHECK,setting);return node.check_Focus=!0,view.setChkClass(setting,checkObj,node),!0},onMouseoutCheck:function(event,node){if(node.chkDisabled===!0)return!1;var setting=data.getSetting(event.data.treeId),checkObj=$$(node,consts.id.CHECK,setting);return node.check_Focus=!1,view.setChkClass(setting,checkObj,node),!0}},_tools={},_view={checkNodeRelation:function(setting,node){var pNode,i,l,childKey=setting.data.key.children,checkedKey=setting.data.key.checked,r=consts.radio;if(setting.check.chkStyle==r.STYLE){var checkedList=data.getRadioCheckedList(setting);if(node[checkedKey])if(setting.check.radioType==r.TYPE_ALL){for(i=checkedList.length-1;i>=0;i--)pNode=checkedList[i],pNode[checkedKey]&&pNode!=node&&(pNode[checkedKey]=!1,checkedList.splice(i,1),view.setChkClass(setting,$$(pNode,consts.id.CHECK,setting),pNode),pNode.parentTId!=node.parentTId&&view.repairParentChkClassWithSelf(setting,pNode));checkedList.push(node)}else{var parentNode=node.parentTId?node.getParentNode():data.getRoot(setting);for(i=0,l=parentNode[childKey].length;i<l;i++)pNode=parentNode[childKey][i],pNode[checkedKey]&&pNode!=node&&(pNode[checkedKey]=!1,view.setChkClass(setting,$$(pNode,consts.id.CHECK,setting),pNode))}else if(setting.check.radioType==r.TYPE_ALL)for(i=0,l=checkedList.length;i<l;i++)if(node==checkedList[i]){checkedList.splice(i,1);break}}else node[checkedKey]&&(!node[childKey]||0==node[childKey].length||setting.check.chkboxType.Y.indexOf("s")>-1)&&view.setSonNodeCheckBox(setting,node,!0),node[checkedKey]||node[childKey]&&0!=node[childKey].length&&!(setting.check.chkboxType.N.indexOf("s")>-1)||view.setSonNodeCheckBox(setting,node,!1),node[checkedKey]&&setting.check.chkboxType.Y.indexOf("p")>-1&&view.setParentNodeCheckBox(setting,node,!0),!node[checkedKey]&&setting.check.chkboxType.N.indexOf("p")>-1&&view.setParentNodeCheckBox(setting,node,!1)},makeChkClass:function(setting,node){var checkedKey=setting.data.key.checked,c=consts.checkbox,r=consts.radio,checkboxType=setting.check.chkboxType,notEffectByOtherNode=""===checkboxType.Y&&""===checkboxType.N;fullStyle="",node.chkDisabled===!0?fullStyle=c.DISABLED:node.halfCheck?fullStyle=c.PART:setting.check.chkStyle==r.STYLE?fullStyle=node.check_Child_State<1?c.FULL:c.PART:fullStyle=node[checkedKey]?2===node.check_Child_State||node.check_Child_State===-1||notEffectByOtherNode?c.FULL:c.PART:node.check_Child_State<1||notEffectByOtherNode?c.FULL:c.PART;var chkName=setting.check.chkStyle+"_"+(node[checkedKey]?c.TRUE:c.FALSE)+"_"+fullStyle;return chkName=node.check_Focus&&node.chkDisabled!==!0?chkName+"_"+c.FOCUS:chkName,consts.className.BUTTON+" "+c.DEFAULT+" "+chkName},repairAllChk:function(setting,checked){if(setting.check.enable&&setting.check.chkStyle===consts.checkbox.STYLE)for(var checkedKey=setting.data.key.checked,childKey=setting.data.key.children,root=data.getRoot(setting),i=0,l=root[childKey].length;i<l;i++){var node=root[childKey][i];node.nocheck!==!0&&node.chkDisabled!==!0&&(node[checkedKey]=checked),view.setSonNodeCheckBox(setting,node,checked)}},repairChkClass:function(setting,node){if(node&&(data.makeChkFlag(setting,node),node.nocheck!==!0)){var checkObj=$$(node,consts.id.CHECK,setting);view.setChkClass(setting,checkObj,node)}},repairParentChkClass:function(setting,node){if(node&&node.parentTId){var pNode=node.getParentNode();view.repairChkClass(setting,pNode),view.repairParentChkClass(setting,pNode)}},repairParentChkClassWithSelf:function(setting,node){if(node){var childKey=setting.data.key.children;node[childKey]&&node[childKey].length>0?view.repairParentChkClass(setting,node[childKey][0]):view.repairParentChkClass(setting,node)}},repairSonChkDisabled:function(setting,node,chkDisabled,inherit){if(node){var childKey=setting.data.key.children;if(node.chkDisabled!=chkDisabled&&(node.chkDisabled=chkDisabled),view.repairChkClass(setting,node),node[childKey]&&inherit)for(var i=0,l=node[childKey].length;i<l;i++){var sNode=node[childKey][i];view.repairSonChkDisabled(setting,sNode,chkDisabled,inherit)}}},repairParentChkDisabled:function(setting,node,chkDisabled,inherit){node&&(node.chkDisabled!=chkDisabled&&inherit&&(node.chkDisabled=chkDisabled),view.repairChkClass(setting,node),view.repairParentChkDisabled(setting,node.getParentNode(),chkDisabled,inherit))},setChkClass:function(setting,obj,node){obj&&(node.nocheck===!0?obj.hide():obj.show(),obj.attr("class",view.makeChkClass(setting,node)))},setParentNodeCheckBox:function(setting,node,value,srcNode){var childKey=setting.data.key.children,checkedKey=setting.data.key.checked,checkObj=$$(node,consts.id.CHECK,setting);if(srcNode||(srcNode=node),data.makeChkFlag(setting,node),node.nocheck!==!0&&node.chkDisabled!==!0&&(node[checkedKey]=value,view.setChkClass(setting,checkObj,node),setting.check.autoCheckTrigger&&node!=srcNode&&setting.treeObj.trigger(consts.event.CHECK,[null,setting.treeId,node])),node.parentTId){var pSign=!0;if(!value)for(var pNodes=node.getParentNode()[childKey],i=0,l=pNodes.length;i<l;i++)if(pNodes[i].nocheck!==!0&&pNodes[i].chkDisabled!==!0&&pNodes[i][checkedKey]||(pNodes[i].nocheck===!0||pNodes[i].chkDisabled===!0)&&pNodes[i].check_Child_State>0){pSign=!1;break}pSign&&view.setParentNodeCheckBox(setting,node.getParentNode(),value,srcNode)}},setSonNodeCheckBox:function(setting,node,value,srcNode){if(node){var childKey=setting.data.key.children,checkedKey=setting.data.key.checked,checkObj=$$(node,consts.id.CHECK,setting);srcNode||(srcNode=node);var hasDisable=!1;if(node[childKey])for(var i=0,l=node[childKey].length;i<l&&node.chkDisabled!==!0;i++){var sNode=node[childKey][i];view.setSonNodeCheckBox(setting,sNode,value,srcNode),sNode.chkDisabled===!0&&(hasDisable=!0)}node!=data.getRoot(setting)&&node.chkDisabled!==!0&&(hasDisable&&node.nocheck!==!0&&data.makeChkFlag(setting,node),node.nocheck!==!0&&node.chkDisabled!==!0?(node[checkedKey]=value,hasDisable||(node.check_Child_State=node[childKey]&&node[childKey].length>0?value?2:0:-1)):node.check_Child_State=-1,view.setChkClass(setting,checkObj,node),setting.check.autoCheckTrigger&&node!=srcNode&&node.nocheck!==!0&&node.chkDisabled!==!0&&setting.treeObj.trigger(consts.event.CHECK,[null,setting.treeId,node]))}}},_z={tools:_tools,view:_view,event:_event,data:_data};$.extend(!0,$.fn.zTree.consts,_consts),$.extend(!0,$.fn.zTree._z,_z);var zt=$.fn.zTree,tools=zt._z.tools,consts=zt.consts,view=zt._z.view,data=zt._z.data,event=zt._z.event,$$=tools.$;data.exSetting(_setting),data.addInitBind(_bindEvent),data.addInitUnBind(_unbindEvent),data.addInitCache(_initCache),data.addInitNode(_initNode),data.addInitProxy(_eventProxy,!0),data.addInitRoot(_initRoot),data.addBeforeA(_beforeA),data.addZTreeTools(_zTreeTools);var _createNodes=view.createNodes;view.createNodes=function(setting,level,nodes,parentNode){_createNodes&&_createNodes.apply(view,arguments),nodes&&view.repairParentChkClassWithSelf(setting,parentNode)};var _removeNode=view.removeNode;view.removeNode=function(setting,node){var parentNode=node.getParentNode();_removeNode&&_removeNode.apply(view,arguments),node&&parentNode&&(view.repairChkClass(setting,parentNode),view.repairParentChkClass(setting,parentNode))};var _appendNodes=view.appendNodes;view.appendNodes=function(setting,level,nodes,parentNode,initFlag,openFlag){var html="";return _appendNodes&&(html=_appendNodes.apply(view,arguments)),parentNode&&data.makeChkFlag(setting,parentNode),html}}(BI.jQuery),BI.IconChangeButton=BI.inherit(BI.Single,{_defaultConfig:function(){var conf=BI.IconChangeButton.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-icon-change-button",iconCls:"",iconWidth:null,iconHeight:null,stopEvent:!1,stopPropagation:!1,selected:!1,once:!1,forceSelected:!1,forceNotSelected:!1,disableSelected:!1,shadow:!1,isShadowShowingOnSelected:!1,trigger:null,handler:BI.emptyFn})},_init:function(){BI.IconChangeButton.superclass._init.apply(this,arguments);var self=this,o=this.options;this.button=BI.createWidget({type:"bi.icon_button",element:this,cls:o.iconCls,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight,stopEvent:o.stopEvent,stopPropagation:o.stopPropagation,selected:o.selected,once:o.once,forceSelected:o.forceSelected,forceNotSelected:o.forceNotSelected,disableSelected:o.disableSelected,shadow:o.shadow,isShadowShowingOnSelected:o.isShadowShowingOnSelected,trigger:o.trigger,handler:o.handler}),this.button.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.button.on(BI.IconButton.EVENT_CHANGE,function(){self.fireEvent(BI.IconChangeButton.EVENT_CHANGE,arguments)})},isSelected:function(){return this.button.isSelected()},setSelected:function(b){this.button.setSelected(b)},setIcon:function(cls){var o=this.options;o.iconCls!==cls&&(this.element.removeClass(o.iconCls).addClass(cls),o.iconCls=cls)}}),BI.IconChangeButton.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.icon_change_button",BI.IconChangeButton),BI.TriggerIconButton=BI.inherit(BI.IconButton,{_defaultConfig:function(){var conf=BI.TriggerIconButton.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-trigger-icon-button",extraCls:"pull-down-font"})}}),BI.TriggerIconButton.EVENT_CHANGE=BI.IconButton.EVENT_CHANGE,BI.shortcut("bi.trigger_icon_button",BI.TriggerIconButton),BI.HalfIconButton=BI.inherit(BI.IconButton,{_defaultConfig:function(){var conf=BI.HalfIconButton.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-half-icon-button check-half-select-icon",height:16,width:16,iconWidth:16,iconHeight:16,selected:!1})}}),BI.HalfIconButton.EVENT_CHANGE=BI.IconButton.EVENT_CHANGE,BI.shortcut("bi.half_icon_button",BI.HalfIconButton),BI.HalfButton=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.HalfIconButton.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-half-button bi-high-light-border",height:14,width:14,selected:!1})},_init:function(){BI.HalfButton.superclass._init.apply(this,arguments),BI.createWidget({type:"bi.center_adapt",element:this.element,items:[{type:"bi.layout",cls:"bi-high-light-background",width:8,height:8}]})},doClick:function(){BI.HalfButton.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.HalfButton.EVENT_CHANGE)}}),BI.HalfButton.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.half_button",BI.HalfButton),BI.MultiSelectItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.MultiSelectItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-multi-select-item",height:24,logic:{dynamic:!1},iconWrapperWidth:26})},_init:function(){BI.MultiSelectItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.checkbox"}),this.text=BI.createWidget({type:"bi.label",cls:"list-item-text",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,rgap:o.rgap,text:o.text,keyword:o.keyword,value:o.value,py:o.py}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&self.setSelected(self.isSelected())}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",{type:"bi.center_adapt",items:[this.checkbox],width:o.iconWrapperWidth},this.text)}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments);
},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.MultiSelectItem.superclass.doClick.apply(this,arguments),this.checkbox.setSelected(this.isSelected()),this.isValid()&&this.fireEvent(BI.MultiSelectItem.EVENT_CHANGE,this.getValue(),this)},setSelected:function(v){BI.MultiSelectItem.superclass.setSelected.apply(this,arguments),this.checkbox.setSelected(v)}}),BI.MultiSelectItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_item",BI.MultiSelectItem),BI.SingleSelectIconTextItem=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.SingleSelectIconTextItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-single-select-icon-text-item bi-list-item-active",iconCls:"",height:24})},_init:function(){BI.SingleSelectIconTextItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.text=BI.createWidget({type:"bi.icon_text_item",element:this,cls:o.iconCls,once:o.once,iconWrapperWidth:o.iconWrapperWidth,selected:o.selected,height:o.height,iconHeight:o.iconHeight,iconWidth:o.iconWidth,text:o.text,keyword:o.keyword,value:o.value,py:o.py}),this.text.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)})},isSelected:function(){return this.text.isSelected()},setSelected:function(b){this.text.setSelected(b)},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.SingleSelectIconTextItem.superclass.doClick.apply(this,arguments)}}),BI.shortcut("bi.single_select_icon_text_item",BI.SingleSelectIconTextItem),BI.SingleSelectItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.SingleSelectItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-single-select-item bi-list-item-active",hgap:10,height:24,textAlign:"left"})},_init:function(){BI.SingleSelectItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.text=BI.createWidget({type:"bi.label",element:this,textAlign:o.textAlign,whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,keyword:o.keyword,value:o.value,title:o.title||o.text,warningTitle:o.warningTitle,py:o.py})},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.SingleSelectItem.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.SingleSelectItem.EVENT_CHANGE,this.isSelected(),this)},setSelected:function(v){BI.SingleSelectItem.superclass.setSelected.apply(this,arguments)}}),BI.SingleSelectItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_select_item",BI.SingleSelectItem),BI.SingleSelectRadioItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.SingleSelectRadioItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-single-select-radio-item",logic:{dynamic:!1},hgap:10,height:24})},_init:function(){BI.SingleSelectRadioItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.radio=BI.createWidget({type:"bi.radio",once:o.once}),this.text=BI.createWidget({type:"bi.label",cls:"list-item-text",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,keyword:o.keyword,value:o.value,py:o.py}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",{type:"bi.center_adapt",items:[this.radio],width:16},this.text)}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.SingleSelectRadioItem.superclass.doClick.apply(this,arguments),this.radio.setSelected(this.isSelected()),this.isValid()&&this.fireEvent(BI.SingleSelectRadioItem.EVENT_CHANGE,this.isSelected(),this)},setSelected:function(v){BI.SingleSelectRadioItem.superclass.setSelected.apply(this,arguments),this.radio.setSelected(v)}}),BI.SingleSelectRadioItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_select_radio_item",BI.SingleSelectRadioItem),BI.ArrowNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.ArrowNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-arrow-group-node bi-list-item",logic:{dynamic:!1},id:"",pId:"",open:!1,height:24})},_init:function(){var self=this,o=this.options;BI.ArrowNode.superclass._init.apply(this,arguments),this.checkbox=BI.createWidget({type:"bi.arrow_group_node_checkbox"}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&self.setSelected(self.isSelected()),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,{width:16,el:this.checkbox},this.text);BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.ArrowNode.superclass.doClick.apply(this,arguments),this.checkbox.setSelected(this.isOpened())},setText:function(text){BI.ArrowNode.superclass.setText.apply(this,arguments),this.text.setText(text)},setOpened:function(v){BI.ArrowNode.superclass.setOpened.apply(this,arguments),this.checkbox.setSelected(v)}}),BI.shortcut("bi.arrow_group_node",BI.ArrowNode),BI.FirstPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.FirstPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-first-plus-group-node bi-list-item",logic:{dynamic:!1},id:"",pId:"",open:!1,height:24})},_init:function(){BI.FirstPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.first_tree_node_checkbox",stopPropagation:!0}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&(this.isSelected()?self.triggerExpand():self.triggerCollapse())});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,{width:24,el:this.checkbox},this.text);BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.FirstPlusGroupNode.superclass.doClick.apply(this,arguments),this.checkbox.setSelected(this.isSelected())},setOpened:function(v){BI.FirstPlusGroupNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.checkbox)&&this.checkbox.setSelected(v)}}),BI.shortcut("bi.first_plus_group_node",BI.FirstPlusGroupNode),BI.IconArrowNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.IconArrowNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-icon-arrow-node bi-list-item",logic:{dynamic:!1},id:"",pId:"",open:!1,height:24,iconHeight:12,iconWidth:12,iconCls:""})},_init:function(){BI.IconArrowNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.arrow_group_node_checkbox",width:24,stopPropagation:!0});var icon=BI.createWidget({type:"bi.icon_label",width:24,cls:o.iconCls,iconWidth:o.iconWidth,iconHeight:o.iconHeight});this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&(this.isSelected()?self.triggerExpand():self.triggerCollapse())});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,{width:16,el:this.checkbox},{width:16,el:icon},this.text);BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items,rgap:5}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.IconArrowNode.superclass.doClick.apply(this,arguments),this.checkbox.setSelected(this.isSelected())},setOpened:function(v){BI.IconArrowNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.checkbox)&&this.checkbox.setSelected(v)}}),BI.shortcut("bi.icon_arrow_node",BI.IconArrowNode),BI.LastPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.LastPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-last-plus-group-node bi-list-item",logic:{dynamic:!1},id:"",pId:"",open:!1,height:24})},_init:function(){BI.LastPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.last_tree_node_checkbox",stopPropagation:!0}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&(this.isSelected()?self.triggerExpand():self.triggerCollapse())});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,{width:24,el:this.checkbox},this.text);BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.LastPlusGroupNode.superclass.doClick.apply(this,arguments),this.checkbox.setSelected(this.isSelected())},setOpened:function(v){BI.LastPlusGroupNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.checkbox)&&this.checkbox.setSelected(v)}}),BI.shortcut("bi.last_plus_group_node",BI.LastPlusGroupNode),BI.MidPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.MidPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-mid-plus-group-node bi-list-item",logic:{dynamic:!1},id:"",pId:"",open:!1,height:24})},_init:function(){BI.MidPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.mid_tree_node_checkbox",stopPropagation:!0}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&(this.isSelected()?self.triggerExpand():self.triggerCollapse())});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,{width:24,el:this.checkbox},this.text);BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.MidPlusGroupNode.superclass.doClick.apply(this,arguments),this.checkbox.setSelected(this.isSelected())},setOpened:function(v){BI.MidPlusGroupNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.checkbox)&&this.checkbox.setSelected(v)}}),BI.shortcut("bi.mid_plus_group_node",BI.MidPlusGroupNode),BI.MultiLayerIconArrowNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.MultiLayerIconArrowNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-multilayer-icon-arrow-node bi-list-item",layer:0,id:"",pId:"",open:!1,height:24,iconHeight:16,iconWidth:16,iconCls:""})},_init:function(){BI.MultiLayerIconArrowNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.node=BI.createWidget({type:"bi.icon_arrow_node",iconCls:o.iconCls,cls:"bi-list-item-none",id:o.id,pId:o.pId,open:o.open,height:o.height,iconHeight:o.iconHeight,iconWidth:o.iconWidth,hgap:o.hgap,text:o.text,value:o.value,py:o.py}),this.node.on(BI.Controller.EVENT_CHANGE,function(type){self.setSelected(self.isSelected()),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});var items=[];BI.count(0,o.layer,function(){items.push({type:"bi.layout",width:15,height:o.height})}),items.push(this.node),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,15),items:[items]})},isOnce:function(){return!0},doRedMark:function(){this.node.doRedMark.apply(this.node,arguments)},unRedMark:function(){this.node.unRedMark.apply(this.node,arguments)},isSelected:function(){return this.node.isSelected()},setSelected:function(b){BI.MultiLayerIconArrowNode.superclass.setSelected.apply(this,arguments),this.node.setSelected(b)},doClick:function(){BI.NodeButton.superclass.doClick.apply(this,arguments),this.node.setSelected(this.isSelected())},setOpened:function(v){BI.MultiLayerIconArrowNode.superclass.setOpened.apply(this,arguments),this.node.setOpened(v)}}),BI.shortcut("bi.multilayer_icon_arrow_node",BI.MultiLayerIconArrowNode),BI.PlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.PlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-plus-group-node bi-list-item",logic:{dynamic:!1},id:"",pId:"",open:!1,height:24})},_init:function(){BI.PlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.tree_node_checkbox"}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,keyword:o.keyword,py:o.py}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&self.setSelected(self.isSelected()),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,{width:24,el:this.checkbox},this.text);BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.PlusGroupNode.superclass.doClick.apply(this,arguments),this.checkbox.setSelected(this.isSelected())},setOpened:function(v){BI.PlusGroupNode.superclass.setOpened.apply(this,arguments),this.checkbox&&this.checkbox.setSelected(v)}}),BI.shortcut("bi.plus_group_node",BI.PlusGroupNode),BI.Switch=BI.inherit(BI.BasicButton,{props:{extraCls:"bi-switch",height:22,width:44,logic:{dynamic:!1}},render:function(){var self=this;return{type:"bi.absolute",ref:function(){self.layout=this},items:[{el:{type:"bi.text_button",cls:"circle-button bi-card"},width:18,height:18,top:2,left:this.options.selected?24:2}]}},setSelected:function(v){BI.Switch.superclass.setSelected.apply(this,arguments),this.layout.attr("items")[0].left=v?24:2,this.layout.resize()},doClick:function(){BI.Switch.superclass.doClick.apply(this,arguments),this.fireEvent(BI.Switch.EVENT_CHANGE)}}),BI.Switch.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.switch",BI.Switch),BI.FirstTreeLeafItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.FirstTreeLeafItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-first-tree-leaf-item bi-list-item-active",logic:{dynamic:!1},id:"",pId:"",layer:0,height:24})},_init:function(){BI.FirstTreeLeafItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.checkbox"}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&self.setSelected(self.isSelected()),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,0===o.layer?"":{width:12,el:{type:"bi.layout",cls:o.pNode&&o.pNode.isLastNode?"":"base-line-conn-background",width:12,height:o.height}},{width:24,el:{type:"bi.layout",cls:"first-line-conn-background",width:24,height:o.height}},{el:this.text});BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},getId:function(){return this.options.id},getPId:function(){return this.options.pId},doClick:function(){BI.FirstTreeLeafItem.superclass.doClick.apply(this,arguments),this.checkbox.setSelected(this.isSelected())},setSelected:function(v){BI.FirstTreeLeafItem.superclass.setSelected.apply(this,arguments),this.checkbox.setSelected(v)}}),BI.shortcut("bi.first_tree_leaf_item",BI.FirstTreeLeafItem),BI.IconTreeLeafItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.IconTreeLeafItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-icon-tree-leaf-item bi-list-item-active",logic:{dynamic:!1},height:24,iconWidth:16,iconHeight:16,iconCls:""})},_init:function(){BI.IconTreeLeafItem.superclass._init.apply(this,arguments);var self=this,o=this.options,icon=BI.createWidget({type:"bi.center_adapt",width:24,cls:o.iconCls,items:[{type:"bi.icon",width:o.iconWidth,height:o.iconHeight}]});this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,{width:16,el:icon},{el:this.text});BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items,hgap:5}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},getId:function(){return this.options.id},getPId:function(){return this.options.pId},doClick:function(){BI.IconTreeLeafItem.superclass.doClick.apply(this,arguments)},setSelected:function(v){BI.IconTreeLeafItem.superclass.setSelected.apply(this,arguments)}}),BI.shortcut("bi.icon_tree_leaf_item",BI.IconTreeLeafItem),BI.LastTreeLeafItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.LastTreeLeafItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-last-tree-leaf-item bi-list-item-active",logic:{dynamic:!1},id:"",pId:"",layer:0,height:24})},_init:function(){BI.LastTreeLeafItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.checkbox"}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&self.setSelected(self.isSelected()),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,0===o.layer?"":{width:12,el:{type:"bi.layout",cls:o.pNode&&o.pNode.isLastNode?"":"base-line-conn-background",width:12,height:o.height}},{width:24,el:{type:"bi.layout",cls:"last-line-conn-background",width:24,height:o.height}},{el:this.text});BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},getId:function(){return this.options.id},getPId:function(){return this.options.pId},doClick:function(){BI.LastTreeLeafItem.superclass.doClick.apply(this,arguments)},setSelected:function(v){BI.LastTreeLeafItem.superclass.setSelected.apply(this,arguments)}}),BI.shortcut("bi.last_tree_leaf_item",BI.LastTreeLeafItem),BI.MidTreeLeafItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.MidTreeLeafItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-mid-tree-leaf-item bi-list-item-active",logic:{dynamic:!1},id:"",pId:"",layer:0,height:24})},_init:function(){BI.MidTreeLeafItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.checkbox"}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&self.setSelected(self.isSelected()),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,0===o.layer?"":{width:12,el:{type:"bi.layout",cls:o.pNode&&o.pNode.isLastNode?"":"base-line-conn-background",width:12,height:o.height}},{width:24,el:{type:"bi.layout",cls:"mid-line-conn-background",width:24,height:o.height}},{el:this.text});BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},getId:function(){return this.options.id},getPId:function(){return this.options.pId},doClick:function(){BI.MidTreeLeafItem.superclass.doClick.apply(this,arguments),this.checkbox.setSelected(this.isSelected())},setSelected:function(v){BI.MidTreeLeafItem.superclass.setSelected.apply(this,arguments),this.checkbox.setSelected(v)}}),BI.shortcut("bi.mid_tree_leaf_item",BI.MidTreeLeafItem),BI.MultiLayerIconTreeLeafItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.MultiLayerIconTreeLeafItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-multilayer-icon-tree-leaf-item bi-list-item-active",layer:0,height:24,iconCls:"",iconHeight:16,iconWidth:16})},_init:function(){BI.MultiLayerIconTreeLeafItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.item=BI.createWidget({type:"bi.icon_tree_leaf_item",cls:"bi-list-item-none",iconCls:o.iconCls,id:o.id,pId:o.pId,isFront:!0,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,iconWidth:o.iconWidth,iconHeight:o.iconHeight}),this.item.on(BI.Controller.EVENT_CHANGE,function(type){type!==BI.Events.CLICK&&self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});var items=[];BI.count(0,o.layer,function(){items.push({type:"bi.layout",width:15,height:o.height})}),items.push(this.item),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,15),items:[items]})},doRedMark:function(){this.item.doRedMark.apply(this.item,arguments)},unRedMark:function(){this.item.unRedMark.apply(this.item,arguments)},doHighLight:function(){this.item.doHighLight.apply(this.item,arguments)},unHighLight:function(){this.item.unHighLight.apply(this.item,arguments)},getId:function(){return this.options.id},getPId:function(){return this.options.pId},doClick:function(){BI.MultiLayerIconTreeLeafItem.superclass.doClick.apply(this,arguments),this.item.setSelected(this.isSelected())},setSelected:function(v){BI.MultiLayerIconTreeLeafItem.superclass.setSelected.apply(this,arguments),this.item.setSelected(v)},getValue:function(){return this.options.value}}),BI.shortcut("bi.multilayer_icon_tree_leaf_item",BI.MultiLayerIconTreeLeafItem),BI.TreeTextLeafItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.TreeTextLeafItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-tree-text-leaf-item bi-list-item-active",id:"",pId:"",height:24,hgap:0,lgap:0,rgap:0})},_init:function(){BI.TreeTextLeafItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,lgap:o.lgap,rgap:o.hgap,text:o.text,value:o.value,py:o.py}),BI.createWidget({type:"bi.htape",element:this,items:[{el:this.text}]})},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},getId:function(){return this.options.id},getPId:function(){return this.options.pId}}),BI.shortcut("bi.tree_text_leaf_item",BI.TreeTextLeafItem),BI.CalendarDateItem=BI.inherit(BI.BasicButton,{render:function(){var self=this,o=this.options;return{type:"bi.absolute",items:[{el:{type:"bi.text_item",cls:"bi-list-item-select",textAlign:"center",whiteSpace:"normal",text:o.text,value:o.value,ref:function(){self.text=this}},left:o.lgap,right:o.rgap,top:0,bottom:0}]}},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},setSelected:function(b){BI.CalendarDateItem.superclass.setSelected.apply(this,arguments),this.text.setSelected(b)},getValue:function(){return this.text.getValue()}}),BI.shortcut("bi.calendar_date_item",BI.CalendarDateItem),BI.Calendar=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.Calendar.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-calendar",logic:{dynamic:!1},min:"1900-01-01",max:"2099-12-31",year:2015,month:8,day:25})},_dateCreator:function(Y,M,D){var self=this,o=this.options,log={},De=BI.getDate(),mins=o.min.match(/\d+/g),maxs=o.max.match(/\d+/g);Y<(0|mins[0])&&(Y=0|mins[0]),Y>(0|maxs[0])&&(Y=0|maxs[0]),De.setFullYear(Y,M,D),log.ymd=[De.getFullYear(),De.getMonth(),De.getDate()];var MD=BI.Date._MD.slice(0);MD[1]=BI.isLeapYear(log.ymd[0])?29:28,De.setFullYear(log.ymd[0],log.ymd[1],1),log.FDay=De.getDay();var offSetFDay=(7-BI.StartOfWeek+log.FDay)%7;log.PDay=MD[0===M?11:M-1]-offSetFDay+1,log.NDay=1;var items=[];return BI.each(BI.range(42),function(i){var td={},YY=log.ymd[0],MM=log.ymd[1]+1,DD;i<offSetFDay?(td.lastMonth=!0,DD=i+log.PDay,1===MM&&(YY-=1),MM=1===MM?12:MM-1):i>=offSetFDay&&i<offSetFDay+MD[log.ymd[1]]?(DD=i-offSetFDay+1,i-offSetFDay+1===log.ymd[2]&&(td.currentDay=!0)):(td.nextMonth=!0,DD=log.NDay++,12===MM&&(YY+=1),MM=12===MM?1:MM+1),BI.checkDateVoid(YY,MM,DD,mins,maxs)[0]&&(td.disabled=!0),td.text=DD,items.push(td)}),items},_init:function(){BI.Calendar.superclass._init.apply(this,arguments);var self=this,o=this.options,items=BI.map(this._getWeekLabel(),function(i,value){return{type:"bi.label",height:24,text:value}}),title=BI.createWidget({type:"bi.button_group",height:44,items:items,layouts:[{type:"bi.center",hgap:5,vgap:10}]});this.days=BI.createWidget({type:"bi.button_group",items:BI.createItems(this._getItems(),{}),layouts:[BI.LogicFactory.createLogic("table",BI.extend({},o.logic,{columns:7,rows:6,columnSize:[1/7,1/7,1/7,1/7,1/7,1/7,1/7],rowSize:24,vgap:10}))]}),this.days.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("vertical",BI.extend({},o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("top",title,this.days)}))))},_getWeekLabel:function(){return BI.map(BI.range(0,7),function(idx,v){return BI.Date._SDN[(v+BI.StartOfWeek)%7]})},isFrontDate:function(){var o=this.options,c=this._const,Y=o.year,M=o.month,De=BI.getDate(),day=De.getDay();Y=0|Y,De.setFullYear(Y,M,1);var newDate=BI.getOffsetDate(De,-1*(day+1));return!!BI.checkDateVoid(newDate.getFullYear(),newDate.getMonth(),newDate.getDate(),o.min,o.max)[0]},isFinalDate:function(){var o=this.options,c=this._const,Y=o.year,M=o.month,De=BI.getDate(),day=De.getDay();Y=0|Y,De.setFullYear(Y,M,1);var newDate=BI.getOffsetDate(De,42-day);return!!BI.checkDateVoid(newDate.getFullYear(),newDate.getMonth(),newDate.getDate(),o.min,o.max)[0]},_getItems:function(){var o=this.options,days=this._dateCreator(o.year,o.month-1,o.day),items=[];return items.push(days.slice(0,7)),items.push(days.slice(7,14)),items.push(days.slice(14,21)),items.push(days.slice(21,28)),items.push(days.slice(28,35)),items.push(days.slice(35,42)),BI.map(items,function(i,item){return BI.map(item,function(j,td){var month=td.lastMonth?o.month-1:td.nextMonth?o.month+1:o.month;return BI.extend(td,{type:"bi.calendar_date_item",textAlign:"center",whiteSpace:"normal",once:!1,forceSelected:!0,height:24,value:o.year+"-"+month+"-"+td.text,disabled:td.lastMonth||td.nextMonth||td.disabled,lgap:5,rgap:5})})})},_populate:function(){this.days.populate(this._getItems())},setMinDate:function(minDate){var o=this.options;BI.isNotEmptyString(o.min)&&(o.min=minDate,this._populate())},setMaxDate:function(maxDate){var o=this.options;BI.isNotEmptyString(o.max)&&(o.max=maxDate,this._populate())},setValue:function(ob){this.days.setValue([ob.year+"-"+ob.month+"-"+ob.day])},getValue:function(){var date=this.days.getValue()[0].match(/\d+/g);return{year:0|date[0],month:0|date[1],day:0|date[2]}}}),BI.extend(BI.Calendar,{getPageByDateJSON:function(json){var year=BI.getDate().getFullYear(),month=BI.getDate().getMonth(),page=12*(json.year-year);return page+=json.month-1-month},getDateJSONByPage:function(v){var months=BI.getDate().getMonth(),page=v;page+=months;var year=BI.parseInt(page/12);page<0&&page%12!==0&&year--;var month=page>=0?page%12:(12+page%12)%12;return{year:BI.getDate().getFullYear()+year,month:month+1}}}),BI.shortcut("bi.calendar",BI.Calendar),BI.YearCalendar=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.YearCalendar.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-year-calendar",behaviors:{},logic:{dynamic:!1},min:"1900-01-01",max:"2099-12-31",year:null})},_yearCreator:function(Y){var o=this.options;Y=0|Y;var start=BI.YearCalendar.getStartYear(Y),items=[],startDate=BI.parseDateTime(o.min,"%Y-%X-%d"),endDate=BI.parseDateTime(o.max,"%Y-%X-%d");return BI.each(BI.range(BI.YearCalendar.INTERVAL),function(i){var td={};BI.checkDateVoid(start+i,1,1,BI.print(BI.getDate(startDate.getFullYear(),0,1),"%Y-%X-%d"),BI.print(BI.getDate(endDate.getFullYear(),0,1),"%Y-%X-%d"))[0]&&(td.disabled=!0),
td.text=start+i,items.push(td)}),items},_init:function(){BI.YearCalendar.superclass._init.apply(this,arguments);var self=this,o=this.options;this.currentYear=BI.getDate().getFullYear(),this.years=BI.createWidget({type:"bi.button_group",behaviors:o.behaviors,items:BI.createItems(this._getItems(),{}),layouts:[BI.LogicFactory.createLogic("table",BI.extend({},o.logic,{columns:2,rows:6,columnSize:[.5,.5],rowSize:24})),{type:"bi.center_adapt",vgap:1}]}),this.years.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("vertical",BI.extend({},o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("top",this.years)}))))},isFrontYear:function(){var o=this.options,Y=o.year;return Y=0|Y,!!BI.checkDateVoid(BI.YearCalendar.getStartYear(Y)-1,1,1,o.min,o.max)[0]},isFinalYear:function(){var o=this.options,c=this._const,Y=o.year;return Y=0|Y,!!BI.checkDateVoid(BI.YearCalendar.getEndYear(Y)+1,1,1,o.min,o.max)[0]},_getItems:function(){var o=this.options,years=this._yearCreator(o.year||this.currentYear),len=years.length,tyears=BI.makeArray(len,""),map=[0,6,1,7,2,8,3,9,4,10,5,11];BI.each(years,function(i,y){tyears[i]=years[map[i]]});var items=[];return items.push(tyears.slice(0,2)),items.push(tyears.slice(2,4)),items.push(tyears.slice(4,6)),items.push(tyears.slice(6,8)),items.push(tyears.slice(8,10)),items.push(tyears.slice(10,12)),BI.map(items,function(i,item){return BI.map(item,function(j,td){return BI.extend(td,{type:"bi.text_item",cls:"bi-list-item-select",textAlign:"center",whiteSpace:"normal",once:!1,forceSelected:!0,height:24,width:45,value:td.text,disabled:td.disabled})})})},_populate:function(){this.years.populate(this._getItems())},setMinDate:function(minDate){var o=this.options;BI.isNotEmptyString(o.min)&&(o.min=minDate,this._populate())},setMaxDate:function(maxDate){var o=this.options;BI.isNotEmptyString(this.options.max)&&(o.max=maxDate,this._populate())},setValue:function(val){this.years.setValue([val])},getValue:function(){return this.years.getValue()[0]}}),BI.extend(BI.YearCalendar,{INTERVAL:12,getStartYear:function(year){var cur=BI.getDate().getFullYear();return year-((year-cur+3)%BI.YearCalendar.INTERVAL+12)%BI.YearCalendar.INTERVAL},getEndYear:function(year){return BI.YearCalendar.getStartYear(year)+BI.YearCalendar.INTERVAL-1},getPageByYear:function(year){var cur=BI.getDate().getFullYear();return year=BI.YearCalendar.getStartYear(year),(year-cur+3)/BI.YearCalendar.INTERVAL}}),BI.shortcut("bi.year_calendar",BI.YearCalendar),BI.ArrowTreeGroupNodeCheckbox=BI.inherit(BI.IconButton,{_defaultConfig:function(){return BI.extend(BI.ArrowTreeGroupNodeCheckbox.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-arrow-group-node-checkbox"})},setSelected:function(v){BI.ArrowTreeGroupNodeCheckbox.superclass.setSelected.apply(this,arguments),v?this.element.removeClass("expander-right-font").addClass("expander-down-font"):this.element.removeClass("expander-down-font").addClass("expander-right-font")}}),BI.shortcut("bi.arrow_group_node_checkbox",BI.ArrowTreeGroupNodeCheckbox),BI.CheckingMarkNode=BI.inherit(BI.IconButton,{_defaultConfig:function(){return BI.extend(BI.CheckingMarkNode.superclass._defaultConfig.apply(this,arguments),{extraCls:"check-mark-font"})},_init:function(){BI.CheckingMarkNode.superclass._init.apply(this,arguments),this.setSelected(this.options.selected)},setSelected:function(v){BI.CheckingMarkNode.superclass.setSelected.apply(this,arguments),v===!0?this.element.addClass("check-mark-font"):this.element.removeClass("check-mark-font")}}),BI.shortcut("bi.checking_mark_node",BI.CheckingMarkNode),BI.FirstTreeNodeCheckbox=BI.inherit(BI.IconButton,{_defaultConfig:function(){return BI.extend(BI.FirstTreeNodeCheckbox.superclass._defaultConfig.apply(this,arguments),{extraCls:"tree-collapse-icon-type2",iconWidth:24,iconHeight:24})},setSelected:function(v){BI.FirstTreeNodeCheckbox.superclass.setSelected.apply(this,arguments),v===!0?this.element.addClass("tree-expand-icon-type2"):this.element.removeClass("tree-expand-icon-type2")}}),BI.shortcut("bi.first_tree_node_checkbox",BI.FirstTreeNodeCheckbox),BI.LastTreeNodeCheckbox=BI.inherit(BI.IconButton,{_defaultConfig:function(){return BI.extend(BI.LastTreeNodeCheckbox.superclass._defaultConfig.apply(this,arguments),{extraCls:"tree-collapse-icon-type4",iconWidth:24,iconHeight:24})},setSelected:function(v){BI.LastTreeNodeCheckbox.superclass.setSelected.apply(this,arguments),v===!0?this.element.addClass("tree-expand-icon-type4"):this.element.removeClass("tree-expand-icon-type4")}}),BI.shortcut("bi.last_tree_node_checkbox",BI.LastTreeNodeCheckbox),BI.MidTreeNodeCheckbox=BI.inherit(BI.IconButton,{_defaultConfig:function(){return BI.extend(BI.MidTreeNodeCheckbox.superclass._defaultConfig.apply(this,arguments),{extraCls:"tree-collapse-icon-type3",iconWidth:24,iconHeight:24})},setSelected:function(v){BI.MidTreeNodeCheckbox.superclass.setSelected.apply(this,arguments),v===!0?this.element.addClass("tree-expand-icon-type3"):this.element.removeClass("tree-expand-icon-type3")}}),BI.shortcut("bi.mid_tree_node_checkbox",BI.MidTreeNodeCheckbox),BI.TreeNodeCheckbox=BI.inherit(BI.IconButton,{_defaultConfig:function(){return BI.extend(BI.TreeNodeCheckbox.superclass._defaultConfig.apply(this,arguments),{extraCls:"tree-collapse-icon-type1",iconWidth:24,iconHeight:24})},setSelected:function(v){BI.TreeNodeCheckbox.superclass.setSelected.apply(this,arguments),v?this.element.addClass("tree-expand-icon-type1"):this.element.removeClass("tree-expand-icon-type1")}}),BI.shortcut("bi.tree_node_checkbox",BI.TreeNodeCheckbox),BI.CustomColorChooser=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.CustomColorChooser.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-custom-color-chooser",width:227,height:245})},_init:function(){BI.CustomColorChooser.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget(o.editor,{type:"bi.simple_color_picker_editor"}),this.editor.on(BI.ColorPickerEditor.EVENT_CHANGE,function(){self.setValue(this.getValue())}),this.farbtastic=BI.createWidget({type:"bi.farbtastic"}),this.farbtastic.on(BI.Farbtastic.EVENT_CHANGE,function(){self.setValue(this.getValue())}),BI.createWidget({type:"bi.vtape",element:this,items:[{type:"bi.absolute",items:[{el:this.editor,left:0,top:0,right:0}],height:30},{type:"bi.absolute",items:[{el:this.farbtastic,left:15,right:15,top:7}],height:215}]})},setValue:function(color){this.editor.setValue(color),this.farbtastic.setValue(color)},getValue:function(){return this.editor.getValue()}}),BI.CustomColorChooser.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.custom_color_chooser",BI.CustomColorChooser),BI.ColorChooser=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.ColorChooser.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-color-chooser",value:"",height:24})},_init:function(){BI.ColorChooser.superclass._init.apply(this,arguments);var self=this,o=this.options;this.combo=BI.createWidget({type:"bi.combo",element:this,container:o.container,adjustLength:1,isNeedAdjustWidth:!1,isNeedAdjustHeight:!1,el:BI.extend({type:o.width<=24?"bi.color_chooser_trigger":"bi.long_color_chooser_trigger",ref:function(_ref){self.trigger=_ref},width:o.width-2,height:o.height-2},o.el),popup:{el:BI.extend({type:"bi.color_chooser_popup",ref:function(_ref){self.colorPicker=_ref},listeners:[{eventName:BI.ColorChooserPopup.EVENT_VALUE_CHANGE,action:function(){fn(),self._isRGBColor(self.colorPicker.getValue())||self.combo.hideView()}},{eventName:BI.ColorChooserPopup.EVENT_CHANGE,action:function(){fn(),self.combo.hideView()}}]},o.popup),width:230},value:o.value});var fn=function(){var color=self.colorPicker.getValue();self.trigger.setValue(color)};this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW,function(){self.fireEvent(BI.ColorChooser.EVENT_CHANGE,arguments)})},_isRGBColor:function(color){return BI.isNotEmptyString(color)&&"transparent"!==color},isViewVisible:function(){return this.combo.isViewVisible()},hideView:function(){this.combo.hideView()},showView:function(){this.combo.showView()},setValue:function(color){this.combo.setValue(color)},getValue:function(){return this.combo.getValue()}}),BI.ColorChooser.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.color_chooser",BI.ColorChooser),BI.ColorChooserPopup=BI.inherit(BI.Widget,{props:{baseCls:"bi-color-chooser-popup",width:230,height:145,simple:!1},render:function(){var self=this,o=this.options;this.colorEditor=BI.createWidget(o.editor,{type:o.simple?"bi.simple_color_picker_editor":"bi.color_picker_editor",value:o.value,cls:"bi-header-background bi-border-bottom",height:30}),this.colorEditor.on(BI.ColorPickerEditor.EVENT_CHANGE,function(){self.setValue(this.getValue()),self._dealStoreColors(),self.fireEvent(BI.ColorChooserPopup.EVENT_VALUE_CHANGE,arguments)}),this.storeColors=BI.createWidget({type:"bi.color_picker",cls:"bi-border-bottom bi-border-right",items:[this._digestStoreColors(this._getStoreColors())],width:210,height:24,value:o.value}),this.storeColors.on(BI.ColorPicker.EVENT_CHANGE,function(){self.setValue(this.getValue()[0]),self._dealStoreColors(),self.fireEvent(BI.ColorChooserPopup.EVENT_CHANGE,arguments)}),this.colorPicker=BI.createWidget({type:"bi.color_picker",width:210,height:50,value:o.value}),this.colorPicker.on(BI.ColorPicker.EVENT_CHANGE,function(){self.setValue(this.getValue()[0]),self._dealStoreColors(),self.fireEvent(BI.ColorChooserPopup.EVENT_CHANGE,arguments)}),this.customColorChooser=BI.createWidget({type:"bi.custom_color_chooser",editor:o.editor});var panel=BI.createWidget({type:"bi.popup_panel",buttons:[BI.i18nText("BI-Basic_Cancel"),BI.i18nText("BI-Basic_Save")],title:BI.i18nText("BI-Custom_Color"),el:this.customColorChooser,stopPropagation:!1,bgap:-1,rgap:1,lgap:1,minWidth:227});return this.more=BI.createWidget({type:"bi.combo",cls:"bi-border-top",container:null,direction:"right,top",isNeedAdjustHeight:!1,el:{type:"bi.text_item",cls:"color-chooser-popup-more bi-list-item",textAlign:"center",height:24,textLgap:10,text:BI.i18nText("BI-Basic_More")+"..."},popup:panel}),this.more.on(BI.Combo.EVENT_AFTER_POPUPVIEW,function(){self.customColorChooser.setValue(self.getValue())}),panel.on(BI.PopupPanel.EVENT_CLICK_TOOLBAR_BUTTON,function(index){switch(index){case 0:self.more.hideView();break;case 1:self.setValue(self.customColorChooser.getValue()),self._dealStoreColors(),self.more.hideView(),self.fireEvent(BI.ColorChooserPopup.EVENT_CHANGE,arguments)}}),{type:"bi.absolute",items:[{el:{type:"bi.vtape",items:[this.colorEditor,{el:{type:"bi.absolute",items:[{el:this.storeColors,left:10,right:10,top:5}]},height:29},{el:{type:"bi.absolute",items:[{el:this.colorPicker,left:10,right:10,top:5,bottom:5}]},height:60},{el:this.more,height:24}]},left:0,right:0,top:0,bottom:0},{el:{type:"bi.layout",cls:"disable-mask",invisible:!o.disabled,ref:function(){self.mask=this}},left:0,right:0,top:0,bottom:0}]}},mounted:function(){var self=this,o=this.options;BI.isNotNull(o.value)&&this.setValue(o.value)},_setEnable:function(enable){BI.ColorChooserPopup.superclass._setEnable.apply(this,arguments),this.mask.setVisible(!enable)},_dealStoreColors:function(){var color=this.getValue(),colors=this._getStoreColors(),que=new BI.Queue(8);que.fromArray(colors),que.remove(color),que.unshift(color);var array=que.toArray();BI.Cache.setItem("colors",BI.array2String(array)),this.setStoreColors(array)},_digestStoreColors:function(colors){var items=BI.map(colors,function(i,color){return{value:color}});return BI.count(colors.length,8,function(i){items.push({value:"",disabled:!0})}),items},_getStoreColors:function(){var self=this,o=this.options,colorsArray=BI.string2Array(BI.Cache.getItem("colors")||"");return BI.filter(colorsArray,function(idx,color){return!o.simple||self._isRGBColor(color)})},_isRGBColor:function(color){return BI.isNotEmptyString(color)&&"transparent"!==color},setStoreColors:function(colors){BI.isArray(colors)&&this.storeColors.populate([this._digestStoreColors(colors)])},setValue:function(color){this.colorEditor.setValue(color),this.colorPicker.setValue(color),this.storeColors.setValue(color)},getValue:function(){return this.colorEditor.getValue()}}),BI.ColorChooserPopup.EVENT_VALUE_CHANGE="EVENT_VALUE_CHANGE",BI.ColorChooserPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.color_chooser_popup",BI.ColorChooserPopup),BI.SimpleColorChooserPopup=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SimpleColorChooserPopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-color-chooser-popup"})},_init:function(){BI.SimpleColorChooserPopup.superclass._init.apply(this,arguments);var self=this,o=this.options;this.popup=BI.createWidget({type:"bi.color_chooser_popup",value:o.value,element:this,simple:!0}),this.popup.on(BI.ColorChooserPopup.EVENT_CHANGE,function(){self.fireEvent(BI.SimpleColorChooserPopup.EVENT_CHANGE,arguments)}),this.popup.on(BI.ColorChooserPopup.EVENT_VALUE_CHANGE,function(){self.fireEvent(BI.SimpleColorChooserPopup.EVENT_VALUE_CHANGE,arguments)})},setStoreColors:function(colors){this.popup.setStoreColors(colors)},setValue:function(color){this.popup.setValue(color)},getValue:function(){return this.popup.getValue()}}),BI.SimpleColorChooserPopup.EVENT_VALUE_CHANGE="EVENT_VALUE_CHANGE",BI.SimpleColorChooserPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.simple_color_chooser_popup",BI.SimpleColorChooserPopup),BI.SimpleColorChooser=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SimpleColorChooser.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-simple-color-chooser",value:"#ffffff"})},_init:function(){BI.SimpleColorChooser.superclass._init.apply(this,arguments);var self=this,o=this.options;this.combo=BI.createWidget({type:"bi.color_chooser",element:this,container:o.container,value:o.value,width:o.width,height:o.height,popup:{type:"bi.simple_color_chooser_popup"}}),this.combo.on(BI.ColorChooser.EVENT_CHANGE,function(){self.fireEvent(BI.SimpleColorChooser.EVENT_CHANGE,arguments)})},isViewVisible:function(){return this.combo.isViewVisible()},hideView:function(){this.combo.hideView()},showView:function(){this.combo.showView()},setValue:function(color){this.combo.setValue(color)},getValue:function(){return this.combo.getValue()}}),BI.SimpleColorChooser.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.simple_color_chooser",BI.SimpleColorChooser),BI.ColorChooserTrigger=BI.inherit(BI.Trigger,{_defaultConfig:function(){var conf=BI.ColorChooserTrigger.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-color-chooser-trigger bi-border",height:22})},_init:function(){BI.ColorChooserTrigger.superclass._init.apply(this,arguments),this.colorContainer=BI.createWidget({type:"bi.layout",cls:"color-chooser-trigger-content"+(BI.isIE9Below&&BI.isIE9Below()?" hack":"")});var down=BI.createWidget({type:"bi.icon_button",disableSelected:!0,cls:"icon-combo-down-icon trigger-triangle-font icon-size-12",width:12,height:8});BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.colorContainer,left:3,right:3,top:3,bottom:3},{el:down,right:-1,bottom:1}]}),BI.isNotNull(this.options.value)&&this.setValue(this.options.value)},setValue:function(color){BI.ColorChooserTrigger.superclass.setValue.apply(this,arguments),""===color?this.colorContainer.element.css("background-color","").removeClass("trans-color-background").addClass("auto-color-background"):"transparent"===color?this.colorContainer.element.css("background-color","").removeClass("auto-color-background").addClass("trans-color-background"):this.colorContainer.element.css({"background-color":color}).removeClass("auto-color-background").removeClass("trans-color-background")}}),BI.ColorChooserTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.color_chooser_trigger",BI.ColorChooserTrigger),BI.LongColorChooserTrigger=BI.inherit(BI.Trigger,{_defaultConfig:function(){var conf=BI.LongColorChooserTrigger.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-color-chooser-trigger bi-border",height:22})},_init:function(){BI.LongColorChooserTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options;this.colorContainer=BI.createWidget({type:"bi.htape",cls:"color-chooser-trigger-content",items:[{type:"bi.icon_change_button",ref:function(_ref){self.changeIcon=_ref},disableSelected:!0,iconCls:"auto-color-icon",width:24,iconWidth:16,iconHeight:16},{el:{type:"bi.label",ref:function(_ref){self.label=_ref},textAlign:"left",hgap:5,height:18,text:BI.i18nText("BI-Basic_Auto")}}]});var down=BI.createWidget({type:"bi.icon_button",disableSelected:!0,cls:"icon-combo-down-icon trigger-triangle-font icon-size-12",width:12,height:8});BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.colorContainer,left:3,right:3,top:3,bottom:3},{el:down,right:3,bottom:3}]}),this.options.value&&this.setValue(this.options.value)},setValue:function(color){BI.LongColorChooserTrigger.superclass.setValue.apply(this,arguments),""===color?(this.colorContainer.element.css("background-color",""),this.changeIcon.setVisible(!0),this.label.setVisible(!0),this.changeIcon.setIcon("auto-color-icon"),this.label.setText(BI.i18nText("BI-Basic_Auto"))):"transparent"===color?(this.colorContainer.element.css("background-color",""),this.changeIcon.setVisible(!0),this.label.setVisible(!0),this.changeIcon.setIcon("trans-color-icon"),this.label.setText(BI.i18nText("BI-Transparent_Color"))):(this.colorContainer.element.css({"background-color":color}),this.changeIcon.setVisible(!1),this.label.setVisible(!1))}}),BI.LongColorChooserTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.long_color_chooser_trigger",BI.LongColorChooserTrigger),BI.ColorPickerButton=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.ColorPickerButton.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-color-picker-button bi-background bi-border-top bi-border-left"})},_init:function(){BI.ColorPickerButton.superclass._init.apply(this,arguments);var self=this,o=this.options;if(o.value){this.element.css("background-color",o.value);var name=this.getName();this.element.hover(function(){self._createMask(),self.isEnabled()&&BI.Maskers.show(name)},function(){self.isSelected()||BI.Maskers.hide(name)})}},_createMask:function(){var o=this.options,name=this.getName();if(this.isEnabled()&&!BI.Maskers.has(name)){var w=BI.Maskers.make(name,this,{offset:{left:-1,top:-1,right:-1,bottom:-1}});w.element.addClass("color-picker-button-mask").css("background-color",o.value)}},setSelected:function(b){BI.ColorPickerButton.superclass.setSelected.apply(this,arguments),b&&this._createMask(),BI.Maskers[b?"show":"hide"](this.getName())}}),BI.ColorPickerButton.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.color_picker_button",BI.ColorPickerButton),BI.ColorPicker=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.ColorPicker.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-color-picker",items:null})},_items:[[{value:"#ffffff"},{value:"#f2f2f2"},{value:"#e5e5e5"},{value:"#d9d9d9"},{value:"#cccccc"},{value:"#bfbfbf"},{value:"#b2b2b2"},{value:"#a6a6a6"},{value:"#999999"},{value:"#8c8c8c"},{value:"#808080"},{value:"#737373"},{value:"#666666"},{value:"#4d4d4d"},{value:"#333333"},{value:"#000000"}],[{value:"#d8b5a6"},{value:"#ff9e9a"},{value:"#ffc17d"},{value:"#f5e56b"},{value:"#d8e698"},{value:"#e0ebaf"},{value:"#c3d825"},{value:"#bbe2e7"},{value:"#85d3cd"},{value:"#bde1e6"},{value:"#a0d8ef"},{value:"#89c3eb"},{value:"#bbc8e6"},{value:"#bbbcde"},{value:"#d6b4cc"},{value:"#fbc0d3"}],[{value:"#bb9581"},{value:"#f37d79"},{value:"#fba74f"},{value:"#ffdb4f"},{value:"#c7dc68"},{value:"#b0ca71"},{value:"#99ab4e"},{value:"#84b9cb"},{value:"#00a3af"},{value:"#2ca9e1"},{value:"#0095d9"},{value:"#4c6cb3"},{value:"#8491c3"},{value:"#a59aca"},{value:"#cc7eb1"},{value:"#e89bb4"}],[{value:"#9d775f"},{value:"#dd4b4b"},{value:"#ef8b07"},{value:"#fcc800"},{value:"#aacf53"},{value:"#82ae46"},{value:"#69821b"},{value:"#59b9c6"},{value:"#2a83a2"},{value:"#007bbb"},{value:"#19448e"},{value:"#274a78"},{value:"#4a488e"},{value:"#7058a3"},{value:"#884898"},{value:"#d47596"}]],_init:function(){BI.ColorPicker.superclass._init.apply(this,arguments);var self=this,o=this.options;this.colors=BI.createWidget({type:"bi.button_group",element:this,items:BI.createItems(o.items||this._items,{type:"bi.color_picker_button",once:!1}),layouts:[{type:"bi.grid"}],value:o.value}),this.colors.on(BI.ButtonGroup.EVENT_CHANGE,function(){self.fireEvent(BI.ColorPicker.EVENT_CHANGE,arguments)})},populate:function(items){var args=[].slice.call(arguments);args[0]=BI.createItems(items,{type:"bi.color_picker_button",once:!1}),this.colors.populate.apply(this.colors,args)},setValue:function(color){this.colors.setValue(color)},getValue:function(){return this.colors.getValue()}}),BI.ColorPicker.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.color_picker",BI.ColorPicker),BI.ColorPickerEditor=BI.inherit(BI.Widget,{constants:{REB_WIDTH:32},_defaultConfig:function(){return BI.extend(BI.ColorPickerEditor.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-color-picker-editor",height:30})},_init:function(){BI.ColorPickerEditor.superclass._init.apply(this,arguments);var self=this,o=this.options,c=this.constants;this.storeValue={},this.colorShow=BI.createWidget({type:"bi.layout",cls:"color-picker-editor-display bi-card bi-border",height:16,width:16});var RGB=BI.createWidgets(BI.createItems([{text:"R"},{text:"G"},{text:"B"}],{type:"bi.label",cls:"color-picker-editor-label",width:20,height:20})),checker=function(v){return BI.isNumeric(v)&&(0|v)>=0&&(0|v)<=255},Ws=BI.createWidgets([{},{},{}],{type:"bi.small_text_editor",cls:"color-picker-editor-input",validationChecker:checker,errorText:BI.i18nText("BI-Color_Picker_Error_Text"),allowBlank:!0,value:255,width:c.REB_WIDTH,height:20});BI.each(Ws,function(i,w){w.on(BI.TextEditor.EVENT_CHANGE,function(){self._checkEditors(),checker(self.storeValue.r)&&checker(self.storeValue.g)&&checker(self.storeValue.b)&&(self.colorShow.element.css("background-color",self.getValue()),self.fireEvent(BI.ColorPickerEditor.EVENT_CHANGE))})}),this.R=Ws[0],this.G=Ws[1],this.B=Ws[2],this.none=BI.createWidget({type:"bi.icon_button",cls:"auto-color-icon",width:16,height:16,iconWidth:16,iconHeight:16,title:BI.i18nText("BI-Basic_Auto")}),this.none.on(BI.IconButton.EVENT_CHANGE,function(){this.isSelected()?(self.lastColor=self.getValue(),self.setValue("")):self.setValue(self.lastColor||"#ffffff"),(self.R.isValid()&&self.G.isValid()&&self.B.isValid()||self._isEmptyRGB())&&(self.colorShow.element.css("background-color",self.getValue()),self.fireEvent(BI.ColorPickerEditor.EVENT_CHANGE))}),this.transparent=BI.createWidget({type:"bi.icon_button",cls:"trans-color-icon",width:16,height:16,iconWidth:16,iconHeight:16,title:BI.i18nText("BI-Transparent_Color")}),this.transparent.on(BI.IconButton.EVENT_CHANGE,function(){this.isSelected()?(self.lastColor=self.getValue(),self.setValue("transparent")):("transparent"===self.lastColor&&(self.lastColor=""),self.setValue(self.lastColor||"#ffffff")),(self.R.isValid()&&self.G.isValid()&&self.B.isValid()||self._isEmptyRGB())&&(self.colorShow.element.css("background-color",self.getValue()),self.fireEvent(BI.ColorPickerEditor.EVENT_CHANGE))}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.vertical_adapt",items:[{el:this.colorShow,width:16},{el:RGB[0],width:20},{el:this.R,width:c.REB_WIDTH},{el:RGB[1],width:20},{el:this.G,width:c.REB_WIDTH},{el:RGB[2],width:20},{el:this.B,width:c.REB_WIDTH},{el:this.transparent,width:16,lgap:5},{el:this.none,width:16,lgap:5}]},left:10,right:10,top:0,bottom:0}]})},_checkEditors:function(){BI.isEmptyString(this.R.getValue())&&this.R.setValue(0),BI.isEmptyString(this.G.getValue())&&this.G.setValue(0),BI.isEmptyString(this.B.getValue())&&this.B.setValue(0),this.storeValue={r:this.R.getValue()||0,g:this.G.getValue()||0,b:this.B.getValue()||0}},_isEmptyRGB:function(){return BI.isEmptyString(this.storeValue.r)&&BI.isEmptyString(this.storeValue.g)&&BI.isEmptyString(this.storeValue.b)},_showPreColor:function(color){""===color?this.colorShow.element.css("background-color","").removeClass("trans-color-background").addClass("auto-color-normal-background"):"transparent"===color?this.colorShow.element.css("background-color","").removeClass("auto-color-normal-background").addClass("trans-color-background"):this.colorShow.element.css({"background-color":color}).removeClass("auto-color-normal-background").removeClass("trans-color-background")},_setEnable:function(enable){BI.ColorPickerEditor.superclass._setEnable.apply(this,arguments),enable===!0?this.element.removeClass("base-disabled disabled"):enable===!1&&this.element.addClass("base-disabled disabled")},setValue:function(color){if("transparent"===color)return this.transparent.setSelected(!0),this.none.setSelected(!1),this._showPreColor("transparent"),this.R.setValue(""),this.G.setValue(""),this.B.setValue(""),void(this.storeValue={r:"",g:"",b:""});color?this.none.setSelected(!1):(color="",this.none.setSelected(!0)),this.transparent.setSelected(!1),this._showPreColor(color);var json=BI.DOM.rgb2json(BI.DOM.hex2rgb(color));this.storeValue={r:BI.isNull(json.r)?"":json.r,g:BI.isNull(json.r)?"":json.g,b:BI.isNull(json.r)?"":json.b},this.R.setValue(this.storeValue.r),this.G.setValue(this.storeValue.g),this.B.setValue(this.storeValue.b)},getValue:function(){return this._isEmptyRGB()&&this.transparent.isSelected()?"transparent":BI.DOM.rgb2hex(BI.DOM.json2rgb({r:this.storeValue.r,g:this.storeValue.g,b:this.storeValue.b}))}}),BI.ColorPickerEditor.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.color_picker_editor",BI.ColorPickerEditor),BI.SimpleColorPickerEditor=BI.inherit(BI.Widget,{constants:{REB_WIDTH:32},_defaultConfig:function(){return BI.extend(BI.SimpleColorPickerEditor.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-color-picker-editor",height:30})},_init:function(){BI.SimpleColorPickerEditor.superclass._init.apply(this,arguments);var self=this,o=this.options,c=this.constants;this.colorShow=BI.createWidget({type:"bi.layout",cls:"color-picker-editor-display bi-card bi-border",height:16,width:16});var RGB=BI.createWidgets(BI.createItems([{text:"R"},{text:"G"},{text:"B"}],{type:"bi.label",cls:"color-picker-editor-label",width:20,height:20})),checker=function(v){return BI.isNumeric(v)&&(0|v)>=0&&(0|v)<=255},Ws=BI.createWidgets([{},{},{}],{type:"bi.small_text_editor",cls:"color-picker-editor-input",validationChecker:checker,errorText:BI.i18nText("BI-Color_Picker_Error_Text"),allowBlank:!0,value:255,width:c.REB_WIDTH,height:20});BI.each(Ws,function(i,w){w.on(BI.TextEditor.EVENT_CHANGE,function(){self._checkEditors(),self.R.isValid()&&self.G.isValid()&&self.B.isValid()&&(self.colorShow.element.css("background-color",self.getValue()),self.fireEvent(BI.SimpleColorPickerEditor.EVENT_CHANGE))})}),this.R=Ws[0],this.G=Ws[1],this.B=Ws[2],BI.createWidget({type:"bi.vertical_adapt",element:this,items:[{el:this.colorShow,width:16,lgap:20,rgap:15},{el:RGB[0],width:20},{el:this.R,width:c.REB_WIDTH},{el:RGB[1],width:20},{el:this.G,width:c.REB_WIDTH},{el:RGB[2],width:20},{el:this.B,width:c.REB_WIDTH}]})},_checkEditors:function(){BI.isEmptyString(this.R.getValue())&&this.R.setValue(0),BI.isEmptyString(this.G.getValue())&&this.G.setValue(0),BI.isEmptyString(this.B.getValue())&&this.B.setValue(0)},setValue:function(color){this.colorShow.element.css({"background-color":color});var json=BI.DOM.rgb2json(BI.DOM.hex2rgb(color));this.R.setValue(BI.isNull(json.r)?"":json.r),this.G.setValue(BI.isNull(json.g)?"":json.g),this.B.setValue(BI.isNull(json.b)?"":json.b)},getValue:function(){return BI.DOM.rgb2hex(BI.DOM.json2rgb({r:this.R.getValue(),g:this.G.getValue(),b:this.B.getValue()}))}}),BI.SimpleColorPickerEditor.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.simple_color_picker_editor",BI.SimpleColorPickerEditor),BI.Farbtastic=BI.inherit(BI.BasicButton,{constants:{RADIUS:84,SQUARE:100,WIDTH:194},props:{baseCls:"bi-farbtastic",width:195,height:195,stopPropagation:!0,value:"#000000"},render:function(){var self=this;return{type:"bi.absolute",items:[{el:{type:"bi.layout",cls:"",ref:function(_ref){self.colorWrapper=_ref}},top:47,left:47,width:101,height:101},{el:{type:"bi.layout",cls:"wheel",ref:function(_ref){self.wheel=_ref}},left:0,right:0,top:0,bottom:0},{el:{type:"bi.layout",cls:"overlay",ref:function(_ref){self.overlay=_ref}},top:47,left:47,width:101,height:101},{el:{type:"bi.layout",cls:"marker",ref:function(_ref){self.hMarker=_ref},scrollable:!1,width:17,height:17}},{el:{type:"bi.layout",cls:"marker",ref:function(_ref){self.slMarker=_ref},scrollable:!1,width:17,height:17}}]}},mounted:function(){var o=this.options;BI.isKey(o.value)&&this.setValue(o.value)},_unpack:function(color){return 7===color.length?[parseInt("0x"+color.substring(1,3))/255,parseInt("0x"+color.substring(3,5))/255,parseInt("0x"+color.substring(5,7))/255]:4===color.length?[parseInt("0x"+color.substring(1,2))/15,parseInt("0x"+color.substring(2,3))/15,parseInt("0x"+color.substring(3,4))/15]:void 0},_pack:function(rgb){var r=Math.round(255*rgb[0]),g=Math.round(255*rgb[1]),b=Math.round(255*rgb[2]);return"#"+(r<16?"0":"")+r.toString(16)+(g<16?"0":"")+g.toString(16)+(b<16?"0":"")+b.toString(16)},_setColor:function(color){var unpack=this._unpack(color);this.value!==color&&unpack&&(this.value=color,this.rgb=unpack,this.hsl=this._RGBToHSL(this.rgb),this._updateDisplay())},_setHSL:function(hsl){return this.hsl=hsl,this.rgb=this._HSLToRGB(hsl),this.value=this._pack(this.rgb),this._updateDisplay(),this},_HSLToRGB:function(hsl){var m1,m2,r,g,b,h=hsl[0],s=hsl[1],l=hsl[2];return m2=l<=.5?l*(s+1):l+s-l*s,m1=2*l-m2,[this._hueToRGB(m1,m2,h+.33333),this._hueToRGB(m1,m2,h),this._hueToRGB(m1,m2,h-.33333)]},_hueToRGB:function(m1,m2,h){return h=h<0?h+1:h>1?h-1:h,6*h<1?m1+(m2-m1)*h*6:2*h<1?m2:3*h<2?m1+(m2-m1)*(.66666-h)*6:m1},_RGBToHSL:function(rgb){var min,max,delta,h,s,l,r=rgb[0],g=rgb[1],b=rgb[2];return min=Math.min(r,Math.min(g,b)),max=Math.max(r,Math.max(g,b)),delta=max-min,l=(min+max)/2,s=0,l>0&&l<1&&(s=delta/(l<.5?2*l:2-2*l)),h=0,delta>0&&(max==r&&max!=g&&(h+=(g-b)/delta),max==g&&max!=b&&(h+=2+(b-r)/delta),max==b&&max!=r&&(h+=4+(r-g)/delta),h/=6),[h,s,l]},_updateDisplay:function(){var angle=6.28*this.hsl[0];this.hMarker.element.css({left:Math.round(Math.sin(angle)*this.constants.RADIUS+this.constants.WIDTH/2)+"px",top:Math.round(-Math.cos(angle)*this.constants.RADIUS+this.constants.WIDTH/2)+"px"}),this.slMarker.element.css({left:Math.round(this.constants.SQUARE*(.5-this.hsl[1])+this.constants.WIDTH/2)+"px",top:Math.round(this.constants.SQUARE*(.5-this.hsl[2])+this.constants.WIDTH/2)+"px"}),this.colorWrapper.element.css("backgroundColor",this._pack(this._HSLToRGB([this.hsl[0],1,.5]))),this.fireEvent(BI.Farbtastic.EVENT_CHANGE,this.getValue(),this)},_absolutePosition:function(el){var r={x:el.offsetLeft,y:el.offsetTop};if(el.offsetParent){var tmp=this._absolutePosition(el.offsetParent);r.x+=tmp.x,r.y+=tmp.y}return r},_widgetCoords:function(event){var x,y,el=event.target||event.srcElement,reference=this.wheel.element[0];if("undefined"!=typeof event.offsetX){for(var pos={x:event.offsetX,y:event.offsetY},e=el;e;)e.mouseX=pos.x,e.mouseY=pos.y,pos.x+=e.offsetLeft,pos.y+=e.offsetTop,e=e.offsetParent;for(var e=reference,offset={x:0,y:0};e;){if("undefined"!=typeof e.mouseX){x=e.mouseX-offset.x,y=e.mouseY-offset.y;break}offset.x+=e.offsetLeft,offset.y+=e.offsetTop,e=e.offsetParent}for(e=el;e;)e.mouseX=void 0,e.mouseY=void 0,e=e.offsetParent}else{var pos=this._absolutePosition(reference);x=(event.pageX||0)-pos.x,y=(event.pageY||0)-pos.y}return{x:x-this.constants.WIDTH/2,y:y-this.constants.WIDTH/2}},_doMouseMove:function(event){var pos=this._widgetCoords(event);if(this.circleDrag){var hue=Math.atan2(pos.x,-pos.y)/6.28;hue<0&&(hue+=1),this._setHSL([hue,this.hsl[1],this.hsl[2]]);
}else{var sat=Math.max(0,Math.min(1,-(pos.x/this.constants.SQUARE)+.5)),lum=Math.max(0,Math.min(1,-(pos.y/this.constants.SQUARE)+.5));this._setHSL([this.hsl[0],sat,lum])}},doClick:function(event){var pos=this._widgetCoords(event);return this.circleDrag=2*Math.max(Math.abs(pos.x),Math.abs(pos.y))>this.constants.SQUARE,this._doMouseMove(event),!1},setValue:function(color){this._setColor(color)},getValue:function(){return this.value}}),BI.Farbtastic.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.farbtastic",BI.Farbtastic),BI.BubbleCombo=BI.inherit(BI.Widget,{_const:{TRIANGLE_LENGTH:6},_defaultConfig:function(){return BI.extend(BI.BubbleCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-bubble-combo",trigger:"click",toggle:!0,direction:"bottom,left",isDefaultInit:!1,destroyWhenHide:!1,isNeedAdjustHeight:!0,isNeedAdjustWidth:!0,stopPropagation:!1,adjustLength:0,hideChecker:BI.emptyFn,offsetStyle:"left",el:{},popup:{}})},_init:function(){BI.BubbleCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.combo=BI.createWidget({type:"bi.combo",element:this,trigger:o.trigger,toggle:o.toggle,container:o.container,direction:o.direction,isDefaultInit:o.isDefaultInit,destroyWhenHide:o.destroyWhenHide,isNeedAdjustHeight:o.isNeedAdjustHeight,isNeedAdjustWidth:o.isNeedAdjustWidth,adjustLength:this._getAdjustLength(),stopPropagation:o.stopPropagation,adjustXOffset:0,adjustYOffset:0,hideChecker:o.hideChecker,offsetStyle:o.offsetStyle,el:o.el,popup:BI.extend({type:"bi.bubble_popup_view"},o.popup)}),this.combo.on(BI.Combo.EVENT_TRIGGER_CHANGE,function(){self.fireEvent(BI.BubbleCombo.EVENT_TRIGGER_CHANGE,arguments)}),this.combo.on(BI.Combo.EVENT_CHANGE,function(){self.fireEvent(BI.BubbleCombo.EVENT_CHANGE,arguments)}),this.combo.on(BI.Combo.EVENT_EXPAND,function(){self.fireEvent(BI.BubbleCombo.EVENT_EXPAND,arguments)}),this.combo.on(BI.Combo.EVENT_COLLAPSE,function(){self.fireEvent(BI.BubbleCombo.EVENT_COLLAPSE,arguments)}),this.combo.on(BI.Combo.EVENT_AFTER_INIT,function(){self.fireEvent(BI.BubbleCombo.EVENT_AFTER_INIT,arguments)}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){self.fireEvent(BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW,arguments)}),this.combo.on(BI.Combo.EVENT_AFTER_POPUPVIEW,function(){self._showTriangle(),self.fireEvent(BI.BubbleCombo.EVENT_AFTER_POPUPVIEW,arguments)}),this.combo.on(BI.Combo.EVENT_BEFORE_HIDEVIEW,function(){self._hideTriangle(),self.fireEvent(BI.BubbleCombo.EVENT_BEFORE_HIDEVIEW,arguments)}),this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW,function(){self.fireEvent(BI.BubbleCombo.EVENT_AFTER_HIDEVIEW,arguments)})},_getAdjustLength:function(){return this._const.TRIANGLE_LENGTH+this.options.adjustLength},_createTriangle:function(direction){var pos={},op={},adjustLength=this.options.adjustLength,offset=this.element.offset(),left=offset.left,right=offset.left+this.element.outerWidth(),top=offset.top,bottom=offset.top+this.element.outerHeight();switch(direction){case"left":pos={top:top,height:this.element.outerHeight(),left:left-adjustLength-this._const.TRIANGLE_LENGTH},op={width:this._const.TRIANGLE_LENGTH};break;case"right":pos={top:top,height:this.element.outerHeight(),left:right+adjustLength},op={width:this._const.TRIANGLE_LENGTH};break;case"top":pos={left:left,width:this.element.outerWidth(),top:top-adjustLength-this._const.TRIANGLE_LENGTH},op={height:this._const.TRIANGLE_LENGTH};break;case"bottom":pos={left:left,width:this.element.outerWidth(),top:bottom+adjustLength},op={height:this._const.TRIANGLE_LENGTH}}this.triangle&&this.triangle.destroy(),this.triangle=BI.createWidget(op,{type:"bi.center_adapt",cls:"button-combo-triangle-wrapper",items:[{type:"bi.layout",cls:"bubble-combo-triangle-"+direction}]}),pos.el=this.triangle,BI.createWidget({type:"bi.absolute",element:this,items:[pos]})},_createLeftTriangle:function(){this._createTriangle("left")},_createRightTriangle:function(){this._createTriangle("right")},_createTopTriangle:function(){this._createTriangle("top")},_createBottomTriangle:function(){this._createTriangle("bottom")},_showTriangle:function(){var pos=this.combo.getPopupPosition();switch(pos.dir){case"left,top":case"left,bottom":this._createLeftTriangle();break;case"right,top":case"right,bottom":this._createRightTriangle();break;case"top,left":case"top,right":this._createTopTriangle();break;case"bottom,left":case"bottom,right":this._createBottomTriangle()}},_hideTriangle:function(){this.triangle&&this.triangle.destroy(),this.triangle=null},hideView:function(){this._hideTriangle(),this.combo&&this.combo.hideView()},showView:function(){this.combo&&this.combo.showView()},isViewVisible:function(){return this.combo.isViewVisible()}}),BI.BubbleCombo.EVENT_TRIGGER_CHANGE="EVENT_TRIGGER_CHANGE",BI.BubbleCombo.EVENT_CHANGE="EVENT_CHANGE",BI.BubbleCombo.EVENT_EXPAND="EVENT_EXPAND",BI.BubbleCombo.EVENT_COLLAPSE="EVENT_COLLAPSE",BI.BubbleCombo.EVENT_AFTER_INIT="EVENT_AFTER_INIT",BI.BubbleCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.BubbleCombo.EVENT_AFTER_POPUPVIEW="EVENT_AFTER_POPUPVIEW",BI.BubbleCombo.EVENT_BEFORE_HIDEVIEW="EVENT_BEFORE_HIDEVIEW",BI.BubbleCombo.EVENT_AFTER_HIDEVIEW="EVENT_AFTER_HIDEVIEW",BI.shortcut("bi.bubble_combo",BI.BubbleCombo),BI.BubblePopupView=BI.inherit(BI.PopupView,{_defaultConfig:function(){var config=BI.BubblePopupView.superclass._defaultConfig.apply(this,arguments);return BI.extend(config,{baseCls:config.baseCls+" bi-bubble-popup-view",minWidth:220,maxWidth:300,minHeight:90})},_init:function(){BI.BubblePopupView.superclass._init.apply(this,arguments)}}),BI.shortcut("bi.bubble_popup_view",BI.BubblePopupView),BI.BubblePopupBarView=BI.inherit(BI.BubblePopupView,{_defaultConfig:function(){return BI.extend(BI.BubblePopupBarView.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-bubble-bar-popup-view",buttons:[{value:!1,text:BI.i18nText("BI-Basic_Cancel"),ghost:!0},{text:BI.i18nText(BI.i18nText("BI-Basic_Sure")),value:!0}]})},_init:function(){BI.BubblePopupBarView.superclass._init.apply(this,arguments)},_createToolBar:function(){var o=this.options,self=this,items=[];return BI.each(o.buttons,function(i,buttonOpt){BI.isWidget(buttonOpt)?items.push(buttonOpt):items.push(BI.extend({type:"bi.button",height:24,handler:function(v){self.fireEvent(BI.BubblePopupBarView.EVENT_CLICK_TOOLBAR_BUTTON,v)}},buttonOpt))}),BI.createWidget({type:"bi.center",height:44,rgap:15,items:[{type:"bi.right_vertical_adapt",lgap:10,items:items}]})},_createView:function(){var o=this.options,button=BI.createWidget({type:"bi.button_group",items:[o.el],layouts:[{type:"bi.vertical",cls:"bar-popup-container",hgap:15,tgap:10}]});return button.element.css("min-height",o.minHeight-44),button}}),BI.BubblePopupBarView.EVENT_CLICK_TOOLBAR_BUTTON="EVENT_CLICK_TOOLBAR_BUTTON",BI.shortcut("bi.bubble_bar_popup_view",BI.BubblePopupBarView),BI.TextBubblePopupBarView=BI.inherit(BI.Widget,{props:function(){return{baseCls:"bi-text-bubble-bar-popup-view",text:"",buttons:[{level:"ignore",value:!1,stopPropagation:!0,text:BI.i18nText("BI-Basic_Cancel")},{value:!0,stopPropagation:!0,text:BI.i18nText("BI-Basic_Sure")}]}},render:function(){var self=this,o=this.options,buttons=BI.map(o.buttons,function(index,buttonOpt){return BI.isWidget(buttonOpt)?buttonOpt:BI.extend({type:"bi.button",height:24,handler:function(v){self.fireEvent(BI.TextBubblePopupBarView.EVENT_CHANGE,v)}},buttonOpt)});return{type:"bi.bubble_bar_popup_view",minWidth:o.minWidth,maxWidth:o.maxWidth,minHeight:o.minHeight,ref:function(){self.popup=this},el:{type:"bi.label",text:o.text,whiteSpace:"normal",textAlign:"left",ref:function(){self.text=this}},buttons:buttons}},populate:function(v){this.text.setText(v||this.options.text)}}),BI.TextBubblePopupBarView.EVENT_CHANGE="EVENT_CLICK_TOOLBAR_BUTTON",BI.shortcut("bi.text_bubble_bar_popup_view",BI.TextBubblePopupBarView),BI.EditorIconCheckCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.EditorIconCheckCombo.superclass._defaultConfig.apply(this,arguments),{baseClass:"bi-check-editor-combo",width:100,height:24,chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE,validationChecker:BI.emptyFn,quitChecker:BI.emptyFn,allowBlank:!0,watermark:"",errorText:""})},_init:function(){BI.EditorIconCheckCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget({type:"bi.editor_trigger",items:o.items,height:o.height,validationChecker:o.validationChecker,quitChecker:o.quitChecker,allowBlank:o.allowBlank,watermark:o.watermark,errorText:o.errorText,value:o.value}),this.trigger.on(BI.EditorTrigger.EVENT_CHANGE,function(){self.popup.setValue(this.getValue()),self.fireEvent(BI.EditorIconCheckCombo.EVENT_CHANGE,arguments)}),this.trigger.on(BI.EditorTrigger.EVENT_FOCUS,function(){self.fireEvent(BI.EditorIconCheckCombo.EVENT_FOCUS,arguments)}),this.trigger.on(BI.EditorTrigger.EVENT_EMPTY,function(){self.fireEvent(BI.EditorIconCheckCombo.EVENT_EMPTY,arguments)}),this.trigger.on(BI.EditorTrigger.EVENT_VALID,function(){self.fireEvent(BI.EditorIconCheckCombo.EVENT_VALID,arguments)}),this.trigger.on(BI.EditorTrigger.EVENT_ERROR,function(){self.fireEvent(BI.EditorIconCheckCombo.EVENT_ERROR,arguments)}),this.popup=BI.createWidget({type:"bi.text_value_check_combo_popup",chooseType:o.chooseType,items:o.items,value:o.value}),this.popup.on(BI.TextValueCheckComboPopup.EVENT_CHANGE,function(){self.setValue(self.popup.getValue()),self.editorIconCheckCombo.hideView(),self.fireEvent(BI.EditorIconCheckCombo.EVENT_CHANGE)}),this.popup.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editorIconCheckCombo=BI.createWidget({type:"bi.combo",container:o.container,element:this,adjustLength:2,el:this.trigger,popup:{el:this.popup,maxHeight:300}})},setValue:function(v){this.editorIconCheckCombo.setValue(v)},getValue:function(){return this.trigger.getValue()},populate:function(items){this.options.items=items,this.editorIconCheckCombo.populate(items)}}),BI.EditorIconCheckCombo.EVENT_CHANGE="EVENT_CHANGE",BI.EditorIconCheckCombo.EVENT_FOCUS="EVENT_FOCUS",BI.EditorIconCheckCombo.EVENT_EMPTY="EVENT_EMPTY",BI.EditorIconCheckCombo.EVENT_VALID="EVENT_VALID",BI.EditorIconCheckCombo.EVENT_ERROR="EVENT_ERROR",BI.shortcut("bi.editor_icon_check_combo",BI.EditorIconCheckCombo),BI.IconCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.IconCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-icon-combo",width:24,height:24,el:{},popup:{},minWidth:100,maxWidth:"auto",maxHeight:300,direction:"bottom",adjustLength:3,adjustXOffset:0,adjustYOffset:0,offsetStyle:"left",chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE})},_init:function(){BI.IconCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget(o.el,{type:"bi.icon_combo_trigger",iconCls:o.iconCls,title:o.title,items:o.items,width:o.width,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight,value:o.value}),this.popup=BI.createWidget(o.popup,{type:"bi.icon_combo_popup",chooseType:o.chooseType,items:o.items,value:o.value}),this.popup.on(BI.IconComboPopup.EVENT_CHANGE,function(){self.setValue(self.popup.getValue()),self.iconCombo.hideView(),self.fireEvent(BI.IconCombo.EVENT_CHANGE)}),this.popup.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.iconCombo=BI.createWidget({type:"bi.combo",element:this,direction:o.direction,trigger:o.trigger,container:o.container,adjustLength:o.adjustLength,adjustXOffset:o.adjustXOffset,adjustYOffset:o.adjustYOffset,offsetStyle:o.offsetStyle,el:this.trigger,popup:{el:this.popup,maxWidth:o.maxWidth,maxHeight:o.maxHeight,minWidth:o.minWidth}})},showView:function(){this.iconCombo.showView()},hideView:function(){this.iconCombo.hideView()},setValue:function(v){this.trigger.setValue(v),this.popup.setValue(v)},getValue:function(){var value=this.popup.getValue();return BI.isNull(value)?[]:BI.isArray(value)?value:[value]},populate:function(items){this.options.items=items,this.iconCombo.populate(items)}}),BI.IconCombo.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.icon_combo",BI.IconCombo),BI.IconComboPopup=BI.inherit(BI.Pane,{_defaultConfig:function(){return BI.extend(BI.IconComboPopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi.icon-combo-popup",chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE})},_init:function(){BI.IconComboPopup.superclass._init.apply(this,arguments);var o=this.options,self=this;this.popup=BI.createWidget({type:"bi.button_group",items:BI.createItems(o.items,{type:"bi.single_select_icon_text_item",height:24}),chooseType:o.chooseType,layouts:[{type:"bi.vertical"}],value:o.value}),this.popup.on(BI.Controller.EVENT_CHANGE,function(type,val,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.IconComboPopup.EVENT_CHANGE,val,obj)}),BI.createWidget({type:"bi.vertical",element:this,vgap:5,items:[this.popup]})},populate:function(items){BI.IconComboPopup.superclass.populate.apply(this,arguments),items=BI.createItems(items,{type:"bi.single_select_icon_text_item",height:24}),this.popup.populate(items)},getValue:function(){return this.popup.getValue()},setValue:function(v){this.popup.setValue(v)}}),BI.IconComboPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.icon_combo_popup",BI.IconComboPopup),BI.IconComboTrigger=BI.inherit(BI.Trigger,{_defaultConfig:function(){return BI.extend(BI.IconComboTrigger.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-icon-combo-trigger",el:{},items:[],iconCls:"",width:24,height:24,isShowDown:!0,value:""})},_init:function(){BI.IconComboTrigger.superclass._init.apply(this,arguments);var o=this.options,self=this,iconCls="";BI.isKey(o.value)&&(iconCls=this._digest(o.value,o.items)),this.button=BI.createWidget(o.el,{type:"bi.icon_change_button",cls:"icon-combo-trigger-icon",iconCls:iconCls,disableSelected:!0,width:o.isShowDown?o.width-12:o.width,height:o.height,iconWidth:o.iconWidth,iconHeight:o.iconHeight,selected:BI.isNotEmptyString(iconCls)}),this.down=BI.createWidget({type:"bi.icon_button",disableSelected:!0,cls:"icon-combo-down-icon trigger-triangle-font font-size-12",width:12,height:8,selected:BI.isNotEmptyString(iconCls)}),this.down.setVisible(o.isShowDown),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.button,left:0,right:0,top:0,bottom:0},{el:this.down,right:3,bottom:0}]})},_digest:function(v,items){var iconCls="";return v=BI.isArray(v)?v[0]:v,BI.any(items,function(i,item){if(v===item.value)return iconCls=item.iconCls,!0}),iconCls},populate:function(items){var o=this.options;this.options.items=items||[],this.button.setIcon(o.iconCls),this.button.setSelected(!1),this.down.setSelected(!1)},setValue:function(v){BI.IconComboTrigger.superclass.setValue.apply(this,arguments);var o=this.options,iconCls=this._digest(v,this.options.items);v=BI.isArray(v)?v[0]:v,BI.isNotEmptyString(iconCls)?(this.button.setIcon(iconCls),this.button.setSelected(!0),this.down.setSelected(!0)):(this.button.setIcon(o.iconCls),this.button.setSelected(!1),this.down.setSelected(!1))}}),BI.IconComboTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.icon_combo_trigger",BI.IconComboTrigger),BI.IconTextValueCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.IconTextValueCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-icon-text-value-combo",height:24,iconHeight:null,iconWidth:null,value:"",attributes:{tabIndex:0}})},_init:function(){BI.IconTextValueCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget({type:"bi.select_icon_text_trigger",cls:"icon-text-value-trigger",items:o.items,height:o.height,text:o.text,iconCls:o.iconCls,value:o.value,iconHeight:o.iconHeight,iconWidth:o.iconWidth,iconWrapperWidth:o.iconWrapperWidth,title:o.title,warningTitle:o.warningTitle}),this.popup=BI.createWidget({type:"bi.icon_text_value_combo_popup",items:o.items,value:o.value,iconHeight:o.iconHeight,iconWidth:o.iconWidth,iconWrapperWidth:o.iconWrapperWidth}),this.popup.on(BI.IconTextValueComboPopup.EVENT_CHANGE,function(){self.setValue(self.popup.getValue()),self.textIconCombo.hideView(),self.fireEvent(BI.IconTextValueCombo.EVENT_CHANGE,arguments)}),this.popup.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.textIconCombo=BI.createWidget({type:"bi.combo",element:this,container:o.container,adjustLength:2,el:this.trigger,popup:{el:this.popup,maxHeight:240,minHeight:25}}),BI.isKey(o.value)&&this.setValue(o.value)},_checkError:function(v){if(BI.isNotNull(v)){v=BI.isArray(v)?v:[v];var result=BI.find(this.options.items,function(idx,item){return BI.contains(v,item.value)});BI.isNull(result)?(this.trigger.options.tipType="warning",this.element.removeClass("combo-error").addClass("combo-error")):(this.trigger.options.tipType="success",this.element.removeClass("combo-error"))}},setValue:function(v){this.trigger.setValue(v),this.popup.setValue(v),this._checkError(v)},getValue:function(){var value=this.popup.getValue();return BI.isNull(value)?[]:BI.isArray(value)?value:[value]},populate:function(items){this.options.items=items,this.textIconCombo.populate(items)}}),BI.IconTextValueCombo.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.icon_text_value_combo",BI.IconTextValueCombo),BI.IconTextValueComboPopup=BI.inherit(BI.Pane,{_defaultConfig:function(){return BI.extend(BI.IconTextValueComboPopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-icon-text-icon-popup",behaviors:{redmark:function(){return!0}}})},_init:function(){BI.IconTextValueComboPopup.superclass._init.apply(this,arguments);var o=this.options,self=this;this.popup=BI.createWidget({type:"bi.button_group",items:BI.createItems(o.items,{type:"bi.single_select_icon_text_item",height:24,iconHeight:o.iconHeight,iconWidth:o.iconWidth,iconWrapperWidth:o.iconWrapperWidth}),chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE,layouts:[{type:"bi.vertical"}],behaviors:o.behaviors,value:o.value}),this.popup.on(BI.Controller.EVENT_CHANGE,function(type,val,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.IconTextValueComboPopup.EVENT_CHANGE,val,obj)}),this.check(),BI.createWidget({type:"bi.vertical",element:this,vgap:5,items:[this.popup]})},populate:function(items,keyword){BI.IconTextValueComboPopup.superclass.populate.apply(this,arguments);var o=this.options;items=BI.createItems(items,{type:"bi.single_select_icon_text_item",height:24,iconWrapperWidth:o.iconWrapperWidth,iconHeight:o.iconHeight,iconWidth:o.iconWidth}),this.popup.populate(items,keyword)},getValue:function(){return this.popup.getValue()},setValue:function(v){this.popup.setValue(v)}}),BI.IconTextValueComboPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.icon_text_value_combo_popup",BI.IconTextValueComboPopup),BI.SearchTextValueCombo=BI.inherit(BI.Widget,{props:{baseCls:"bi-search-text-value-combo",height:24,text:"",items:[],tipType:"",warningTitle:"",attributes:{tabIndex:0}},render:function(){var self=this,o=this.options;return{type:"bi.absolute",items:[{el:{type:"bi.combo",container:o.container,adjustLength:2,toggle:!1,ref:function(){self.combo=this},el:{type:"bi.search_text_value_trigger",cls:"search-text-value-trigger",ref:function(){self.trigger=this},items:o.items,height:o.height-2,text:o.text,value:o.value,tipType:o.tipType,warningTitle:o.warningTitle,title:o.title,listeners:[{eventName:BI.SearchTextValueTrigger.EVENT_CHANGE,action:function(){self.setValue(this.getValue()),self.combo.hideView(),self.fireEvent(BI.SearchTextValueCombo.EVENT_CHANGE)}}]},popup:{el:{type:"bi.text_value_combo_popup",chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE,value:o.value,items:o.items,ref:function(){self.popup=this,self.trigger.getSearcher().setAdapter(self.popup)},listeners:[{eventName:BI.TextValueComboPopup.EVENT_CHANGE,action:function(){self.setValue(this.getValue()),self.combo.hideView(),self.fireEvent(BI.SearchTextValueCombo.EVENT_CHANGE)}}]},value:o.value,maxHeight:252,minHeight:25},listeners:[{eventName:BI.Combo.EVENT_AFTER_HIDEVIEW,action:function(){self.trigger.stopEditing()}},{eventName:BI.Combo.EVENT_BEFORE_POPUPVIEW,action:function(){self.fireEvent(BI.SearchTextValueCombo.EVENT_BEFORE_POPUPVIEW)}}],hideChecker:function(e){return 0===self.triggerBtn.element.find(e.target).length}},left:0,right:0,bottom:0,top:0},{el:{type:"bi.trigger_icon_button",cls:"trigger-icon-button",ref:function(){self.triggerBtn=this},width:o.height,height:o.height,handler:function(){self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}},right:0,bottom:0,top:0}]}},mounted:function(){var o=this.options;BI.isKey(o.value)&&this._checkError(o.value)},_checkError:function(v){if(BI.isNotNull(v)){v=BI.isArray(v)?v:[v];var result=BI.find(this.options.items,function(idx,item){return BI.contains(v,item.value)});BI.isNull(result)?(this.element.removeClass("combo-error").addClass("combo-error"),this.trigger.attr("tipType","warning")):(this.element.removeClass("combo-error"),this.trigger.attr("tipType","success"))}},populate:function(items){this.options.items=items,this.combo.populate(items)},setValue:function(v){this.combo.setValue(v),this._checkError(v)},getValue:function(){var value=this.combo.getValue();return BI.isNull(value)?[]:BI.isArray(value)?value:[value]}}),BI.SearchTextValueCombo.EVENT_CHANGE="EVENT_CHANGE",BI.SearchTextValueCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.search_text_value_combo",BI.SearchTextValueCombo),BI.SearchTextValueComboPopup=BI.inherit(BI.Pane,{props:{baseCls:"bi-search-text-value-popup"},render:function(){var self=this,o=this.options;return{type:"bi.vertical",vgap:5,items:[{type:"bi.button_group",ref:function(){self.popup=this},items:BI.createItems(o.items,{type:"bi.single_select_item",textAlign:o.textAlign,height:24}),chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE,layouts:[{type:"bi.vertical"}],behaviors:{redmark:function(){return!0}},value:o.value,listeners:[{eventName:BI.Controller.EVENT_CHANGE,action:function(type,val,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.SearchTextValueComboPopup.EVENT_CHANGE,val,obj)}}]}]}},mounted:function(){this.check()},populate:function(find,match,keyword){var items=BI.concat(find,match);BI.SearchTextValueComboPopup.superclass.populate.apply(this,items),items=BI.createItems(items,{type:"bi.single_select_item",height:24}),this.popup.populate(items,keyword)},getValue:function(){return this.popup.getValue()},setValue:function(v){this.popup.setValue(v)}}),BI.SearchTextValueComboPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.search_text_value_combo_popup",BI.SearchTextValueComboPopup),BI.SearchTextValueTrigger=BI.inherit(BI.Trigger,{props:{extraCls:"bi-search-text-value-trigger bi-border",height:24},render:function(){var self=this,o=this.options;return{type:"bi.htape",items:[{el:{type:"bi.searcher",ref:function(){self.searcher=this},isAutoSearch:!1,el:{type:"bi.state_editor",ref:function(){self.editor=this},defaultText:o.text,text:this._digest(o.value,o.items),value:o.value,height:o.height,tipText:""},popup:{type:"bi.search_text_value_combo_popup",cls:"bi-card",chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE},onSearch:function(obj,callback){var keyword=obj.keyword,finding=BI.Func.getSearchResult(o.items,keyword),matched=finding.match,find=finding.find;callback(find,matched)},listeners:[{eventName:BI.Searcher.EVENT_CHANGE,action:function(){self.fireEvent(BI.SearchTextValueTrigger.EVENT_CHANGE)}}]}},{el:{type:"bi.layout",width:24},width:24}]}},_setState:function(v){this.editor.setState(v)},_digest:function(vals,items){var o=this.options;vals=BI.isArray(vals)?vals:[vals];var result=[],formatItems=BI.Tree.transformToArrayFormat(items);return BI.each(formatItems,function(i,item){BI.deepContains(vals,item.value)&&!BI.contains(result,item.text||item.value)&&result.push(item.text||item.value)}),result.length>0?result.join(","):BI.isFunction(o.text)?o.text():o.text},stopEditing:function(){this.searcher.stopSearch()},getSearcher:function(){return this.searcher},populate:function(items){this.options.items=items},setValue:function(vals){this._setState(this._digest(vals,this.options.items))},getValue:function(){return this.searcher.getValue()}}),BI.SearchTextValueTrigger.EVENT_SEARCHING="EVENT_SEARCHING",BI.SearchTextValueTrigger.EVENT_STOP="EVENT_STOP",BI.SearchTextValueTrigger.EVENT_START="EVENT_START",BI.SearchTextValueTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.search_text_value_trigger",BI.SearchTextValueTrigger),BI.TextValueCheckCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.TextValueCheckCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-text-value-check-combo",width:100,height:24,chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE,value:"",attributes:{tabIndex:0}})},_init:function(){BI.TextValueCheckCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget({type:"bi.select_text_trigger",cls:"text-value-trigger",items:o.items,height:o.height,text:o.text,value:o.value}),this.popup=BI.createWidget({type:"bi.text_value_check_combo_popup",chooseType:o.chooseType,items:o.items,value:o.value}),this.popup.on(BI.TextValueCheckComboPopup.EVENT_CHANGE,function(){self.setValue(self.popup.getValue()),self.textIconCheckCombo.hideView(),self.fireEvent(BI.TextValueCheckCombo.EVENT_CHANGE)}),this.popup.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.textIconCheckCombo=BI.createWidget({type:"bi.combo",container:o.container,element:this,adjustLength:2,el:this.trigger,popup:{el:this.popup,maxHeight:300}}),BI.isKey(o.value)&&this.setValue(o.value)},setTitle:function(title){this.trigger.setTitle(title)},setValue:function(v){this.trigger.setValue(v),this.popup.setValue(v)},setWarningTitle:function(title){this.trigger.setWarningTitle(title)},getValue:function(){var value=this.popup.getValue();return BI.isNull(value)?[]:BI.isArray(value)?value:[value]},populate:function(items){this.options.items=items,this.textIconCheckCombo.populate(items)}}),BI.TextValueCheckCombo.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.text_value_check_combo",BI.TextValueCheckCombo),BI.TextValueCheckComboPopup=BI.inherit(BI.Pane,{_defaultConfig:function(){return BI.extend(BI.TextValueCheckComboPopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-text-icon-popup",chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE})},_init:function(){BI.TextValueCheckComboPopup.superclass._init.apply(this,arguments);var o=this.options,self=this;this.popup=BI.createWidget({type:"bi.button_group",items:this._formatItems(o.items),chooseType:o.chooseType,layouts:[{type:"bi.vertical"}],value:o.value}),this.popup.on(BI.Controller.EVENT_CHANGE,function(type,val,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.TextValueCheckComboPopup.EVENT_CHANGE,val,obj)}),BI.createWidget({type:"bi.vertical",element:this,vgap:5,items:[this.popup]})},_formatItems:function(items){return BI.map(items,function(i,item){return BI.extend({type:"bi.single_select_item",cls:"bi-list-item",height:24},item)})},populate:function(items){BI.TextValueCheckComboPopup.superclass.populate.apply(this,arguments),this.popup.populate(this._formatItems(items))},getValue:function(){return this.popup.getValue()},setValue:function(v){this.popup.setValue(v)}}),BI.TextValueCheckComboPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.text_value_check_combo_popup",BI.TextValueCheckComboPopup),BI.TextValueCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.TextValueCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-text-value-combo",height:24,chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE,text:"",value:"",attributes:{tabIndex:0}})},_init:function(){BI.TextValueCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget({type:"bi.select_text_trigger",cls:"text-value-trigger",items:o.items,height:o.height,text:o.text,value:o.value,warningTitle:o.warningTitle}),this.popup=BI.createWidget({type:"bi.text_value_combo_popup",chooseType:o.chooseType,value:o.value,items:o.items}),this.popup.on(BI.TextValueComboPopup.EVENT_CHANGE,function(){self.setValue(self.popup.getValue()),self.textIconCombo.hideView(),self.fireEvent(BI.TextValueCombo.EVENT_CHANGE,arguments)}),this.popup.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.textIconCombo=BI.createWidget({type:"bi.combo",container:o.container,element:this,adjustLength:2,el:this.trigger,popup:{el:this.popup,maxHeight:240,minHeight:25}}),BI.isKey(o.value)&&this._checkError(o.value)},_checkError:function(v){if(BI.isNotNull(v)){v=BI.isArray(v)?v:[v];var result=BI.find(this.options.items,function(idx,item){return BI.contains(v,item.value)});BI.isNull(result)?(this.trigger.setTipType("warning"),this.element.removeClass("combo-error").addClass("combo-error")):(this.trigger.setTipType("success"),this.element.removeClass("combo-error"))}},setValue:function(v){this.trigger.setValue(v),this.popup.setValue(v),this._checkError(v)},getValue:function(){var value=this.popup.getValue();return BI.isNull(value)?[]:BI.isArray(value)?value:[value]},populate:function(items){this.options.items=items,this.textIconCombo.populate(items)}}),BI.TextValueCombo.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.text_value_combo",BI.TextValueCombo),BI.SmallTextValueCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SmallTextValueCombo.superclass._defaultConfig.apply(this,arguments),{width:100,height:20,chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE,el:{},text:""})},_init:function(){BI.SmallTextValueCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget(o.el,{type:"bi.small_select_text_trigger",items:o.items,height:o.height,text:o.text}),this.popup=BI.createWidget({type:"bi.text_value_combo_popup",chooseType:o.chooseType,items:o.items}),this.popup.on(BI.TextValueComboPopup.EVENT_CHANGE,function(){self.setValue(self.popup.getValue()),self.SmallTextValueCombo.hideView(),self.fireEvent(BI.SmallTextValueCombo.EVENT_CHANGE)}),this.popup.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.SmallTextValueCombo=BI.createWidget({type:"bi.combo",element:this,container:o.container,adjustLength:2,el:this.trigger,popup:{el:this.popup,maxHeight:240,minHeight:25}})},setValue:function(v){this.trigger.setValue(v),this.popup.setValue(v)},getValue:function(){return this.popup.getValue()},populate:function(items){this.options.items=items,this.SmallTextValueCombo.populate(items)}}),BI.SmallTextValueCombo.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.small_text_value_combo",BI.SmallTextValueCombo),BI.TextValueComboPopup=BI.inherit(BI.Pane,{_defaultConfig:function(){return BI.extend(BI.TextValueComboPopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-text-icon-popup",chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE})},_init:function(){BI.TextValueComboPopup.superclass._init.apply(this,arguments);var o=this.options,self=this;this.popup=BI.createWidget({type:"bi.button_group",items:BI.createItems(o.items,{type:"bi.single_select_item",textAlign:o.textAlign,height:24}),chooseType:o.chooseType,layouts:[{type:"bi.vertical"}],value:o.value}),this.popup.on(BI.Controller.EVENT_CHANGE,function(type,val,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.TextValueComboPopup.EVENT_CHANGE,val,obj)}),this.check(),BI.createWidget({type:"bi.vertical",element:this,vgap:5,items:[this.popup]})},populate:function(items){BI.TextValueComboPopup.superclass.populate.apply(this,arguments),items=BI.createItems(items,{type:"bi.single_select_item",height:24}),this.popup.populate(items)},getValue:function(){return this.popup.getValue()},setValue:function(v){this.popup.setValue(v)}}),BI.TextValueComboPopup.EVENT_CHANGE="EVENT_CHANGE",
BI.shortcut("bi.text_value_combo_popup",BI.TextValueComboPopup),BI.ClearEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.ClearEditor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-clear-editor",height:24,errorText:"",watermark:"",validationChecker:BI.emptyFn,quitChecker:BI.emptyFn})},_init:function(){BI.ClearEditor.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget({type:"bi.editor",height:o.height,watermark:o.watermark,allowBlank:!0,errorText:o.errorText,validationChecker:o.validationChecker,quitChecker:o.quitChecker,value:o.value}),this.clear=BI.createWidget({type:"bi.icon_button",stopEvent:!0,cls:"search-close-h-font"}),this.clear.on(BI.IconButton.EVENT_CHANGE,function(){self.setValue(""),self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.STOPEDIT),self.fireEvent(BI.ClearEditor.EVENT_CLEAR)}),BI.createWidget({element:this,type:"bi.htape",items:[{el:this.editor},{el:this.clear,width:24}]}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_FOCUS,function(){self.fireEvent(BI.ClearEditor.EVENT_FOCUS)}),this.editor.on(BI.Editor.EVENT_BLUR,function(){self.fireEvent(BI.ClearEditor.EVENT_BLUR)}),this.editor.on(BI.Editor.EVENT_CLICK,function(){self.fireEvent(BI.ClearEditor.EVENT_CLICK)}),this.editor.on(BI.Editor.EVENT_CHANGE,function(){self._checkClear(),self.fireEvent(BI.ClearEditor.EVENT_CHANGE)}),this.editor.on(BI.Editor.EVENT_KEY_DOWN,function(v){self.fireEvent(BI.ClearEditor.EVENT_KEY_DOWN,v)}),this.editor.on(BI.Editor.EVENT_SPACE,function(){self.fireEvent(BI.ClearEditor.EVENT_SPACE)}),this.editor.on(BI.Editor.EVENT_BACKSPACE,function(){self.fireEvent(BI.ClearEditor.EVENT_BACKSPACE)}),this.editor.on(BI.Editor.EVENT_VALID,function(){self.fireEvent(BI.ClearEditor.EVENT_VALID)}),this.editor.on(BI.Editor.EVENT_ERROR,function(){self.fireEvent(BI.ClearEditor.EVENT_ERROR)}),this.editor.on(BI.Editor.EVENT_ENTER,function(){self.fireEvent(BI.ClearEditor.EVENT_ENTER)}),this.editor.on(BI.Editor.EVENT_RESTRICT,function(){self.fireEvent(BI.ClearEditor.EVENT_RESTRICT)}),this.editor.on(BI.Editor.EVENT_EMPTY,function(){self._checkClear(),self.fireEvent(BI.ClearEditor.EVENT_EMPTY)}),this.editor.on(BI.Editor.EVENT_REMOVE,function(){self.fireEvent(BI.ClearEditor.EVENT_REMOVE)}),this.editor.on(BI.Editor.EVENT_CONFIRM,function(){self.fireEvent(BI.ClearEditor.EVENT_CONFIRM)}),this.editor.on(BI.Editor.EVENT_CHANGE_CONFIRM,function(){self.fireEvent(BI.ClearEditor.EVENT_CHANGE_CONFIRM)}),this.editor.on(BI.Editor.EVENT_START,function(){self.fireEvent(BI.ClearEditor.EVENT_START)}),this.editor.on(BI.Editor.EVENT_PAUSE,function(){self.fireEvent(BI.ClearEditor.EVENT_PAUSE)}),this.editor.on(BI.Editor.EVENT_STOP,function(){self.fireEvent(BI.ClearEditor.EVENT_STOP)}),BI.isKey(o.value)?this.clear.visible():this.clear.invisible()},_checkClear:function(){this.getValue()?this.clear.visible():this.clear.invisible()},setWaterMark:function(v){this.options.watermark=v,this.editor.setWaterMark(v)},focus:function(){this.editor.focus()},blur:function(){this.editor.blur()},getValue:function(){if(this.isValid()){var res=this.editor.getValue().match(/[\S]+/g);return BI.isNull(res)?"":res[res.length-1]}},setValue:function(v){this.editor.setValue(v),BI.isKey(v)&&this.clear.visible()},isValid:function(){return this.editor.isValid()}}),BI.ClearEditor.EVENT_CHANGE="EVENT_CHANGE",BI.ClearEditor.EVENT_FOCUS="EVENT_FOCUS",BI.ClearEditor.EVENT_BLUR="EVENT_BLUR",BI.ClearEditor.EVENT_CLICK="EVENT_CLICK",BI.ClearEditor.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.ClearEditor.EVENT_SPACE="EVENT_SPACE",BI.ClearEditor.EVENT_BACKSPACE="EVENT_BACKSPACE",BI.ClearEditor.EVENT_CLEAR="EVENT_CLEAR",BI.ClearEditor.EVENT_START="EVENT_START",BI.ClearEditor.EVENT_PAUSE="EVENT_PAUSE",BI.ClearEditor.EVENT_STOP="EVENT_STOP",BI.ClearEditor.EVENT_CONFIRM="EVENT_CONFIRM",BI.ClearEditor.EVENT_CHANGE_CONFIRM="EVENT_CHANGE_CONFIRM",BI.ClearEditor.EVENT_VALID="EVENT_VALID",BI.ClearEditor.EVENT_ERROR="EVENT_ERROR",BI.ClearEditor.EVENT_ENTER="EVENT_ENTER",BI.ClearEditor.EVENT_RESTRICT="EVENT_RESTRICT",BI.ClearEditor.EVENT_REMOVE="EVENT_REMOVE",BI.ClearEditor.EVENT_EMPTY="EVENT_EMPTY",BI.shortcut("bi.clear_editor",BI.ClearEditor),BI.ShelterEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.ShelterEditor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-shelter-editor",hgap:4,vgap:2,lgap:0,rgap:0,tgap:0,bgap:0,validationChecker:BI.emptyFn,quitChecker:BI.emptyFn,allowBlank:!0,watermark:"",errorText:"",height:24,textAlign:"left"})},_init:function(){BI.ShelterEditor.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget({type:"bi.editor",height:o.height,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,value:o.value,validationChecker:o.validationChecker,quitChecker:o.quitChecker,allowBlank:o.allowBlank,watermark:o.watermark,errorText:o.errorText}),this.text=BI.createWidget({type:"bi.text_button",cls:"shelter-editor-text",title:o.title,warningTitle:o.warningTitle,tipType:o.tipType,textAlign:o.textAlign,height:o.height,hgap:o.hgap}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.text,left:0,right:0,top:0,bottom:0}]}),this.text.on(BI.Controller.EVENT_CHANGE,function(){arguments[2]=self,self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.text.on(BI.TextButton.EVENT_CHANGE,function(){self.fireEvent(BI.ShelterEditor.EVENT_CLICK_LABEL)}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_FOCUS,function(){self.fireEvent(BI.ShelterEditor.EVENT_FOCUS,arguments)}),this.editor.on(BI.Editor.EVENT_BLUR,function(){self.fireEvent(BI.ShelterEditor.EVENT_BLUR,arguments)}),this.editor.on(BI.Editor.EVENT_CLICK,function(){self.fireEvent(BI.ShelterEditor.EVENT_CLICK,arguments)}),this.editor.on(BI.Editor.EVENT_CHANGE,function(){self.fireEvent(BI.ShelterEditor.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_KEY_DOWN,function(v){self.fireEvent(BI.ShelterEditor.EVENT_KEY_DOWN,arguments)}),this.editor.on(BI.Editor.EVENT_VALID,function(){self.fireEvent(BI.ShelterEditor.EVENT_VALID,arguments)}),this.editor.on(BI.Editor.EVENT_CONFIRM,function(){self._showHint(),self._checkText(),self.fireEvent(BI.ShelterEditor.EVENT_CONFIRM,arguments)}),this.editor.on(BI.Editor.EVENT_CHANGE_CONFIRM,function(){self._showHint(),self._checkText(),self.fireEvent(BI.ShelterEditor.EVENT_CHANGE_CONFIRM,arguments)}),this.editor.on(BI.Editor.EVENT_START,function(){self.fireEvent(BI.ShelterEditor.EVENT_START,arguments)}),this.editor.on(BI.Editor.EVENT_PAUSE,function(){self.fireEvent(BI.ShelterEditor.EVENT_PAUSE,arguments)}),this.editor.on(BI.Editor.EVENT_STOP,function(){self.fireEvent(BI.ShelterEditor.EVENT_STOP,arguments)}),this.editor.on(BI.Editor.EVENT_SPACE,function(){self.fireEvent(BI.ShelterEditor.EVENT_SPACE,arguments)}),this.editor.on(BI.Editor.EVENT_ERROR,function(){self._checkText(),self.fireEvent(BI.ShelterEditor.EVENT_ERROR,arguments)}),this.editor.on(BI.Editor.EVENT_ENTER,function(){self.fireEvent(BI.ShelterEditor.EVENT_ENTER,arguments)}),this.editor.on(BI.Editor.EVENT_RESTRICT,function(){self.fireEvent(BI.ShelterEditor.EVENT_RESTRICT,arguments)}),this.editor.on(BI.Editor.EVENT_EMPTY,function(){self.fireEvent(BI.ShelterEditor.EVENT_EMPTY,arguments)}),BI.createWidget({type:"bi.vertical",scrolly:!1,element:this,items:[this.editor]}),this._showHint(),self._checkText()},_checkText:function(){var o=this.options;""===this.editor.getValue()?(this.text.setValue(o.watermark||""),this.text.element.addClass("bi-water-mark")):(this.text.setValue(this.editor.getValue()),this.text.element.removeClass("bi-water-mark")),BI.isKey(o.keyword)&&this.text.doRedMark(o.keyword)},_showInput:function(){this.editor.visible(),this.text.invisible()},_showHint:function(){this.editor.invisible(),this.text.visible()},setWaterMark:function(v){this.options.watermark=v,this.editor.setWaterMark(v)},setTitle:function(title){this.text.setTitle(title)},setWarningTitle:function(title){this.text.setWarningTitle(title)},focus:function(){this._showInput(),this.editor.focus()},blur:function(){this.editor.blur(),this._showHint(),this._checkText()},doRedMark:function(){""===this.editor.getValue()&&BI.isKey(this.options.watermark)||this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){""===this.editor.getValue()&&BI.isKey(this.options.watermark)||this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},isValid:function(){return this.editor.isValid()},setErrorText:function(text){this.editor.setErrorText(text)},getErrorText:function(){return this.editor.getErrorText()},isEditing:function(){return this.editor.isEditing()},getLastValidValue:function(){return this.editor.getLastValidValue()},getLastChangedValue:function(){return this.editor.getLastChangedValue()},setTextStyle:function(style){this.text.setStyle(style)},setValue:function(k){var o=this.options;this.editor.setValue(k),this._checkText()},getValue:function(){return this.editor.getValue()},getState:function(){return this.text.getValue()},setState:function(v){this._showHint(),this.text.setValue(v)}}),BI.ShelterEditor.EVENT_CHANGE="EVENT_CHANGE",BI.ShelterEditor.EVENT_FOCUS="EVENT_FOCUS",BI.ShelterEditor.EVENT_BLUR="EVENT_BLUR",BI.ShelterEditor.EVENT_CLICK="EVENT_CLICK",BI.ShelterEditor.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.ShelterEditor.EVENT_CLICK_LABEL="EVENT_CLICK_LABEL",BI.ShelterEditor.EVENT_START="EVENT_START",BI.ShelterEditor.EVENT_PAUSE="EVENT_PAUSE",BI.ShelterEditor.EVENT_STOP="EVENT_STOP",BI.ShelterEditor.EVENT_CONFIRM="EVENT_CONFIRM",BI.ShelterEditor.EVENT_CHANGE_CONFIRM="EVENT_CHANGE_CONFIRM",BI.ShelterEditor.EVENT_VALID="EVENT_VALID",BI.ShelterEditor.EVENT_ERROR="EVENT_ERROR",BI.ShelterEditor.EVENT_ENTER="EVENT_ENTER",BI.ShelterEditor.EVENT_RESTRICT="EVENT_RESTRICT",BI.ShelterEditor.EVENT_SPACE="EVENT_SPACE",BI.ShelterEditor.EVENT_EMPTY="EVENT_EMPTY",BI.shortcut("bi.shelter_editor",BI.ShelterEditor),BI.SignEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.SignEditor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-sign-editor",hgap:4,vgap:2,lgap:0,rgap:0,tgap:0,bgap:0,validationChecker:BI.emptyFn,quitChecker:BI.emptyFn,allowBlank:!0,watermark:"",errorText:"",height:24})},_init:function(){BI.SignEditor.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget({type:"bi.editor",height:o.height,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,value:o.value,validationChecker:o.validationChecker,quitChecker:o.quitChecker,allowBlank:o.allowBlank,watermark:o.watermark,errorText:o.errorText}),this.text=BI.createWidget({type:"bi.text_button",cls:"sign-editor-text",title:o.title,warningTitle:o.warningTitle,tipType:o.tipType,textAlign:"left",height:o.height,hgap:o.hgap,handler:function(){self._showInput(),self.editor.focus(),self.editor.selectAll()}}),this.text.on(BI.TextButton.EVENT_CHANGE,function(){BI.nextTick(function(){self.fireEvent(BI.SignEditor.EVENT_CLICK_LABEL)})}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.text,left:0,right:0,top:0,bottom:0}]}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_FOCUS,function(){self.fireEvent(BI.SignEditor.EVENT_FOCUS,arguments)}),this.editor.on(BI.Editor.EVENT_BLUR,function(){self.fireEvent(BI.SignEditor.EVENT_BLUR,arguments)}),this.editor.on(BI.Editor.EVENT_CLICK,function(){self.fireEvent(BI.SignEditor.EVENT_CLICK,arguments)}),this.editor.on(BI.Editor.EVENT_CHANGE,function(){self.fireEvent(BI.SignEditor.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_KEY_DOWN,function(v){self.fireEvent(BI.SignEditor.EVENT_KEY_DOWN,arguments)}),this.editor.on(BI.Editor.EVENT_VALID,function(){self.fireEvent(BI.SignEditor.EVENT_VALID,arguments)}),this.editor.on(BI.Editor.EVENT_CONFIRM,function(){self._showHint(),self._checkText(),self.fireEvent(BI.SignEditor.EVENT_CONFIRM,arguments)}),this.editor.on(BI.Editor.EVENT_CHANGE_CONFIRM,function(){self._showHint(),self._checkText(),self.fireEvent(BI.SignEditor.EVENT_CHANGE_CONFIRM,arguments)}),this.editor.on(BI.Editor.EVENT_START,function(){self.fireEvent(BI.SignEditor.EVENT_START,arguments)}),this.editor.on(BI.Editor.EVENT_PAUSE,function(){self.fireEvent(BI.SignEditor.EVENT_PAUSE,arguments)}),this.editor.on(BI.Editor.EVENT_STOP,function(){self.fireEvent(BI.SignEditor.EVENT_STOP,arguments)}),this.editor.on(BI.Editor.EVENT_SPACE,function(){self.fireEvent(BI.SignEditor.EVENT_SPACE,arguments)}),this.editor.on(BI.Editor.EVENT_ERROR,function(){self._checkText(),self.fireEvent(BI.SignEditor.EVENT_ERROR,arguments)}),this.editor.on(BI.Editor.EVENT_ENTER,function(){self.fireEvent(BI.SignEditor.EVENT_ENTER,arguments)}),this.editor.on(BI.Editor.EVENT_RESTRICT,function(){self.fireEvent(BI.SignEditor.EVENT_RESTRICT,arguments)}),this.editor.on(BI.Editor.EVENT_EMPTY,function(){self.fireEvent(BI.SignEditor.EVENT_EMPTY,arguments)}),BI.createWidget({type:"bi.vertical",scrolly:!1,element:this,items:[this.editor]}),this._showHint(),self._checkText()},_checkText:function(){var o=this.options;BI.nextTick(BI.bind(function(){""===this.editor.getValue()?(this.text.setValue(o.watermark||""),this.text.element.addClass("bi-water-mark")):(this.text.setValue(this.editor.getValue()),this.text.element.removeClass("bi-water-mark"),BI.isKey(o.keyword)&&this.text.doRedMark(o.keyword))},this))},_showInput:function(){this.editor.visible(),this.text.invisible()},_showHint:function(){this.editor.invisible(),this.text.visible()},setTitle:function(title){this.text.setTitle(title)},setWarningTitle:function(title){this.text.setWarningTitle(title)},setWaterMark:function(v){this.options.watermark=v,this.editor.setWaterMark(v)},focus:function(){this._showInput(),this.editor.focus()},blur:function(){this.editor.blur(),this._showHint(),this._checkText()},doRedMark:function(){""===this.editor.getValue()&&BI.isKey(this.options.watermark)||this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){""===this.editor.getValue()&&BI.isKey(this.options.watermark)||this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},isValid:function(){return this.editor.isValid()},setErrorText:function(text){this.editor.setErrorText(text)},getErrorText:function(){return this.editor.getErrorText()},isEditing:function(){return this.editor.isEditing()},getLastValidValue:function(){return this.editor.getLastValidValue()},getLastChangedValue:function(){return this.editor.getLastChangedValue()},setValue:function(k){this.editor.setValue(k),this._checkText()},getValue:function(){return this.editor.getValue()},getState:function(){return this.text.getValue()},setState:function(v){this._showHint(),this.text.setValue(v)}}),BI.SignEditor.EVENT_CHANGE="EVENT_CHANGE",BI.SignEditor.EVENT_FOCUS="EVENT_FOCUS",BI.SignEditor.EVENT_BLUR="EVENT_BLUR",BI.SignEditor.EVENT_CLICK="EVENT_CLICK",BI.SignEditor.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.SignEditor.EVENT_CLICK_LABEL="EVENT_CLICK_LABEL",BI.SignEditor.EVENT_START="EVENT_START",BI.SignEditor.EVENT_PAUSE="EVENT_PAUSE",BI.SignEditor.EVENT_STOP="EVENT_STOP",BI.SignEditor.EVENT_CONFIRM="EVENT_CONFIRM",BI.SignEditor.EVENT_CHANGE_CONFIRM="EVENT_CHANGE_CONFIRM",BI.SignEditor.EVENT_VALID="EVENT_VALID",BI.SignEditor.EVENT_ERROR="EVENT_ERROR",BI.SignEditor.EVENT_ENTER="EVENT_ENTER",BI.SignEditor.EVENT_RESTRICT="EVENT_RESTRICT",BI.SignEditor.EVENT_SPACE="EVENT_SPACE",BI.SignEditor.EVENT_EMPTY="EVENT_EMPTY",BI.shortcut("bi.sign_editor",BI.SignEditor),BI.StateEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.StateEditor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-state-editor",hgap:4,vgap:2,lgap:0,rgap:0,tgap:0,bgap:0,validationChecker:BI.emptyFn,quitChecker:BI.emptyFn,allowBlank:!0,watermark:"",errorText:"",height:24,defaultText:"",text:BI.i18nText("BI-Basic_Unrestricted")})},_init:function(){BI.StateEditor.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget({type:"bi.editor",height:o.height,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,value:o.value,validationChecker:o.validationChecker,quitChecker:o.quitChecker,allowBlank:o.allowBlank,watermark:o.watermark,errorText:o.errorText}),this.text=BI.createWidget({type:"bi.text_button",cls:"bi-water-mark tip-text-style",textAlign:"left",height:o.height,text:o.text,hgap:o.hgap,handler:function(){self._showInput(),self.editor.focus(),self.editor.setValue("")},title:BI.isNotNull(o.tipText)?o.tipText:function(){var title="";return BI.isString(self.stateValue)&&(title=self.stateValue),BI.isArray(self.stateValue)&&1===self.stateValue.length&&(title=self.stateValue[0]),title},warningTitle:o.warningTitle,tipType:o.tipType}),this.text.on(BI.TextButton.EVENT_CHANGE,function(){BI.nextTick(function(){self.fireEvent(BI.StateEditor.EVENT_CLICK_LABEL)})}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.text,left:0,right:0,top:0,bottom:0}]}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_FOCUS,function(){self.fireEvent(BI.StateEditor.EVENT_FOCUS,arguments)}),this.editor.on(BI.Editor.EVENT_BLUR,function(){self.fireEvent(BI.StateEditor.EVENT_BLUR,arguments)}),this.editor.on(BI.Editor.EVENT_CLICK,function(){self.fireEvent(BI.StateEditor.EVENT_CLICK,arguments)}),this.editor.on(BI.Editor.EVENT_CHANGE,function(){self.fireEvent(BI.StateEditor.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_KEY_DOWN,function(v){self.fireEvent(BI.StateEditor.EVENT_KEY_DOWN,arguments)}),this.editor.on(BI.Editor.EVENT_VALID,function(){self.fireEvent(BI.StateEditor.EVENT_VALID,arguments)}),this.editor.on(BI.Editor.EVENT_CONFIRM,function(){self._showHint(),self.fireEvent(BI.StateEditor.EVENT_CONFIRM,arguments)}),this.editor.on(BI.Editor.EVENT_CHANGE_CONFIRM,function(){self._showHint(),self.fireEvent(BI.StateEditor.EVENT_CHANGE_CONFIRM,arguments)}),this.editor.on(BI.Editor.EVENT_START,function(){self.fireEvent(BI.StateEditor.EVENT_START,arguments)}),this.editor.on(BI.Editor.EVENT_PAUSE,function(){self.fireEvent(BI.StateEditor.EVENT_PAUSE,arguments)}),this.editor.on(BI.Editor.EVENT_STOP,function(){self.fireEvent(BI.StateEditor.EVENT_STOP,arguments)}),this.editor.on(BI.Editor.EVENT_SPACE,function(){self.fireEvent(BI.StateEditor.EVENT_SPACE,arguments)}),this.editor.on(BI.Editor.EVENT_ERROR,function(){self.fireEvent(BI.StateEditor.EVENT_ERROR,arguments)}),this.editor.on(BI.Editor.EVENT_ENTER,function(){self.fireEvent(BI.StateEditor.EVENT_ENTER,arguments)}),this.editor.on(BI.Editor.EVENT_RESTRICT,function(){self.fireEvent(BI.StateEditor.EVENT_RESTRICT,arguments)}),this.editor.on(BI.Editor.EVENT_EMPTY,function(){self.fireEvent(BI.StateEditor.EVENT_EMPTY,arguments)}),BI.createWidget({type:"bi.vertical",scrolly:!1,element:this,items:[this.editor]}),this._showHint(),BI.isNotNull(o.text)&&this.setState(o.text)},setWaterMark:function(v){this.options.watermark=v,this.editor.setWaterMark(v)},doRedMark:function(){""===this.editor.getValue()&&BI.isKey(this.options.watermark)||this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){""===this.editor.getValue()&&BI.isKey(this.options.watermark)||this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},focus:function(){this.options.disabled===!1&&(this._showInput(),this.editor.focus())},blur:function(){this.editor.blur(),this._showHint()},_showInput:function(){this.editor.visible(),this.text.invisible()},_showHint:function(){this.editor.invisible(),this.text.visible()},isValid:function(){return this.editor.isValid()},setErrorText:function(text){this.editor.setErrorText(text)},getErrorText:function(){return this.editor.getErrorText()},isEditing:function(){return this.editor.isEditing()},getLastValidValue:function(){return this.editor.getLastValidValue()},getLastChangedValue:function(){return this.editor.getLastChangedValue()},setValue:function(k){this.editor.setValue(k)},getValue:function(){return this.editor.getValue()},getState:function(){return this.editor.getValue().match(/[^\s]+/g)},setState:function(v){var o=this.options;return BI.StateEditor.superclass.setValue.apply(this,arguments),this.stateValue=v,BI.isNumber(v)?void(v===BI.Selection.All?(this.text.setText(BI.i18nText("BI-Select_All")),this.text.element.removeClass("bi-water-mark")):v===BI.Selection.Multi?(this.text.setText(BI.i18nText("BI-Select_Part")),this.text.element.removeClass("bi-water-mark")):(this.text.setText(BI.isKey(o.defaultText)?o.defaultText:o.text),BI.isKey(o.defaultText)?this.text.element.addClass("bi-water-mark"):this.text.element.removeClass("bi-water-mark"))):BI.isString(v)?(this.text.setText(v),void(BI.isKey(o.defaultText)&&o.defaultText===v?this.text.element.addClass("bi-water-mark"):this.text.element.removeClass("bi-water-mark"))):void(BI.isArray(v)&&(BI.isEmpty(v)?(this.text.setText(BI.isKey(o.defaultText)?o.defaultText:o.text),BI.isKey(o.defaultText)?this.text.element.addClass("bi-water-mark"):this.text.element.removeClass("bi-water-mark")):1===v.length?(this.text.setText(v[0]),this.text.element.removeClass("bi-water-mark")):(this.text.setText(BI.i18nText("BI-Select_Part")),this.text.element.removeClass("bi-water-mark"))))},setTipType:function(v){this.text.options.tipType=v}}),BI.StateEditor.EVENT_CHANGE="EVENT_CHANGE",BI.StateEditor.EVENT_FOCUS="EVENT_FOCUS",BI.StateEditor.EVENT_BLUR="EVENT_BLUR",BI.StateEditor.EVENT_CLICK="EVENT_CLICK",BI.StateEditor.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.StateEditor.EVENT_CLICK_LABEL="EVENT_CLICK_LABEL",BI.StateEditor.EVENT_START="EVENT_START",BI.StateEditor.EVENT_PAUSE="EVENT_PAUSE",BI.StateEditor.EVENT_STOP="EVENT_STOP",BI.StateEditor.EVENT_CONFIRM="EVENT_CONFIRM",BI.StateEditor.EVENT_CHANGE_CONFIRM="EVENT_CHANGE_CONFIRM",BI.StateEditor.EVENT_VALID="EVENT_VALID",BI.StateEditor.EVENT_ERROR="EVENT_ERROR",BI.StateEditor.EVENT_ENTER="EVENT_ENTER",BI.StateEditor.EVENT_RESTRICT="EVENT_RESTRICT",BI.StateEditor.EVENT_SPACE="EVENT_SPACE",BI.StateEditor.EVENT_EMPTY="EVENT_EMPTY",BI.shortcut("bi.state_editor",BI.StateEditor),BI.SimpleStateEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.SimpleStateEditor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-simple-state-editor",hgap:4,vgap:2,lgap:0,rgap:0,tgap:0,bgap:0,validationChecker:BI.emptyFn,quitChecker:BI.emptyFn,mouseOut:!1,allowBlank:!0,watermark:"",errorText:"",height:24,text:BI.i18nText("BI-Basic_Unrestricted")})},_init:function(){BI.SimpleStateEditor.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget({type:"bi.editor",height:o.height,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,value:o.value,validationChecker:o.validationChecker,quitChecker:o.quitChecker,allowBlank:o.allowBlank,watermark:o.watermark,errorText:o.errorText}),this.text=BI.createWidget({type:"bi.text_button",cls:"bi-water-mark",textAlign:"left",text:o.text,height:o.height,hgap:o.hgap,handler:function(){self._showInput(),self.editor.focus(),self.editor.setValue("")}}),this.text.on(BI.TextButton.EVENT_CHANGE,function(){BI.nextTick(function(){self.fireEvent(BI.SimpleStateEditor.EVENT_CLICK_LABEL)})}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.text,left:0,right:0,top:0,bottom:0}]}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_FOCUS,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_FOCUS,arguments)}),this.editor.on(BI.Editor.EVENT_BLUR,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_BLUR,arguments)}),this.editor.on(BI.Editor.EVENT_CLICK,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_CLICK,arguments)}),this.editor.on(BI.Editor.EVENT_CHANGE,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_KEY_DOWN,function(v){self.fireEvent(BI.SimpleStateEditor.EVENT_KEY_DOWN,arguments)}),this.editor.on(BI.Editor.EVENT_VALID,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_VALID,arguments)}),this.editor.on(BI.Editor.EVENT_CONFIRM,function(){self._showHint(),self.fireEvent(BI.SimpleStateEditor.EVENT_CONFIRM,arguments)}),this.editor.on(BI.Editor.EVENT_CHANGE_CONFIRM,function(){self._showHint(),self.fireEvent(BI.SimpleStateEditor.EVENT_CHANGE_CONFIRM,arguments)}),this.editor.on(BI.Editor.EVENT_START,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_START,arguments)}),this.editor.on(BI.Editor.EVENT_PAUSE,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_PAUSE,arguments)}),this.editor.on(BI.Editor.EVENT_STOP,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_STOP,arguments)}),this.editor.on(BI.Editor.EVENT_SPACE,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_SPACE,arguments)}),this.editor.on(BI.Editor.EVENT_ERROR,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_ERROR,arguments)}),this.editor.on(BI.Editor.EVENT_ENTER,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_ENTER,arguments)}),this.editor.on(BI.Editor.EVENT_RESTRICT,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_RESTRICT,arguments)}),this.editor.on(BI.Editor.EVENT_EMPTY,function(){self.fireEvent(BI.SimpleStateEditor.EVENT_EMPTY,arguments)}),BI.createWidget({type:"bi.vertical",scrolly:!1,element:this,items:[this.editor]}),this._showHint(),BI.isNotNull(o.text)&&this.setState(o.text)},setWaterMark:function(v){this.options.watermark=v,this.editor.setWaterMark(v)},doRedMark:function(){""===this.editor.getValue()&&BI.isKey(this.options.watermark)||this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){""===this.editor.getValue()&&BI.isKey(this.options.watermark)||this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},focus:function(){this._showInput(),this.editor.focus()},blur:function(){this.editor.blur(),this._showHint()},_showInput:function(){this.editor.visible(),this.text.invisible()},_showHint:function(){this.editor.invisible(),this.text.visible()},isValid:function(){return this.editor.isValid()},setErrorText:function(text){this.editor.setErrorText(text)},getErrorText:function(){return this.editor.getErrorText()},isEditing:function(){return this.editor.isEditing()},getLastValidValue:function(){return this.editor.getLastValidValue()},getLastChangedValue:function(){return this.editor.getLastChangedValue()},setValue:function(k){this.editor.setValue(k)},getValue:function(){return this.editor.getValue()},getState:function(){return this.editor.getValue().match(/[^\s]+/g)},setState:function(v){var o=this.options;return BI.SimpleStateEditor.superclass.setValue.apply(this,arguments),BI.isNumber(v)?void(v===BI.Selection.All?(this.text.setText(BI.i18nText("BI-Already_Selected")),this.text.element.removeClass("bi-water-mark")):v===BI.Selection.Multi?(this.text.setText(BI.i18nText("BI-Already_Selected")),this.text.element.removeClass("bi-water-mark")):(this.text.setText(o.text),this.text.element.addClass("bi-water-mark"))):void(BI.isArray(v)&&1!==v.length?BI.isEmpty(v)?(this.text.setText(o.text),this.text.element.addClass("bi-water-mark")):(this.text.setText(BI.i18nText("BI-Already_Selected")),this.text.element.removeClass("bi-water-mark")):(this.text.setText(v),this.text.setTitle(v),this.text.element.removeClass("bi-water-mark")))}}),BI.SimpleStateEditor.EVENT_CHANGE="EVENT_CHANGE",BI.SimpleStateEditor.EVENT_FOCUS="EVENT_FOCUS",BI.SimpleStateEditor.EVENT_BLUR="EVENT_BLUR",BI.SimpleStateEditor.EVENT_CLICK="EVENT_CLICK",BI.SimpleStateEditor.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.SimpleStateEditor.EVENT_CLICK_LABEL="EVENT_CLICK_LABEL",BI.SimpleStateEditor.EVENT_START="EVENT_START",BI.SimpleStateEditor.EVENT_PAUSE="EVENT_PAUSE",BI.SimpleStateEditor.EVENT_STOP="EVENT_STOP",BI.SimpleStateEditor.EVENT_CONFIRM="EVENT_CONFIRM",BI.SimpleStateEditor.EVENT_CHANGE_CONFIRM="EVENT_CHANGE_CONFIRM",BI.SimpleStateEditor.EVENT_VALID="EVENT_VALID",BI.SimpleStateEditor.EVENT_ERROR="EVENT_ERROR",BI.SimpleStateEditor.EVENT_ENTER="EVENT_ENTER",BI.SimpleStateEditor.EVENT_RESTRICT="EVENT_RESTRICT",BI.SimpleStateEditor.EVENT_SPACE="EVENT_SPACE",BI.SimpleStateEditor.EVENT_EMPTY="EVENT_EMPTY",BI.shortcut("bi.simple_state_editor",BI.SimpleStateEditor),BI.MultiPopupView=BI.inherit(BI.PopupView,{_defaultConfig:function(){var conf=BI.MultiPopupView.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{_baseCls:(conf._baseCls||"")+" bi-multi-list-view",buttons:[BI.i18nText("BI-Basic_Sure")]})},_init:function(){BI.MultiPopupView.superclass._init.apply(this,arguments)},_createToolBar:function(){var o=this.options,self=this;if(0!==o.buttons.length){var text=[];return BI.each(o.buttons,function(idx,item){text.push({text:item,value:idx})}),this.buttongroup=BI.createWidget({type:"bi.button_group",cls:"list-view-toolbar bi-high-light bi-split-top",height:24,items:BI.createItems(text,{type:"bi.text_button",once:!1,shadow:!0,isShadowShowingOnSelected:!0}),layouts:[{type:"bi.center",hgap:0,vgap:0}]}),this.buttongroup.on(BI.ButtonGroup.EVENT_CHANGE,function(value,obj){self.fireEvent(BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON,value,obj)}),this.buttongroup}}}),BI.MultiPopupView.EVENT_CHANGE="EVENT_CHANGE",BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON="EVENT_CLICK_TOOLBAR_BUTTON",BI.shortcut("bi.multi_popup_view",BI.MultiPopupView),BI.PopupPanel=BI.inherit(BI.MultiPopupView,{_defaultConfig:function(){var conf=BI.PopupPanel.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-popup-panel",title:""})},_init:function(){BI.PopupPanel.superclass._init.apply(this,arguments)},_createTool:function(){var self=this,o=this.options,close=BI.createWidget({type:"bi.icon_button",cls:"close-h-font",width:25,height:25});return close.on(BI.IconButton.EVENT_CHANGE,function(){self.setVisible(!1),self.fireEvent(BI.PopupPanel.EVENT_CLOSE)}),BI.createWidget({type:"bi.htape",cls:"popup-panel-title bi-header-background",height:25,items:[{el:{type:"bi.label",textAlign:"left",text:o.title,height:25,lgap:10}},{el:close,width:25}]})}}),BI.PopupPanel.EVENT_CHANGE="EVENT_CHANGE",BI.PopupPanel.EVENT_CLOSE="EVENT_CLOSE",BI.PopupPanel.EVENT_CLICK_TOOLBAR_BUTTON="EVENT_CLICK_TOOLBAR_BUTTON",BI.shortcut("bi.popup_panel",BI.PopupPanel),BI.ListPane=BI.inherit(BI.Pane,{_defaultConfig:function(){var conf=BI.ListPane.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-list-pane",logic:{dynamic:!0},lgap:0,rgap:0,tgap:0,bgap:0,vgap:0,hgap:0,items:[],itemsCreator:BI.emptyFn,hasNext:BI.emptyFn,onLoaded:BI.emptyFn,el:{type:"bi.button_group"}})},_init:function(){BI.ListPane.superclass._init.apply(this,arguments);var self=this,o=this.options;this.button_group=BI.createWidget(o.el,{type:"bi.button_group",chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE,behaviors:{},items:o.items,itemsCreator:function(op,calback){1===op.times&&(self.empty(),BI.nextTick(function(){self.loading()})),o.itemsCreator(op,function(){calback.apply(self,arguments),1===op.times&&BI.nextTick(function(){self.loaded(),self.check()})})},hasNext:o.hasNext,layouts:[{type:"bi.vertical"}]}),this.button_group.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){
self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.ListPane.EVENT_CHANGE,value,obj)}),this.check(),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Top),BI.extend({scrolly:!0,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,vgap:o.vgap,hgap:o.hgap},o.logic,{items:BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Top,this.button_group)}))))},hasPrev:function(){return this.button_group.hasPrev&&this.button_group.hasPrev()},hasNext:function(){return this.button_group.hasNext&&this.button_group.hasNext()},prependItems:function(items){this.options.items=items.concat(this.options.items),this.button_group.prependItems.apply(this.button_group,arguments),this.check()},addItems:function(items){this.options.items=this.options.items.concat(items),this.button_group.addItems.apply(this.button_group,arguments),this.check()},removeItemAt:function(indexes){indexes=indexes||[],BI.removeAt(this.options.items,indexes),this.button_group.removeItemAt.apply(this.button_group,arguments),this.check()},populate:function(items){var self=this,o=this.options;return 0===arguments.length&&BI.isFunction(this.button_group.attr("itemsCreator"))?void this.button_group.attr("itemsCreator").apply(this,[{times:1},function(){if(0===arguments.length)throw new Error("参数不能为空");self.populate.apply(self,arguments)}]):(BI.ListPane.superclass.populate.apply(this,arguments),void this.button_group.populate.apply(this.button_group,arguments))},empty:function(){this.button_group.empty()},setNotSelectedValue:function(){this.button_group.setNotSelectedValue.apply(this.button_group,arguments)},getNotSelectedValue:function(){return this.button_group.getNotSelectedValue()},setValue:function(){this.button_group.setValue.apply(this.button_group,arguments)},getValue:function(){return this.button_group.getValue.apply(this.button_group,arguments)},getAllButtons:function(){return this.button_group.getAllButtons()},getAllLeaves:function(){return this.button_group.getAllLeaves()},getSelectedButtons:function(){return this.button_group.getSelectedButtons()},getNotSelectedButtons:function(){return this.button_group.getNotSelectedButtons()},getIndexByValue:function(value){return this.button_group.getIndexByValue(value)},getNodeById:function(id){return this.button_group.getNodeById(id)},getNodeByValue:function(value){return this.button_group.getNodeByValue(value)}}),BI.ListPane.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.list_pane",BI.ListPane),BI.Panel=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.Panel.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-panel bi-border",title:"",titleButtons:[],el:{},logic:{dynamic:!1}})},_init:function(){BI.Panel.superclass._init.apply(this,arguments);var o=this.options;BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("vertical",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("top",this._createTitle(),this.options.el)}))))},_createTitle:function(){var self=this,o=this.options;return this.text=BI.createWidget({type:"bi.label",cls:"panel-title-text",text:o.title,height:30}),this.button_group=BI.createWidget({type:"bi.button_group",items:o.titleButtons,layouts:[{type:"bi.center_adapt",lgap:10}]}),this.button_group.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.button_group.on(BI.ButtonGroup.EVENT_CHANGE,function(value,obj){self.fireEvent(BI.Panel.EVENT_CHANGE,value,obj)}),{el:{type:"bi.left_right_vertical_adapt",cls:"panel-title bi-header-background bi-border-bottom",height:29,items:{left:[this.text],right:[this.button_group]},lhgap:10,rhgap:10},height:29}},setTitle:function(title){this.text.setValue(title)}}),BI.Panel.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.panel",BI.Panel),BI.LinearSegmentButton=BI.inherit(BI.BasicButton,{props:{extraCls:"bi-line-segment-button bi-list-item-effect",once:!0,readonly:!0,hgap:10,height:25},render:function(){var self=this,o=this.options;return[{type:"bi.label",text:o.text,height:o.height,value:o.value,hgap:o.hgap,ref:function(){self.text=this}},{type:"bi.absolute",items:[{el:{type:"bi.layout",cls:"line-segment-button-line",height:2,ref:function(){self.line=this}},left:0,right:0,bottom:0}]}]},setSelected:function(v){BI.LinearSegmentButton.superclass.setSelected.apply(this,arguments),v?this.line.element.addClass("bi-high-light-background"):this.line.element.removeClass("bi-high-light-background")},setText:function(text){this.text.setText(text)}}),BI.shortcut("bi.linear_segment_button",BI.LinearSegmentButton),BI.LinearSegment=BI.inherit(BI.Widget,{props:{baseCls:"bi-linear-segment bi-split-bottom",items:[],height:29},render:function(){var self=this,o=this.options;return{type:"bi.button_group",items:BI.createItems(o.items,{type:"bi.linear_segment_button",height:o.height-1}),layout:[{type:"bi.center"}],listeners:[{eventName:"__EVENT_CHANGE__",action:function(){self.fireEvent("__EVENT_CHANGE__",arguments)}},{eventName:"EVENT_CHANGE",action:function(){self.fireEvent("EVENT_CHANGE")}}],ref:function(){self.buttonGroup=this}}},setValue:function(v){this.buttonGroup.setValue(v)},setEnabledValue:function(v){this.buttonGroup.setEnabledValue(v)},getValue:function(){return this.buttonGroup.getValue()}}),BI.shortcut("bi.linear_segment",BI.LinearSegment),BI.SelectList=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SelectList.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-select-list",direction:BI.Direction.Top,logic:{dynamic:!0},items:[],itemsCreator:BI.emptyFn,hasNext:BI.emptyFn,onLoaded:BI.emptyFn,toolbar:{type:"bi.multi_select_bar",iconWrapperWidth:36},el:{type:"bi.list_pane"}})},_init:function(){BI.SelectList.superclass._init.apply(this,arguments);var self=this,o=this.options;this.toolbar=BI.createWidget(o.toolbar),this.allSelected=!1,this.toolbar.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.allSelected=this.isSelected(),type===BI.Events.CLICK&&(self.setAllSelected(self.allSelected),self.fireEvent(BI.SelectList.EVENT_CHANGE,value,obj)),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.list=BI.createWidget(o.el,{type:"bi.list_pane",items:o.items,itemsCreator:function(op,callback){1===op.times&&self.toolbar.setVisible(!1),o.itemsCreator(op,function(items){callback.apply(self,arguments),1===op.times&&(self.toolbar.setVisible(items&&items.length>0),self.toolbar.setEnable(self.isEnabled()&&items&&items.length>0)),self._checkAllSelected()})},onLoaded:o.onLoaded,hasNext:o.hasNext}),this.list.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){type===BI.Events.CLICK&&(self._checkAllSelected(),self.fireEvent(BI.SelectList.EVENT_CHANGE,value,obj)),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction),BI.extend({scrolly:!0},o.logic,{items:BI.LogicFactory.createLogicItemsByDirection(o.direction,this.toolbar,this.list)})))),o.items.length<=0&&(this.toolbar.setVisible(!1),this.toolbar.setEnable(!1)),BI.isNotNull(o.value)&&this.setValue(o.value)},_checkAllSelected:function(){var selectLength=this.list.getValue().length,notSelectLength=this.getAllLeaves().length-selectLength,hasNext=this.list.hasNext(),isAlreadyAllSelected=this.toolbar.isSelected(),isHalf=selectLength>0&&(notSelectLength>0||!isAlreadyAllSelected&&hasNext);isHalf=isHalf||notSelectLength>0&&hasNext&&isAlreadyAllSelected,this.toolbar.setHalfSelected(isHalf),!isHalf&&this.toolbar.setSelected(selectLength>0&&notSelectLength<=0&&(!hasNext||isAlreadyAllSelected))},setAllSelected:function(v){BI.each(this.getAllButtons(),function(i,btn){(btn.setSelected||btn.setAllSelected).apply(btn,[v])}),this.allSelected=!!v,this.toolbar.setSelected(v),this.toolbar.setHalfSelected(!1)},setToolBarVisible:function(b){this.toolbar.setVisible(b)},isAllSelected:function(){return this.allSelected},hasPrev:function(){return this.list.hasPrev()},hasNext:function(){return this.list.hasNext()},prependItems:function(items){this.list.prependItems.apply(this.list,arguments)},addItems:function(items){this.list.addItems.apply(this.list,arguments)},setValue:function(data){var selectAll=data.type===BI.ButtonGroup.CHOOSE_TYPE_ALL;this.setAllSelected(selectAll),this.list[selectAll?"setNotSelectedValue":"setValue"](data.value),this._checkAllSelected()},getValue:function(){return this.isAllSelected()===!1?{type:BI.ButtonGroup.CHOOSE_TYPE_MULTI,value:this.list.getValue(),assist:this.list.getNotSelectedValue()}:{type:BI.ButtonGroup.CHOOSE_TYPE_ALL,value:this.list.getNotSelectedValue(),assist:this.list.getValue()}},empty:function(){this.list.empty()},populate:function(items){this.toolbar.setVisible(!BI.isEmptyArray(items)),this.toolbar.setEnable(this.isEnabled()&&!BI.isEmptyArray(items)),this.list.populate.apply(this.list,arguments),this._checkAllSelected()},_setEnable:function(enable){BI.SelectList.superclass._setEnable.apply(this,arguments),this.toolbar.setEnable(enable)},resetHeight:function(h){var toolHeight=(this.toolbar.element.outerHeight()||25)*(this.toolbar.isVisible()?1:0);this.list.resetHeight?this.list.resetHeight(h-toolHeight):this.list.element.css({"max-height":h-toolHeight+"px"})},setNotSelectedValue:function(){this.list.setNotSelectedValue.apply(this.list,arguments),this._checkAllSelected()},getNotSelectedValue:function(){return this.list.getNotSelectedValue()},getAllButtons:function(){return this.list.getAllButtons()},getAllLeaves:function(){return this.list.getAllLeaves()},getSelectedButtons:function(){return this.list.getSelectedButtons()},getNotSelectedButtons:function(){return this.list.getNotSelectedButtons()},getIndexByValue:function(value){return this.list.getIndexByValue(value)},getNodeById:function(id){return this.list.getNodeById(id)},getNodeByValue:function(value){return this.list.getNodeByValue(value)}}),BI.SelectList.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.select_list",BI.SelectList),BI.LazyLoader=BI.inherit(BI.Widget,{_const:{PAGE:100},_defaultConfig:function(){return BI.extend(BI.LazyLoader.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-lazy-loader",el:{}})},_init:function(){var self=this,o=this.options;BI.LazyLoader.superclass._init.apply(this,arguments);var all=o.items.length;this.loader=BI.createWidget({type:"bi.loader",element:this,el:o.el,itemsCreator:function(options,populate){populate(self._getNextItems(options))},hasNext:function(option){return option.count<all}}),this.loader.on(BI.Loader.EVENT_CHANGE,function(obj){self.fireEvent(BI.LazyLoader.EVENT_CHANGE,obj)})},_getNextItems:function(options){var self=this,o=this.options,lastNum=o.items.length-this._const.PAGE*(options.times-1),lastItems=BI.takeRight(o.items,lastNum),nextItems=BI.take(lastItems,this._const.PAGE);return nextItems},populate:function(items){this.loader.populate(items)},addItems:function(items){this.loader.addItems(items)},empty:function(){this.loader.empty()},setNotSelectedValue:function(){this.loader.setNotSelectedValue.apply(this.loader,arguments)},getNotSelectedValue:function(){return this.loader.getNotSelectedValue()},setValue:function(){this.loader.setValue.apply(this.loader,arguments)},getValue:function(){return this.loader.getValue.apply(this.loader,arguments)},getAllButtons:function(){return this.loader.getAllButtons()},getAllLeaves:function(){return this.loader.getAllLeaves()},getSelectedButtons:function(){return this.loader.getSelectedButtons()},getNotSelectedButtons:function(){return this.loader.getNotSelectedButtons()},getIndexByValue:function(value){return this.loader.getIndexByValue(value)},getNodeById:function(id){return this.loader.getNodeById(id)},getNodeByValue:function(value){return this.loader.getNodeByValue(value)}}),BI.LazyLoader.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.lazy_loader",BI.LazyLoader),BI.ListLoader=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.ListLoader.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-list-loader",isDefaultInit:!0,el:{type:"bi.button_group"},items:[],itemsCreator:BI.emptyFn,onLoaded:BI.emptyFn,count:!1,next:{},hasNext:BI.emptyFn})},_nextLoad:function(){var self=this,o=this.options;this.next.setLoading(),o.itemsCreator.apply(this,[{times:++this.times},function(){self.next.setLoaded(),self.addItems.apply(self,arguments)}])},_init:function(){BI.ListLoader.superclass._init.apply(this,arguments);var self=this,o=this.options;o.itemsCreator===!1&&(o.next=!1),this.button_group=BI.createWidget(o.el,{type:"bi.button_group",element:this,chooseType:0,items:o.items,behaviors:{},layouts:[{type:"bi.vertical"}]}),this.button_group.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.ListLoader.EVENT_CHANGE,obj)}),o.next!==!1&&(this.next=BI.createWidget(BI.extend({type:"bi.loading_bar"},o.next)),this.next.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&self._nextLoad()})),BI.createWidget({type:"bi.vertical",element:this,items:[this.next]}),o.isDefaultInit&&BI.isEmpty(o.items)&&BI.nextTick(BI.bind(function(){this.populate()},this)),BI.isNotEmptyArray(o.items)&&this.populate(o.items)},hasNext:function(){var o=this.options;return BI.isNumber(o.count)?this.count<o.count:!!o.hasNext.apply(this,[{times:this.times,count:this.count}])},addItems:function(items){this.count+=items.length,BI.isObject(this.next)&&(this.options.items=this.options.items.concat(items),this.hasNext()?this.next.setLoaded():this.next.setEnd()),this.button_group.addItems.apply(this.button_group,arguments),this.next.element.appendTo(this.element)},populate:function(items){var self=this,o=this.options;return 0===arguments.length&&BI.isFunction(o.itemsCreator)?void o.itemsCreator.apply(this,[{times:1},function(){if(0===arguments.length)throw new Error("参数不能为空");self.populate.apply(self,arguments),o.onLoaded()}]):(this.options.items=items,this.times=1,this.count=0,this.count+=items.length,BI.isObject(this.next)&&(this.hasNext()?this.next.setLoaded():this.next.invisible()),BI.DOM.hang([this.next]),this.button_group.populate.apply(this.button_group,arguments),void this.next.element.appendTo(this.element))},empty:function(){BI.DOM.hang([this.next]),this.button_group.empty(),this.next.element.appendTo(this.element),BI.each([this.next],function(i,ob){ob&&ob.setVisible(!1)})},setNotSelectedValue:function(){this.button_group.setNotSelectedValue.apply(this.button_group,arguments)},getNotSelectedValue:function(){return this.button_group.getNotSelectedValue()},setValue:function(){this.button_group.setValue.apply(this.button_group,arguments)},getValue:function(){return this.button_group.getValue.apply(this.button_group,arguments)},getAllButtons:function(){return this.button_group.getAllButtons()},getAllLeaves:function(){return this.button_group.getAllLeaves()},getSelectedButtons:function(){return this.button_group.getSelectedButtons()},getNotSelectedButtons:function(){return this.button_group.getNotSelectedButtons()},getIndexByValue:function(value){return this.button_group.getIndexByValue(value)},getNodeById:function(id){return this.button_group.getNodeById(id)},getNodeByValue:function(value){return this.button_group.getNodeByValue(value)}}),BI.ListLoader.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.list_loader",BI.ListLoader),BI.SortList=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SortList.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-sort-list",isDefaultInit:!0,el:{type:"bi.button_group"},items:[],itemsCreator:BI.emptyFn,onLoaded:BI.emptyFn,count:!1,next:{},hasNext:BI.emptyFn})},_init:function(){BI.SortList.superclass._init.apply(this,arguments);var self=this,o=this.options;this.loader=BI.createWidget({type:"bi.list_loader",element:this,isDefaultInit:o.isDefaultInit,el:o.el,items:this._formatItems(o.items),itemsCreator:function(op,callback){o.itemsCreator(op,function(items){callback(self._formatItems(items))})},onLoaded:o.onLoaded,count:o.count,next:o.next,hasNext:o.hasNext}),this.loader.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.SortList.EVENT_CHANGE,value,obj)}),this.loader.element.sortable({containment:o.containment||this.element,connectWith:o.connectWith||".bi-sort-list",items:".sort-item",cursor:o.cursor||"drag",tolerance:o.tolerance||"intersect",placeholder:{element:function($currentItem){var holder=BI.createWidget({type:"bi.layout",cls:"bi-sortable-holder",height:$currentItem.outerHeight()});return holder.element.css({"margin-left":$currentItem.css("margin-left"),"margin-right":$currentItem.css("margin-right"),"margin-top":$currentItem.css("margin-top"),"margin-bottom":$currentItem.css("margin-bottom"),margin:$currentItem.css("margin")}),holder.element},update:function(){}},start:function(event,ui){},stop:function(event,ui){self.fireEvent(BI.SortList.EVENT_CHANGE)},over:function(event,ui){}})},_formatItems:function(items){return BI.each(items,function(i,item){item=BI.stripEL(item),item.cls=item.cls?item.cls+" sort-item":"sort-item",item.attributes={sorted:item.value}}),items},hasNext:function(){return this.loader.hasNext()},addItems:function(items){this.loader.addItems(items)},populate:function(items){items&&(arguments[0]=this._formatItems(items)),this.loader.populate.apply(this.loader,arguments)},empty:function(){this.loader.empty()},setNotSelectedValue:function(){this.loader.setNotSelectedValue.apply(this.loader,arguments)},getNotSelectedValue:function(){return this.loader.getNotSelectedValue()},setValue:function(){this.loader.setValue.apply(this.loader,arguments)},getValue:function(){return this.loader.getValue()},getAllButtons:function(){return this.loader.getAllButtons()},getAllLeaves:function(){return this.loader.getAllLeaves()},getSelectedButtons:function(){return this.loader.getSelectedButtons()},getNotSelectedButtons:function(){return this.loader.getNotSelectedButtons()},getIndexByValue:function(value){return this.loader.getIndexByValue(value)},getNodeById:function(id){return this.loader.getNodeById(id)},getNodeByValue:function(value){return this.loader.getNodeByValue(value)},getSortedValues:function(){return this.loader.element.sortable("toArray",{attribute:"sorted"})}}),BI.SortList.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.sort_list",BI.SortList),BI.LoadingPane=BI.inherit(BI.Pane,{_mount:function(){var isMounted=BI.Pane.superclass._mount.apply(this,arguments);isMounted&&this.beforeInit&&(this.__asking=!0,this.loading(),this.beforeInit(BI.bind(this.__loaded,this)))},_initRender:function(){this.beforeInit?this.__async=!0:this._render()},__loaded:function(){this.__asking=!1,this.loaded(),this._render()}}),BI.AllCountPager=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.AllCountPager.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-all-count-pager",pagerDirection:"vertical",height:24,pages:1,curr:1,count:1})},_init:function(){BI.AllCountPager.superclass._init.apply(this,arguments);var self=this,o=this.options,pagerIconCls=this._getPagerIconCls();this.editor=BI.createWidget({type:"bi.small_text_editor",cls:"pager-editor bi-border-radius",validationChecker:function(v){return 0===self.rowCount.getValue()&&"0"===v||BI.isPositiveInteger(v)},hgap:4,vgap:0,value:o.curr,errorText:BI.i18nText("BI-Please_Input_Positive_Integer"),width:40,height:24,invisible:o.pages<=1}),this.pager=BI.createWidget({type:"bi.pager",width:58,layouts:[{type:"bi.horizontal",lgap:5}],dynamicShow:!1,pages:o.pages,curr:o.curr,groups:0,first:!1,last:!1,prev:{type:"bi.icon_button",value:"prev",title:BI.i18nText("BI-Previous_Page"),warningTitle:BI.i18nText("BI-Current_Is_First_Page"),height:22,width:22,cls:"bi-border bi-border-radius all-pager-prev bi-list-item-select2 "+pagerIconCls.preCls},next:{type:"bi.icon_button",value:"next",title:BI.i18nText("BI-Next_Page"),warningTitle:BI.i18nText("BI-Current_Is_Last_Page"),height:22,width:22,cls:"bi-border bi-border-radius all-pager-next bi-list-item-select2 "+pagerIconCls.nextCls},hasPrev:o.hasPrev,hasNext:o.hasNext,firstPage:o.firstPage,lastPage:o.lastPage,invisible:o.pages<=1}),this.editor.on(BI.TextEditor.EVENT_CONFIRM,function(){self.pager.setValue(BI.parseInt(self.editor.getValue())),self.fireEvent(BI.AllCountPager.EVENT_CHANGE)}),this.pager.on(BI.Pager.EVENT_CHANGE,function(){self.fireEvent(BI.AllCountPager.EVENT_CHANGE)}),this.pager.on(BI.Pager.EVENT_AFTER_POPULATE,function(){self.editor.setValue(self.pager.getCurrentPage())}),this.allPages=BI.createWidget({type:"bi.label",title:o.pages,text:"/"+o.pages,lgap:5,invisible:o.pages<=1}),this.rowCount=BI.createWidget({type:"bi.label",cls:"row-count",height:o.height,hgap:5,text:o.count,title:o.count});var count=BI.createWidget({type:"bi.left",height:o.height,scrollable:!1,items:[{type:"bi.label",height:o.height,text:BI.i18nText("BI-Basic_Total"),width:15},this.rowCount,{type:"bi.label",height:o.height,text:BI.i18nText("BI-Tiao_Data"),width:50,textAlign:"left"}]});BI.createWidget({type:"bi.left_right_vertical_adapt",element:this,items:{left:[count],right:[this.editor,this.allPages,this.pager]}})},alwaysShowPager:!0,_getPagerIconCls:function(){var o=this.options;switch(o.pagerDirection){case"horizontal":return{preCls:"row-pre-page-h-font ",nextCls:"row-next-page-h-font "};case"vertical":default:return{preCls:"column-pre-page-h-font ",nextCls:"column-next-page-h-font "}}},setAllPages:function(v){this.allPages.setText("/"+v),this.allPages.setTitle(v),this.options.pages=v,this.pager.setAllPages(v),this.editor.setEnable(v>=1),this.setPagerVisible(v>1)},setValue:function(v){this.pager.setValue(v)},setVPage:function(v){this.pager.setValue(v)},setCount:function(count){this.rowCount.setText(count),this.rowCount.setTitle(count)},getCurrentPage:function(){return this.pager.getCurrentPage()},hasPrev:function(){return this.pager.hasPrev()},hasNext:function(){return this.pager.hasNext()},setPagerVisible:function(b){this.editor.setVisible(b),this.allPages.setVisible(b),this.pager.setVisible(b)},populate:function(){this.pager.populate(),this.setPagerVisible(this.options.pages>1)}}),BI.AllCountPager.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.all_count_pager",BI.AllCountPager),BI.DirectionPager=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.DirectionPager.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-direction-pager",height:24,horizontal:{pages:!1,curr:1,hasPrev:BI.emptyFn,hasNext:BI.emptyFn,firstPage:1,lastPage:BI.emptyFn},vertical:{pages:!1,curr:1,hasPrev:BI.emptyFn,hasNext:BI.emptyFn,firstPage:1,lastPage:BI.emptyFn}})},_init:function(){BI.DirectionPager.superclass._init.apply(this,arguments);var self=this,o=this.options,v=o.vertical,h=o.horizontal;this._createVPager(),this._createHPager(),this.layout=BI.createWidget({type:"bi.absolute",scrollable:!1,element:this,items:[{el:this.vpager,top:0,right:86},{el:this.vlabel,top:0,right:110},{el:this.hpager,top:0,right:0},{el:this.hlabel,top:0,right:24}]})},_createVPager:function(){var self=this,o=this.options,v=o.vertical;this.vlabel=BI.createWidget({type:"bi.label",width:24,height:24,value:v.curr,title:v.curr,invisible:!0}),this.vpager=BI.createWidget({type:"bi.pager",width:72,layouts:[{type:"bi.horizontal",scrollx:!1,rgap:24}],invisible:!0,dynamicShow:!1,pages:v.pages,curr:v.curr,groups:0,first:!1,last:!1,prev:{type:"bi.icon_button",value:"prev",title:BI.i18nText("BI-Up_Page"),warningTitle:BI.i18nText("BI-Current_Is_First_Page"),height:22,width:22,cls:"bi-border bi-border-radius direction-pager-prev column-pre-page-h-font bi-list-item-select2"},next:{type:"bi.icon_button",value:"next",title:BI.i18nText("BI-Down_Page"),warningTitle:BI.i18nText("BI-Current_Is_Last_Page"),height:22,width:22,cls:"bi-border bi-border-radius direction-pager-next column-next-page-h-font bi-list-item-select2"},hasPrev:v.hasPrev,hasNext:v.hasNext,firstPage:v.firstPage,lastPage:v.lastPage}),this.vpager.on(BI.Pager.EVENT_CHANGE,function(){self.fireEvent(BI.DirectionPager.EVENT_CHANGE)}),this.vpager.on(BI.Pager.EVENT_AFTER_POPULATE,function(){self.vlabel.setValue(this.getCurrentPage()),self.vlabel.setTitle(this.getCurrentPage())})},_createHPager:function(){var self=this,o=this.options,h=o.horizontal;this.hlabel=BI.createWidget({type:"bi.label",width:24,height:24,value:h.curr,title:h.curr,invisible:!0}),this.hpager=BI.createWidget({type:"bi.pager",width:72,layouts:[{type:"bi.horizontal",scrollx:!1,rgap:24}],invisible:!0,dynamicShow:!1,pages:h.pages,curr:h.curr,groups:0,first:!1,last:!1,prev:{type:"bi.icon_button",value:"prev",title:BI.i18nText("BI-Left_Page"),warningTitle:BI.i18nText("BI-Current_Is_First_Page"),height:22,width:22,cls:"bi-border bi-border-radius direction-pager-prev row-pre-page-h-font bi-list-item-select2"},next:{type:"bi.icon_button",value:"next",title:BI.i18nText("BI-Right_Page"),warningTitle:BI.i18nText("BI-Current_Is_Last_Page"),height:22,width:22,cls:"bi-border bi-border-radius direction-pager-next row-next-page-h-font bi-list-item-select2"},hasPrev:h.hasPrev,hasNext:h.hasNext,firstPage:h.firstPage,lastPage:h.lastPage}),this.hpager.on(BI.Pager.EVENT_CHANGE,function(){self.fireEvent(BI.DirectionPager.EVENT_CHANGE)}),this.hpager.on(BI.Pager.EVENT_AFTER_POPULATE,function(){self.hlabel.setValue(this.getCurrentPage()),self.hlabel.setTitle(this.getCurrentPage())})},getVPage:function(){return this.vpager.getCurrentPage()},getHPage:function(){return this.hpager.getCurrentPage()},setVPage:function(v){this.vpager.setValue(v),this.vlabel.setValue(v),this.vlabel.setTitle(v)},setHPage:function(v){this.hpager.setValue(v),this.hlabel.setValue(v),this.hlabel.setTitle(v)},hasVNext:function(){return this.vpager.hasNext()},hasHNext:function(){return this.hpager.hasNext()},hasVPrev:function(){return this.vpager.hasPrev()},hasHPrev:function(){return this.hpager.hasPrev()},setHPagerVisible:function(b){this.hpager.setVisible(b),this.hlabel.setVisible(b)},setVPagerVisible:function(b){this.vpager.setVisible(b),this.vlabel.setVisible(b)},populate:function(){this.vpager.populate(),this.hpager.populate();var vShow=!1,hShow=!1;this.hasHNext()||this.hasHPrev()?(this.setHPagerVisible(!0),hShow=!0):this.setHPagerVisible(!1),this.hasVNext()||this.hasVPrev()?(this.setVPagerVisible(!0),vShow=!0):this.setVPagerVisible(!1),this.setVisible(hShow||vShow);var num=[86,110,0,24],items=this.layout.attr("items");vShow===!0&&hShow===!0?(items[0].right=num[0],items[1].right=num[1],items[2].right=num[2],items[3].right=num[3]):vShow===!0?(items[0].right=num[2],items[1].right=num[3]):hShow===!0&&(items[2].right=num[2],items[3].right=num[3]),this.layout.attr("items",items),this.layout.resize()},clear:function(){this.vpager.attr("curr",1),this.hpager.attr("curr",1)}}),BI.DirectionPager.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.direction_pager",BI.DirectionPager),BI.DetailPager=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.DetailPager.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-detail-pager",behaviors:{},layouts:[{type:"bi.horizontal",hgap:10,vgap:0}],dynamicShow:!0,dynamicShowFirstLast:!1,dynamicShowPrevNext:!1,pages:!1,curr:function(){return 1},groups:0,jump:BI.emptyFn,first:!1,last:!1,prev:"上一页",next:"下一页",firstPage:1,lastPage:function(){return 1},hasPrev:BI.emptyFn,hasNext:BI.emptyFn})},_init:function(){BI.DetailPager.superclass._init.apply(this,arguments);var self=this;this.currPage=BI.result(this.options,"curr"),this._lock=!1,this._debouce=BI.debounce(function(){self._lock=!1},300),this._populate()},_populate:function(){var self=this,o=this.options,view=[],dict={};this.empty();var pages=BI.result(o,"pages"),curr=BI.result(this,"currPage"),groups=BI.result(o,"groups"),first=BI.result(o,"first"),last=BI.result(o,"last"),prev=BI.result(o,"prev"),next=BI.result(o,"next");pages===!1?(groups=0,first=!1,last=!1):groups>pages&&(groups=pages),dict.index=Math.ceil((curr+(groups>1&&groups!==pages?1:0))/(0===groups?1:groups)),(!o.dynamicShow&&!o.dynamicShowPrevNext||curr>1)&&prev!==!1&&(BI.isKey(prev)?view.push({text:prev,value:"prev",disabled:pages===!1?o.hasPrev(curr)===!1:!(curr>1&&prev!==!1)}):view.push(BI.extend({disabled:pages===!1?o.hasPrev(curr)===!1:!(curr>1&&prev!==!1)},prev))),(!o.dynamicShow&&!o.dynamicShowFirstLast||dict.index>1&&0!==groups)&&first&&(view.push({text:first,value:"first",disabled:!(dict.index>1&&0!==groups)}),dict.index>1&&0!==groups&&view.push({type:"bi.label",cls:"page-ellipsis",text:"…"})),dict.poor=Math.floor((groups-1)/2),dict.start=dict.index>1?curr-dict.poor:1,dict.end=dict.index>1?function(){var max=curr+(groups-dict.poor-1);return max>pages?pages:max}():groups,dict.end-dict.start<groups-1&&(dict.start=dict.end-groups+1);var s=dict.start,e=dict.end;for(first&&last&&dict.index>1&&0!==groups&&pages>groups&&dict.end<pages&&0!==groups&&(s++,e--);s<=e;s++)s===curr?view.push({text:s,value:s,selected:!0}):view.push({text:s,value:s});(!o.dynamicShow&&!o.dynamicShowFirstLast||pages>groups&&dict.end<pages&&0!==groups)&&last&&(pages>groups&&dict.end<pages&&0!==groups&&view.push({type:"bi.label",cls:"page-ellipsis",text:"…"}),view.push({text:last,value:"last",disabled:!(pages>groups&&dict.end<pages&&0!==groups)})),dict.flow=!prev&&0===groups,(!o.dynamicShow&&!o.dynamicShowPrevNext&&next||curr!==pages&&next||dict.flow)&&view.push(function(){return BI.isKey(next)?pages===!1?{text:next,value:"next",disabled:o.hasNext(curr)===!1}:dict.flow&&curr===pages?{text:next,value:"next",disabled:!0}:{text:next,value:"next",disabled:!(curr!==pages&&next||dict.flow)}:BI.extend({disabled:pages===!1?o.hasNext(curr)===!1:!(curr!==pages&&next||dict.flow)},next)}()),this.button_group=BI.createWidget({type:"bi.button_group",element:this,items:BI.createItems(view,{cls:"page-item bi-border bi-list-item-active",height:23,hgap:10}),behaviors:o.behaviors,layouts:o.layouts}),this.button_group.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){if(self._lock!==!0){if(self._lock=!0,self._debouce(),type===BI.Events.CLICK){var v=self.button_group.getValue()[0];switch(v){case"first":self.currPage=1;break;case"last":self.currPage=pages;break;case"prev":self.currPage--;break;case"next":self.currPage++;break;default:self.currPage=v}o.jump.apply(self,[{pages:pages,curr:self.currPage}]),self._populate(),self.fireEvent(BI.DetailPager.EVENT_CHANGE,obj)}self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}}),this.fireEvent(BI.DetailPager.EVENT_AFTER_POPULATE)},getCurrentPage:function(){return this.currPage},setAllPages:function(pages){this.options.pages=pages},hasPrev:function(v){v||(v=1);var o=this.options,pages=this.options.pages;return pages===!1?o.hasPrev(v):v>1},hasNext:function(v){v||(v=1);var o=this.options,pages=this.options.pages;return pages===!1?o.hasNext(v):v<pages},setValue:function(v){var o=this.options;if(v=0|v,v=v<1?1:v,o.pages===!1){var lastPage=BI.result(o,"lastPage"),firstPage=1;this.currPage=v>lastPage?lastPage:(firstPage=BI.result(o,"firstPage"),v<firstPage?firstPage:v)}else v=v>o.pages?o.pages:v,this.currPage=v;this._populate()},getValue:function(){var val=this.button_group.getValue()[0];switch(val){case"prev":return-1;case"next":return 1;case"first":return BI.MIN;case"last":return BI.MAX;default:return val}},attr:function(key,value){BI.DetailPager.superclass.attr.apply(this,arguments),"curr"===key&&(this.currPage=BI.result(this.options,"curr"))},populate:function(){this._populate()}}),BI.DetailPager.EVENT_CHANGE="EVENT_CHANGE",BI.DetailPager.EVENT_AFTER_POPULATE="EVENT_AFTER_POPULATE",BI.shortcut("bi.detail_pager",BI.DetailPager),BI.SegmentButton=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.SegmentButton.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-segment-button bi-list-item-select",shadow:!0,readonly:!0,hgap:5})},_init:function(){BI.SegmentButton.superclass._init.apply(this,arguments);var opts=this.options,self=this;
this.text=BI.createWidget({type:"bi.label",element:this,textHeight:opts.height,whiteSpace:opts.whiteSpace,text:opts.text,value:opts.value,hgap:opts.hgap})},setSelected:function(){BI.SegmentButton.superclass.setSelected.apply(this,arguments)},setText:function(text){BI.SegmentButton.superclass.setText.apply(this,arguments),this.text.setText(text)},destroy:function(){BI.SegmentButton.superclass.destroy.apply(this,arguments)}}),BI.shortcut("bi.segment_button",BI.SegmentButton),BI.Segment=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.Segment.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-segment",items:[],height:24})},_init:function(){BI.Segment.superclass._init.apply(this,arguments);var self=this,o=this.options;this.buttonGroup=BI.createWidget({element:this,type:"bi.button_group",value:o.value,items:BI.createItems(o.items,{type:"bi.segment_button",height:o.height-2,whiteSpace:o.whiteSpace}),layout:[{type:"bi.center"}]}),this.buttonGroup.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.buttonGroup.on(BI.ButtonGroup.EVENT_CHANGE,function(value,obj){self.fireEvent(BI.Segment.EVENT_CHANGE,value,obj)})},_setEnable:function(enable){BI.Segment.superclass._setEnable.apply(this,arguments),enable===!0?this.element.removeClass("base-disabled disabled"):enable===!1&&this.element.addClass("base-disabled disabled")},setValue:function(v){this.buttonGroup.setValue(v)},setEnabledValue:function(v){this.buttonGroup.setEnabledValue(v)},getValue:function(){return this.buttonGroup.getValue()}}),BI.Segment.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.segment",BI.Segment),BI.MultiSelectBar=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.MultiSelectBar.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-multi-select-bar",height:25,text:BI.i18nText("BI-Select_All"),isAllCheckedBySelectedValue:BI.emptyFn,disableSelected:!0,isHalfCheckedBySelectedValue:function(selectedValues){return selectedValues.length>0},halfSelected:!1,iconWrapperWidth:26})},_init:function(){BI.MultiSelectBar.superclass._init.apply(this,arguments);var self=this,o=this.options,isSelect=o.selected===!0,isHalfSelect=!o.selected&&o.halfSelected;this.checkbox=BI.createWidget({type:"bi.checkbox",stopPropagation:!0,handler:function(){self.setSelected(self.isSelected())},selected:isSelect,invisible:isHalfSelect}),this.half=BI.createWidget({type:"bi.half_icon_button",stopPropagation:!0,handler:function(){self.setSelected(!0)},invisible:isSelect||!isHalfSelect}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.CLICK,self.isSelected(),self)}),this.checkbox.on(BI.Checkbox.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectBar.EVENT_CHANGE,self.isSelected(),self)}),this.half.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.CLICK,self.isSelected(),self)}),this.half.on(BI.HalfIconButton.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectBar.EVENT_CHANGE,self.isSelected(),self)}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,keyword:o.keyword,value:o.value,py:o.py}),BI.createWidget({type:"bi.htape",element:this,items:[{width:o.iconWrapperWidth,el:{type:"bi.center_adapt",items:[this.checkbox,this.half]}},{el:this.text}]})},_setSelected:function(v){this.checkbox.setSelected(!!v)},beforeClick:function(){var isHalf=this.isHalfSelected(),isSelected=this.isSelected();isHalf===!0?this.setSelected(!0):this.setSelected(!isSelected)},setSelected:function(v){this.checkbox.setSelected(v),this.setHalfSelected(!1)},setHalfSelected:function(b){this.halfSelected=!!b,b===!0?(this.checkbox.setSelected(!1),this.half.visible(),this.checkbox.invisible()):(this.half.invisible(),this.checkbox.visible())},isHalfSelected:function(){return!this.isSelected()&&!!this.halfSelected},isSelected:function(){return this.checkbox.isSelected()},setValue:function(selectedValues){BI.MultiSelectBar.superclass.setValue.apply(this,arguments);var isAllChecked=this.options.isAllCheckedBySelectedValue.apply(this,arguments);this._setSelected(isAllChecked),!isAllChecked&&this.setHalfSelected(this.options.isHalfCheckedBySelectedValue.apply(this,arguments))},doClick:function(){BI.MultiSelectBar.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.MultiSelectBar.EVENT_CHANGE,this.isSelected(),this)}}),BI.MultiSelectBar.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_bar",BI.MultiSelectBar),BI.LevelTree=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.LevelTree.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-level-tree",el:{chooseType:0},expander:{},items:[],value:""})},_init:function(){BI.LevelTree.superclass._init.apply(this,arguments),this.initTree(this.options.items)},_formatItems:function(nodes,layer,pNode){var self=this;return BI.each(nodes,function(i,node){var extend={layer:layer};BI.isKey(node.id)||(node.id=BI.UUID()),extend.pNode=pNode,node.isParent===!0||node.parent===!0||BI.isNotEmptyArray(node.children)?(extend.type="bi.mid_plus_group_node",i===nodes.length-1&&(extend.type="bi.last_plus_group_node",extend.isLastNode=!0),0!==i||pNode||(extend.type="bi.first_plus_group_node"),0===i&&i===nodes.length-1&&(extend.type="bi.plus_group_node"),BI.defaults(node,extend),self._formatItems(node.children,layer+1,node)):(extend.type="bi.mid_tree_leaf_item",0!==i||pNode||(extend.type="bi.first_tree_leaf_item"),i===nodes.length-1&&(extend.type="bi.last_tree_leaf_item"),BI.defaults(node,extend))}),nodes},_assertId:function(sNodes){BI.each(sNodes,function(i,node){BI.isKey(node.id)||(node.id=BI.UUID())})},initTree:function(nodes){var self=this,o=this.options;this.empty(),this._assertId(nodes),this.tree=BI.createWidget({type:"bi.custom_tree",element:this,expander:BI.extend({el:{},popup:{type:"bi.custom_tree"}},o.expander),items:this._formatItems(BI.Tree.transformToTreeFormat(nodes),0),value:o.value,el:BI.extend({type:"bi.button_tree",chooseType:0,layouts:[{type:"bi.vertical"}]},o.el)}),this.tree.on(BI.Controller.EVENT_CHANGE,function(type,value,ob){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.LevelTree.EVENT_CHANGE,value,ob)})},stroke:function(nodes){this.tree.stroke.apply(this.tree,arguments)},populate:function(items,keyword){items=this._formatItems(BI.Tree.transformToTreeFormat(items),0),this.tree.populate(items,keyword)},setValue:function(v){this.tree.setValue(v)},getValue:function(){return this.tree.getValue()},getAllLeaves:function(){return this.tree.getAllLeaves()},getNodeById:function(id){return this.tree.getNodeById(id)},getNodeByValue:function(id){return this.tree.getNodeByValue(id)}}),BI.LevelTree.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.level_tree",BI.LevelTree),BI.DisplayTree=BI.inherit(BI.TreeView,{_defaultConfig:function(){return BI.extend(BI.DisplayTree.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-display-tree"})},_init:function(){BI.DisplayTree.superclass._init.apply(this,arguments)},_configSetting:function(){function beforeCollapse(treeId,treeNode){return!1}var setting={view:{selectedMulti:!1,dblClickExpand:!1,showIcon:!1,nameIsHTML:!0,showTitle:!1},data:{key:{title:"title",name:"text"},simpleData:{enable:!0}},callback:{beforeCollapse:beforeCollapse}};return setting},_dealWidthNodes:function(nodes){nodes=BI.DisplayTree.superclass._dealWidthNodes.apply(this,arguments);var self=this,o=this.options;return BI.each(nodes,function(i,node){node.isParent=node.isParent||node.parent,null==node.text&&node.count>0&&(node.text=node.value+"("+BI.i18nText("BI-Basic_Altogether")+node.count+BI.i18nText("BI-Basic_Count")+")")}),nodes},initTree:function(nodes,setting){var setting=setting||this._configSetting();this.nodes=BI.$.fn.zTree.init(this.tree.element,setting,nodes)},destroy:function(){BI.DisplayTree.superclass.destroy.apply(this,arguments)}}),BI.DisplayTree.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.display_tree",BI.DisplayTree),BI.ListDisplayTree=BI.inherit(BI.ListTreeView,{_defaultConfig:function(){return BI.extend(BI.ListDisplayTree.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-list-display-tree"})},_init:function(){BI.ListDisplayTree.superclass._init.apply(this,arguments)},_configSetting:function(){function beforeCollapse(treeId,treeNode){return!1}function getFont(treeId,node){return node.isLeaf?{}:{color:"#999999"}}var setting={view:{selectedMulti:!1,dblClickExpand:!1,showIcon:!1,nameIsHTML:!0,showTitle:!1,fontCss:getFont},data:{key:{title:"title",name:"text"},simpleData:{enable:!0}},callback:{beforeCollapse:beforeCollapse}};return setting},_dealWidthNodes:function(nodes){nodes=BI.ListDisplayTree.superclass._dealWidthNodes.apply(this,arguments);var self=this,o=this.options;return BI.each(nodes,function(i,node){node.isParent=node.isParent||node.parent,null==node.text&&node.count>0&&(node.text=node.value+"("+BI.i18nText("BI-Basic_Altogether")+node.count+BI.i18nText("BI-Basic_Count")+")")}),nodes},initTree:function(nodes,setting){var setting=setting||this._configSetting();this.nodes=BI.$.fn.zTree.init(this.tree.element,setting,nodes)},destroy:function(){BI.ListDisplayTree.superclass.destroy.apply(this,arguments)}}),BI.ListDisplayTree.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.list_display_tree",BI.ListDisplayTree),BI.SimpleTreeView=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SimpleTreeView.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-simple-tree",itemsCreator:BI.emptyFn,items:null})},_init:function(){BI.SimpleTreeView.superclass._init.apply(this,arguments);var self=this,o=this.options;this.structure=new BI.Tree,this.tree=BI.createWidget({type:"bi.tree_view",element:this,itemsCreator:function(op,callback){var fn=function(items){callback({items:items}),self.structure.initTree(BI.Tree.transformToTreeFormat(items))};BI.isNotNull(o.items)?fn(o.items):o.itemsCreator(op,fn)}}),this.tree.on(BI.TreeView.EVENT_CHANGE,function(){self.fireEvent(BI.SimpleTreeView.EVENT_CHANGE,arguments)}),BI.isNotEmptyArray(o.items)&&this.populate(),BI.isNotNull(o.value)&&this.setValue(o.value)},populate:function(items,keyword){items&&(this.options.items=items),this.tree.stroke({keyword:keyword})},_digest:function(v){v||(v=[]);var self=this,map={},selected=[];return BI.each(v,function(i,val){var node=self.structure.search(val,"value");if(node){var p=node;for(p=p.getParent(),p&&(map[p.value]||(map[p.value]=0),map[p.value]++);p&&p.getChildrenLength()<=map[p.value];)selected.push(p.value),p=p.getParent(),p&&(map[p.value]||(map[p.value]=0),map[p.value]++)}}),BI.makeObject(v.concat(selected))},setValue:function(v){this.tree.setValue(this._digest(v))},_getValue:function(){var self=this,result=[],val=this.tree.getValue(),track=function(nodes){BI.each(nodes,function(key,node){BI.isEmpty(node)?result.push(key):track(node)})};return track(val),result},empty:function(){this.tree.empty()},getValue:function(){var self=this,result=[],val=this._getValue();return BI.each(val,function(i,key){var target=self.structure.search(key,"value");target&&self.structure._traverse(target,function(node){node.isLeaf()&&result.push(node.value)})}),result}}),BI.SimpleTreeView.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.simple_tree",BI.SimpleTreeView),BI.EditorTrigger=BI.inherit(BI.Trigger,{_const:{hgap:4},_defaultConfig:function(){var conf=BI.EditorTrigger.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-editor-trigger bi-border",height:24,validationChecker:BI.emptyFn,quitChecker:BI.emptyFn,allowBlank:!1,watermark:"",errorText:""})},_init:function(){this.options.height-=2,BI.EditorTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options,c=this._const;this.editor=BI.createWidget({type:"bi.sign_editor",height:o.height,value:o.value,validationChecker:o.validationChecker,quitChecker:o.quitChecker,allowBlank:o.allowBlank,watermark:o.watermark,errorText:o.errorText,title:function(){return self.getValue()}}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.SignEditor.EVENT_CHANGE,function(){self.fireEvent(BI.EditorTrigger.EVENT_CHANGE,arguments)}),this.editor.on(BI.SignEditor.EVENT_FOCUS,function(){self.fireEvent(BI.EditorTrigger.EVENT_FOCUS,arguments)}),this.editor.on(BI.SignEditor.EVENT_EMPTY,function(){self.fireEvent(BI.EditorTrigger.EVENT_EMPTY,arguments)}),this.editor.on(BI.SignEditor.EVENT_VALID,function(){self.fireEvent(BI.EditorTrigger.EVENT_VALID,arguments)}),this.editor.on(BI.SignEditor.EVENT_ERROR,function(){self.fireEvent(BI.EditorTrigger.EVENT_ERROR,arguments)}),BI.createWidget({element:this,type:"bi.htape",items:[{el:this.editor},{el:{type:"bi.trigger_icon_button",width:o.triggerWidth||o.height},width:o.triggerWidth||o.height}]})},getValue:function(){return this.editor.getValue()},setValue:function(value){this.editor.setValue(value)},setText:function(text){this.editor.setState(text)}}),BI.EditorTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.EditorTrigger.EVENT_FOCUS="EVENT_FOCUS",BI.EditorTrigger.EVENT_EMPTY="EVENT_EMPTY",BI.EditorTrigger.EVENT_VALID="EVENT_VALID",BI.EditorTrigger.EVENT_ERROR="EVENT_ERROR",BI.shortcut("bi.editor_trigger",BI.EditorTrigger),BI.IconTrigger=BI.inherit(BI.Trigger,{_defaultConfig:function(){return BI.extend(BI.IconTrigger.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-icon-trigger",extraCls:"pull-down-font",el:{},height:24})},_init:function(){var o=this.options;BI.IconTrigger.superclass._init.apply(this,arguments),this.iconButton=BI.createWidget(o.el,{type:"bi.trigger_icon_button",element:this,width:o.width,height:o.height,extraCls:o.extraCls})}}),BI.shortcut("bi.icon_trigger",BI.IconTrigger),BI.IconTextTrigger=BI.inherit(BI.Trigger,{_const:{hgap:4},_defaultConfig:function(){var conf=BI.IconTextTrigger.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-text-trigger",height:24,iconHeight:null,iconWidth:null,textCls:""})},_init:function(){BI.IconTextTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",cls:"select-text-label"+(BI.isKey(o.textCls)?" "+o.textCls:""),textAlign:"left",height:o.height,text:o.text}),this.trigerButton=BI.createWidget({type:"bi.trigger_icon_button",width:o.triggerWidth||o.height}),BI.createWidget({element:this,type:"bi.htape",ref:function(_ref){self.wrapper=_ref},items:[{el:{type:"bi.icon_change_button",cls:"icon-combo-trigger-icon",iconCls:o.iconCls,ref:function(_ref){self.icon=_ref},iconHeight:o.iconHeight,iconWidth:o.iconWidth,disableSelected:!0},width:BI.isEmptyString(o.iconCls)?0:o.iconWrapperWidth||o.height},{el:this.text,lgap:BI.isEmptyString(o.iconCls)?5:0},{el:this.trigerButton,width:o.triggerWidth||o.height}]})},setValue:function(value){this.text.setValue(value)},setIcon:function(iconCls){var o=this.options;this.icon.setIcon(iconCls);var iconItem=this.wrapper.attr("items")[0],textItem=this.wrapper.attr("items")[1];BI.isNull(iconCls)||BI.isEmptyString(iconCls)?0!==iconItem.width&&(iconItem.width=0,textItem.lgap=5,this.wrapper.resize()):iconItem.width!==(o.iconWrapperWidth||o.height)&&(iconItem.width=o.iconWrapperWidth||o.height,textItem.lgap=0,this.wrapper.resize())},setTextCls:function(cls){var o=this.options,oldCls=o.textCls;o.textCls=cls,this.text.element.removeClass(oldCls).addClass(cls)},setText:function(text){this.text.setText(text)}}),BI.shortcut("bi.icon_text_trigger",BI.IconTextTrigger),BI.SelectIconTextTrigger=BI.inherit(BI.Trigger,{_defaultConfig:function(){return BI.extend(BI.SelectIconTextTrigger.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-select-text-trigger bi-border",height:24,iconHeight:null,iconWidth:null,iconCls:""})},_init:function(){this.options.height-=2,BI.SelectIconTextTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options,obj=this._digist(o.value,o.items);this.trigger=BI.createWidget({type:"bi.icon_text_trigger",element:this,text:obj.text,textCls:obj.textCls,iconCls:obj.iconCls,height:o.height,iconHeight:o.iconHeight,iconWidth:o.iconWidth,iconWrapperWidth:o.iconWrapperWidth})},_digist:function(vals,items){var o=this.options;vals=BI.isArray(vals)?vals:[vals];var result,formatItems=BI.Tree.transformToArrayFormat(items);return BI.any(formatItems,function(i,item){if(BI.deepContains(vals,item.value))return result={text:item.text||item.value,iconCls:item.iconCls},!0}),BI.isNotNull(result)?{text:result.text,textCls:"",iconCls:result.iconCls}:{text:BI.isFunction(o.text)?o.text():o.text,textCls:"bi-water-mark",iconCls:o.iconCls}},setValue:function(vals){var obj=this._digist(vals,this.options.items);this.trigger.setText(obj.text),this.trigger.setIcon(obj.iconCls),this.trigger.setTextCls(obj.textCls)},populate:function(items){this.options.items=items}}),BI.shortcut("bi.select_icon_text_trigger",BI.SelectIconTextTrigger),BI.TextTrigger=BI.inherit(BI.Trigger,{_const:{hgap:4},_defaultConfig:function(){var conf=BI.TextTrigger.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-text-trigger",height:24,textCls:""})},_init:function(){BI.TextTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",cls:"select-text-label"+(BI.isKey(o.textCls)?" "+o.textCls:""),textAlign:"left",height:o.height,text:o.text,title:function(){return self.text.getText()},tipType:o.tipType,warningTitle:o.warningTitle,hgap:c.hgap,readonly:o.readonly}),this.trigerButton=BI.createWidget({type:"bi.trigger_icon_button",width:o.triggerWidth||o.height}),BI.createWidget({element:this,type:"bi.htape",items:[{el:this.text},{el:this.trigerButton,width:o.triggerWidth||o.height}]})},setTextCls:function(cls){var o=this.options,oldCls=o.textCls;o.textCls=cls,this.text.element.removeClass(oldCls).addClass(cls)},setText:function(text){this.text.setText(text)},setTipType:function(v){this.text.options.tipType=v}}),BI.shortcut("bi.text_trigger",BI.TextTrigger),BI.SelectTextTrigger=BI.inherit(BI.Trigger,{_defaultConfig:function(){return BI.extend(BI.SelectTextTrigger.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-select-text-trigger bi-border bi-focus-shadow",height:24})},_init:function(){this.options.height-=2,BI.SelectTextTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options,obj=this._digest(o.value,o.items);this.trigger=BI.createWidget({type:"bi.text_trigger",element:this,height:o.height,readonly:o.readonly,text:obj.text,textCls:obj.textCls,tipType:o.tipType,warningTitle:o.warningTitle})},_digest:function(vals,items){var o=this.options;vals=BI.isArray(vals)?vals:[vals];var result=[],formatItems=BI.Tree.transformToArrayFormat(items);return BI.each(formatItems,function(i,item){BI.deepContains(vals,item.value)&&!BI.contains(result,item.text||item.value)&&result.push(item.text||item.value)}),result.length>0?{textCls:"",text:result.join(",")}:{textCls:"bi-water-mark",text:BI.isFunction(o.text)?o.text():o.text}},setValue:function(vals){var formatValue=this._digest(vals,this.options.items);this.trigger.setTextCls(formatValue.textCls),this.trigger.setText(formatValue.text)},setTipType:function(v){this.trigger.setTipType(v)},populate:function(items){this.options.items=items}}),BI.shortcut("bi.select_text_trigger",BI.SelectTextTrigger),BI.SmallSelectTextTrigger=BI.inherit(BI.Trigger,{_defaultConfig:function(){return BI.extend(BI.SmallSelectTextTrigger.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-small-select-text-trigger bi-border",height:20})},_init:function(){this.options.height-=2,BI.SmallSelectTextTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options,obj=this._digest(o.value,o.items);this.trigger=BI.createWidget({type:"bi.small_text_trigger",element:this,height:o.height-2,text:obj.text,cls:obj.cls})},_digest:function(vals,items){var o=this.options;vals=BI.isArray(vals)?vals:[vals];var result=[],formatItems=BI.Tree.transformToArrayFormat(items);return BI.each(formatItems,function(i,item){BI.deepContains(vals,item.value)&&!BI.contains(result,item.text||item.value)&&result.push(item.text||item.value)}),result.length>0?{cls:"",text:result.join(",")}:{cls:"bi-water-mark",text:o.text}},setValue:function(vals){var formatValue=this._digest(vals,this.options.items);this.trigger.element.removeClass("bi-water-mark").addClass(formatValue.cls),this.trigger.setText(formatValue.text)},populate:function(items){this.options.items=items}}),BI.shortcut("bi.small_select_text_trigger",BI.SmallSelectTextTrigger),BI.SmallTextTrigger=BI.inherit(BI.Trigger,{_const:{hgap:4},_defaultConfig:function(){var conf=BI.SmallTextTrigger.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-text-trigger",height:20})},_init:function(){BI.SmallTextTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",textAlign:"left",height:o.height,text:o.text,hgap:c.hgap}),this.trigerButton=BI.createWidget({type:"bi.trigger_icon_button",width:o.triggerWidth||o.height}),BI.createWidget({element:this,type:"bi.htape",items:[{el:this.text},{el:this.trigerButton,width:o.triggerWidth||o.height}]})},setValue:function(value){this.text.setValue(value)},setText:function(text){this.text.setText(text)}}),BI.shortcut("bi.small_text_trigger",BI.SmallTextTrigger),BI.MonthDateCombo=BI.inherit(BI.Trigger,{_defaultConfig:function(){return BI.extend(BI.MonthDateCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-month-combo",height:24,container:null})},_init:function(){BI.MonthDateCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget({type:"bi.date_triangle_trigger"}),this.popup=BI.createWidget({type:"bi.month_popup",behaviors:o.behaviors}),this.popup.on(BI.YearPopup.EVENT_CHANGE,function(){self.setValue(self.popup.getValue())}),this.combo=BI.createWidget({type:"bi.combo",offsetStyle:"center",container:o.container,element:this,isNeedAdjustHeight:!1,isNeedAdjustWidth:!1,el:this.trigger,popup:{minWidth:85,stopPropagation:!1,el:this.popup}}),this.combo.on(BI.Combo.EVENT_CHANGE,function(){self.combo.hideView(),self.fireEvent(BI.MonthDateCombo.EVENT_CHANGE)}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){self.doBehavior()})},setValue:function(v){this.trigger.setValue(v),this.popup.setValue(v)},getValue:function(){return this.popup.getValue()}}),BI.MonthDateCombo.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.month_date_combo",BI.MonthDateCombo),BI.YearDateCombo=BI.inherit(BI.Trigger,{_defaultConfig:function(){return BI.extend(BI.YearDateCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-year-combo",min:"1900-01-01",max:"2099-12-31",behaviors:{},height:24,container:null})},_init:function(){BI.YearDateCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget({type:"bi.date_triangle_trigger"}),this.popup=BI.createWidget({type:"bi.year_popup",behaviors:o.behaviors,min:o.min,max:o.max}),this.popup.on(BI.YearPopup.EVENT_CHANGE,function(){self.setValue(self.popup.getValue()),self.combo.hideView(),self.fireEvent(BI.YearDateCombo.EVENT_CHANGE)}),this.combo=BI.createWidget({type:"bi.combo",offsetStyle:"center",element:this,container:o.container,isNeedAdjustHeight:!1,isNeedAdjustWidth:!1,el:this.trigger,popup:{minWidth:100,stopPropagation:!1,el:this.popup}}),this.combo.on(BI.Combo.EVENT_CHANGE,function(){self.fireEvent(BI.YearDateCombo.EVENT_CHANGE)}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){self.doBehavior()})},setMinDate:function(minDate){this.popup.setMinDate(minDate)},setMaxDate:function(maxDate){this.popup.setMaxDate(maxDate)},setValue:function(v){this.trigger.setValue(v),this.popup.setValue(v)},getValue:function(){return this.popup.getValue()}}),BI.YearDateCombo.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.year_date_combo",BI.YearDateCombo),BI.DatePicker=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.DatePicker.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-date-picker",height:40,min:"1900-01-01",max:"2099-12-31"})},_init:function(){BI.DatePicker.superclass._init.apply(this,arguments);var self=this,o=this.options;this._year=BI.getDate().getFullYear(),this._month=BI.getDate().getMonth()+1,this.left=BI.createWidget({type:"bi.icon_button",cls:"pre-page-h-font",width:24,height:24}),this.left.on(BI.IconButton.EVENT_CHANGE,function(){1===self._month?self.setValue({year:self.year.getValue()-1,month:12}):self.setValue({year:self.year.getValue(),month:self.month.getValue()-1}),self.fireEvent(BI.DatePicker.EVENT_CHANGE),self._checkLeftValid(),self._checkRightValid()}),this.right=BI.createWidget({type:"bi.icon_button",cls:"next-page-h-font",width:24,height:24}),this.right.on(BI.IconButton.EVENT_CHANGE,function(){12===self._month?self.setValue({year:self.year.getValue()+1,month:1}):self.setValue({year:self.year.getValue(),month:self.month.getValue()+1}),self.fireEvent(BI.DatePicker.EVENT_CHANGE),self._checkLeftValid(),self._checkRightValid()}),this.year=BI.createWidget({type:"bi.year_date_combo",behaviors:o.behaviors,min:o.min,max:o.max}),this.year.on(BI.YearDateCombo.EVENT_CHANGE,function(){self.setValue({year:self.year.getValue(),month:self.month.getValue()}),self.fireEvent(BI.DatePicker.EVENT_CHANGE)}),this.month=BI.createWidget({type:"bi.month_date_combo",behaviors:o.behaviors}),this.month.on(BI.MonthDateCombo.EVENT_CHANGE,function(){self.setValue({year:self.year.getValue(),month:self.month.getValue()}),self.fireEvent(BI.DatePicker.EVENT_CHANGE)}),BI.createWidget({type:"bi.htape",element:this,items:[{el:{type:"bi.center_adapt",items:[this.left]},width:24},{type:"bi.center_adapt",items:[{el:{type:"bi.horizontal",width:120,rgap:10,items:[{el:this.year,lgap:10},this.month]}}]},{el:{type:"bi.center_adapt",items:[this.right]},width:24}]}),this.setValue({year:this._year,month:this._month})},_checkLeftValid:function(){var o=this.options,valid=!(1===this._month&&this._year===BI.parseDateTime(o.min,"%Y-%X-%d").getFullYear());return this.left.setEnable(valid),valid},_checkRightValid:function(){var o=this.options,valid=!(12===this._month&&this._year===BI.parseDateTime(o.max,"%Y-%X-%d").getFullYear());return this.right.setEnable(valid),valid},setMinDate:function(minDate){this.year.setMinDate(minDate)},setMaxDate:function(maxDate){this.year.setMaxDate(maxDate)},setValue:function(ob){this._year=BI.parseInt(ob.year),this._month=BI.parseInt(ob.month),this.year.setValue(ob.year),this.month.setValue(ob.month),this._checkLeftValid(),this._checkRightValid()},getValue:function(){return{year:this.year.getValue(),month:this.month.getValue()}}}),BI.DatePicker.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.date_picker",BI.DatePicker),BI.YearPicker=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.YearPicker.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-year-picker",behaviors:{},height:40,min:"1900-01-01",max:"2099-12-31"})},_init:function(){BI.YearPicker.superclass._init.apply(this,arguments);var self=this,o=this.options;this._year=BI.getDate().getFullYear(),this.left=BI.createWidget({type:"bi.icon_button",cls:"pre-page-h-font",width:25,height:25}),this.left.on(BI.IconButton.EVENT_CHANGE,function(){self.setValue(self.year.getValue()-1),self.fireEvent(BI.YearPicker.EVENT_CHANGE),self._checkLeftValid(),self._checkRightValid()}),this.right=BI.createWidget({type:"bi.icon_button",cls:"next-page-h-font",width:25,height:25}),this.right.on(BI.IconButton.EVENT_CHANGE,function(){self.setValue(self.year.getValue()+1),self.fireEvent(BI.YearPicker.EVENT_CHANGE),self._checkLeftValid(),self._checkRightValid()}),this.year=BI.createWidget({type:"bi.year_date_combo",min:o.min,behaviors:o.behaviors,max:o.max}),this.year.on(BI.YearDateCombo.EVENT_CHANGE,function(){self.setValue(self.year.getValue()),self.fireEvent(BI.YearPicker.EVENT_CHANGE)}),BI.createWidget({type:"bi.htape",element:this,items:[{el:{type:"bi.center_adapt",items:[this.left]},width:25},{type:"bi.center_adapt",items:[{el:{type:"bi.horizontal_float",width:50,items:[{el:this.year}]}}]},{el:{type:"bi.center_adapt",items:[this.right]},width:25}]}),this.setValue({year:this._year})},_checkLeftValid:function(){var o=this.options,valid=!(this._year===BI.parseDateTime(o.min,"%Y-%X-%d").getFullYear());return this.left.setEnable(valid),valid},_checkRightValid:function(){var o=this.options,valid=!(this._year===BI.parseDateTime(o.max,"%Y-%X-%d").getFullYear());return this.right.setEnable(valid),valid},setMinDate:function(minDate){this.options.min=minDate,this.year.setMinDate(minDate),this._checkLeftValid(),this._checkRightValid()},setMaxDate:function(maxDate){this.options.max=maxDate,this.year.setMaxDate(maxDate),this._checkLeftValid(),this._checkRightValid()},setValue:function(v){this._year=v,this.year.setValue(v),this._checkLeftValid(),this._checkRightValid()},getValue:function(){return this.year.getValue()}}),BI.YearPicker.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.year_picker",BI.YearPicker),BI.DateCalendarPopup=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.DateCalendarPopup.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-date-calendar-popup",min:"1900-01-01",max:"2099-12-31",selectedTime:null})},_createNav:function(v){var date=BI.Calendar.getDateJSONByPage(v),calendar=BI.createWidget({type:"bi.calendar",logic:{dynamic:!0},min:this.options.min,max:this.options.max,year:date.year,month:date.month,day:1});return calendar},_init:function(){BI.DateCalendarPopup.superclass._init.apply(this,arguments);var self=this,o=this.options;this.today=BI.getDate(),this._year=this.today.getFullYear(),this._month=this.today.getMonth()+1,this._day=this.today.getDate(),this.selectedTime=o.selectedTime||{year:this._year,month:this._month,day:this._day},this.datePicker=BI.createWidget({type:"bi.date_picker",behaviors:o.behaviors,min:o.min,max:o.max}),this.calendar=BI.createWidget({direction:"top",logic:{dynamic:!0},type:"bi.navigation",tab:this.datePicker,cardCreator:BI.bind(this._createNav,this),afterCardCreated:function(){},afterCardShow:function(){this.setValue(self.selectedTime)}}),this.datePicker.on(BI.DatePicker.EVENT_CHANGE,function(){self.selectedTime=self.datePicker.getValue(),self.selectedTime.day=1,self.calendar.setSelect(BI.Calendar.getPageByDateJSON(self.selectedTime))}),this.calendar.on(BI.Navigation.EVENT_CHANGE,function(){self.selectedTime=self.calendar.getValue(),self.setValue(self.selectedTime),self.fireEvent(BI.DateCalendarPopup.EVENT_CHANGE)}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.calendar,left:5,right:5},{el:{type:"bi.layout",cls:"bi-split-top"},height:1,top:40,left:0,right:0}]})},_checkMin:function(){var calendar=this.calendar.getSelectedCard();BI.isNotNull(calendar)&&calendar.setMinDate(this.options.min)},_checkMax:function(){var calendar=this.calendar.getSelectedCard();BI.isNotNull(calendar)&&calendar.setMaxDate(this.options.max)},setMinDate:function(minDate){BI.isNotEmptyString(this.options.min)&&(this.options.min=minDate,this.datePicker.setMinDate(minDate),this._checkMin())},setMaxDate:function(maxDate){BI.isNotEmptyString(this.options.max)&&(this.options.max=maxDate,this.datePicker.setMaxDate(maxDate),this._checkMax())},setValue:function(timeOb){this.datePicker.setValue(timeOb),this.calendar.setSelect(BI.Calendar.getPageByDateJSON(timeOb)),this.calendar.setValue(timeOb),this.selectedTime=timeOb},getValue:function(){return this.selectedTime}}),BI.DateCalendarPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.date_calendar_popup",BI.DateCalendarPopup),BI.MonthPopup=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MonthPopup.superclass._defaultConfig.apply(this,arguments),{
baseCls:"bi-month-popup",behaviors:{}})},_init:function(){BI.MonthPopup.superclass._init.apply(this,arguments);var self=this,o=this.options,month=[1,7,2,8,3,9,4,10,5,11,6,12],items=[];items.push(month.slice(0,2)),items.push(month.slice(2,4)),items.push(month.slice(4,6)),items.push(month.slice(6,8)),items.push(month.slice(8,10)),items.push(month.slice(10,12)),items=BI.map(items,function(i,item){return BI.map(item,function(j,td){return{type:"bi.text_item",cls:"bi-list-item-select",textAlign:"center",whiteSpace:"nowrap",once:!1,forceSelected:!0,height:23,width:38,value:td,text:td}})}),this.month=BI.createWidget({type:"bi.button_group",element:this,behaviors:o.behaviors,items:BI.createItems(items,{}),layouts:[BI.LogicFactory.createLogic("table",BI.extend({dynamic:!0},{columns:2,rows:6,columnSize:[.5,.5],rowSize:25})),{type:"bi.center_adapt",vgap:1,hgap:2}],value:o.value}),this.month.on(BI.Controller.EVENT_CHANGE,function(type){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.MonthPopup.EVENT_CHANGE)})},getValue:function(){return this.month.getValue()[0]},setValue:function(v){v=BI.parseInt(v),this.month.setValue([v])}}),BI.MonthPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.month_popup",BI.MonthPopup),BI.YearPopup=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.YearPopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-year-popup",behaviors:{},min:"1900-01-01",max:"2099-12-31"})},_createYearCalendar:function(v){var o=this.options,y=this._year,calendar=BI.createWidget({type:"bi.year_calendar",behaviors:o.behaviors,min:o.min,max:o.max,logic:{dynamic:!0},year:y+12*v});return calendar.setValue(this._year),calendar},_init:function(){BI.YearPopup.superclass._init.apply(this,arguments);var self=this,o=this.options;this.selectedYear=this._year=BI.getDate().getFullYear(),this.backBtn=BI.createWidget({type:"bi.icon_button",cls:"pre-page-h-font",width:24,height:24,value:-1}),this.preBtn=BI.createWidget({type:"bi.icon_button",cls:"next-page-h-font",width:24,height:24,value:1}),this.navigation=BI.createWidget({type:"bi.navigation",element:this,single:!0,logic:{dynamic:!0},tab:{cls:"year-popup-navigation bi-high-light bi-split-top",height:24,items:[this.backBtn,this.preBtn]},cardCreator:BI.bind(this._createYearCalendar,this),afterCardShow:function(){this.setValue(self.selectedYear);var calendar=this.getSelectedCard();calendar&&self.backBtn.setEnable(!calendar.isFrontYear()),calendar&&self.preBtn.setEnable(!calendar.isFinalYear())}}),this.navigation.on(BI.Navigation.EVENT_CHANGE,function(){self.selectedYear=this.getValue(),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),self.fireEvent(BI.YearPopup.EVENT_CHANGE,self.selectedYear)}),BI.isKey(o.value)&&this.setValue(o.value)},_checkMin:function(){var calendar=this.navigation.getSelectedCard();BI.isNotNull(calendar)&&(calendar.setMinDate(this.options.min),this.backBtn.setEnable(!calendar.isFrontYear()),this.preBtn.setEnable(!calendar.isFinalYear()))},_checkMax:function(){var calendar=this.navigation.getSelectedCard();BI.isNotNull(calendar)&&(calendar.setMaxDate(this.options.max),this.backBtn.setEnable(!calendar.isFrontYear()),this.preBtn.setEnable(!calendar.isFinalYear()))},setMinDate:function(minDate){BI.isNotEmptyString(this.options.min)&&(this.options.min=minDate,this._checkMin())},setMaxDate:function(maxDate){BI.isNotEmptyString(this.options.max)&&(this.options.max=maxDate,this._checkMax())},getValue:function(){return this.selectedYear},setValue:function(v){var o=this.options;v=BI.parseInt(v);var startDate=BI.parseDateTime(o.min,"%Y-%X-%d"),endDate=BI.parseDateTime(o.max,"%Y-%X-%d");BI.checkDateVoid(v,1,1,BI.print(BI.getDate(startDate.getFullYear(),0,1),"%Y-%X-%d"),BI.print(BI.getDate(endDate.getFullYear(),0,1),"%Y-%X-%d"))[0]?(v=BI.getDate().getFullYear(),this.selectedYear="",this.navigation.setSelect(BI.YearCalendar.getPageByYear(v)),this.navigation.setValue("")):(this.selectedYear=v,this.navigation.setSelect(BI.YearCalendar.getPageByYear(v)),this.navigation.setValue(v))}}),BI.YearPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.year_popup",BI.YearPopup),BI.DateTriangleTrigger=BI.inherit(BI.Trigger,{_const:{height:24,iconWidth:12,iconHeight:12},_defaultConfig:function(){return BI.extend(BI.DateTriangleTrigger.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-date-triangle-trigger pull-down-ha-font cursor-pointer",height:24})},_init:function(){BI.DateTriangleTrigger.superclass._init.apply(this,arguments);var o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",cls:"list-item-text",textAlign:"right",text:o.text,value:o.value,height:c.height}),BI.createWidget({type:"bi.vertical_adapt",element:this,items:[{el:this.text,rgap:5},{type:"bi.icon_label",width:16}]})},setValue:function(v){this.text.setValue(v)},getValue:function(){return this.text.getValue()},setText:function(v){this.text.setText(v)},getText:function(){return this.item.getText()},getKey:function(){}}),BI.shortcut("bi.date_triangle_trigger",BI.DateTriangleTrigger),BI.StaticDatePaneCard=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.StaticDatePaneCard.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-date-pane",min:"1900-01-01",max:"2099-12-31",selectedTime:null})},_init:function(){BI.StaticDatePaneCard.superclass._init.apply(this,arguments);var self=this,o=this.options;this.today=BI.getDate(),this._year=this.today.getFullYear(),this._month=this.today.getMonth()+1,this.selectedTime=o.selectedTime||{year:this._year,month:this._month},this.datePicker=BI.createWidget({type:"bi.date_picker",behaviors:o.behaviors,min:o.min,max:o.max}),this.datePicker.on(BI.DatePicker.EVENT_CHANGE,function(){var value=self.datePicker.getValue(),monthDay=BI.getMonthDays(BI.getDate(value.year,value.month-1,1)),day=self.selectedTime.day||0;day>monthDay&&(day=monthDay),self.selectedTime={year:value.year,month:value.month},0!==day&&(self.selectedTime.day=day),self.calendar.setSelect(BI.Calendar.getPageByDateJSON(self.selectedTime)),self.calendar.setValue(self.selectedTime),0!==day&&self.fireEvent(BI.DateCalendarPopup.EVENT_CHANGE)}),this.calendar=BI.createWidget({direction:"custom",type:"bi.navigation",tab:this.datePicker,cardCreator:BI.bind(this._createNav,this)}),this.calendar.on(BI.Navigation.EVENT_CHANGE,function(){self.selectedTime=self.calendar.getValue(),self.calendar.empty(),self.setValue(self.selectedTime),self.fireEvent(BI.DateCalendarPopup.EVENT_CHANGE)}),this.setValue(o.selectedTime),BI.createWidget({type:"bi.vtape",element:this,items:[{el:this.datePicker,height:40},this.calendar],hgap:10}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.layout",cls:"bi-split-top"},height:1,top:40,left:0,right:0}]})},_createNav:function(v){var date=BI.Calendar.getDateJSONByPage(v),calendar=BI.createWidget({type:"bi.calendar",logic:{dynamic:!1},min:this.options.min,max:this.options.max,year:date.year,month:date.month,day:this.selectedTime.day});return calendar},_getNewCurrentDate:function(){var today=BI.getDate();return{year:today.getFullYear(),month:today.getMonth()+1}},_setCalenderValue:function(date){this.calendar.setSelect(BI.Calendar.getPageByDateJSON(date)),this.calendar.setValue(date),this.selectedTime=date},_setDatePicker:function(timeOb){BI.isNull(timeOb)||BI.isNull(timeOb.year)||BI.isNull(timeOb.month)?this.datePicker.setValue(this._getNewCurrentDate()):this.datePicker.setValue(timeOb)},_setCalendar:function(timeOb){BI.isNull(timeOb)||BI.isNull(timeOb.day)?(this.calendar.empty(),this._setCalenderValue(this._getNewCurrentDate())):this._setCalenderValue(timeOb)},setValue:function(timeOb){this._setDatePicker(timeOb),this._setCalendar(timeOb)},getValue:function(){return this.selectedTime}}),BI.shortcut("bi.static_date_pane_card",BI.StaticDatePaneCard),BI.DynamicDatePane=BI.inherit(BI.Widget,{props:{baseCls:"bi-dynamic-date-pane"},render:function(){var self=this,o=this.options;return{type:"bi.vtape",items:[{el:{type:"bi.linear_segment",cls:"bi-split-bottom",height:30,items:BI.createItems([{text:BI.i18nText("BI-Multi_Date_YMD"),value:BI.DynamicDatePane.Static},{text:BI.i18nText("BI-Basic_Dynamic_Title"),value:BI.DynamicDatePane.Dynamic}],{textAlign:"center"}),listeners:[{eventName:BI.ButtonGroup.EVENT_CHANGE,action:function(){var value=this.getValue()[0];switch(self.dateTab.setSelect(value),value){case BI.DynamicDatePane.Static:var date=BI.DynamicDateHelper.getCalculation(self.dynamicPane.getValue());self.ymd.setValue({year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate()});break;case BI.DynamicDatePane.Dynamic:self.dynamicPane.setValue({year:0})}self.fireEvent("EVENT_CHANGE")}}],ref:function(){self.switcher=this}},height:30},{type:"bi.tab",ref:function(){self.dateTab=this},showIndex:BI.DynamicDatePane.Static,cardCreator:function(v){switch(v){case BI.DynamicDatePane.Static:return{type:"bi.static_date_pane_card",behaviors:o.behaviors,listeners:[{eventName:"EVENT_CHANGE",action:function(){self.fireEvent("EVENT_CHANGE")}}],ref:function(){self.ymd=this}};case BI.DynamicDatePane.Dynamic:default:return{type:"bi.dynamic_date_card",listeners:[{eventName:"EVENT_CHANGE",action:function(){self._checkValue(self.getValue())&&self.fireEvent("EVENT_CHANGE")}}],ref:function(){self.dynamicPane=this}}}}}]}},mounted:function(){this.setValue(this.options.value)},_checkValueValid:function(value){return BI.isNull(value)||BI.isEmptyObject(value)||BI.isEmptyString(value)},_checkValue:function(v){switch(v.type){case BI.DynamicDateCombo.Dynamic:return BI.isNotEmptyObject(v.value);case BI.DynamicDateCombo.Static:default:return!0}},setValue:function(v){v=v||{};var type=v.type||BI.DynamicDateCombo.Static,value=v.value||v;switch(this.switcher.setValue(type),this.dateTab.setSelect(type),type){case BI.DynamicDateCombo.Dynamic:this.dynamicPane.setValue(value);break;case BI.DynamicDateCombo.Static:default:if(this._checkValueValid(value)){var date=BI.getDate();this.ymd.setValue({year:date.getFullYear(),month:date.getMonth()+1})}else this.ymd.setValue(value)}},getValue:function(){return{type:this.dateTab.getSelect(),value:this.dateTab.getValue()}}}),BI.shortcut("bi.dynamic_date_pane",BI.DynamicDatePane),BI.extend(BI.DynamicDatePane,{Static:1,Dynamic:2}),BI.DateTimeCombo=BI.inherit(BI.Single,{constants:{popupHeight:290,popupWidth:270,comboAdjustHeight:1,border:1},_defaultConfig:function(){return BI.extend(BI.DateTimeCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-date-time-combo bi-border bi-border-radius",width:200,height:24,minDate:"1900-01-01",maxDate:"2099-12-31"})},_init:function(){BI.DateTimeCombo.superclass._init.apply(this,arguments);var self=this,opts=this.options,date=BI.getDate();this.storeValue=BI.isNotNull(opts.value)?opts.value:{year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate(),hour:date.getHours(),minute:date.getMinutes(),second:date.getSeconds()},this.trigger=BI.createWidget({type:"bi.date_time_trigger",min:opts.minDate,max:opts.maxDate,value:opts.value}),this.popup=BI.createWidget({type:"bi.date_time_popup",behaviors:opts.behaviors,min:opts.minDate,max:opts.maxDate,value:opts.value}),self.setValue(this.storeValue),this.popup.on(BI.DateTimePopup.BUTTON_CANCEL_EVENT_CHANGE,function(){self.setValue(self.storeValue),self.hidePopupView(),self.fireEvent(BI.DateTimeCombo.EVENT_CANCEL)}),this.popup.on(BI.DateTimePopup.BUTTON_OK_EVENT_CHANGE,function(){self.storeValue=self.popup.getValue(),self.setValue(self.storeValue),self.hidePopupView(),self.fireEvent(BI.DateTimeCombo.EVENT_CONFIRM)}),this.combo=BI.createWidget({type:"bi.combo",container:opts.container,toggle:!1,isNeedAdjustHeight:!1,isNeedAdjustWidth:!1,el:this.trigger,adjustLength:this.constants.comboAdjustHeight,popup:{el:this.popup,width:this.constants.popupWidth,stopPropagation:!1},hideChecker:function(e){return 0===triggerBtn.element.find(e.target).length}}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){self.popup.setValue(self.storeValue),self.fireEvent(BI.DateTimeCombo.EVENT_BEFORE_POPUPVIEW)});var triggerBtn=BI.createWidget({type:"bi.icon_button",cls:"bi-trigger-icon-button date-font",width:24,height:24});triggerBtn.on(BI.IconButton.EVENT_CHANGE,function(){self.combo.isViewVisible()||self.combo.showView()}),BI.createWidget({type:"bi.htape",element:this,items:[{type:"bi.absolute",items:[{el:this.combo,top:0,left:0,right:0,bottom:0},{el:triggerBtn,top:0,right:0}]}]})},setValue:function(v){this.storeValue=v,this.popup.setValue(v),this.trigger.setValue(v)},getValue:function(){return this.storeValue},hidePopupView:function(){this.combo.hideView()}}),BI.DateTimeCombo.EVENT_CANCEL="EVENT_CANCEL",BI.DateTimeCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.DateTimeCombo.EVENT_CHANGE="EVENT_CHANGE",BI.DateTimeCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.date_time_combo",BI.DateTimeCombo),BI.DateTimePopup=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.DateTimePopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-date-time-popup",width:268,height:374})},_init:function(){BI.DateTimePopup.superclass._init.apply(this,arguments);var self=this,opts=this.options;this.cancelButton=BI.createWidget({type:"bi.text_button",cls:"multidate-popup-button bi-border-top bi-border-right",shadow:!0,text:BI.i18nText("BI-Basic_Cancel")}),this.cancelButton.on(BI.TextButton.EVENT_CHANGE,function(){self.fireEvent(BI.DateTimePopup.BUTTON_CANCEL_EVENT_CHANGE)}),this.okButton=BI.createWidget({type:"bi.text_button",cls:"multidate-popup-button bi-border-top",shadow:!0,text:BI.i18nText("BI-Basic_OK")}),this.okButton.on(BI.TextButton.EVENT_CHANGE,function(){self.fireEvent(BI.DateTimePopup.BUTTON_OK_EVENT_CHANGE)}),this.dateCombo=BI.createWidget({type:"bi.date_calendar_popup",behaviors:opts.behaviors,min:self.options.min,max:self.options.max}),self.dateCombo.on(BI.DateCalendarPopup.EVENT_CHANGE,function(){self.fireEvent(BI.DateTimePopup.CALENDAR_EVENT_CHANGE)}),this.dateButton=BI.createWidget({type:"bi.grid",items:[[this.cancelButton,this.okButton]]}),BI.createWidget({element:this,type:"bi.vtape",items:[{el:this.dateCombo},{el:{type:"bi.center_adapt",cls:"bi-split-top",items:[{type:"bi.dynamic_date_time_select",ref:function(_ref){self.timeSelect=_ref}}]},height:50},{el:this.dateButton,height:30}]}),this.setValue(opts.value)},setValue:function(v){var value=v,date;BI.isNull(value)?(date=BI.getDate(),this.dateCombo.setValue({year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate()}),this.timeSelect.setValue({hour:date.getHours(),minute:date.getMinutes(),second:date.getSeconds()})):(this.dateCombo.setValue({year:value.year,month:value.month,day:value.day}),this.timeSelect.setValue({hour:value.hour,minute:value.minute,second:value.second}))},getValue:function(){return BI.extend({year:this.dateCombo.getValue().year,month:this.dateCombo.getValue().month,day:this.dateCombo.getValue().day},this.timeSelect.getValue())}}),BI.DateTimePopup.BUTTON_OK_EVENT_CHANGE="BUTTON_OK_EVENT_CHANGE",BI.DateTimePopup.BUTTON_CANCEL_EVENT_CHANGE="BUTTON_CANCEL_EVENT_CHANGE",BI.DateTimePopup.CALENDAR_EVENT_CHANGE="CALENDAR_EVENT_CHANGE",BI.shortcut("bi.date_time_popup",BI.DateTimePopup),BI.DateTimeTrigger=BI.inherit(BI.Trigger,{_const:{hgap:4},_defaultConfig:function(){return BI.extend(BI.DateTimeTrigger.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-date-time-trigger",min:"1900-01-01",max:"2099-12-31",height:24,width:200})},_init:function(){BI.DateTimeTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options,c=this._const;this.text=BI.createWidget({type:"bi.label",textAlign:"left",height:o.height,width:o.width,hgap:c.hgap}),BI.createWidget({type:"bi.htape",element:this,items:[{el:this.text},{el:BI.createWidget(),width:o.height}]}),this.setValue(o.value)},_printTime:function(v){return v<10?"0"+v:v},setValue:function(v){var self=this,value=v,dateStr;if(BI.isNull(value))value=BI.getDate(),dateStr=BI.print(value,"%Y-%X-%d %H:%M:%S");else{var date=BI.getDate(value.year,value.month-1,value.day,value.hour,value.minute,value.second);dateStr=BI.print(date,"%Y-%X-%d %H:%M:%S")}this.text.setText(dateStr),this.text.setTitle(dateStr)}}),BI.shortcut("bi.date_time_trigger",BI.DateTimeTrigger),BI.StaticDateTimePaneCard=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.StaticDateTimePaneCard.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-date-time-pane",min:"1900-01-01",max:"2099-12-31",selectedTime:null})},_init:function(){BI.StaticDateTimePaneCard.superclass._init.apply(this,arguments);var self=this,o=this.options;this.today=BI.getDate(),this._year=this.today.getFullYear(),this._month=this.today.getMonth()+1,this.selectedTime=o.selectedTime||{year:this._year,month:this._month},this.datePicker=BI.createWidget({type:"bi.date_picker",behaviors:o.behaviors,min:o.min,max:o.max}),this.datePicker.on(BI.DatePicker.EVENT_CHANGE,function(){var value=self.datePicker.getValue(),monthDay=BI.getMonthDays(BI.getDate(value.year,value.month-1,1)),day=self.selectedTime.day||0;day>monthDay&&(day=monthDay),self.selectedTime=BI.extend(self.selectedTime,{year:value.year,month:value.month}),0!==day&&(self.selectedTime.day=day),self.calendar.setSelect(BI.Calendar.getPageByDateJSON(self.selectedTime)),self.calendar.setValue(self.selectedTime),0!==day&&self.fireEvent(BI.DateCalendarPopup.EVENT_CHANGE)}),this.calendar=BI.createWidget({direction:"custom",type:"bi.navigation",tab:this.datePicker,cardCreator:BI.bind(this._createNav,this)}),this.calendar.on(BI.Navigation.EVENT_CHANGE,function(){self.selectedTime=BI.extend(self.calendar.getValue(),self.timeSelect.getValue()),self.calendar.empty(),self.setValue(self.selectedTime),self.fireEvent(BI.DateCalendarPopup.EVENT_CHANGE)}),BI.createWidget({type:"bi.vtape",element:this,hgap:10,items:[{el:this.datePicker,height:40},this.calendar,{el:{type:"bi.dynamic_date_time_select",cls:"bi-split-top",ref:function(){self.timeSelect=this},listeners:[{eventName:BI.DynamicDateTimeSelect.EVENT_CONFIRM,action:function(){self.selectedTime=BI.extend(self.calendar.getValue(),self.timeSelect.getValue()),self.fireEvent("EVENT_CHANGE")}}]},height:40}]}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.layout",cls:"bi-split-top"},height:1,top:40,left:0,right:0}]}),this.setValue(o.selectedTime)},_createNav:function(v){var date=BI.Calendar.getDateJSONByPage(v),calendar=BI.createWidget({type:"bi.calendar",logic:{dynamic:!1},min:this.options.min,max:this.options.max,year:date.year,month:date.month,day:this.selectedTime.day});return calendar},_getNewCurrentDate:function(){var today=BI.getDate();return{year:today.getFullYear(),month:today.getMonth()+1}},_setCalenderValue:function(date){this.calendar.setSelect(BI.Calendar.getPageByDateJSON(date)),this.calendar.setValue(date),this.selectedTime=BI.extend({},this.timeSelect.getValue(),date)},_setDatePicker:function(timeOb){BI.isNull(timeOb)||BI.isNull(timeOb.year)||BI.isNull(timeOb.month)?this.datePicker.setValue(this._getNewCurrentDate()):this.datePicker.setValue(timeOb)},_setCalendar:function(timeOb){BI.isNull(timeOb)||BI.isNull(timeOb.day)?(this.calendar.empty(),this._setCalenderValue(this._getNewCurrentDate())):this._setCalenderValue(timeOb)},setValue:function(timeOb){timeOb=timeOb||{},this._setDatePicker(timeOb),this._setCalendar(timeOb),this.timeSelect.setValue({hour:timeOb.hour,minute:timeOb.minute,second:timeOb.second})},getValue:function(){return this.selectedTime}}),BI.shortcut("bi.static_date_time_pane_card",BI.StaticDateTimePaneCard),BI.DynamicDateTimePane=BI.inherit(BI.Widget,{props:{baseCls:"bi-dynamic-date-pane"},render:function(){var self=this,o=this.options;return{type:"bi.vtape",items:[{el:{type:"bi.linear_segment",cls:"bi-split-bottom",height:30,items:BI.createItems([{text:BI.i18nText("BI-Multi_Date_YMD"),value:BI.DynamicDateTimePane.Static},{text:BI.i18nText("BI-Basic_Dynamic_Title"),value:BI.DynamicDateTimePane.Dynamic}],{textAlign:"center"}),listeners:[{eventName:BI.ButtonGroup.EVENT_CHANGE,action:function(){var value=this.getValue()[0];switch(self.dateTab.setSelect(value),value){case BI.DynamicDateTimePane.Static:var date=BI.DynamicDateHelper.getCalculation(self.dynamicPane.getValue());self.ymd.setValue({year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate()});break;case BI.DynamicDateTimePane.Dynamic:self.dynamicPane.setValue({year:0})}}}],ref:function(){self.switcher=this}},height:30},{type:"bi.tab",ref:function(){self.dateTab=this},showIndex:BI.DynamicDateTimePane.Static,cardCreator:function(v){switch(v){case BI.DynamicDateTimePane.Static:return{type:"bi.static_date_time_pane_card",behaviors:o.behaviors,listeners:[{eventName:"EVENT_CHANGE",action:function(){self.fireEvent("EVENT_CHANGE")}}],ref:function(){self.ymd=this}};case BI.DynamicDateTimePane.Dynamic:default:return{type:"bi.dynamic_date_card",listeners:[{eventName:"EVENT_CHANGE",action:function(){self._checkValue(self.getValue())&&self.fireEvent("EVENT_CHANGE")}}],ref:function(){self.dynamicPane=this}}}}}]}},mounted:function(){this.setValue(this.options.value)},_checkValueValid:function(value){return BI.isNull(value)||BI.isEmptyObject(value)||BI.isEmptyString(value)},_checkValue:function(v){switch(v.type){case BI.DynamicDateCombo.Dynamic:return BI.isNotEmptyObject(v.value);case BI.DynamicDateCombo.Static:default:return!0}},setValue:function(v){v=v||{};var type=v.type||BI.DynamicDateTimePane.Static,value=v.value||v;switch(this.switcher.setValue(type),this.dateTab.setSelect(type),type){case BI.DynamicDateTimePane.Dynamic:this.dynamicPane.setValue(value);break;case BI.DynamicDateTimePane.Static:default:if(this._checkValueValid(value)){var date=BI.getDate();this.ymd.setValue({year:date.getFullYear(),month:date.getMonth()+1})}else this.ymd.setValue(value)}},getValue:function(){return{type:this.dateTab.getSelect(),value:this.dateTab.getValue()}}}),BI.shortcut("bi.dynamic_date_time_pane",BI.DynamicDateTimePane),BI.extend(BI.DynamicDateTimePane,{Static:1,Dynamic:2}),BI.DownListCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.DownListCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-down-list-combo",height:24,items:[],adjustLength:0,direction:"bottom",trigger:"click",container:null,stopPropagation:!1,el:{}})},_init:function(){BI.DownListCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.popupview=BI.createWidget({type:"bi.down_list_popup",items:o.items,chooseType:o.chooseType,value:o.value}),this.popupview.on(BI.DownListPopup.EVENT_CHANGE,function(value){self.fireEvent(BI.DownListCombo.EVENT_CHANGE,value),self.downlistcombo.hideView()}),this.popupview.on(BI.DownListPopup.EVENT_SON_VALUE_CHANGE,function(value,fatherValue){self.fireEvent(BI.DownListCombo.EVENT_SON_VALUE_CHANGE,value,fatherValue),self.downlistcombo.hideView()}),this.downlistcombo=BI.createWidget({element:this,type:"bi.combo",trigger:o.trigger,isNeedAdjustWidth:!1,container:o.container,adjustLength:o.adjustLength,direction:o.direction,stopPropagation:o.stopPropagation,el:BI.createWidget(o.el,{type:"bi.icon_trigger",extraCls:o.iconCls,width:o.width,height:o.height}),popup:{el:this.popupview,stopPropagation:o.stopPropagation,maxHeight:1e3,minWidth:140}}),this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){self.fireEvent(BI.DownListCombo.EVENT_BEFORE_POPUPVIEW)})},hideView:function(){this.downlistcombo.hideView()},showView:function(e){this.downlistcombo.showView(e)},populate:function(items){this.popupview.populate(items)},setValue:function(v){this.popupview.setValue(v)},getValue:function(){return this.popupview.getValue()}}),BI.DownListCombo.EVENT_CHANGE="EVENT_CHANGE",BI.DownListCombo.EVENT_SON_VALUE_CHANGE="EVENT_SON_VALUE_CHANGE",BI.DownListCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.down_list_combo",BI.DownListCombo),BI.DownListGroup=BI.inherit(BI.Widget,{constants:{iconCls:"check-mark-ha-font"},_defaultConfig:function(){return BI.extend(BI.DownListGroup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-down-list-group",items:[{el:{}}]})},_init:function(){BI.DownListGroup.superclass._init.apply(this,arguments);var o=this.options,self=this;this.downlistgroup=BI.createWidget({element:this,type:"bi.button_tree",items:o.items,chooseType:0,layouts:[{type:"bi.vertical",hgap:0,vgap:0}],value:o.value}),this.downlistgroup.on(BI.Controller.EVENT_CHANGE,function(type){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&self.fireEvent(BI.DownListGroup.EVENT_CHANGE,arguments)})},getValue:function(){return this.downlistgroup.getValue()},setValue:function(v){this.downlistgroup.setValue(v)}}),BI.DownListGroup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.down_list_group",BI.DownListGroup),BI.DownListItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.DownListItem.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-down-list-item bi-list-item-active",cls:"",height:24,logic:{dynamic:!0},selected:!1,iconHeight:null,iconWidth:null,textHgap:0,textVgap:0,textLgap:0,textRgap:0})},_init:function(){BI.DownListItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.text=BI.createWidget({type:"bi.label",cls:"list-item-text",textAlign:"left",hgap:o.textHgap,vgap:o.textVgap,lgap:o.textLgap,rgap:o.textRgap,text:o.text,value:o.value,keyword:o.keyword,height:o.height}),this.icon=BI.createWidget({type:"bi.center_adapt",width:36,height:o.height,items:[{el:{type:"bi.icon",width:o.iconWidth,height:o.iconHeight}}]}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,this.icon,this.text)}))))},setValue:function(){this.isReadOnly()||this.text.setValue.apply(this.text,arguments)},getValue:function(){return this.text.getValue()},setText:function(){this.text.setText.apply(this.text,arguments)},getText:function(){return this.text.getText()},doClick:function(){BI.DownListItem.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.DownListItem.EVENT_CHANGE,this.getValue(),this)},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)}}),BI.DownListItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.down_list_item",BI.DownListItem),BI.DownListGroupItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){var conf=BI.DownListGroupItem.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-down-list-group-item",logic:{dynamic:!1},iconCls1:"dot-e-font",iconCls2:"pull-right-e-font"})},_init:function(){BI.DownListGroupItem.superclass._init.apply(this,arguments);var o=this.options,self=this;this.text=BI.createWidget({type:"bi.label",cls:"list-group-item-text",textAlign:"left",text:o.text,value:o.value,height:o.height}),this.icon1=BI.createWidget({type:"bi.icon_button",cls:o.iconCls1,width:36,disableSelected:!0,selected:this._digest(o.value)}),this.icon2=BI.createWidget({type:"bi.icon_button",cls:o.iconCls2,width:24,forceNotSelected:!0});var blank=BI.createWidget({type:"bi.layout",width:24});BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.icon2,top:0,bottom:0,right:0}]}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",this.icon1,this.text,blank)})))),this.element.hover(function(){self.isEnabled()&&self.hover()},function(){self.isEnabled()&&self.dishover()})},_digest:function(v){var self=this,o=this.options;return v=BI.isArray(v)?v:[v],BI.any(v,function(idx,value){return BI.contains(o.childValues,value)})},hover:function(){BI.DownListGroupItem.superclass.hover.apply(this,arguments),this.icon1.element.addClass("hover"),this.icon2.element.addClass("hover")},dishover:function(){BI.DownListGroupItem.superclass.dishover.apply(this,arguments),this.icon1.element.removeClass("hover"),this.icon2.element.removeClass("hover")},doClick:function(){BI.DownListGroupItem.superclass.doClick.apply(this,arguments),this.isValid()&&this.fireEvent(BI.DownListGroupItem.EVENT_CHANGE,this.getValue())},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},setValue:function(v){this.icon1.setSelected(this._digest(v))}}),BI.DownListGroupItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.down_list_group_item",BI.DownListGroupItem),BI.DownListPopup=BI.inherit(BI.Pane,{constants:{nextIcon:"pull-right-e-font",height:24,iconHeight:12,iconWidth:12,hgap:0,vgap:0,border:1},_defaultConfig:function(){var conf=BI.DownListPopup.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-down-list-popup",items:[],chooseType:BI.Selection.Multi})},_init:function(){BI.DownListPopup.superclass._init.apply(this,arguments),this.singleValues=[],this.childValueMap={},this.fatherValueMap={},this.items=BI.deepClone(this.options.items);var self=this,o=this.options,children=this._createChildren(this.items);this.popup=BI.createWidget({type:"bi.button_tree",items:BI.createItems(children,{},{adjustLength:-2}),layouts:[{type:"bi.vertical",hgap:this.constants.hgap,vgap:this.constants.vgap}],value:this._digest(o.value),chooseType:o.chooseType}),this.popup.on(BI.ButtonTree.EVENT_CHANGE,function(value,object){var changedValue=value;if(BI.isNotNull(self.childValueMap[value])?(changedValue=self.childValueMap[value],self.fireEvent(BI.DownListPopup.EVENT_SON_VALUE_CHANGE,changedValue,self.fatherValueMap[value])):self.fireEvent(BI.DownListPopup.EVENT_CHANGE,changedValue,object),!BI.contains(self.singleValues,changedValue)){var item=self.getValue(),result=[];BI.each(item,function(i,valueObject){valueObject.value!=changedValue&&result.push(valueObject)}),self.setValue(result)}}),BI.createWidget({type:"bi.vertical",element:this,items:[this.popup],vgap:5})},_createChildren:function(items){var self=this,result=[];return BI.each(items,function(i,it){var item_done={type:"bi.down_list_group",items:[]};if(BI.each(it,function(i,item){BI.isNotEmptyArray(item.children)&&!BI.isEmpty(item.el)?(item.type="bi.combo_group",item.isDefaultInit=!0,item.cls="down-list-group",item.trigger="hover",item.isNeedAdjustWidth=!1,item.el.title=item.el.title||item.el.text,item.el.type="bi.down_list_group_item",item.el.logic={dynamic:!0},item.el.height=self.constants.height,item.el.iconCls2=self.constants.nextIcon,item.popup={lgap:1,el:{type:"bi.button_tree",chooseType:0,layouts:[{type:"bi.vertical"}]},innerVGap:5,maxHeight:378},item.el.childValues=[],BI.each(item.children,function(i,child){var fatherValue=BI.deepClone(item.el.value),childValue=BI.deepClone(child.value);self.singleValues.push(child.value),child.type="bi.down_list_item",child.extraCls=" child-down-list-item",child.title=child.title||child.text,child.textRgap=10,child.isNeedAdjustWidth=!1,child.logic={dynamic:!0},child.father=fatherValue,self.fatherValueMap[self._createChildValue(fatherValue,childValue)]=fatherValue,self.childValueMap[self._createChildValue(fatherValue,childValue)]=childValue,child.value=self._createChildValue(fatherValue,childValue),item.el.childValues.push(child.value)})):(item.type="bi.down_list_item",item.title=item.title||item.text,item.textRgap=10,item.isNeedAdjustWidth=!1,item.logic={dynamic:!0});var el_done={};el_done.el=item,item_done.items.push(el_done)}),self._isGroup(item_done.items)&&BI.each(item_done.items,function(i,item){self.singleValues.push(item.el.value)}),result.push(item_done),self._needSpliter(i,items.length)){var spliter_container=BI.createWidget({type:"bi.vertical",items:[{el:{type:"bi.layout",cls:"bi-down-list-spliter bi-split-top cursor-pointer",
height:0}}],cls:"bi-down-list-spliter-container cursor-pointer",vgap:5,lgap:10,rgap:0});result.push(spliter_container)}}),result},_isGroup:function(i){return i.length>1},_needSpliter:function(i,itemLength){return i<itemLength-1},_createChildValue:function(fatherValue,childValue){return fatherValue+"_"+childValue},_digest:function(valueItem){var self=this,valueArray=[];return BI.each(valueItem,function(i,item){var value;value=BI.isNotNull(item.childValue)?self._createChildValue(item.value,item.childValue):item.value,valueArray.push(value)}),valueArray},_checkValues:function(values){function joinValue(sources,targets){var value="";return BI.some(sources,function(idx,s){return BI.some(targets,function(id,t){if(s===t)return value=s,!0})}),value}var value=[];return BI.each(this.items,function(idx,itemGroup){BI.each(itemGroup,function(id,item){if(BI.isNotNull(item.children)){var childValues=BI.map(item.children,"value"),v=joinValue(childValues,values[idx]);BI.isNotEmptyString(v)&&value.push(v)}else item.value===values[idx][0]&&value.push(values[idx][0])})}),value},populate:function(items){BI.DownListPopup.superclass.populate.apply(this,arguments),this.items=BI.deepClone(items),this.childValueMap={},this.fatherValueMap={},this.singleValues=[];var children=this._createChildren(this.items),popupItem=BI.createItems(children,{},{adjustLength:-2});this.popup.populate(popupItem)},setValue:function(valueItem){this.popup.setValue(this._digest(valueItem))},_getValue:function(){var v=[];return BI.each(this.popup.getAllButtons(),function(i,item){i%2===0&&v.push(item.getValue())}),v},getValue:function(){var self=this,result=[],values=this._checkValues(this._getValue());return BI.each(values,function(i,value){var valueItem={};if(BI.isNotNull(self.childValueMap[value])){var fartherValue=self.fatherValueMap[value];valueItem.childValue=self.childValueMap[value],valueItem.value=fartherValue}else valueItem.value=value;result.push(valueItem)}),result}}),BI.DownListPopup.EVENT_CHANGE="EVENT_CHANGE",BI.DownListPopup.EVENT_SON_VALUE_CHANGE="EVENT_SON_VALUE_CHANGE",BI.shortcut("bi.down_list_popup",BI.DownListPopup),!function(){BI.DynamicDateHelper={},BI.extend(BI.DynamicDateHelper,{getCalculation:function(obj){var date=BI.getDate();return this.getCalculationByDate(date,obj)},getCalculationByDate:function(date,obj){if(BI.isNotNull(obj.year)&&(date=BI.getDate(date.getFullYear()+BI.parseInt(obj.year),date.getMonth(),date.getDate())),BI.isNotNull(obj.quarter)&&(date=BI.getOffsetQuarter(date,BI.parseInt(obj.quarter))),BI.isNotNull(obj.month)&&(date=BI.getOffsetMonth(date,BI.parseInt(obj.month))),BI.isNotNull(obj.week)&&(date=BI.getOffsetDate(date,7*BI.parseInt(obj.week))),BI.isNotNull(obj.day)&&(date=BI.getOffsetDate(date,BI.parseInt(obj.day))),BI.isNotNull(obj.workDay))if(BI.isNotNull(BI.holidays))for(var count=Math.abs(obj.workDay),i=0;i<count;i++)date=BI.getOffsetDate(date,obj.workDay<0?-1:1),BI.isNotNull(BI.holidays[BI.print(date,"%Y-%X-%d")])&&i--;else date=BI.getOffsetDate(date,BI.parseInt(obj.workDay));return BI.isNotNull(obj.position)&&obj.position!==BI.DynamicDateCard.OFFSET.CURRENT&&(date=this.getBeginDate(date,obj)),BI.getDate(date.getFullYear(),date.getMonth(),date.getDate())},getBeginDate:function(date,obj){return BI.isNotNull(obj.day)?obj.position===BI.DynamicDateCard.OFFSET.BEGIN?BI.getDate(date.getFullYear(),date.getMonth(),1):BI.getDate(date.getFullYear(),date.getMonth(),BI.getLastDateOfMonth(date).getDate()):BI.isNotNull(obj.week)?obj.position===BI.DynamicDateCard.OFFSET.BEGIN?BI.getWeekStartDate(date):BI.getWeekEndDate(date):BI.isNotNull(obj.month)?obj.position===BI.DynamicDateCard.OFFSET.BEGIN?BI.getDate(date.getFullYear(),date.getMonth(),1):BI.getDate(date.getFullYear(),date.getMonth(),BI.getLastDateOfMonth(date).getDate()):BI.isNotNull(obj.quarter)?obj.position===BI.DynamicDateCard.OFFSET.BEGIN?BI.getQuarterStartDate(date):BI.getQuarterEndDate(date):BI.isNotNull(obj.year)?obj.position===BI.DynamicDateCard.OFFSET.BEGIN?BI.getDate(date.getFullYear(),0,1):BI.getDate(date.getFullYear(),11,31):date}})}(),BI.DynamicDateCard=BI.inherit(BI.Widget,{props:{baseCls:"bi-dynamic-date-card"},render:function(){var self=this;return this.position=BI.DynamicDateCard.OFFSET.CURRENT,{type:"bi.vertical",items:[{el:{type:"bi.label",text:BI.i18nText("BI-Multi_Date_Relative_Current_Time"),textAlign:"left",height:12,lgap:10},tgap:10,bgap:5},{type:"bi.button_group",ref:function(){self.checkgroup=this},chooseType:BI.ButtonGroup.CHOOSE_TYPE_MULTI,lgap:4,value:[BI.DynamicDateCard.TYPE.YEAR],items:BI.createItems([{text:BI.i18nText("BI-Basic_Year"),value:BI.DynamicDateCard.TYPE.YEAR},{text:BI.i18nText("BI-Basic_Single_Quarter"),value:BI.DynamicDateCard.TYPE.QUARTER},{text:BI.i18nText("BI-Basic_Month"),value:BI.DynamicDateCard.TYPE.MONTH},{text:BI.i18nText("BI-Basic_Week"),value:BI.DynamicDateCard.TYPE.WEEK},{text:BI.i18nText("BI-Basic_Day"),value:BI.DynamicDateCard.TYPE.DAY}],{type:"bi.multi_select_item",logic:{dynamic:!0}}),layouts:[{type:"bi.left",rgap:4}],listeners:[{eventName:BI.ButtonGroup.EVENT_CHANGE,action:function(){var value=self.checkgroup.getValue();0!==value.length&&self.workDayBox.setSelected(!1);var plainValue={};BI.each(self.resultPane.getAllButtons(),function(idx,button){var value=button.getValue();BI.isNotNull(value.dateType)&&(plainValue[value.dateType]={value:value.value,offset:value.offset})}),self.resultPane.populate(self._getParamJson(BI.map(self.checkgroup.getValue(),function(idx,v){var obj={dateType:v};return BI.has(plainValue,v)&&(obj.value=plainValue[v].value,obj.offset=plainValue[v].offset),obj}))),self.position=BI.DynamicDateCard.OFFSET.CURRENT,self.fireEvent("EVENT_CHANGE")}}]},{type:"bi.vertical_adapt",lgap:2,items:[{el:{type:"bi.multi_select_item",ref:function(){self.workDayBox=this},logic:{dynamic:!0},text:BI.i18nText("BI-Basic_Work_Day"),value:BI.DynamicDateCard.TYPE.WORK_DAY,listeners:[{eventName:BI.MultiSelectItem.EVENT_CHANGE,action:function(){this.isSelected()&&self.checkgroup.setValue(),self.resultPane.populate(this.isSelected()?self._getParamJson([{dateType:BI.DynamicDateCard.TYPE.WORK_DAY}]):[]),self.position=BI.DynamicDateCard.OFFSET.CURRENT,self.fireEvent("EVENT_CHANGE")}}]}}],ref:function(){self.workDay=this}},{type:"bi.button_group",items:this._getParamJson([{dateType:BI.DynamicDateCard.TYPE.YEAR}]),ref:function(){self.resultPane=this},layouts:[{type:"bi.vertical",bgap:10,hgap:10}]}]}},_getParamJson:function(values,positionValue){var self=this,items=BI.map(values,function(idx,value){return{el:{type:"bi.dynamic_date_param_item",dateType:value.dateType,value:value.value,offset:value.offset,listeners:[{eventName:"EVENT_CHANGE",action:function(){self.fireEvent("EVENT_CHANGE")}}]},tgap:0===idx?5:0}});if(1===values.length&&values[0].dateType===BI.DynamicDateCard.TYPE.DAY){var comboItems=this._getText(BI.DynamicDateCard.TYPE.MONTH);comboItems[0].text=BI.i18nText("BI-Basic_Empty"),items.push({type:"bi.text_value_combo",height:24,items:comboItems,container:null,value:positionValue||BI.DynamicDateCard.OFFSET.CURRENT,listeners:[{eventName:"EVENT_CHANGE",action:function(){self.position=this.getValue()[0],self.fireEvent("EVENT_CHANGE")}}]})}else 0!==values.length&&BI.last(values).dateType!==BI.DynamicDateCard.TYPE.DAY&&BI.last(values).dateType!==BI.DynamicDateCard.TYPE.WORK_DAY&&items.push({type:"bi.text_value_combo",height:24,container:null,items:this._getText(BI.last(values).dateType),value:positionValue||BI.DynamicDateCard.OFFSET.CURRENT,listeners:[{eventName:"EVENT_CHANGE",action:function(){self.position=this.getValue()[0],self.fireEvent("EVENT_CHANGE")}}]});return items},_getText:function(lastValue){switch(lastValue){case BI.DynamicDateCard.TYPE.YEAR:return[{text:BI.i18nText("BI-Basic_Current_Day"),value:BI.DynamicDateCard.OFFSET.CURRENT},{text:BI.i18nText("BI-Basic_Year_Begin"),value:BI.DynamicDateCard.OFFSET.BEGIN},{text:BI.i18nText("BI-Basic_Year_End"),value:BI.DynamicDateCard.OFFSET.END}];case BI.DynamicDateCard.TYPE.QUARTER:return[{text:BI.i18nText("BI-Basic_Current_Day"),value:BI.DynamicDateCard.OFFSET.CURRENT},{text:BI.i18nText("BI-Basic_Quarter_Begin"),value:BI.DynamicDateCard.OFFSET.BEGIN},{text:BI.i18nText("BI-Basic_Quarter_End"),value:BI.DynamicDateCard.OFFSET.END}];case BI.DynamicDateCard.TYPE.MONTH:return[{text:BI.i18nText("BI-Basic_Current_Day"),value:BI.DynamicDateCard.OFFSET.CURRENT},{text:BI.i18nText("BI-Basic_Month_Begin"),value:BI.DynamicDateCard.OFFSET.BEGIN},{text:BI.i18nText("BI-Basic_Month_End"),value:BI.DynamicDateCard.OFFSET.END}];case BI.DynamicDateCard.TYPE.WEEK:default:return[{text:BI.i18nText("BI-Basic_Current_Day"),value:BI.DynamicDateCard.OFFSET.CURRENT},{text:BI.i18nText("BI-Basic_Week_Begin"),value:BI.DynamicDateCard.OFFSET.BEGIN},{text:BI.i18nText("BI-Basic_Week_End"),value:BI.DynamicDateCard.OFFSET.END}]}},_createValue:function(type,v){return{dateType:type,value:Math.abs(v),offset:v>0?1:0}},setValue:function(v){v=v||{},this.position=v.position||BI.DynamicDateCard.OFFSET.CURRENT;var values=[],valuesItems=[];BI.isNotNull(v.year)&&(values.push(BI.DynamicDateCard.TYPE.YEAR),valuesItems.push(this._createValue(BI.DynamicDateCard.TYPE.YEAR,v.year))),BI.isNotNull(v.quarter)&&(values.push(BI.DynamicDateCard.TYPE.QUARTER),valuesItems.push(this._createValue(BI.DynamicDateCard.TYPE.QUARTER,v.quarter))),BI.isNotNull(v.month)&&(values.push(BI.DynamicDateCard.TYPE.MONTH),valuesItems.push(this._createValue(BI.DynamicDateCard.TYPE.MONTH,v.month))),BI.isNotNull(v.week)&&(values.push(BI.DynamicDateCard.TYPE.WEEK),valuesItems.push(this._createValue(BI.DynamicDateCard.TYPE.WEEK,v.week))),BI.isNotNull(v.day)&&(values.push(BI.DynamicDateCard.TYPE.DAY),valuesItems.push(this._createValue(BI.DynamicDateCard.TYPE.DAY,v.day))),BI.isNotNull(v.workDay)&&(values.push(BI.DynamicDateCard.TYPE.WORK_DAY),valuesItems.push(this._createValue(BI.DynamicDateCard.TYPE.WORK_DAY,v.workDay))),this.checkgroup.setValue(values),this.workDayBox.setSelected(BI.isNotNull(v.workDay)),this.resultPane.populate(this._getParamJson(valuesItems,v.position))},getValue:function(){var self=this,valueMap={},selectValues=this.checkgroup.getValue(),buttons=this.resultPane.getAllButtons();if(0!==selectValues.length&&BI.each(buttons,function(idx,button){var value=button.getValue();switch(value.dateType){case BI.DynamicDateCard.TYPE.YEAR:valueMap.year=0===value.offset?-value.value:value.value;break;case BI.DynamicDateCard.TYPE.QUARTER:valueMap.quarter=0===value.offset?-value.value:value.value;break;case BI.DynamicDateCard.TYPE.MONTH:valueMap.month=0===value.offset?-value.value:value.value;break;case BI.DynamicDateCard.TYPE.WEEK:valueMap.week=0===value.offset?-value.value:value.value;break;case BI.DynamicDateCard.TYPE.DAY:valueMap.day=0===value.offset?-value.value:value.value}BI.isNull(value.dateType)&&(valueMap.position=self.position||BI.DynamicDateCard.OFFSET.CURRENT)}),this.workDayBox.isSelected()){var value=buttons[0].getValue();valueMap.workDay=0===value.offset?-value.value:value.value}return valueMap}}),BI.shortcut("bi.dynamic_date_card",BI.DynamicDateCard),BI.extend(BI.DynamicDateCard,{TYPE:{YEAR:1,QUARTER:2,MONTH:3,WEEK:4,DAY:5,WORK_DAY:6},OFFSET:{CURRENT:1,BEGIN:2,END:3}}),BI.DynamicDateCombo=BI.inherit(BI.Single,{constants:{popupHeight:259,popupWidth:270,comboAdjustHeight:1,border:1},props:{baseCls:"bi-dynamic-date-combo bi-border bi-focus-shadow bi-border-radius",height:22,minDate:"1900-01-01",maxDate:"2099-12-31",format:"",allowEdit:!0},render:function(){var self=this,opts=this.options;this.storeTriggerValue="";var date=BI.getDate();return this.storeValue=opts.value,{type:"bi.htape",items:[{el:{type:"bi.icon_button",cls:"bi-trigger-icon-button date-change-h-font",width:opts.height,height:opts.height,ref:function(){self.changeIcon=this}},width:opts.height},{type:"bi.absolute",items:[{el:{type:"bi.combo",container:opts.container,ref:function(){self.combo=this},toggle:!1,isNeedAdjustHeight:!1,isNeedAdjustWidth:!1,destroyWhenHide:!0,el:{type:"bi.dynamic_date_trigger",min:opts.minDate,max:opts.maxDate,format:opts.format,allowEdit:opts.allowEdit,watermark:opts.watermark,height:opts.height,value:opts.value,ref:function(){self.trigger=this},listeners:[{eventName:BI.DynamicDateTrigger.EVENT_KEY_DOWN,action:function(){self.combo.isViewVisible()&&self.combo.hideView(),self.fireEvent(BI.DynamicDateCombo.EVENT_KEY_DOWN,arguments)}},{eventName:BI.DynamicDateTrigger.EVENT_STOP,action:function(){self.combo.isViewVisible()||self.combo.showView()}},{eventName:BI.DynamicDateTrigger.EVENT_FOCUS,action:function(){self.storeTriggerValue=self.trigger.getKey(),self.combo.isViewVisible()||self.combo.showView(),self.fireEvent(BI.DynamicDateCombo.EVENT_FOCUS)}},{eventName:BI.DynamicDateTrigger.EVENT_BLUR,action:function(){self.fireEvent(BI.DynamicDateCombo.EVENT_BLUR)}},{eventName:BI.DynamicDateTrigger.EVENT_ERROR,action:function(){self.storeValue={type:BI.DynamicDateCombo.Static,value:{year:date.getFullYear(),month:date.getMonth()+1}},self.fireEvent(BI.DynamicDateCombo.EVENT_ERROR)}},{eventName:BI.DynamicDateTrigger.EVENT_VALID,action:function(){self.fireEvent(BI.DynamicDateCombo.EVENT_VALID)}},{eventName:BI.DynamicDateTrigger.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicDateCombo.EVENT_CHANGE)}},{eventName:BI.DynamicDateTrigger.EVENT_CONFIRM,action:function(){if(!self.combo.isViewVisible()){var dateStore=self.storeTriggerValue,dateObj=self.trigger.getKey();BI.isNotEmptyString(dateObj)&&!BI.isEqual(dateObj,dateStore)?(self.storeValue=self.trigger.getValue(),self.setValue(self.trigger.getValue())):BI.isEmptyString(dateObj)&&(self.storeValue=null,self.trigger.setValue()),self._checkDynamicValue(self.storeValue),self.fireEvent(BI.DynamicDateCombo.EVENT_CONFIRM)}}}]},adjustLength:this.constants.comboAdjustHeight,popup:{el:{type:"bi.dynamic_date_popup",behaviors:opts.behaviors,min:opts.minDate,max:opts.maxDate,ref:function(){self.popup=this},listeners:[{eventName:BI.DynamicDatePopup.BUTTON_CLEAR_EVENT_CHANGE,action:function(){self.setValue(),self.combo.hideView(),self.fireEvent(BI.DynamicDateCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicDatePopup.BUTTON_lABEL_EVENT_CHANGE,action:function(){var date=BI.getDate();self.setValue({type:BI.DynamicDateCombo.Static,value:{year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate()}}),self.combo.hideView(),self.fireEvent(BI.DynamicDateCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicDatePopup.BUTTON_OK_EVENT_CHANGE,action:function(){var value=self.popup.getValue();self._checkValue(value)&&self.setValue(value),self.combo.hideView(),self.fireEvent(BI.DynamicDateCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicDatePopup.EVENT_CHANGE,action:function(){self.setValue(self.popup.getValue()),self.combo.hideView(),self.fireEvent(BI.DynamicDateCombo.EVENT_CONFIRM)}}]},stopPropagation:!1},hideChecker:function(e){return 0===self.triggerBtn.element.find(e.target).length},listeners:[{eventName:BI.Combo.EVENT_BEFORE_POPUPVIEW,action:function(){self.popup.setValue(self.storeValue),self.popup.setMinDate(opts.minDate),self.popup.setMaxDate(opts.maxDate),self.fireEvent(BI.DynamicDateCombo.EVENT_BEFORE_POPUPVIEW)}}]},top:0,left:0,right:0,bottom:0},{el:{type:"bi.icon_button",cls:"bi-trigger-icon-button date-font",width:opts.height,height:opts.height,listeners:[{eventName:BI.IconButton.EVENT_CHANGE,action:function(){self.combo.isViewVisible()||self.combo.showView()}}],ref:function(){self.triggerBtn=this}},top:0,right:0}]}],ref:function(_ref){self.comboWrapper=_ref}}},mounted:function(){this._checkDynamicValue(this.storeValue)},_checkDynamicValue:function(v){var o=this.options,type=null;switch(BI.isNotNull(v)&&(type=v.type),type){case BI.DynamicDateCombo.Dynamic:this.changeIcon.setVisible(!0),this.comboWrapper.attr("items")[0].width=o.height,this.comboWrapper.resize();break;default:this.comboWrapper.attr("items")[0].width=0,this.comboWrapper.resize(),this.changeIcon.setVisible(!1)}},_checkValue:function(v){switch(v.type){case BI.DynamicDateCombo.Dynamic:return BI.isNotEmptyObject(v.value);case BI.DynamicDateCombo.Static:default:return!0}},_defaultState:function(){},setMinDate:function(minDate){var o=this.options;o.minDate=minDate,this.trigger.setMinDate(minDate),this.popup&&this.popup.setMinDate(minDate)},setMaxDate:function(maxDate){var o=this.options;o.maxDate=maxDate,this.trigger.setMaxDate(maxDate),this.popup&&this.popup.setMaxDate(maxDate)},setValue:function(v){this.storeValue=v,this.trigger.setValue(v),this._checkDynamicValue(v)},getValue:function(){return this.storeValue},getKey:function(){return this.trigger.getKey()},hidePopupView:function(){this.combo.hideView()}}),BI.DynamicDateCombo.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.DynamicDateCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.DynamicDateCombo.EVENT_FOCUS="EVENT_FOCUS",BI.DynamicDateCombo.EVENT_BLUR="EVENT_BLUR",BI.DynamicDateCombo.EVENT_CHANGE="EVENT_CHANGE",BI.DynamicDateCombo.EVENT_VALID="EVENT_VALID",BI.DynamicDateCombo.EVENT_ERROR="EVENT_ERROR",BI.DynamicDateCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.dynamic_date_combo",BI.DynamicDateCombo),BI.extend(BI.DynamicDateCombo,{Static:1,Dynamic:2}),BI.DynamicDateParamItem=BI.inherit(BI.Widget,{props:{baseCls:"bi-dynamic-date-param-item",dateType:BI.DynamicDateCard.TYPE.YEAR,value:0,offset:0,height:24},render:function(){var self=this,o=this.options;return{type:"bi.htape",items:[{el:{type:"bi.sign_editor",cls:"bi-border",height:22,validationChecker:function(v){return BI.isNaturalNumber(v)},value:o.value,ref:function(){self.editor=this},errorText:function(v){return BI.isEmptyString(v)?BI.i18nText("BI-Basic_Please_Input_Content"):BI.i18nText("BI-Please_Input_Natural_Number")},allowBlank:!1,listeners:[{eventName:BI.SignEditor.EVENT_CONFIRM,action:function(){self.fireEvent(BI.DynamicDateParamItem.EVENT_CHANGE)}}]},width:60},{el:{type:"bi.label",height:24,text:this._getText()},width:o.dateType===BI.DynamicDateCard.TYPE.WORK_DAY?60:20},{type:"bi.text_value_combo",height:24,items:[{text:BI.i18nText("BI-Basic_Front"),value:0},{text:BI.i18nText("BI-Basic_Behind"),value:1}],ref:function(){self.offsetCombo=this},container:null,value:o.offset,listeners:[{eventName:BI.TextValueCombo.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicDateParamItem.EVENT_CHANGE)}}]}]}},_getText:function(){var text="";switch(this.options.dateType){case BI.DynamicDateCard.TYPE.YEAR:text=BI.i18nText("BI-Basic_Year");break;case BI.DynamicDateCard.TYPE.QUARTER:text=BI.i18nText("BI-Basic_Single_Quarter");break;case BI.DynamicDateCard.TYPE.MONTH:text=BI.i18nText("BI-Basic_Month");break;case BI.DynamicDateCard.TYPE.WEEK:text=BI.i18nText("BI-Basic_Week");break;case BI.DynamicDateCard.TYPE.DAY:text=BI.i18nText("BI-Basic_Day");break;case BI.DynamicDateCard.TYPE.WORK_DAY:default:text=BI.i18nText("BI-Basic_Work_Day")}return text},setValue:function(v){v=v||{},v.value=v.value||0,v.offset=v.offset||0,this.editor.setValue(v.value),this.offsetCombo.setValue(v.offset)},getValue:function(){return{dateType:this.options.dateType,value:this.editor.getValue(),offset:this.offsetCombo.getValue()[0]}}}),BI.DynamicDateParamItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.dynamic_date_param_item",BI.DynamicDateParamItem),BI.DynamicDatePopup=BI.inherit(BI.Widget,{constants:{tabHeight:30,buttonHeight:24},props:{baseCls:"bi-dynamic-date-popup",width:248,height:344},_init:function(){BI.DynamicDatePopup.superclass._init.apply(this,arguments);var self=this,opts=this.options,c=this.constants;this.storeValue={type:BI.DynamicDateCombo.Static},BI.createWidget({element:this,type:"bi.vtape",items:[{el:this._getTabJson()},{el:{type:"bi.grid",items:[[{type:"bi.text_button",cls:"bi-high-light bi-split-top",shadow:!0,text:BI.i18nText("BI-Basic_Clear"),textHeight:c.buttonHeight-1,listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicDatePopup.BUTTON_CLEAR_EVENT_CHANGE)}}]},{type:"bi.text_button",cls:"bi-split-left bi-split-right bi-high-light bi-split-top",shadow:!0,textHeight:c.buttonHeight-1,text:BI.i18nText("BI-Multi_Date_Today"),ref:function(){self.textButton=this},listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicDatePopup.BUTTON_lABEL_EVENT_CHANGE)}}]},{type:"bi.text_button",cls:"bi-high-light bi-split-top",textHeight:c.buttonHeight-1,shadow:!0,text:BI.i18nText("BI-Basic_OK"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicDatePopup.BUTTON_OK_EVENT_CHANGE)}}]}]]},height:24}]}),this.setValue(opts.value)},_getTabJson:function(){var self=this,o=this.options;return{type:"bi.tab",ref:function(){self.dateTab=this},tab:{type:"bi.linear_segment",cls:"bi-split-bottom",height:this.constants.tabHeight,items:BI.createItems([{text:BI.i18nText("BI-Multi_Date_YMD"),value:BI.DynamicDateCombo.Static},{text:BI.i18nText("BI-Basic_Dynamic_Title"),value:BI.DynamicDateCombo.Dynamic}],{textAlign:"center"})},cardCreator:function(v){switch(v){case BI.DynamicDateCombo.Dynamic:return{type:"bi.dynamic_date_card",listeners:[{eventName:"EVENT_CHANGE",action:function(){self._setInnerValue(self.year,v)}}],ref:function(){self.dynamicPane=this}};case BI.DynamicDateCombo.Static:default:return{type:"bi.date_calendar_popup",behaviors:o.behaviors,min:self.options.min,max:self.options.max,listeners:[{eventName:BI.DateCalendarPopup.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicDatePopup.EVENT_CHANGE)}}],ref:function(){self.ymd=this}}}},listeners:[{eventName:BI.Tab.EVENT_CHANGE,action:function(){var v=self.dateTab.getSelect();switch(v){case BI.DynamicDateCombo.Static:var date=BI.DynamicDateHelper.getCalculation(self.dynamicPane.getValue());self.ymd.setValue({year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate()}),self._setInnerValue();break;case BI.DynamicDateCombo.Dynamic:default:self.storeValue&&self.storeValue.type===BI.DynamicDateCombo.Dynamic?self.dynamicPane.setValue(self.storeValue.value):self.dynamicPane.setValue({year:0}),self._setInnerValue()}}}]}},_setInnerValue:function(){if(this.dateTab.getSelect()===BI.DynamicDateCombo.Static)this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today")),this.textButton.setEnable(!0);else{var date=BI.DynamicDateHelper.getCalculation(this.dynamicPane.getValue());date=BI.print(date,"%Y-%X-%d"),this.textButton.setValue(date),this.textButton.setEnable(!1)}},_checkValueValid:function(value){return BI.isNull(value)||BI.isEmptyObject(value)||BI.isEmptyString(value)},setMinDate:function(minDate){this.options.min!==minDate&&(this.options.min=minDate,this.ymd.setMinDate(minDate))},setMaxDate:function(maxDate){this.options.max!==maxDate&&(this.options.max=maxDate,this.ymd.setMaxDate(maxDate))},setValue:function(v){this.storeValue=v;var self=this,type,value;switch(v=v||{},type=v.type||BI.DynamicDateCombo.Static,value=v.value||v,this.dateTab.setSelect(type),type){case BI.DynamicDateCombo.Dynamic:this.dynamicPane.setValue(value),self._setInnerValue();break;case BI.DynamicDateCombo.Static:default:if(this._checkValueValid(value)){var date=BI.getDate();this.ymd.setValue({year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate()}),this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today"))}else this.ymd.setValue(value),this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today"));this.textButton.setEnable(!0)}},getValue:function(){return{type:this.dateTab.getSelect(),value:this.dateTab.getValue()}}}),BI.DynamicDatePopup.EVENT_CHANGE="EVENT_CHANGE",BI.DynamicDatePopup.BUTTON_OK_EVENT_CHANGE="BUTTON_OK_EVENT_CHANGE",BI.DynamicDatePopup.BUTTON_lABEL_EVENT_CHANGE="BUTTON_lABEL_EVENT_CHANGE",BI.DynamicDatePopup.BUTTON_CLEAR_EVENT_CHANGE="BUTTON_CLEAR_EVENT_CHANGE",BI.shortcut("bi.dynamic_date_popup",BI.DynamicDatePopup),BI.DynamicDateTrigger=BI.inherit(BI.Trigger,{_const:{hgap:4,vgap:2,yearLength:4,yearMonthLength:6,yearFullMonthLength:7,compareFormat:"%Y-%X-%d"},props:{extraCls:"bi-date-trigger",min:"1900-01-01",max:"2099-12-31",height:24,format:"",allowEdit:!0,watermark:""},_init:function(){BI.DynamicDateTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options,c=this._const;this.storeTriggerValue="",this.editor=BI.createWidget({type:"bi.sign_editor",height:o.height,validationChecker:function(v){var formatStr=self._getStandardDateStr(v),date=formatStr.match(/\d+/g);return!BI.isKey(o.format)&&self._autoAppend(v,date),self._dateCheck(formatStr)&&BI.checkDateLegal(formatStr)&&self._checkVoid({year:0|date[0],month:0|date[1],day:0|date[2]})},quitChecker:function(){return!1},hgap:c.hgap,vgap:c.vgap,allowBlank:!0,watermark:BI.isKey(o.watermark)?o.watermark:BI.i18nText("BI-Basic_Unrestricted"),errorText:function(){var str="";return BI.isKey(o.format)||(str=self.editor.isEditing()?BI.i18nText("BI-Date_Trigger_Error_Text"):BI.i18nText("BI-Year_Trigger_Invalid_Text")),str},title:BI.bind(this._getTitle,this)}),this.editor.on(BI.SignEditor.EVENT_KEY_DOWN,function(){self.fireEvent(BI.DynamicDateTrigger.EVENT_KEY_DOWN,arguments)}),this.editor.on(BI.SignEditor.EVENT_FOCUS,function(){self.storeTriggerValue=self.getKey(),self.fireEvent(BI.DynamicDateTrigger.EVENT_FOCUS)}),this.editor.on(BI.SignEditor.EVENT_BLUR,function(){self.fireEvent(BI.DynamicDateTrigger.EVENT_BLUR)}),this.editor.on(BI.SignEditor.EVENT_STOP,function(){self.fireEvent(BI.DynamicDateTrigger.EVENT_STOP)}),this.editor.on(BI.SignEditor.EVENT_VALID,function(){self.fireEvent(BI.DynamicDateTrigger.EVENT_VALID)}),this.editor.on(BI.SignEditor.EVENT_ERROR,function(){self.fireEvent(BI.DynamicDateTrigger.EVENT_ERROR)}),this.editor.on(BI.SignEditor.EVENT_CONFIRM,function(){var value=self.editor.getValue();if(BI.isNotNull(value)&&self.editor.setState(value),BI.isNotEmptyString(value)&&!BI.isEqual(self.storeTriggerValue,self.getKey())){var formatStr=self._getStandardDateStr(value),date=formatStr.match(/\d+/g);self.storeValue={type:BI.DynamicDateCombo.Static,value:{year:0|date[0],month:0|date[1],day:0|date[2]}}}self.fireEvent(BI.DynamicDateTrigger.EVENT_CONFIRM)}),this.editor.on(BI.SignEditor.EVENT_SPACE,function(){self.editor.isValid()&&self.editor.blur()}),this.editor.on(BI.SignEditor.EVENT_START,function(){self.fireEvent(BI.DynamicDateTrigger.EVENT_START)}),this.editor.on(BI.SignEditor.EVENT_CHANGE,function(){self.fireEvent(BI.DynamicDateTrigger.EVENT_CHANGE)}),BI.createWidget({type:"bi.htape",element:this,items:[{el:this.editor},{el:BI.createWidget(),width:24}]}),!o.allowEdit&&BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.text",title:BI.bind(this._getTitle,this)},left:0,right:24,top:0,bottom:0}]}),this.setValue(o.value)},_getTitle:function(){var storeValue=this.storeValue||{},type=storeValue.type||BI.DynamicDateCombo.Static,value=storeValue.value;switch(type){case BI.DynamicDateCombo.Dynamic:var text=this._getText(value),date=BI.getDate();date=BI.DynamicDateHelper.getCalculation(value);var dateStr=BI.print(date,this._getFormatString());return BI.isEmptyString(text)?dateStr:text+":"+dateStr;case BI.DynamicDateCombo.Static:default:return BI.isNull(value)||BI.isNull(value.day)?"":BI.print(BI.getDate(value.year,value.month-1,value.day),this._getFormatString())}},_getStandardDateStr:function(v){var c=this._const,result=[0,1,2],formatArray=this._getFormatString().match(/%./g);BI.each(formatArray,function(idx,v){switch(v){case"%Y":case"%y":result[0]=idx;break;case"%X":case"%x":result[1]=idx;break;case"%d":case"%e":default:result[2]=idx}});var date=BI.parseDateTime(v,this._getFormatString());BI.print(date,this._getFormatString())===v&&(v=BI.print(date,c.compareFormat),result=[0,1,2]);var dateArray=v.match(/\d+/g),newArray=[];return BI.each(dateArray,function(idx){newArray[idx]=dateArray[result[idx]]}),newArray.length===result.length&&2===newArray[0].length?BI.print(BI.parseDateTime(newArray.join("-"),c.compareFormat),c.compareFormat):newArray.join("-")},_getFormatString:function(){return this.options.format||this._const.compareFormat},_dateCheck:function(date){return BI.print(BI.parseDateTime(date,"%Y-%x-%d"),"%Y-%x-%d")===date||BI.print(BI.parseDateTime(date,"%Y-%X-%d"),"%Y-%X-%d")===date||BI.print(BI.parseDateTime(date,"%Y-%x-%e"),"%Y-%x-%e")===date||BI.print(BI.parseDateTime(date,"%Y-%X-%e"),"%Y-%X-%e")===date},_checkVoid:function(obj){return!BI.checkDateVoid(obj.year,obj.month,obj.day,this.options.min,this.options.max)[0]},_autoAppend:function(v,dateObj){if(BI.isNotNull(dateObj)&&BI.checkDateLegal(v))switch(v.length){case this._const.yearLength:this._yearCheck(v)&&this.editor.setValue(v+"-");break;case this._const.yearMonthLength:case this._const.yearFullMonthLength:var splitMonth=v.split("-")[1];(BI.isNotNull(splitMonth)&&2===splitMonth.length||this._monthCheck(v))&&this.editor.setValue(v+"-")}},_yearCheck:function(v){var date=BI.print(BI.parseDateTime(v,this._getFormatString()),this._const.compareFormat);return BI.print(BI.parseDateTime(v,"%Y"),"%Y")===v&&date>=this.options.min&&date<=this.options.max},_monthCheck:function(v){var date=BI.parseDateTime(v,this._getFormatString()),dateStr=BI.print(date,this._const.compareFormat);return date.getMonth()>=0&&(BI.print(BI.parseDateTime(v,"%Y-%X"),"%Y-%X")===v||BI.print(BI.parseDateTime(v,"%Y-%x"),"%Y-%x")===v)&&dateStr>=this.options.min&&dateStr<=this.options.max},_setInnerValue:function(date){var dateStr=BI.print(date,this._getFormatString());this.editor.setState(dateStr),this.editor.setValue(dateStr)},_getText:function(obj){function getPositionText(baseText,position){switch(position){case BI.DynamicDateCard.OFFSET.BEGIN:return baseText+BI.i18nText("BI-Basic_Begin_Start");case BI.DynamicDateCard.OFFSET.END:return baseText+BI.i18nText("BI-Basic_End_Stop");case BI.DynamicDateCard.OFFSET.CURRENT:default:return BI.i18nText("BI-Basic_Current_Day")}}var value="",endText="";return BI.isNotNull(obj.year)&&(0!==BI.parseInt(obj.year)&&(value+=Math.abs(obj.year)+BI.i18nText("BI-Basic_Year")+(obj.year<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),endText=getPositionText(BI.i18nText("BI-Basic_Year"),obj.position)),BI.isNotNull(obj.quarter)&&(0!==BI.parseInt(obj.quarter)&&(value+=Math.abs(obj.quarter)+BI.i18nText("BI-Basic_Single_Quarter")+(obj.quarter<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),endText=getPositionText(BI.i18nText("BI-Basic_Single_Quarter"),obj.position)),BI.isNotNull(obj.month)&&(0!==BI.parseInt(obj.month)&&(value+=Math.abs(obj.month)+BI.i18nText("BI-Basic_Month")+(obj.month<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),endText=getPositionText(BI.i18nText("BI-Basic_Month"),obj.position)),BI.isNotNull(obj.week)&&(0!==BI.parseInt(obj.week)&&(value+=Math.abs(obj.week)+BI.i18nText("BI-Basic_Week")+(obj.week<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),endText=getPositionText(BI.i18nText("BI-Basic_Week"),obj.position)),BI.isNotNull(obj.day)&&(0!==BI.parseInt(obj.day)&&(value+=Math.abs(obj.day)+BI.i18nText("BI-Basic_Day")+(obj.day<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),endText=1===BI.size(obj)?getPositionText(BI.i18nText("BI-Basic_Month"),obj.position):""),BI.isNotNull(obj.workDay)&&0!==BI.parseInt(obj.workDay)&&(value+=Math.abs(obj.workDay)+BI.i18nText("BI-Basic_Work_Day")+(obj.workDay<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),value+endText},setValue:function(v){var type,value,self=this,date=BI.getDate();switch(this.storeValue=v,BI.isNotNull(v)&&(type=v.type||BI.DynamicDateCombo.Static,value=v.value||v),type){case BI.DynamicDateCombo.Dynamic:var text=this._getText(value);date=BI.DynamicDateHelper.getCalculation(value),this._setInnerValue(date,text);break;case BI.DynamicDateCombo.Static:default:if(BI.isNull(value)||BI.isNull(value.day))this.editor.setState(""),this.editor.setValue("");else{var dateStr=BI.print(BI.getDate(value.year,value.month-1,value.day),this._getFormatString());this.editor.setState(dateStr),this.editor.setValue(dateStr)}}},setMinDate:function(minDate){BI.isNotEmptyString(this.options.min)&&(this.options.min=minDate)},setMaxDate:function(maxDate){BI.isNotEmptyString(this.options.max)&&(this.options.max=maxDate)},getKey:function(){return this.editor.getValue();
},getValue:function(){return this.storeValue}}),BI.DynamicDateTrigger.EVENT_BLUR="EVENT_BLUR",BI.DynamicDateTrigger.EVENT_FOCUS="EVENT_FOCUS",BI.DynamicDateTrigger.EVENT_START="EVENT_START",BI.DynamicDateTrigger.EVENT_STOP="EVENT_STOP",BI.DynamicDateTrigger.EVENT_CONFIRM="EVENT_CONFIRM",BI.DynamicDateTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.DynamicDateTrigger.EVENT_VALID="EVENT_VALID",BI.DynamicDateTrigger.EVENT_ERROR="EVENT_ERROR",BI.DynamicDateTrigger.EVENT_TRIGGER_CLICK="EVENT_TRIGGER_CLICK",BI.DynamicDateTrigger.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.shortcut("bi.dynamic_date_trigger",BI.DynamicDateTrigger),BI.DynamicDateTimeCombo=BI.inherit(BI.Single,{constants:{popupHeight:259,popupWidth:270,comboAdjustHeight:1,border:1},props:{baseCls:"bi-dynamic-date-combo bi-border bi-focus-shadow bi-border-radius",height:22,minDate:"1900-01-01",maxDate:"2099-12-31",format:"",allowEdit:!0},render:function(){var self=this,opts=this.options;this.storeTriggerValue="";var date=BI.getDate();return this.storeValue=opts.value,{type:"bi.htape",items:[{el:{type:"bi.icon_button",cls:"bi-trigger-icon-button date-change-h-font",width:opts.height,height:opts.height,ref:function(){self.changeIcon=this}},width:opts.height},{type:"bi.absolute",items:[{el:{type:"bi.combo",destroyWhenHide:!0,container:opts.container,ref:function(){self.combo=this},toggle:!1,isNeedAdjustHeight:!1,isNeedAdjustWidth:!1,el:{type:"bi.dynamic_date_time_trigger",min:opts.minDate,max:opts.maxDate,allowEdit:opts.allowEdit,watermark:opts.watermark,format:opts.format,height:opts.height,value:opts.value,ref:function(){self.trigger=this},listeners:[{eventName:BI.DynamicDateTimeTrigger.EVENT_KEY_DOWN,action:function(){self.combo.isViewVisible()&&self.combo.hideView(),self.fireEvent(BI.DynamicDateTimeCombo.EVENT_KEY_DOWN,arguments)}},{eventName:BI.DynamicDateTimeTrigger.EVENT_STOP,action:function(){self.combo.isViewVisible()||self.combo.showView()}},{eventName:BI.DynamicDateTimeTrigger.EVENT_TRIGGER_CLICK,action:function(){self.combo.toggle()}},{eventName:BI.DynamicDateTimeTrigger.EVENT_FOCUS,action:function(){self.storeTriggerValue=self.trigger.getKey(),self.combo.isViewVisible()||self.combo.showView(),self.fireEvent(BI.DynamicDateTimeCombo.EVENT_FOCUS)}},{eventName:BI.DynamicDateTimeTrigger.EVENT_BLUR,action:function(){self.fireEvent(BI.DynamicDateTimeCombo.EVENT_BLUR)}},{eventName:BI.DynamicDateTimeTrigger.EVENT_ERROR,action:function(){self.storeValue={type:BI.DynamicDateTimeCombo.Static,value:{year:date.getFullYear(),month:date.getMonth()+1}},self.fireEvent(BI.DynamicDateTimeCombo.EVENT_ERROR)}},{eventName:BI.DynamicDateTimeTrigger.EVENT_VALID,action:function(){self.fireEvent(BI.DynamicDateTimeCombo.EVENT_VALID)}},{eventName:BI.DynamicDateTimeTrigger.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicDateTimeCombo.EVENT_CHANGE)}},{eventName:BI.DynamicDateTimeTrigger.EVENT_CONFIRM,action:function(){if(!self.combo.isViewVisible()){var dateStore=self.storeTriggerValue,dateObj=self.trigger.getKey();BI.isNotEmptyString(dateObj)&&!BI.isEqual(dateObj,dateStore)?(self.storeValue=self.trigger.getValue(),self.setValue(self.trigger.getValue())):BI.isEmptyString(dateObj)&&(self.storeValue=null,self.trigger.setValue()),self._checkDynamicValue(self.storeValue),self.fireEvent(BI.DynamicDateTimeCombo.EVENT_CONFIRM)}}}]},adjustLength:this.constants.comboAdjustHeight,popup:{el:{type:"bi.dynamic_date_time_popup",behaviors:opts.behaviors,min:opts.minDate,max:opts.maxDate,ref:function(){self.popup=this},listeners:[{eventName:BI.DynamicDateTimePopup.BUTTON_CLEAR_EVENT_CHANGE,action:function(){self.setValue(),self.combo.hideView(),self.fireEvent(BI.DynamicDateTimeCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicDateTimePopup.BUTTON_lABEL_EVENT_CHANGE,action:function(){var date=BI.getDate();self.setValue({type:BI.DynamicDateTimeCombo.Static,value:{year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate(),hour:0,minute:0,second:0}}),self.combo.hideView(),self.fireEvent(BI.DynamicDateTimeCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicDateTimePopup.BUTTON_OK_EVENT_CHANGE,action:function(){var value=self.popup.getValue();self._checkValue(value)&&self.setValue(value),self.combo.hideView(),self.fireEvent(BI.DynamicDateTimeCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicDateTimePopup.EVENT_CHANGE,action:function(){self.setValue(self.popup.getValue()),self.combo.hideView(),self.fireEvent(BI.DynamicDateTimeCombo.EVENT_CONFIRM)}}]},stopPropagation:!1},listeners:[{eventName:BI.Combo.EVENT_BEFORE_POPUPVIEW,action:function(){self.popup.setValue(self.storeValue),self.popup.setMinDate(opts.minDate),self.popup.setMaxDate(opts.maxDate),self.fireEvent(BI.DynamicDateTimeCombo.EVENT_BEFORE_POPUPVIEW)}}],hideChecker:function(e){return 0===self.triggerBtn.element.find(e.target).length}},top:0,left:0,right:0,bottom:0},{el:{type:"bi.icon_button",cls:"bi-trigger-icon-button date-font",width:opts.height,height:opts.height,listeners:[{eventName:BI.IconButton.EVENT_CHANGE,action:function(){self.combo.isViewVisible()||self.combo.showView()}}],ref:function(){self.triggerBtn=this}},top:0,right:0}]}],ref:function(_ref){self.comboWrapper=_ref}}},mounted:function(){this._checkDynamicValue(this.storeValue)},_checkDynamicValue:function(v){var o=this.options,type=null;switch(BI.isNotNull(v)&&(type=v.type),type){case BI.DynamicDateTimeCombo.Dynamic:this.changeIcon.setVisible(!0),this.comboWrapper.attr("items")[0].width=o.height,this.comboWrapper.resize();break;default:this.comboWrapper.attr("items")[0].width=0,this.comboWrapper.resize(),this.changeIcon.setVisible(!1)}},_checkValue:function(v){switch(v.type){case BI.DynamicDateCombo.Dynamic:return BI.isNotEmptyObject(v.value);case BI.DynamicDateCombo.Static:default:return!0}},setMinDate:function(minDate){var o=this.options;o.minDate=minDate,this.trigger.setMinDate(minDate),this.popup&&this.popup.setMinDate(minDate)},setMaxDate:function(maxDate){var o=this.options;o.maxDate=maxDate,this.trigger.setMaxDate(maxDate),this.popup&&this.popup.setMaxDate(maxDate)},setValue:function(v){this.storeValue=v,this.trigger.setValue(v),this._checkDynamicValue(v)},getValue:function(){return this.storeValue},getKey:function(){return this.trigger.getKey()},hidePopupView:function(){this.combo.hideView()},isValid:function(){return this.trigger.isValid()}}),BI.DynamicDateTimeCombo.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.DynamicDateTimeCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.DynamicDateTimeCombo.EVENT_FOCUS="EVENT_FOCUS",BI.DynamicDateTimeCombo.EVENT_BLUR="EVENT_BLUR",BI.DynamicDateTimeCombo.EVENT_CHANGE="EVENT_CHANGE",BI.DynamicDateTimeCombo.EVENT_VALID="EVENT_VALID",BI.DynamicDateTimeCombo.EVENT_ERROR="EVENT_ERROR",BI.DynamicDateTimeCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.dynamic_date_time_combo",BI.DynamicDateTimeCombo),BI.extend(BI.DynamicDateTimeCombo,{Static:1,Dynamic:2}),BI.DynamicDateTimePopup=BI.inherit(BI.Widget,{constants:{tabHeight:30,buttonHeight:24},props:{baseCls:"bi-dynamic-date-time-popup",width:248,height:385},_init:function(){BI.DynamicDateTimePopup.superclass._init.apply(this,arguments);var self=this,opts=this.options,c=this.constants;this.storeValue={type:BI.DynamicDateCombo.Static},BI.createWidget({element:this,type:"bi.vtape",items:[{el:this._getTabJson()},{el:{type:"bi.grid",items:[[{type:"bi.text_button",cls:"bi-high-light bi-split-top",textHeight:c.buttonHeight-1,shadow:!0,text:BI.i18nText("BI-Basic_Clear"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicDateTimePopup.BUTTON_CLEAR_EVENT_CHANGE)}}]},{type:"bi.text_button",cls:"bi-split-left bi-split-right bi-high-light bi-split-top",textHeight:c.buttonHeight-1,shadow:!0,text:BI.i18nText("BI-Multi_Date_Today"),ref:function(){self.textButton=this},listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicDateTimePopup.BUTTON_lABEL_EVENT_CHANGE)}}]},{type:"bi.text_button",cls:"bi-high-light bi-split-top",textHeight:c.buttonHeight-1,shadow:!0,text:BI.i18nText("BI-Basic_OK"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicDateTimePopup.BUTTON_OK_EVENT_CHANGE)}}]}]]},height:24}]}),this.setValue(opts.value)},_getTabJson:function(){var self=this,o=this.options;return{type:"bi.tab",ref:function(){self.dateTab=this},tab:{type:"bi.linear_segment",cls:"bi-split-bottom",height:this.constants.tabHeight,items:BI.createItems([{text:BI.i18nText("BI-Multi_Date_YMD"),value:BI.DynamicDateCombo.Static},{text:BI.i18nText("BI-Basic_Dynamic_Title"),value:BI.DynamicDateCombo.Dynamic}],{textAlign:"center"})},cardCreator:function(v){switch(v){case BI.DynamicDateCombo.Dynamic:return{type:"bi.dynamic_date_card",listeners:[{eventName:"EVENT_CHANGE",action:function(){self._setInnerValue(self.year,v)}}],ref:function(){self.dynamicPane=this}};case BI.DynamicDateCombo.Static:default:return{type:"bi.vtape",items:[{type:"bi.date_calendar_popup",behaviors:o.behaviors,min:self.options.min,max:self.options.max,ref:function(){self.ymd=this}},{el:{type:"bi.dynamic_date_time_select",cls:"bi-split-top",ref:function(){self.timeSelect=this}},height:40}]}}},listeners:[{eventName:BI.Tab.EVENT_CHANGE,action:function(){var v=self.dateTab.getSelect();switch(v){case BI.DynamicDateCombo.Static:var date=BI.DynamicDateHelper.getCalculation(self.dynamicPane.getValue());self.ymd.setValue({year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate()}),self.timeSelect.setValue(),self._setInnerValue();break;case BI.DynamicDateCombo.Dynamic:default:self.storeValue&&self.storeValue.type===BI.DynamicDateCombo.Dynamic?self.dynamicPane.setValue(self.storeValue.value):self.dynamicPane.setValue({year:0}),self._setInnerValue()}}}]}},_setInnerValue:function(){if(this.dateTab.getSelect()===BI.DynamicDateCombo.Static)this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today")),this.textButton.setEnable(!0);else{var date=BI.DynamicDateHelper.getCalculation(this.dynamicPane.getValue());date=BI.print(date,"%Y-%X-%d"),this.textButton.setValue(date),this.textButton.setEnable(!1)}},_checkValueValid:function(value){return BI.isNull(value)||BI.isEmptyObject(value)||BI.isEmptyString(value)},setMinDate:function(minDate){this.options.min!==minDate&&(this.options.min=minDate,this.ymd.setMinDate(minDate))},setMaxDate:function(maxDate){this.options.max!==maxDate&&(this.options.max=maxDate,this.ymd.setMaxDate(maxDate))},setValue:function(v){this.storeValue=v;var self=this,type,value;switch(v=v||{},type=v.type||BI.DynamicDateCombo.Static,value=v.value||v,this.dateTab.setSelect(type),type){case BI.DynamicDateCombo.Dynamic:this.dynamicPane.setValue(value),self._setInnerValue();break;case BI.DynamicDateCombo.Static:default:if(this._checkValueValid(value)){var date=BI.getDate();this.ymd.setValue({year:date.getFullYear(),month:date.getMonth()+1,day:date.getDate()}),this.timeSelect.setValue(),this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today"))}else this.ymd.setValue(value),this.timeSelect.setValue({hour:value.hour,minute:value.minute,second:value.second}),this.textButton.setValue(BI.i18nText("BI-Multi_Date_Today"));this.textButton.setEnable(!0)}},getValue:function(){var type=this.dateTab.getSelect();return{type:type,value:type===BI.DynamicDateTimeCombo.Static?BI.extend(this.ymd.getValue(),this.timeSelect.getValue()):this.dynamicPane.getValue()}}}),BI.DynamicDateTimePopup.EVENT_CHANGE="EVENT_CHANGE",BI.DynamicDateTimePopup.BUTTON_OK_EVENT_CHANGE="BUTTON_OK_EVENT_CHANGE",BI.DynamicDateTimePopup.BUTTON_lABEL_EVENT_CHANGE="BUTTON_lABEL_EVENT_CHANGE",BI.DynamicDateTimePopup.BUTTON_CLEAR_EVENT_CHANGE="BUTTON_CLEAR_EVENT_CHANGE",BI.shortcut("bi.dynamic_date_time_popup",BI.DynamicDateTimePopup),BI.DynamicDateTimeSelect=BI.inherit(BI.Widget,{props:{baseCls:"bi-date-time-select"},render:function(){var self=this;return{type:"bi.center_adapt",items:[{type:"bi.vertical_adapt",items:[{el:{type:"bi.number_editor",ref:function(){self.hour=this},validationChecker:function(v){return BI.isNaturalNumber(v)&&BI.parseInt(v)<24},errorText:function(v){return BI.isNumeric(v)?BI.i18nText("BI-Basic_Input_From_To_Number",'"00-23"'):BI.i18nText("BI-Numerical_Interval_Input_Data")},listeners:[{eventName:BI.SignEditor.EVENT_CONFIRM,action:function(){var value=this.getValue();self._checkHour(value),this.setValue(self._formatValueToDoubleDigit(value)),self.fireEvent(BI.DynamicDateTimeSelect.EVENT_CONFIRM)}},{eventName:BI.SignEditor.EVENT_CHANGE,action:function(){var value=self._autoSwitch(this.getValue(),BI.DynamicDateTimeSelect.HOUR);this.setValue(value)}}],width:60,height:24}},{type:"bi.label",text:":",width:20},{type:"bi.number_editor",ref:function(){self.minute=this},validationChecker:function(v){return BI.isNaturalNumber(v)&&BI.parseInt(v)<60},errorText:function(v){return BI.isNumeric(v)?BI.i18nText("BI-Basic_Input_From_To_Number",'"00-59"'):BI.i18nText("BI-Numerical_Interval_Input_Data")},listeners:[{eventName:BI.SignEditor.EVENT_CONFIRM,action:function(){var value=this.getValue();self._checkMinute(value),this.setValue(self._formatValueToDoubleDigit(value),BI.DynamicDateTimeSelect.MINUTE),self.fireEvent(BI.DynamicDateTimeSelect.EVENT_CONFIRM)}},{eventName:BI.SignEditor.EVENT_CHANGE,action:function(){var value=self._autoSwitch(this.getValue(),BI.DynamicDateTimeSelect.MINUTE);this.setValue(value)}}],width:60,height:24},{type:"bi.label",text:":",width:20},{type:"bi.number_editor",ref:function(){self.second=this},validationChecker:function(v){return BI.isNaturalNumber(v)&&BI.parseInt(v)<60},errorText:function(v){return BI.isNumeric(v)?BI.i18nText("BI-Basic_Input_From_To_Number",'"00-59"'):BI.i18nText("BI-Numerical_Interval_Input_Data")},listeners:[{eventName:BI.SignEditor.EVENT_CONFIRM,action:function(){var value=this.getValue();self._checkSecond(value),this.setValue(self._formatValueToDoubleDigit(value)),self.fireEvent(BI.DynamicDateTimeSelect.EVENT_CONFIRM)}}],width:60,height:24}]}]}},_checkBorder:function(v){v=v||{},this._checkHour(v.hour),this._checkMinute(v.minute),this._checkSecond(v.second)},_checkHour:function(value){this.hour.setDownEnable(BI.parseInt(value)>0),this.hour.setUpEnable(BI.parseInt(value)<23)},_checkMinute:function(value){this.minute.setDownEnable(BI.parseInt(value)>0),this.minute.setUpEnable(BI.parseInt(value)<59)},_checkSecond:function(value){this.second.setDownEnable(BI.parseInt(value)>0),this.second.setUpEnable(BI.parseInt(value)<59)},_autoSwitch:function(v,type){var limit=0,value=v+"";switch(type){case BI.DynamicDateTimeSelect.HOUR:limit=2;break;case BI.DynamicDateTimeSelect.MINUTE:limit=5}if(1===value.length&&BI.parseInt(value)>limit&&(value="0"+value),2===value.length)switch(type){case BI.DynamicDateTimeSelect.HOUR:this.hour.isEditing()&&this.minute.focus();break;case BI.DynamicDateTimeSelect.MINUTE:this.minute.isEditing()&&this.second.focus();break;case BI.DynamicDateTimeSelect.SECOND:}return value},_formatValueToDoubleDigit:function(v){(BI.isNull(v)||BI.isEmptyString(v))&&(v=0);var value=BI.parseInt(v);return value<10&&(value="0"+value),value},_assertValue:function(v){return v=v||{},v.hour=this._formatValueToDoubleDigit(v.hour)||"00",v.minute=this._formatValueToDoubleDigit(v.minute)||"00",v.second=this._formatValueToDoubleDigit(v.second)||"00",v},getValue:function(){return{hour:BI.parseInt(this.hour.getValue()),minute:BI.parseInt(this.minute.getValue()),second:BI.parseInt(this.second.getValue())}},setValue:function(v){v=this._assertValue(v),this.hour.setValue(v.hour),this.minute.setValue(v.minute),this.second.setValue(v.second),this._checkBorder(v)}}),BI.DynamicDateTimeSelect.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.dynamic_date_time_select",BI.DynamicDateTimeSelect),BI.extend(BI.DynamicDateTimeSelect,{HOUR:1,MINUTE:2,SECOND:3}),BI.DynamicDateTimeTrigger=BI.inherit(BI.Trigger,{_const:{hgap:4,vgap:2,yearLength:4,yearMonthLength:6,yearFullMonthLength:7,compareFormat:"%Y-%X-%d %H:%M:%S"},props:{extraCls:"bi-date-time-trigger",min:"1900-01-01",max:"2099-12-31",height:24,format:"",allowEdit:!0,watermark:""},_init:function(){BI.DynamicDateTimeTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options,c=this._const;this.storeTriggerValue="",this.editor=BI.createWidget({type:"bi.sign_editor",height:o.height,validationChecker:function(v){var formatStr=self._getStandardDateStr(v),date=formatStr.match(/\d+/g);return!BI.isKey(o.format)&&self._autoAppend(v,date),self._dateCheck(formatStr)&&BI.checkDateLegal(formatStr)&&self._checkVoid({year:0|date[0],month:0|date[1],day:0|date[2]})},quitChecker:function(){return!1},hgap:c.hgap,vgap:c.vgap,allowBlank:!0,watermark:BI.isKey(o.watermark)?o.watermark:BI.i18nText("BI-Basic_Unrestricted"),errorText:function(){var str="";return BI.isKey(o.format)||(str=self.editor.isEditing()?BI.i18nText("BI-Basic_Date_Time_Error_Text"):BI.i18nText("BI-Year_Trigger_Invalid_Text")),str},title:BI.bind(this._getTitle,this)}),this.editor.on(BI.SignEditor.EVENT_KEY_DOWN,function(){self.fireEvent(BI.DynamicDateTimeTrigger.EVENT_KEY_DOWN,arguments)}),this.editor.on(BI.SignEditor.EVENT_FOCUS,function(){self.storeTriggerValue=self.getKey(),self.fireEvent(BI.DynamicDateTimeTrigger.EVENT_FOCUS)}),this.editor.on(BI.SignEditor.EVENT_BLUR,function(){self.fireEvent(BI.DynamicDateTimeTrigger.EVENT_BLUR)}),this.editor.on(BI.SignEditor.EVENT_STOP,function(){self.fireEvent(BI.DynamicDateTimeTrigger.EVENT_STOP)}),this.editor.on(BI.SignEditor.EVENT_VALID,function(){self.fireEvent(BI.DynamicDateTimeTrigger.EVENT_VALID)}),this.editor.on(BI.SignEditor.EVENT_ERROR,function(){self.fireEvent(BI.DynamicDateTimeTrigger.EVENT_ERROR)}),this.editor.on(BI.SignEditor.EVENT_CONFIRM,function(){var value=self.editor.getValue();if(BI.isNotNull(value)&&self.editor.setState(value),BI.isNotEmptyString(value)&&!BI.isEqual(self.storeTriggerValue,self.getKey())){var formatStr=self._getStandardDateStr(value),date=formatStr.match(/\d+/g);self.storeValue={type:BI.DynamicDateCombo.Static,value:{year:0|date[0],month:0|date[1],day:0|date[2],hour:0|date[3],minute:0|date[4],second:0|date[5]}}}self.fireEvent(BI.DynamicDateTimeTrigger.EVENT_CONFIRM)}),this.editor.on(BI.SignEditor.EVENT_START,function(){self.fireEvent(BI.DynamicDateTimeTrigger.EVENT_START)}),this.editor.on(BI.SignEditor.EVENT_CHANGE,function(){self.fireEvent(BI.DynamicDateTimeTrigger.EVENT_CHANGE)}),BI.createWidget({type:"bi.htape",element:this,items:[{el:this.editor},{el:BI.createWidget(),width:24}]}),!o.allowEdit&&BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.text",title:BI.bind(this._getTitle,this)},left:0,right:24,top:0,bottom:0}]}),this.setValue(o.value)},_getTitle:function(){var storeValue=this.storeValue||{},type=storeValue.type||BI.DynamicDateCombo.Static,value=storeValue.value;switch(type){case BI.DynamicDateCombo.Dynamic:var text=this._getText(value),date=BI.DynamicDateHelper.getCalculation(value),dateStr=BI.print(date,this._getFormatString());return BI.isEmptyString(text)?dateStr:text+":"+dateStr;case BI.DynamicDateCombo.Static:default:return BI.isNull(value)||BI.isNull(value.day)?"":BI.print(BI.getDate(value.year,value.month-1,value.day,value.hour||0,value.minute||0,value.second||0),this._getFormatString())}},_getStandardDateStr:function(v){var c=this._const,result=[],hasSecond=!1,formatArray=this._getFormatString().match(/%./g);BI.each(formatArray,function(idx,v){switch(v){case"%Y":case"%y":result[0]=idx;break;case"%X":case"%x":result[1]=idx;break;case"%d":case"%e":result[2]=idx;break;case"%S":hasSecond=!0}});var date=BI.parseDateTime(v,this._getFormatString());BI.print(date,this._getFormatString())===v&&(v=BI.print(date,c.compareFormat),result=[0,1,2]);var dateArray=v.match(/\d+/g)||[],newArray=[];BI.each(dateArray.slice(0,3),function(idx){newArray[idx]=dateArray[result[idx]]});var suffixArray=dateArray.slice(3);BI.each(suffixArray,function(idx,v){BI.isNumeric(v)&&1===v.length&&(suffixArray[idx]="0"+v)}),2!==suffixArray.length||hasSecond||suffixArray.push("00");var suffixString=suffixArray.join(":"),dateString=newArray.slice(0,3).join("-");return BI.isNotEmptyString(suffixString)&&(dateString+=" "+suffixString),dateString},_getFormatString:function(){return this.options.format||this._const.compareFormat},_dateCheck:function(date){return BI.print(BI.parseDateTime(date,"%Y-%x-%d %H:%M:%S"),"%Y-%x-%d %H:%M:%S")===date||BI.print(BI.parseDateTime(date,"%Y-%X-%d %H:%M:%S"),"%Y-%X-%d %H:%M:%S")===date||BI.print(BI.parseDateTime(date,"%Y-%x-%e %H:%M:%S"),"%Y-%x-%e %H:%M:%S")===date||BI.print(BI.parseDateTime(date,"%Y-%X-%e %H:%M:%S"),"%Y-%X-%e %H:%M:%S")===date||BI.print(BI.parseDateTime(date,"%Y-%x-%d"),"%Y-%x-%d")===date||BI.print(BI.parseDateTime(date,"%Y-%X-%d"),"%Y-%X-%d")===date||BI.print(BI.parseDateTime(date,"%Y-%x-%e"),"%Y-%x-%e")===date||BI.print(BI.parseDateTime(date,"%Y-%X-%e"),"%Y-%X-%e")===date},_checkVoid:function(obj){return!BI.checkDateVoid(obj.year,obj.month,obj.day,this.options.min,this.options.max)[0]},_autoAppend:function(v,dateObj){if(BI.isNotNull(dateObj)&&BI.checkDateLegal(v))switch(v.length){case this._const.yearLength:this._yearCheck(v)&&this.editor.setValue(v+"-");break;case this._const.yearMonthLength:case this._const.yearFullMonthLength:var splitMonth=v.split("-")[1];(BI.isNotNull(splitMonth)&&2===splitMonth.length||this._monthCheck(v))&&this.editor.setValue(v+"-")}},_yearCheck:function(v){var date=BI.print(BI.parseDateTime(v,"%Y-%X-%d"),"%Y-%X-%d");return BI.print(BI.parseDateTime(v,"%Y"),"%Y")===v&&date>=this.options.min&&date<=this.options.max},_monthCheck:function(v){var date=BI.parseDateTime(v,"%Y-%X-%d"),dateStr=BI.print(date,"%Y-%X-%d");return date.getMonth()>0&&(BI.print(BI.parseDateTime(v,"%Y-%X"),"%Y-%X")===v||BI.print(BI.parseDateTime(v,"%Y-%x"),"%Y-%x")===v)&&dateStr>=this.options.min&&dateStr<=this.options.max},_setInnerValue:function(date){var dateStr=BI.print(date,this._getFormatString());this.editor.setState(dateStr),this.editor.setValue(dateStr)},_getText:function(obj){function getPositionText(baseText,position){switch(position){case BI.DynamicDateCard.OFFSET.BEGIN:return baseText+BI.i18nText("BI-Basic_Begin_Start");case BI.DynamicDateCard.OFFSET.END:return baseText+BI.i18nText("BI-Basic_End_Stop");case BI.DynamicDateCard.OFFSET.CURRENT:default:return BI.i18nText("BI-Basic_Current_Day")}}var value="",endText="";return BI.isNotNull(obj.year)&&(0!==BI.parseInt(obj.year)&&(value+=Math.abs(obj.year)+BI.i18nText("BI-Basic_Year")+(obj.year<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),endText=getPositionText(BI.i18nText("BI-Basic_Year"),obj.position)),BI.isNotNull(obj.quarter)&&(0!==BI.parseInt(obj.quarter)&&(value+=Math.abs(obj.quarter)+BI.i18nText("BI-Basic_Single_Quarter")+(obj.quarter<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),endText=getPositionText(BI.i18nText("BI-Basic_Single_Quarter"),obj.position)),BI.isNotNull(obj.month)&&(0!==BI.parseInt(obj.month)&&(value+=Math.abs(obj.month)+BI.i18nText("BI-Basic_Month")+(obj.month<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),endText=getPositionText(BI.i18nText("BI-Basic_Month"),obj.position)),BI.isNotNull(obj.week)&&(0!==BI.parseInt(obj.week)&&(value+=Math.abs(obj.week)+BI.i18nText("BI-Basic_Week")+(obj.week<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),endText=getPositionText(BI.i18nText("BI-Basic_Week"),obj.position)),BI.isNotNull(obj.day)&&(0!==BI.parseInt(obj.day)&&(value+=Math.abs(obj.day)+BI.i18nText("BI-Basic_Day")+(obj.day<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),endText=1===BI.size(obj)?getPositionText(BI.i18nText("BI-Basic_Month"),obj.position):""),BI.isNotNull(obj.workDay)&&0!==BI.parseInt(obj.workDay)&&(value+=Math.abs(obj.workDay)+BI.i18nText("BI-Basic_Work_Day")+(obj.workDay<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),value+endText},setMinDate:function(minDate){BI.isNotEmptyString(this.options.min)&&(this.options.min=minDate)},setMaxDate:function(maxDate){BI.isNotEmptyString(this.options.max)&&(this.options.max=maxDate)},setValue:function(v){var type,value,self=this,date=BI.getDate();switch(this.storeValue=v,BI.isNotNull(v)&&(type=v.type||BI.DynamicDateCombo.Static,value=v.value||v),type){case BI.DynamicDateCombo.Dynamic:var text=this._getText(value);date=BI.DynamicDateHelper.getCalculation(value),this._setInnerValue(date,text);break;case BI.DynamicDateCombo.Static:default:if(BI.isNull(value)||BI.isNull(value.day))this.editor.setState(""),this.editor.setValue("");else{var dateStr=BI.print(BI.getDate(value.year,value.month-1,value.day,value.hour||0,value.minute||0,value.second||0),this._getFormatString());this.editor.setState(dateStr),this.editor.setValue(dateStr)}}},getKey:function(){return this.editor.getValue()},getValue:function(){return this.storeValue},isValid:function(){return this.editor.isValid()}}),BI.DynamicDateTimeTrigger.EVENT_BLUR="EVENT_BLUR",BI.DynamicDateTimeTrigger.EVENT_FOCUS="EVENT_FOCUS",BI.DynamicDateTimeTrigger.EVENT_START="EVENT_START",BI.DynamicDateTimeTrigger.EVENT_STOP="EVENT_STOP",BI.DynamicDateTimeTrigger.EVENT_CONFIRM="EVENT_CONFIRM",BI.DynamicDateTimeTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.DynamicDateTimeTrigger.EVENT_VALID="EVENT_VALID",BI.DynamicDateTimeTrigger.EVENT_ERROR="EVENT_ERROR",BI.DynamicDateTimeTrigger.EVENT_TRIGGER_CLICK="EVENT_TRIGGER_CLICK",BI.DynamicDateTimeTrigger.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.shortcut("bi.dynamic_date_time_trigger",BI.DynamicDateTimeTrigger),BI.SearchEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.SearchEditor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-search-editor bi-border bi-focus-shadow",height:24,errorText:"",watermark:BI.i18nText("BI-Basic_Search"),validationChecker:BI.emptyFn,quitChecker:BI.emptyFn})},_init:function(){this.options.height-=2,BI.SearchEditor.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget({type:"bi.editor",height:o.height,watermark:o.watermark,allowBlank:!0,hgap:1,errorText:o.errorText,validationChecker:o.validationChecker,quitChecker:o.quitChecker,value:o.value}),this.clear=BI.createWidget({type:"bi.icon_button",stopEvent:!0,cls:"close-font"}),this.clear.on(BI.IconButton.EVENT_CHANGE,function(){self.setValue(""),self.fireEvent(BI.Controller.EVENT_CHANGE,BI.Events.STOPEDIT),self.fireEvent(BI.SearchEditor.EVENT_CHANGE),self.fireEvent(BI.SearchEditor.EVENT_CLEAR)}),BI.createWidget({element:this,type:"bi.htape",items:[{el:{type:"bi.icon_label",cls:"search-font"},width:24},{el:self.editor},{el:this.clear,width:24}]}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_FOCUS,function(){self.fireEvent(BI.SearchEditor.EVENT_FOCUS)}),this.editor.on(BI.Editor.EVENT_BLUR,function(){self.fireEvent(BI.SearchEditor.EVENT_BLUR)}),this.editor.on(BI.Editor.EVENT_CLICK,function(){self.fireEvent(BI.SearchEditor.EVENT_CLICK)}),this.editor.on(BI.Editor.EVENT_CHANGE,function(){self._checkClear(),self.fireEvent(BI.SearchEditor.EVENT_CHANGE)}),this.editor.on(BI.Editor.EVENT_KEY_DOWN,function(v){self.fireEvent(BI.SearchEditor.EVENT_KEY_DOWN,v)}),this.editor.on(BI.Editor.EVENT_SPACE,function(){self.fireEvent(BI.SearchEditor.EVENT_SPACE)}),this.editor.on(BI.Editor.EVENT_BACKSPACE,function(){self.fireEvent(BI.SearchEditor.EVENT_BACKSPACE)}),this.editor.on(BI.Editor.EVENT_VALID,function(){self.fireEvent(BI.SearchEditor.EVENT_VALID)}),this.editor.on(BI.Editor.EVENT_ERROR,function(){self.fireEvent(BI.SearchEditor.EVENT_ERROR)}),this.editor.on(BI.Editor.EVENT_ENTER,function(){self.fireEvent(BI.SearchEditor.EVENT_ENTER)}),this.editor.on(BI.Editor.EVENT_RESTRICT,function(){self.fireEvent(BI.SearchEditor.EVENT_RESTRICT)}),this.editor.on(BI.Editor.EVENT_EMPTY,function(){self._checkClear(),self.fireEvent(BI.SearchEditor.EVENT_EMPTY)}),this.editor.on(BI.Editor.EVENT_REMOVE,function(){self.fireEvent(BI.SearchEditor.EVENT_REMOVE)}),this.editor.on(BI.Editor.EVENT_CONFIRM,function(){self.fireEvent(BI.SearchEditor.EVENT_CONFIRM)}),this.editor.on(BI.Editor.EVENT_CHANGE_CONFIRM,function(){self.fireEvent(BI.SearchEditor.EVENT_CHANGE_CONFIRM)}),this.editor.on(BI.Editor.EVENT_START,function(){self.fireEvent(BI.SearchEditor.EVENT_START)}),this.editor.on(BI.Editor.EVENT_PAUSE,function(){self.fireEvent(BI.SearchEditor.EVENT_PAUSE)}),this.editor.on(BI.Editor.EVENT_STOP,function(){self.fireEvent(BI.SearchEditor.EVENT_STOP)}),this.clear.invisible()},_checkClear:function(){this.getValue()?this.clear.visible():this.clear.invisible()},setWaterMark:function(v){this.options.watermark=v,this.editor.setWaterMark(v)},focus:function(){this.editor.focus()},blur:function(){this.editor.blur()},getValue:function(){if(this.isValid())return this.editor.getValue()},getKeywords:function(){var val=this.editor.getLastChangedValue(),keywords=val.match(/[\S]+/g);return BI.isEndWithBlank(val)?keywords.concat([" "]):keywords},getLastValidValue:function(){return this.editor.getLastValidValue()},getLastChangedValue:function(){return this.editor.getLastChangedValue()},setValue:function(v){this.editor.setValue(v),BI.isKey(v)&&this.clear.visible()},isEditing:function(){return this.editor.isEditing()},isValid:function(){return this.editor.isValid()}}),BI.SearchEditor.EVENT_CHANGE="EVENT_CHANGE",BI.SearchEditor.EVENT_FOCUS="EVENT_FOCUS",BI.SearchEditor.EVENT_BLUR="EVENT_BLUR",BI.SearchEditor.EVENT_CLICK="EVENT_CLICK",BI.SearchEditor.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.SearchEditor.EVENT_SPACE="EVENT_SPACE",BI.SearchEditor.EVENT_BACKSPACE="EVENT_BACKSPACE",BI.SearchEditor.EVENT_CLEAR="EVENT_CLEAR",BI.SearchEditor.EVENT_START="EVENT_START",BI.SearchEditor.EVENT_PAUSE="EVENT_PAUSE",BI.SearchEditor.EVENT_STOP="EVENT_STOP",BI.SearchEditor.EVENT_CONFIRM="EVENT_CONFIRM",BI.SearchEditor.EVENT_CHANGE_CONFIRM="EVENT_CHANGE_CONFIRM",BI.SearchEditor.EVENT_VALID="EVENT_VALID",BI.SearchEditor.EVENT_ERROR="EVENT_ERROR",BI.SearchEditor.EVENT_ENTER="EVENT_ENTER",BI.SearchEditor.EVENT_RESTRICT="EVENT_RESTRICT",BI.SearchEditor.EVENT_REMOVE="EVENT_REMOVE",BI.SearchEditor.EVENT_EMPTY="EVENT_EMPTY",BI.shortcut("bi.search_editor",BI.SearchEditor),BI.SmallSearchEditor=BI.inherit(BI.SearchEditor,{_defaultConfig:function(){var conf=BI.SmallSearchEditor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-small-search-editor",height:20})},_init:function(){BI.SmallSearchEditor.superclass._init.apply(this,arguments)}}),BI.shortcut("bi.small_search_editor",BI.SmallSearchEditor),BI.TextEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.TextEditor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-text-editor bi-border bi-focus-shadow",hgap:4,vgap:2,lgap:0,rgap:0,tgap:0,bgap:0,validationChecker:BI.emptyFn,quitChecker:BI.emptyFn,allowBlank:!1,watermark:"",errorText:"",height:24})},_init:function(){BI.TextEditor.superclass._init.apply(this,arguments);var self=this,o=this.options;BI.isNumber(o.height)&&this.element.css({height:o.height-2}),BI.isNumber(o.width)&&this.element.css({width:o.width-2}),this.editor=BI.createWidget({type:"bi.editor",height:o.height-2,hgap:o.hgap,vgap:o.vgap,lgap:o.lgap,rgap:o.rgap,tgap:o.tgap,bgap:o.bgap,value:o.value,title:o.title,tipType:o.tipType,validationChecker:o.validationChecker,quitChecker:o.quitChecker,allowBlank:o.allowBlank,watermark:o.watermark,errorText:o.errorText}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_FOCUS,function(){self.fireEvent(BI.TextEditor.EVENT_FOCUS)}),this.editor.on(BI.Editor.EVENT_BLUR,function(){self.fireEvent(BI.TextEditor.EVENT_BLUR)}),this.editor.on(BI.Editor.EVENT_CLICK,function(){self.fireEvent(BI.TextEditor.EVENT_CLICK)}),this.editor.on(BI.Editor.EVENT_CHANGE,function(){self.fireEvent(BI.TextEditor.EVENT_CHANGE)}),this.editor.on(BI.Editor.EVENT_KEY_DOWN,function(v){self.fireEvent(BI.TextEditor.EVENT_KEY_DOWN)}),this.editor.on(BI.Editor.EVENT_SPACE,function(v){self.fireEvent(BI.TextEditor.EVENT_SPACE)}),this.editor.on(BI.Editor.EVENT_BACKSPACE,function(v){
self.fireEvent(BI.TextEditor.EVENT_BACKSPACE)}),this.editor.on(BI.Editor.EVENT_VALID,function(){self.fireEvent(BI.TextEditor.EVENT_VALID)}),this.editor.on(BI.Editor.EVENT_CONFIRM,function(){self.fireEvent(BI.TextEditor.EVENT_CONFIRM)}),this.editor.on(BI.Editor.EVENT_CHANGE_CONFIRM,function(){self.fireEvent(BI.TextEditor.EVENT_CHANGE_CONFIRM)}),this.editor.on(BI.Editor.EVENT_REMOVE,function(v){self.fireEvent(BI.TextEditor.EVENT_REMOVE)}),this.editor.on(BI.Editor.EVENT_START,function(){self.fireEvent(BI.TextEditor.EVENT_START)}),this.editor.on(BI.Editor.EVENT_PAUSE,function(){self.fireEvent(BI.TextEditor.EVENT_PAUSE)}),this.editor.on(BI.Editor.EVENT_STOP,function(){self.fireEvent(BI.TextEditor.EVENT_STOP)}),this.editor.on(BI.Editor.EVENT_ERROR,function(){self.fireEvent(BI.TextEditor.EVENT_ERROR,arguments)}),this.editor.on(BI.Editor.EVENT_ENTER,function(){self.fireEvent(BI.TextEditor.EVENT_ENTER)}),this.editor.on(BI.Editor.EVENT_RESTRICT,function(){self.fireEvent(BI.TextEditor.EVENT_RESTRICT)}),this.editor.on(BI.Editor.EVENT_EMPTY,function(){self.fireEvent(BI.TextEditor.EVENT_EMPTY)}),BI.createWidget({type:"bi.vertical",scrolly:!1,element:this,items:[this.editor]})},setWaterMark:function(v){this.options.watermark=v,this.editor.setWaterMark(v)},focus:function(){this.editor.focus()},blur:function(){this.editor.blur()},setErrorText:function(text){this.editor.setErrorText(text)},getErrorText:function(){return this.editor.getErrorText()},isValid:function(){return this.editor.isValid()},setValue:function(v){this.editor.setValue(v)},getValue:function(){return this.editor.getValue()}}),BI.TextEditor.EVENT_CHANGE="EVENT_CHANGE",BI.TextEditor.EVENT_FOCUS="EVENT_FOCUS",BI.TextEditor.EVENT_BLUR="EVENT_BLUR",BI.TextEditor.EVENT_CLICK="EVENT_CLICK",BI.TextEditor.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.TextEditor.EVENT_SPACE="EVENT_SPACE",BI.TextEditor.EVENT_BACKSPACE="EVENT_BACKSPACE",BI.TextEditor.EVENT_START="EVENT_START",BI.TextEditor.EVENT_PAUSE="EVENT_PAUSE",BI.TextEditor.EVENT_STOP="EVENT_STOP",BI.TextEditor.EVENT_CONFIRM="EVENT_CONFIRM",BI.TextEditor.EVENT_CHANGE_CONFIRM="EVENT_CHANGE_CONFIRM",BI.TextEditor.EVENT_VALID="EVENT_VALID",BI.TextEditor.EVENT_ERROR="EVENT_ERROR",BI.TextEditor.EVENT_ENTER="EVENT_ENTER",BI.TextEditor.EVENT_RESTRICT="EVENT_RESTRICT",BI.TextEditor.EVENT_REMOVE="EVENT_REMOVE",BI.TextEditor.EVENT_EMPTY="EVENT_EMPTY",BI.shortcut("bi.text_editor",BI.TextEditor),BI.SmallTextEditor=BI.inherit(BI.TextEditor,{_defaultConfig:function(){var conf=BI.SmallTextEditor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-small-text-editor",height:20})},_init:function(){BI.SmallTextEditor.superclass._init.apply(this,arguments)}}),BI.shortcut("bi.small_text_editor",BI.SmallTextEditor),BI.IntervalSlider=BI.inherit(BI.Single,{_constant:{EDITOR_WIDTH:58,EDITOR_R_GAP:60,EDITOR_HEIGHT:30,SLIDER_WIDTH_HALF:15,SLIDER_WIDTH:30,SLIDER_HEIGHT:30,TRACK_HEIGHT:24},props:{baseCls:"bi-interval-slider bi-slider-track",digit:!1,unit:""},render:function(){var self=this,c=this._constant;return this.enable=!1,this.valueOne="",this.valueTwo="",this.calculation=new BI.AccurateCalculationModel,this.grayTrack=BI.createWidget({type:"bi.layout",cls:"gray-track",height:6}),this.blueTrack=BI.createWidget({type:"bi.layout",cls:"blue-track bi-high-light-background",height:6}),this.track=this._createTrackWrapper(),this.labelOne=BI.createWidget({type:"bi.sign_text_editor",cls:"slider-editor-button",text:this.options.unit,allowBlank:!1,width:c.EDITOR_WIDTH,validationChecker:function(v){return self._checkValidation(v)}}),this.labelOne.element.hover(function(){self.labelOne.element.removeClass("bi-border").addClass("bi-border")},function(){self.labelOne.element.removeClass("bi-border")}),this.labelOne.on(BI.Editor.EVENT_CONFIRM,function(){var oldValueOne=self.valueOne,v=BI.parseFloat(this.getValue());self.valueOne=v;var percent=self._getPercentByValue(v),significantPercent=BI.parseFloat(percent.toFixed(1));self._setSliderOnePosition(significantPercent),self._setBlueTrack(),self._checkLabelPosition(oldValueOne,self.valueTwo,self.valueOne,self.valueTwo),self.fireEvent(BI.IntervalSlider.EVENT_CHANGE)}),this.labelTwo=BI.createWidget({type:"bi.sign_text_editor",cls:"slider-editor-button",text:this.options.unit,allowBlank:!1,width:c.EDITOR_WIDTH,validationChecker:function(v){return self._checkValidation(v)}}),this.labelTwo.element.hover(function(){self.labelTwo.element.removeClass("bi-border").addClass("bi-border")},function(){self.labelTwo.element.removeClass("bi-border")}),this.labelTwo.on(BI.Editor.EVENT_CONFIRM,function(){var oldValueTwo=self.valueTwo,v=BI.parseFloat(this.getValue());self.valueTwo=v;var percent=self._getPercentByValue(v),significantPercent=BI.parseFloat(percent.toFixed(1));self._setSliderTwoPosition(significantPercent),self._setBlueTrack(),self._checkLabelPosition(self.valueOne,oldValueTwo,self.valueOne,self.valueTwo),self.fireEvent(BI.IntervalSlider.EVENT_CHANGE)}),this.sliderOne=BI.createWidget({type:"bi.single_slider_button"}),this.sliderTwo=BI.createWidget({type:"bi.single_slider_button"}),this._draggable(this.sliderOne,!0),this._draggable(this.sliderTwo,!1),this._setVisible(!1),{type:"bi.absolute",element:this,items:[{el:{type:"bi.vertical",items:[{type:"bi.absolute",items:[{el:this.track,width:"100%",height:c.TRACK_HEIGHT}]}],hgap:7,height:c.TRACK_HEIGHT},top:23,left:0,width:"100%"},this._createLabelWrapper(),this._createSliderWrapper()]}},_rePosBySizeAfterMove:function(size,isLeft){var o=this.options,percent=100*size/this._getGrayTrackLength(),significantPercent=BI.parseFloat(percent.toFixed(1)),v=this._getValueByPercent(significantPercent);v=this._assertValue(v),v=o.digit===!1?v:v.toFixed(o.digit);var oldValueOne=this.valueOne,oldValueTwo=this.valueTwo;isLeft?(this._setSliderOnePosition(significantPercent),this.labelOne.setValue(v),this.valueOne=v,this._checkLabelPosition(oldValueOne,oldValueTwo,v,this.valueTwo)):(this._setSliderTwoPosition(significantPercent),this.labelTwo.setValue(v),this.valueTwo=v,this._checkLabelPosition(oldValueOne,oldValueTwo,this.valueOne,v)),this._setBlueTrack()},_rePosBySizeAfterStop:function(size,isLeft){var percent=100*size/this._getGrayTrackLength(),significantPercent=BI.parseFloat(percent.toFixed(1));isLeft?this._setSliderOnePosition(significantPercent):this._setSliderTwoPosition(significantPercent)},_draggable:function(widget,isLeft){function optimizeSize(s){return BI.clamp(s,0,self._getGrayTrackLength())}var self=this,o=this.options,startDrag=!1,size=0,offset=0,defaultSize=0,mouseMoveTracker=new BI.MouseMoveTracker(function(deltaX){mouseMoveTracker.isDragging()&&(startDrag=!0,offset+=deltaX,size=optimizeSize(defaultSize+offset),widget.element.addClass("dragging"),self._rePosBySizeAfterMove(size,isLeft))},function(){startDrag===!0&&(size=optimizeSize(size),self._rePosBySizeAfterStop(size,isLeft),size=0,offset=0,defaultSize=size,startDrag=!1),widget.element.removeClass("dragging"),mouseMoveTracker.releaseMouseMoves(),self.fireEvent(BI.IntervalSlider.EVENT_CHANGE)},window);widget.element.on("mousedown",function(event){widget.isEnabled()&&(defaultSize=this.offsetLeft,optimizeSize(defaultSize),mouseMoveTracker.captureMouseMoves(event))})},_createLabelWrapper:function(){var c=this._constant;return{el:{type:"bi.vertical",items:[{type:"bi.absolute",items:[{el:this.labelOne,top:0,left:"0%"}]},{type:"bi.absolute",items:[{el:this.labelTwo,top:0,left:"100%"}]}],rgap:c.EDITOR_R_GAP,height:c.SLIDER_HEIGHT},top:0,left:0,width:"100%"}},_createSliderWrapper:function(){var c=this._constant;return{el:{type:"bi.vertical",items:[{type:"bi.absolute",items:[{el:this.sliderOne,top:0,left:"0%"}]},{type:"bi.absolute",items:[{el:this.sliderTwo,top:0,left:"100%"}]}],hgap:c.SLIDER_WIDTH_HALF,height:c.SLIDER_HEIGHT},top:20,left:0,width:"100%"}},_createTrackWrapper:function(){return BI.createWidget({type:"bi.absolute",items:[{el:{type:"bi.vertical",items:[{type:"bi.absolute",items:[{el:this.grayTrack,top:0,left:0,width:"100%"},{el:this.blueTrack,top:0,left:0,width:"0%"}]}],hgap:8,height:8},top:8,left:0,width:"100%"}]})},_checkValidation:function(v){var o=this.options,valid=!1,dotText=(v+"").split(".")[1];return BI.isEmptyString(dotText)||BI.isNumeric(v)&&!(BI.isNull(v)||v<this.min||v>this.max)&&(o.digit===!1||BI.isInteger(v)?valid=!0:(dotText=dotText||"",valid=dotText.length===o.digit)),valid},_checkOverlap:function(){var labelOneLeft=this.labelOne.element[0].offsetLeft,labelTwoLeft=this.labelTwo.element[0].offsetLeft;labelOneLeft<=labelTwoLeft?labelTwoLeft-labelOneLeft<90?this.labelTwo.element.css({top:40}):this.labelTwo.element.css({top:0}):labelOneLeft-labelTwoLeft<90?this.labelTwo.element.css({top:40}):this.labelTwo.element.css({top:0})},_checkLabelPosition:function(oldValueOne,oldValueTwo,valueOne,valueTwo,isLeft){if(oldValueOne=BI.parseFloat(oldValueOne),oldValueTwo=BI.parseFloat(oldValueTwo),valueOne=BI.parseFloat(valueOne),valueTwo=BI.parseFloat(valueTwo),oldValueOne<=oldValueTwo&&valueOne>valueTwo||oldValueOne>=oldValueTwo&&valueOne<valueTwo){var isSliderOneLeft=BI.parseFloat(this.sliderOne.element[0].style.left)<BI.parseFloat(this.sliderTwo.element[0].style.left);this._resetLabelPosition(!isSliderOneLeft)}},_resetLabelPosition:function(needReverse){this.labelOne.element.css({left:needReverse?"100%":"0%"}),this.labelTwo.element.css({left:needReverse?"0%":"100%"})},_setSliderOnePosition:function(percent){this.sliderOne.element.css({left:percent+"%"})},_setSliderTwoPosition:function(percent){this.sliderTwo.element.css({left:percent+"%"})},_setBlueTrackLeft:function(percent){this.blueTrack.element.css({left:percent+"%"})},_setBlueTrackWidth:function(percent){this.blueTrack.element.css({width:percent+"%"})},_setBlueTrack:function(){var percentOne=this._getPercentByValue(this.labelOne.getValue()),percentTwo=this._getPercentByValue(this.labelTwo.getValue());percentOne<=percentTwo?(this._setBlueTrackLeft(percentOne),this._setBlueTrackWidth(percentTwo-percentOne)):(this._setBlueTrackLeft(percentTwo),this._setBlueTrackWidth(percentOne-percentTwo))},_setAllPosition:function(one,two){this._setSliderOnePosition(one),this._setSliderTwoPosition(two),this._setBlueTrack()},_setVisible:function(visible){this.sliderOne.setVisible(visible),this.sliderTwo.setVisible(visible),this.labelOne.setVisible(visible),this.labelTwo.setVisible(visible)},_setErrorText:function(){var errorText=BI.i18nText("BI-Basic_Please_Enter_Number_Between",this.min,this.max);this.labelOne.setErrorText(errorText),this.labelTwo.setErrorText(errorText)},_getGrayTrackLength:function(){return this.grayTrack.element[0].scrollWidth},_getValueByPercent:function(percent){var sub=this.calculation.accurateSubtraction(this.max,this.min),mul=this.calculation.accurateMultiplication(sub,percent),div=this.calculation.accurateDivisionTenExponent(mul,2);if(this.precision<0){var value=BI.parseFloat(this.calculation.accurateAddition(div,this.min)),reduceValue=Math.round(this.calculation.accurateDivisionTenExponent(value,-this.precision));return this.calculation.accurateMultiplication(reduceValue,Math.pow(10,-this.precision))}return BI.parseFloat(this.calculation.accurateAddition(div,this.min).toFixed(this.precision))},_getPercentByValue:function(v){return 100*(v-this.min)/(this.max-this.min)},_setDraggableEnable:function(enable){this.sliderOne.setEnable(enable),this.sliderTwo.setEnable(enable)},_getPrecision:function(){var sub=this.calculation.accurateSubtraction(this.max,this.min),pre=sub.toPrecision(4),eIndex=pre.indexOf("e"),arr=[];if(eIndex>-1){arr=pre.split("e");var decimalPartLength=BI.size(arr[0].split(".")[1]),sciencePartLength=BI.parseInt(arr[1].substring(1));return decimalPartLength-sciencePartLength}return arr=pre.split("."),arr.length>1?arr[1].length:0},_assertValue:function(value){return value<=this.min?this.min:value>=this.max?this.max:value},_setEnable:function(b){BI.IntervalSlider.superclass._setEnable.apply(this,[b]),b?this.blueTrack.element.removeClass("disabled-blue-track").addClass("blue-track"):this.blueTrack.element.removeClass("blue-track").addClass("disabled-blue-track")},getValue:function(){return this.valueOne<=this.valueTwo?{min:this.valueOne,max:this.valueTwo}:{min:this.valueTwo,max:this.valueOne}},setMinAndMax:function(v){var minNumber=BI.parseFloat(v.min),maxNumber=BI.parseFloat(v.max);!isNaN(minNumber)&&!isNaN(maxNumber)&&maxNumber>=minNumber&&(this.min=minNumber,this.max=maxNumber,this.valueOne=minNumber,this.valueTwo=maxNumber,this.precision=this._getPrecision(),this._setDraggableEnable(!0)),maxNumber===minNumber&&this._setDraggableEnable(!1)},setValue:function(v){var o=this.options,valueOne=BI.parseFloat(v.min),valueTwo=BI.parseFloat(v.max);valueOne=o.digit===!1?valueOne:BI.parseFloat(valueOne.toFixed(o.digit)),valueTwo=o.digit===!1?valueTwo:BI.parseFloat(valueTwo.toFixed(o.digit)),isNaN(valueOne)||isNaN(valueTwo)||(this._checkValidation(valueOne)&&(this.valueOne=this.valueOne<=this.valueTwo?valueOne:valueTwo),this._checkValidation(valueTwo)&&(this.valueTwo=this.valueOne<=this.valueTwo?valueTwo:valueOne),valueOne<this.min&&(this.valueOne=this.min),valueTwo>this.max&&(this.valueTwo=this.max))},reset:function(){this._setVisible(!1),this.enable=!1,this.valueOne="",this.valueTwo="",this.min=NaN,this.max=NaN,this._setBlueTrackWidth(0)},populate:function(){var o=this.options;isNaN(this.min)||isNaN(this.max)||(this.enable=!0,this._setVisible(!0),this._setErrorText(),(BI.isNumeric(this.valueOne)||BI.isNotEmptyString(this.valueOne))&&(BI.isNumeric(this.valueTwo)||BI.isNotEmptyString(this.valueTwo))?(this.labelOne.setValue(o.digit===!1?this.valueOne:BI.parseFloat(this.valueOne).toFixed(o.digit)),this.labelTwo.setValue(o.digit===!1?this.valueTwo:BI.parseFloat(this.valueTwo).toFixed(o.digit)),this._setAllPosition(this._getPercentByValue(this.valueOne),this._getPercentByValue(this.valueTwo))):(this.labelOne.setValue(this.min),this.labelTwo.setValue(this.max),this._setAllPosition(0,100)),this._resetLabelPosition(this.valueOne>this.valueTwo))}}),BI.IntervalSlider.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.interval_slider",BI.IntervalSlider),BI.AccurateCalculationModel=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.AccurateCalculationModel.superclass._defaultConfig.apply(this,arguments),{baseCls:""})},_init:function(){BI.AccurateCalculationModel.superclass._init.apply(this,arguments)},_getMagnitude:function(n){for(var magnitude="1",i=0;i<n;i++)magnitude+="0";return BI.parseInt(magnitude)},_formatDecimal:function(stringNumber1,stringNumber2){if(stringNumber1.numDecimalLength!==stringNumber2.numDecimalLength){var magnitudeDiff=stringNumber1.numDecimalLength-stringNumber2.numDecimalLength;if(magnitudeDiff>0)var needAddZero=stringNumber2;else{var needAddZero=stringNumber1;magnitudeDiff=0-magnitudeDiff}for(var i=0;i<magnitudeDiff;i++)"0"===needAddZero.numDecimal&&0===i||(needAddZero.numDecimal+="0")}},_stringNumberFactory:function(num){var strNum=num.toString(),numStrArray=strNum.split("."),numInteger=numStrArray[0];if(1===numStrArray.length)var numDecimal="0",numDecimalLength=0;else var numDecimal=numStrArray[1],numDecimalLength=numStrArray[1].length;return{numInteger:numInteger,numDecimal:numDecimal,numDecimalLength:numDecimalLength}},_accurateSubtraction:function(num1,num2){function getDecimalMaxLength(num1,num2){return num1.numDecimal.length>=num2.numDecimal.length?num1.numDecimal.length:num2.numDecimal.length}function addZero(resultTemp,length){for(var diff=length-resultTemp.length,i=0;i<diff;i++)resultTemp="0"+resultTemp;return resultTemp}var stringNumber1=this._stringNumberFactory(num1),stringNumber2=this._stringNumberFactory(num2),integerResult=BI.parseInt(stringNumber1.numInteger)-BI.parseInt(stringNumber2.numInteger);this._formatDecimal(stringNumber1,stringNumber2);var decimalMaxLength=getDecimalMaxLength(stringNumber1,stringNumber2);if(BI.parseInt(stringNumber1.numDecimal)>=BI.parseInt(stringNumber2.numDecimal))var decimalResultTemp=(BI.parseInt(stringNumber1.numDecimal)-BI.parseInt(stringNumber2.numDecimal)).toString(),decimalResult=addZero(decimalResultTemp,decimalMaxLength);else{integerResult--;var borrow=this._getMagnitude(decimalMaxLength),decimalResultTemp=(borrow+BI.parseInt(stringNumber1.numDecimal)-BI.parseInt(stringNumber2.numDecimal)).toString(),decimalResult=addZero(decimalResultTemp,decimalMaxLength)}var result=integerResult+"."+decimalResult;return BI.parseFloat(result)},_accurateAddition:function(num1,num2){function addZero(resultTemp,length){for(var diff=length-resultTemp.length,i=0;i<diff;i++)resultTemp="0"+resultTemp;return resultTemp}var stringNumber1=this._stringNumberFactory(num1),stringNumber2=this._stringNumberFactory(num2),integerResult=BI.parseInt(stringNumber1.numInteger)+BI.parseInt(stringNumber2.numInteger);this._formatDecimal(stringNumber1,stringNumber2);var decimalResult=(BI.parseInt(stringNumber1.numDecimal)+BI.parseInt(stringNumber2.numDecimal)).toString();"0"!==decimalResult&&(decimalResult.length<=stringNumber1.numDecimal.length?decimalResult=addZero(decimalResult,stringNumber1.numDecimal.length):(integerResult++,decimalResult=decimalResult.slice(1)));var result=integerResult+"."+decimalResult;return BI.parseFloat(result)},_accurateMultiplication:function(num1,num2){var stringNumber1=this._stringNumberFactory(num1),stringNumber2=this._stringNumberFactory(num2),integerResult=BI.parseInt(stringNumber1.numInteger)*BI.parseInt(stringNumber2.numInteger),dec1Int2=this._accurateDivisionTenExponent(BI.parseInt(stringNumber1.numDecimal)*BI.parseInt(stringNumber2.numInteger),stringNumber1.numDecimalLength),int1dec2=this._accurateDivisionTenExponent(BI.parseInt(stringNumber1.numInteger)*BI.parseInt(stringNumber2.numDecimal),stringNumber2.numDecimalLength),dec1dec2=this._accurateDivisionTenExponent(BI.parseInt(stringNumber1.numDecimal)*BI.parseInt(stringNumber2.numDecimal),stringNumber1.numDecimalLength+stringNumber2.numDecimalLength);return this._accurateAddition(this._accurateAddition(this._accurateAddition(integerResult,dec1Int2),int1dec2),dec1dec2)},_accurateDivisionTenExponent:function(num,n){function addZero(resultTemp,length){for(var diff=length-resultTemp.length,i=0;i<diff;i++)resultTemp="0"+resultTemp;return resultTemp}var stringNumber=this._stringNumberFactory(num);if(stringNumber.numInteger.length>n)var integerResult=stringNumber.numInteger.slice(0,stringNumber.numInteger.length-n),partDecimalResult=stringNumber.numInteger.slice(-n);else var integerResult="0",partDecimalResult=addZero(stringNumber.numInteger,n);var result=integerResult+"."+partDecimalResult+stringNumber.numDecimal;return BI.parseFloat(result)},accurateSubtraction:function(num1,num2){return num1>=0&&num2>=0?num1>=num2?this._accurateSubtraction(num1,num2):-this._accurateSubtraction(num2,num1):num1>=0&&num2<0?this._accurateAddition(num1,-num2):num1<0&&num2>=0?-this._accurateAddition(-num1,num2):num1<0&&num2<0?num1>=num2?this._accurateSubtraction(-num2,-num1):this._accurateSubtraction(-num1,-num2):void 0},accurateAddition:function(num1,num2){return num1>=0&&num2>=0?this._accurateAddition(num1,num2):num1>=0&&num2<0?this.accurateSubtraction(num1,-num2):num1<0&&num2>=0?this.accurateSubtraction(num2,-num1):num1<0&&num2<0?-this._accurateAddition(-num1,-num2):void 0},accurateMultiplication:function(num1,num2){return num1>=0&&num2>=0?this._accurateMultiplication(num1,num2):num1>=0&&num2<0?-this._accurateMultiplication(num1,-num2):num1<0&&num2>=0?-this._accurateMultiplication(-num1,num2):num1<0&&num2<0?this._accurateMultiplication(-num1,-num2):void 0},accurateDivisionTenExponent:function(num1,n){return num1>=0?this._accurateDivisionTenExponent(num1,n):-this._accurateDivisionTenExponent(-num1,n)}}),BI.DownListCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.DownListCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multilayer-down-list-combo",height:24,items:[],adjustLength:0,direction:"bottom",trigger:"click",container:null,stopPropagation:!1,el:{}})},_init:function(){BI.DownListCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.popupview=BI.createWidget({type:"bi.multi_layer_down_list_popup",items:o.items,chooseType:o.chooseType,value:o.value}),this.popupview.on(BI.DownListPopup.EVENT_CHANGE,function(value){self.fireEvent(BI.DownListCombo.EVENT_CHANGE,value),self.downlistcombo.hideView()}),this.popupview.on(BI.DownListPopup.EVENT_SON_VALUE_CHANGE,function(value,fatherValue){self.fireEvent(BI.DownListCombo.EVENT_SON_VALUE_CHANGE,value,fatherValue),self.downlistcombo.hideView()}),this.downlistcombo=BI.createWidget({element:this,type:"bi.combo",trigger:o.trigger,isNeedAdjustWidth:!1,container:o.container,adjustLength:o.adjustLength,direction:o.direction,stopPropagation:o.stopPropagation,el:BI.createWidget(o.el,{type:"bi.icon_trigger",extraCls:o.iconCls?o.iconCls:"pull-down-font",width:o.width,height:o.height}),popup:{el:this.popupview,stopPropagation:o.stopPropagation,maxHeight:1e3}}),this.downlistcombo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){self.fireEvent(BI.DownListCombo.EVENT_BEFORE_POPUPVIEW)})},hideView:function(){this.downlistcombo.hideView()},showView:function(e){this.downlistcombo.showView(e)},populate:function(items){this.popupview.populate(items)},setValue:function(v){this.popupview.setValue(v)},getValue:function(){return this.popupview.getValue()}}),BI.DownListCombo.EVENT_CHANGE="EVENT_CHANGE",BI.DownListCombo.EVENT_SON_VALUE_CHANGE="EVENT_SON_VALUE_CHANGE",BI.DownListCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.multi_layer_down_list_combo",BI.DownListCombo),BI.MultiLayerDownListPopup=BI.inherit(BI.Pane,{constants:{nextIcon:"pull-right-e-font",height:25,iconHeight:12,iconWidth:12,hgap:0,vgap:0,border:1},_defaultConfig:function(){var conf=BI.MultiLayerDownListPopup.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:"bi-down-list-popup",items:[],chooseType:BI.Selection.Multi})},_init:function(){BI.MultiLayerDownListPopup.superclass._init.apply(this,arguments),this.singleValues=[],this.childValueMap={},this.fatherValueMap={};var self=this,o=this.options,children=this._createPopupItems(o.items);this.popup=BI.createWidget({type:"bi.button_tree",items:BI.createItems(children,{},{adjustLength:-2}),layouts:[{type:"bi.vertical",hgap:this.constants.hgap,vgap:this.constants.vgap}],value:this._digest(o.value),chooseType:o.chooseType}),this.popup.on(BI.ButtonTree.EVENT_CHANGE,function(value,object){var changedValue=value;if(BI.isNotNull(self.childValueMap[value])){changedValue=self.childValueMap[value];var fatherValue=self.fatherValueMap[value],fatherArrayValue=(fatherValue+"").split("_");self.fireEvent(BI.MultiLayerDownListPopup.EVENT_SON_VALUE_CHANGE,changedValue,fatherArrayValue.length>1?fatherArrayValue:fatherValue)}else self.fireEvent(BI.MultiLayerDownListPopup.EVENT_CHANGE,changedValue,object);if(!BI.contains(self.singleValues,changedValue)){var item=self.getValue(),result=[];BI.each(item,function(i,valueObject){valueObject.value!=changedValue&&result.push(valueObject)}),self.setValue(result)}}),BI.createWidget({type:"bi.vertical",element:this,items:[this.popup],vgap:5})},_createPopupItems:function(items){var self=this,result=[];return BI.each(items,function(i,it){var item_done={type:"bi.down_list_group",items:[]};if(BI.each(it,function(i,item){BI.isNotEmptyArray(item.children)&&!BI.isEmpty(item.el)?(item.type="bi.combo_group",item.cls="down-list-group",item.trigger="hover",item.isNeedAdjustWidth=!1,item.el.title=item.el.title||item.el.text,item.el.type="bi.down_list_group_item",item.el.logic={dynamic:!0},item.el.height=self.constants.height,item.el.iconCls2=self.constants.nextIcon,item.popup={lgap:1,el:{type:"bi.button_tree",chooseType:0,layouts:[{type:"bi.vertical"}]},innerVGap:5},item.el.childValues=[],BI.each(item.children,function(i,child){child=child.el?BI.extend(child.el,{children:child.children}):child;var fatherValue=BI.deepClone(item.el.value),childValue=BI.deepClone(child.value);self.singleValues.push(child.value),child.type="bi.down_list_item",child.extraCls=" child-down-list-item",child.title=child.title||child.text,child.textRgap=10,child.isNeedAdjustWidth=!1,child.logic={dynamic:!0},child.father=fatherValue,self.fatherValueMap[self._createChildValue(fatherValue,childValue)]=fatherValue,self.childValueMap[self._createChildValue(fatherValue,childValue)]=childValue,child.value=self._createChildValue(fatherValue,childValue),item.el.childValues.push(child.value),BI.isNotEmptyArray(child.children)&&(child.type="bi.down_list_group_item",self._createChildren(child),child.height=self.constants.height,child.iconCls2=self.constants.nextIcon,item.el.childValues=BI.concat(item.el.childValues,child.childValues))})):(item.type="bi.down_list_item",item.title=item.title||item.text,item.textRgap=10,item.isNeedAdjustWidth=!1,item.logic={dynamic:!0});var el_done={};el_done.el=item,item_done.items.push(el_done)}),self._isGroup(item_done.items)&&BI.each(item_done.items,function(i,item){self.singleValues.push(item.el.value)}),result.push(item_done),self._needSpliter(i,items.length)){var spliter_container=BI.createWidget({type:"bi.vertical",items:[{el:{type:"bi.layout",cls:"bi-down-list-spliter bi-border-top cursor-pointer",height:0}}],cls:"bi-down-list-spliter-container cursor-pointer",vgap:5,lgap:10});result.push(spliter_container)}}),result},_createChildren:function(child){var self=this;child.childValues=[],BI.each(child.children,function(i,c){var fatherValue=BI.deepClone(child.value),childValue=BI.deepClone(c.value);c.type="bi.down_list_item",c.title=c.title||c.text,c.textRgap=10,c.isNeedAdjustWidth=!1,c.logic={dynamic:!0},c.father=fatherValue,self.fatherValueMap[self._createChildValue(fatherValue,childValue)]=fatherValue,self.childValueMap[self._createChildValue(fatherValue,childValue)]=childValue,c.value=self._createChildValue(fatherValue,childValue),child.childValues.push(c.value)})},_isGroup:function(i){return i.length>1},_needSpliter:function(i,itemLength){return i<itemLength-1},_createChildValue:function(fatherValue,childValue){var fValue=fatherValue;return BI.isArray(fatherValue)&&(fValue=fatherValue.join("_")),fValue+"_"+childValue},_digest:function(valueItem){var self=this,valueArray=[];return BI.each(valueItem,function(i,item){var value;value=BI.isNotNull(item.childValue)?self._createChildValue(item.value,item.childValue):item.value,valueArray.push(value)}),valueArray},_checkValues:function(values){function joinValue(sources,targets){var value="";return BI.some(sources,function(idx,s){return BI.some(targets,function(id,t){if(s===t)return value=s,!0})}),value}function getChildrenValue(item){var children=[];return BI.isNotNull(item.children)?BI.each(item.children,function(idx,child){children=BI.concat(children,getChildrenValue(child))}):children.push(item.value),children}var self=this,o=this.options,value=[];return BI.each(o.items,function(idx,itemGroup){BI.each(itemGroup,function(id,item){if(BI.isNotNull(item.children)){var childValues=getChildrenValue(item),v=joinValue(childValues,values[idx]);BI.isNotEmptyString(v)&&value.push(v)}else item.value===values[idx][0]&&value.push(values[idx][0])})}),value},populate:function(items){BI.MultiLayerDownListPopup.superclass.populate.apply(this,arguments);var self=this;self.childValueMap={},self.fatherValueMap={},self.singleValues=[];var children=self._createPopupItems(items),popupItem=BI.createItems(children,{},{adjustLength:-2});self.popup.populate(popupItem)},setValue:function(valueItem){this.popup.setValue(this._digest(valueItem))},_getValue:function(){var v=[];return BI.each(this.popup.getAllButtons(),function(i,item){i%2===0&&v.push(item.getValue())}),v},getValue:function(){var self=this,result=[],values=this._checkValues(this._getValue());return BI.each(values,function(i,value){var valueItem={};if(BI.isNotNull(self.childValueMap[value])){var fartherValue=self.fatherValueMap[value];valueItem.childValue=self.childValueMap[value];var fatherArrayValue=(fartherValue+"").split("_");valueItem.value=fatherArrayValue.length>1?fatherArrayValue:fartherValue}else valueItem.value=value;result.push(valueItem)}),result}}),BI.MultiLayerDownListPopup.EVENT_CHANGE="EVENT_CHANGE",BI.MultiLayerDownListPopup.EVENT_SON_VALUE_CHANGE="EVENT_SON_VALUE_CHANGE",BI.shortcut("bi.multi_layer_down_list_popup",BI.MultiLayerDownListPopup),BI.MultiLayerSelectTreeCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiLayerSelectTreeCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multilayer-select-tree-combo",isDefaultInit:!1,height:24,text:"",itemsCreator:BI.emptyFn,items:[],value:"",attributes:{tabIndex:0},allowEdit:!1,allowSearchValue:!1,allowInsertValue:!1})},render:function(){var self=this,o=this.options,combo=o.itemsCreator===BI.emptyFn?this._getSyncConfig():this._getAsyncConfig();return o.allowEdit||o.itemsCreator!==BI.emptyFn?{type:"bi.absolute",items:[{el:combo,left:0,right:0,top:0,bottom:0},{el:{type:"bi.trigger_icon_button",cls:"trigger-icon-button",ref:function(_ref){self.triggerBtn=_ref},width:o.height,height:o.height,handler:function(){self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}},right:0,bottom:0,top:0}]}:combo},_getBaseConfig:function(){var self=this,o=this.options;return{type:"bi.combo",container:o.container,destroyWhenHide:o.destroyWhenHide,adjustLength:2,ref:function(_ref){self.combo=_ref},popup:{el:{type:"bi.multilayer_select_tree_popup",isDefaultInit:o.isDefaultInit,itemsCreator:o.itemsCreator,items:o.items,ref:function(_ref){self.trigger&&self.trigger.getSearcher().setAdapter(_ref)},listeners:[{eventName:BI.MultiLayerSelectTreePopup.EVENT_CHANGE,action:function(){self.setValue(this.getValue()),self.combo.hideView(),self.fireEvent(BI.MultiLayerSelectTreeCombo.EVENT_CHANGE)}}],onLoaded:function(){BI.nextTick(function(){self.combo.adjustWidth(),self.combo.adjustHeight()})}},value:o.value,maxHeight:400,minHeight:240}}},_getSearchConfig:function(){var self=this,o=this.options;return{el:{type:"bi.multilayer_select_tree_trigger",container:o.container,allowInsertValue:o.allowInsertValue,allowSearchValue:o.allowSearchValue,allowEdit:o.allowEdit,cls:"multilayer-select-tree-trigger",ref:function(_ref){self.trigger=_ref},items:o.items,itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,watermark:o.watermark,height:o.height-2,text:o.text,value:o.value,tipType:o.tipType,warningTitle:o.warningTitle,title:o.title,listeners:[{eventName:BI.MultiLayerSelectTreeTrigger.EVENT_CHANGE,action:function(){self.setValue(this.getValue()),self.combo.hideView(),self.fireEvent(BI.MultiLayerSelectTreeCombo.EVENT_CHANGE)}},{eventName:BI.MultiLayerSelectTreeTrigger.EVENT_FOCUS,action:function(){self.fireEvent(BI.MultiLayerSelectTreeCombo.EVENT_FOCUS)}},{eventName:BI.MultiLayerSelectTreeTrigger.EVENT_BLUR,action:function(){self.fireEvent(BI.MultiLayerSelectTreeCombo.EVENT_BLUR)}},{eventName:BI.MultiLayerSelectTreeTrigger.EVENT_SEARCHING,action:function(){self.fireEvent(BI.MultiLayerSelectTreeCombo.EVENT_SEARCHING)}},{eventName:BI.MultiLayerSelectTreeTrigger.EVENT_ADD_ITEM,action:function(){var value=self.trigger.getSearcher().getKeyword();self.combo.setValue([value]),self.combo.hideView()}}]},toggle:!o.allowEdit,hideChecker:function(e){return!(o.container&&self.trigger.getSearcher().isSearching()&&self.trigger.getSearcher().getView().element.find(e.target).length>0)&&0===self.triggerBtn.element.find(e.target).length},listeners:[{eventName:BI.Combo.EVENT_AFTER_HIDEVIEW,action:function(){self.trigger.stopEditing()}}]}},_getSyncConfig:function(){var o=this.options,baseConfig=this._getBaseConfig();return BI.extend(baseConfig,o.allowEdit?this._getSearchConfig():{el:{type:"bi.single_tree_trigger",text:o.text,height:o.height,items:o.items,value:o.value}})},_getAsyncConfig:function(){var config=this._getBaseConfig();return BI.extend(config,this._getSearchConfig())},setValue:function(v){v=BI.isArray(v)?v:[v],this.combo.setValue(v)},getValue:function(){return this.combo.getValue();
},populate:function(items){this.combo.populate(items)}}),BI.MultiLayerSelectTreeCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiLayerSelectTreeCombo.EVENT_BLUR="EVENT_BLUR",BI.MultiLayerSelectTreeCombo.EVENT_FOCUS="EVENT_FOCUS",BI.MultiLayerSelectTreeCombo.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multilayer_select_tree_combo",BI.MultiLayerSelectTreeCombo),BI.MultiLayerSelectTreeInsertSearchPane=BI.inherit(BI.Widget,{props:function(){return{baseCls:"bi-multilayer-select-tree-popup",tipText:BI.i18nText("BI-No_Selected_Item"),isDefaultInit:!1,itemsCreator:BI.emptyFn,items:[],value:""}},render:function(){var self=this,o=this.options;return this.tree=BI.createWidget({type:"bi.multilayer_select_level_tree",isDefaultInit:o.isDefaultInit,items:o.items,itemsCreator:o.itemsCreator===BI.emptyFn?BI.emptyFn:function(op,callback){o.itemsCreator(op,function(res){callback(res),self.setKeyword(o.keywordGetter())})},keywordGetter:o.keywordGetter,value:o.value,scrollable:null,listeners:[{eventName:BI.Controller.EVENT_CHANGE,action:function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}},{eventName:BI.MultiLayerSelectLevelTree.EVENT_CHANGE,action:function(){self.fireEvent(BI.MultiLayerSelectTreeInsertSearchPane.EVENT_CHANGE)}}]}),{type:"bi.vertical",scrolly:!1,scrollable:!0,vgap:5,items:[{type:"bi.text_button",invisible:!0,text:BI.i18nText("BI-Basic_Click_To_Add_Text",""),height:24,cls:"bi-high-light",hgap:5,ref:function(_ref){self.addNotMatchTip=_ref},handler:function(){self.fireEvent(BI.MultiLayerSelectTreeInsertSearchPane.EVENT_ADD_ITEM,o.keywordGetter())}},this.tree]}},setKeyword:function(keyword){var showTip=BI.isEmptyArray(this.tree.getAllLeaves());this.addNotMatchTip.setVisible(showTip),showTip&&this.addNotMatchTip.setText(BI.i18nText("BI-Basic_Click_To_Add_Text",keyword))},getValue:function(){return this.tree.getValue()},setValue:function(v){v=BI.isArray(v)?v:[v],this.tree.setValue(v)},populate:function(items){this.tree.populate(items)}}),BI.MultiLayerSelectTreeInsertSearchPane.EVENT_ADD_ITEM="EVENT_ADD_ITEM",BI.MultiLayerSelectTreeInsertSearchPane.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multilayer_select_tree_insert_search_pane",BI.MultiLayerSelectTreeInsertSearchPane),BI.MultiLayerSelectLevelTree=BI.inherit(BI.Pane,{_defaultConfig:function(){return BI.extend(BI.MultiLayerSelectLevelTree.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multilayer-select-level-tree",isDefaultInit:!1,items:[],itemsCreator:BI.emptyFn,keywordGetter:BI.emptyFn,value:"",scrollable:!0})},_init:function(){var o=this.options;BI.MultiLayerSelectLevelTree.superclass._init.apply(this,arguments),this.storeValue=o.value,this.initTree(this.options.items),this.check()},_formatItems:function(nodes,layer,pNode){var self=this,o=this.options,keyword=o.keywordGetter();return BI.each(nodes,function(i,node){var extend={};node.layer=layer,BI.isKey(node.id)||(node.id=BI.UUID()),node.keyword=node.keyword||keyword,extend.pNode=pNode,node.isParent===!0||node.parent===!0||BI.isNotEmptyArray(node.children)?(extend.type="bi.multilayer_select_tree_mid_plus_group_node",i===nodes.length-1&&(extend.type="bi.multilayer_select_tree_last_plus_group_node",extend.isLastNode=!0),0!==i||pNode||(extend.type="bi.multilayer_select_tree_first_plus_group_node"),0!==i||i!==nodes.length-1||pNode||(extend.type="bi.multilayer_select_tree_plus_group_node"),BI.defaults(node,extend),self._formatItems(node.children,layer+1,node)):(extend.type="bi.multilayer_single_tree_mid_tree_leaf_item",0!==i||pNode||(extend.type="bi.multilayer_single_tree_first_tree_leaf_item"),i===nodes.length-1&&(extend.type="bi.multilayer_single_tree_last_tree_leaf_item"),BI.defaults(node,extend))}),nodes},_assertId:function(sNodes){BI.each(sNodes,function(i,node){node.id=node.id||BI.UUID()})},initTree:function(nodes){var self=this,o=this.options,hasNext=!1;this.empty(),this._assertId(nodes),this.tree=BI.createWidget({type:"bi.custom_tree",cls:"tree-view display-table",expander:{type:"bi.select_tree_expander",isDefaultInit:o.isDefaultInit,el:{},popup:{type:"bi.custom_tree"}},items:this._formatItems(BI.Tree.transformToTreeFormat(nodes),0),itemsCreator:function(op,callback){1===op.times&&!op.node&&BI.nextTick(function(){self.loading()}),o.itemsCreator(op,function(ob){hasNext=ob.hasNext,1===op.times&&!op.node&&self._populate(ob.items),callback(self._formatItems(BI.Tree.transformToTreeFormat(ob.items),op.node?op.node.layer+1:0,op.node)),self.setValue(self.storeValue),1===op.times&&!op.node&&BI.nextTick(function(){self.loaded()})})},value:o.value,el:{type:"bi.loader",isDefaultInit:o.itemsCreator!==BI.emptyFn,el:{type:"bi.button_tree",chooseType:o.chooseType,behaviors:o.behaviors,layouts:[{type:"bi.vertical"}]},hasNext:function(){return hasNext}}}),this.tree.on(BI.Controller.EVENT_CHANGE,function(type,value){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&(self.setValue(value),self.fireEvent(BI.MultiLayerSelectLevelTree.EVENT_CHANGE,arguments))}),BI.createWidget({type:"bi.adaptive",element:this,scrollable:o.scrollable,items:[this.tree]})},_populate:function(){BI.MultiLayerSelectLevelTree.superclass.populate.apply(this,arguments)},populate:function(nodes){this._populate(nodes),BI.isNull(nodes)?this.tree.populate():this.tree.populate(this._formatItems(BI.Tree.transformToTreeFormat(nodes),0))},setValue:function(v){this.options.chooseType===BI.Selection.None||(this.storeValue=v,this.tree.setValue(v))},getValue:function(){return BI.isArray(this.storeValue)?this.storeValue:BI.isNull(this.storeValue)?[]:[this.storeValue]},getAllLeaves:function(){return this.tree.getAllLeaves()},getNodeById:function(id){return this.tree.getNodeById(id)},getNodeByValue:function(id){return this.tree.getNodeByValue(id)}}),BI.MultiLayerSelectLevelTree.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multilayer_select_level_tree",BI.MultiLayerSelectLevelTree),BI.MultiLayerSelectTreePopup=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiLayerSelectTreePopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multilayer-select-tree-popup",tipText:BI.i18nText("BI-No_Selected_Item"),isDefaultInit:!1,itemsCreator:BI.emptyFn,items:[],value:"",onLoaded:BI.emptyFn})},_init:function(){BI.MultiLayerSelectTreePopup.superclass._init.apply(this,arguments);var self=this,o=this.options;this.tree=BI.createWidget({type:"bi.multilayer_select_level_tree",isDefaultInit:o.isDefaultInit,items:o.items,itemsCreator:o.itemsCreator,keywordGetter:o.keywordGetter,value:o.value,scrollable:null,onLoaded:function(){self.tree.check(),o.onLoaded()}}),BI.createWidget({type:"bi.vertical",scrolly:!1,scrollable:!0,element:this,vgap:5,items:[this.tree]}),this.tree.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.tree.on(BI.MultiLayerSelectLevelTree.EVENT_CHANGE,function(){self.fireEvent(BI.MultiLayerSelectTreePopup.EVENT_CHANGE)})},getValue:function(){return this.tree.getValue()},setValue:function(v){v=BI.isArray(v)?v:[v],this.tree.setValue(v)},populate:function(items){this.tree.populate(items)}}),BI.MultiLayerSelectTreePopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multilayer_select_tree_popup",BI.MultiLayerSelectTreePopup),BI.MultiLayerSelectTreeTrigger=BI.inherit(BI.Trigger,{props:function(){return{extraCls:"bi-multi-layer-select-tree-trigger bi-border bi-focus-shadow bi-border-radius",height:24,valueFormatter:function(v){return v},itemsCreator:BI.emptyFn,watermark:BI.i18nText("BI-Basic_Search"),allowSearchValue:!1}},render:function(){var self=this,o=this.options;o.itemsCreator===BI.emptyFn&&this._initData();var content={type:"bi.htape",items:[{el:{type:"bi.searcher",ref:function(){self.searcher=this},masker:BI.isNotNull(o.container)?{offset:{},container:o.container}:{offset:{}},isAutoSearch:!1,el:{type:"bi.state_editor",ref:function(){self.editor=this},defaultText:o.text,text:this._digest(o.value),value:o.value,height:o.height,tipText:"",watermark:o.watermark,listeners:[{eventName:BI.StateEditor.EVENT_FOCUS,action:function(){self.fireEvent(BI.MultiLayerSelectTreeTrigger.EVENT_FOCUS)}},{eventName:BI.StateEditor.EVENT_BLUR,action:function(){self.fireEvent(BI.MultiLayerSelectTreeTrigger.EVENT_BLUR)}},{eventName:BI.StateEditor.EVENT_CHANGE,action:function(){self.fireEvent(BI.MultiLayerSelectTreeTrigger.EVENT_SEARCHING)}}]},popup:{type:o.allowInsertValue?"bi.multilayer_select_tree_insert_search_pane":"bi.multilayer_select_tree_popup",itemsCreator:o.itemsCreator===BI.emptyFn?BI.emptyFn:function(op,callback){op.keyword=self.editor.getValue(),o.itemsCreator(op,callback)},keywordGetter:function(){return self.editor.getValue()},cls:"bi-card",listeners:[{eventName:BI.MultiLayerSelectTreeInsertSearchPane.EVENT_ADD_ITEM,action:function(){self.options.text=self.getSearcher().getKeyword(),self.fireEvent(BI.MultiLayerSelectTreeTrigger.EVENT_ADD_ITEM)}}],ref:function(_ref){self.popup=_ref}},onSearch:function(obj,callback){var keyword=obj.keyword;o.itemsCreator===BI.emptyFn?(callback(self._getSearchItems(keyword)),o.allowInsertValue&&self.popup.setKeyword(keyword)):callback()},listeners:[{eventName:BI.Searcher.EVENT_CHANGE,action:function(){self.fireEvent(BI.MultiLayerSelectTreeTrigger.EVENT_CHANGE)}}]}},{el:{type:"bi.layout",width:24},width:24}]};return o.allowEdit?content:{type:"bi.absolute",items:[{el:content,left:0,right:0,top:0,bottom:0},{el:{type:"bi.layout"},left:0,right:24,top:0,bottom:0}]}},_initData:function(){var o=this.options;this.tree=new BI.Tree,this.nodes=BI.Tree.treeFormat(BI.deepClone(o.items)),this.tree.initTree(this.nodes)},_getSearchItems:function(keyword){var self=this,o=this.options,items=[];return this.tree.traverse(function(node){var find=BI.Func.getSearchResult(self.tree.isRoot(node)?[]:BI.concat([node.text],o.allowSearchValue?[node.value]:[]),keyword);if(find.find.length>0||find.match.length>0)return items.push(node),!0}),this._fillTreeStructure4Search(items,"id")},_createJson:function(node,open){return{id:node.id,pId:node.pId,text:node.text,value:node.value,isParent:BI.isNotEmptyArray(node.children),open:open}},_getChildren:function(node){var self=this;node.children=node.children||[];var nodes=[];return BI.each(node.children,function(idx,child){var children=self._getChildren(child);nodes=nodes.concat(children)}),node.children.concat(nodes)},_fillTreeStructure4Search:function(leaves){var self=this,result=[],queue=[];for(BI.each(leaves,function(idx,node){queue.push({pId:node.pId}),result.push(node),result=result.concat(self._getChildren(node))});BI.isNotEmptyArray(queue);){var node=queue.pop(),pNode=this.tree.search(this.tree.getRoot(),node.pId,"id");null!=pNode&&(pNode.open=!0,queue.push({pId:pNode.pId}),result.push(pNode))}return BI.uniqBy(BI.map(result,function(idx,node){return self._createJson(node,node.open)}),"id")},_digest:function(v){var o=this.options;if(o.itemsCreator===BI.emptyFn){var result=BI.find(o.items,function(i,item){return item.value===v});return BI.isNotNull(result)?result.text:o.text}return o.valueFormatter(v)},stopEditing:function(){this.searcher.stopSearch()},getSearcher:function(){return this.searcher},populate:function(items){this.options.items=items,this._initData(items)},setValue:function(v){this.editor.setState(this._digest(v[0]))},getValue:function(){return this.searcher.getValue()}}),BI.MultiLayerSelectTreeTrigger.EVENT_FOCUS="EVENT_FOCUS",BI.MultiLayerSelectTreeTrigger.EVENT_BLUR="EVENT_BLUR",BI.MultiLayerSelectTreeTrigger.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiLayerSelectTreeTrigger.EVENT_STOP="EVENT_STOP",BI.MultiLayerSelectTreeTrigger.EVENT_START="EVENT_START",BI.MultiLayerSelectTreeTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.MultiLayerSelectTreeTrigger.EVENT_ADD_ITEM="EVENT_ADD_ITEM",BI.shortcut("bi.multilayer_select_tree_trigger",BI.MultiLayerSelectTreeTrigger),BI.MultiLayerSelectTreeFirstPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-multilayer-select-tree-first-plus-group-node bi-list-item-active",layer:0,id:"",pId:"",readonly:!0,open:!1,height:24})},_init:function(){BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.node=BI.createWidget({type:"bi.select_tree_first_plus_group_node",cls:"bi-list-item-none",stopPropagation:!0,logic:{dynamic:!0},id:o.id,pId:o.pId,keyword:o.keyword,open:o.open,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py}),this.node.on(BI.Controller.EVENT_CHANGE,function(type){self.setSelected(self.isSelected()),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});for(var needBlankLayers=[],pNode=o.pNode;pNode;)pNode.isLastNode&&needBlankLayers.push(pNode.layer),pNode=pNode.pNode;var items=[];BI.count(0,o.layer,function(index){items.push({type:"bi.layout",cls:BI.contains(needBlankLayers,index)?"":"base-line-conn-background",width:12,height:o.height})}),items.push(this.node),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,12),items:[items]})},isOnce:function(){return!0},doRedMark:function(){this.node.doRedMark.apply(this.node,arguments)},unRedMark:function(){this.node.unRedMark.apply(this.node,arguments)},isSelected:function(){return this.node.isSelected()},setSelected:function(b){BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass.setSelected.apply(this,arguments),this.node.setSelected(b)},doClick:function(){BI.NodeButton.superclass.doClick.apply(this,arguments),this.node.setSelected(this.isSelected())},setOpened:function(v){BI.MultiLayerSelectTreeFirstPlusGroupNode.superclass.setOpened.apply(this,arguments),this.node.setOpened(v)}}),BI.shortcut("bi.multilayer_select_tree_first_plus_group_node",BI.MultiLayerSelectTreeFirstPlusGroupNode),BI.MultiLayerSelectTreeLastPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.MultiLayerSelectTreeLastPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-multilayer-select-tree-last-plus-group-node bi-list-item-active",layer:0,id:"",pId:"",readonly:!0,open:!1,height:24})},_init:function(){BI.MultiLayerSelectTreeLastPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.node=BI.createWidget({type:"bi.select_tree_last_plus_group_node",cls:"bi-list-item-none",stopPropagation:!0,logic:{dynamic:!0},id:o.id,pId:o.pId,keyword:o.keyword,open:o.open,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py}),this.node.on(BI.Controller.EVENT_CHANGE,function(type){self.setSelected(self.isSelected()),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});for(var needBlankLayers=[],pNode=o.pNode;pNode;)pNode.isLastNode&&needBlankLayers.push(pNode.layer),pNode=pNode.pNode;var items=[];BI.count(0,o.layer,function(index){items.push({type:"bi.layout",cls:BI.contains(needBlankLayers,index)?"":"base-line-conn-background",width:12,height:o.height})}),items.push(this.node),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,12),items:[items]})},doRedMark:function(){this.node.doRedMark.apply(this.node,arguments)},unRedMark:function(){this.node.unRedMark.apply(this.node,arguments)},isSelected:function(){return this.node.isSelected()},setSelected:function(b){BI.MultiLayerSelectTreeLastPlusGroupNode.superclass.setSelected.apply(this,arguments),this.node.setSelected(b)},doClick:function(){BI.MultiLayerSelectTreeLastPlusGroupNode.superclass.doClick.apply(this,arguments),this.node.setSelected(this.isSelected())},setOpened:function(v){BI.MultiLayerSelectTreeLastPlusGroupNode.superclass.setOpened.apply(this,arguments),this.node.setOpened(v)}}),BI.shortcut("bi.multilayer_select_tree_last_plus_group_node",BI.MultiLayerSelectTreeLastPlusGroupNode),BI.MultiLayerSelectTreeMidPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.MultiLayerSelectTreeMidPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-multilayer-select-tree-mid-plus-group-node bi-list-item-active",layer:0,id:"",pId:"",readonly:!0,open:!1,height:24})},_init:function(){BI.MultiLayerSelectTreeMidPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.node=BI.createWidget({type:"bi.select_tree_mid_plus_group_node",cls:"bi-list-item-none",stopPropagation:!0,logic:{dynamic:!0},id:o.id,pId:o.pId,keyword:o.keyword,open:o.open,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py}),this.node.on(BI.Controller.EVENT_CHANGE,function(type){self.setSelected(self.isSelected()),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});for(var needBlankLayers=[],pNode=o.pNode;pNode;)pNode.isLastNode&&needBlankLayers.push(pNode.layer),pNode=pNode.pNode;var items=[];BI.count(0,o.layer,function(index){items.push({type:"bi.layout",cls:BI.contains(needBlankLayers,index)?"":"base-line-conn-background",width:12,height:o.height})}),items.push(this.node),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,12),items:[items]})},doRedMark:function(){this.node.doRedMark.apply(this.node,arguments)},unRedMark:function(){this.node.unRedMark.apply(this.node,arguments)},isSelected:function(){return this.node.isSelected()},setSelected:function(b){BI.MultiLayerSelectTreeMidPlusGroupNode.superclass.setSelected.apply(this,arguments),this.node.setSelected(b)},doClick:function(){BI.MultiLayerSelectTreeMidPlusGroupNode.superclass.doClick.apply(this,arguments),this.node.setSelected(this.isSelected())},setOpened:function(v){BI.MultiLayerSelectTreeMidPlusGroupNode.superclass.setOpened.apply(this,arguments),this.node.setOpened(v)}}),BI.shortcut("bi.multilayer_select_tree_mid_plus_group_node",BI.MultiLayerSelectTreeMidPlusGroupNode),BI.MultiLayerSelectTreePlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.MultiLayerSelectTreePlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-multilayer-select-tree-first-plus-group-node bi-list-item-active",layer:0,id:"",pId:"",readonly:!0,open:!1,height:24})},_init:function(){BI.MultiLayerSelectTreePlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.node=BI.createWidget({type:"bi.select_tree_plus_group_node",cls:"bi-list-item-none",stopPropagation:!0,logic:{dynamic:!0},id:o.id,pId:o.pId,keyword:o.keyword,open:o.open,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py}),this.node.on(BI.Controller.EVENT_CHANGE,function(type){self.setSelected(self.isSelected()),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});for(var needBlankLayers=[],pNode=o.pNode;pNode;)pNode.isLastNode&&needBlankLayers.push(pNode.layer),pNode=pNode.pNode;var items=[];BI.count(0,o.layer,function(index){items.push({type:"bi.layout",cls:BI.contains(needBlankLayers,index)?"":"base-line-conn-background",width:12,height:o.height})}),items.push(this.node),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,12),items:[items]})},isOnce:function(){return!0},doRedMark:function(){this.node.doRedMark.apply(this.node,arguments)},unRedMark:function(){this.node.unRedMark.apply(this.node,arguments)},isSelected:function(){return this.node.isSelected()},setSelected:function(b){BI.MultiLayerSelectTreePlusGroupNode.superclass.setSelected.apply(this,arguments),this.node.setSelected(b)},doClick:function(){BI.NodeButton.superclass.doClick.apply(this,arguments),this.node.setSelected(this.isSelected())},setOpened:function(v){BI.MultiLayerSelectTreePlusGroupNode.superclass.setOpened.apply(this,arguments),this.node.setOpened(v)}}),BI.shortcut("bi.multilayer_select_tree_plus_group_node",BI.MultiLayerSelectTreePlusGroupNode),BI.MultiLayerSingleTreeCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiLayerSingleTreeCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multilayer-single-tree-combo",isDefaultInit:!1,height:24,text:"",itemsCreator:BI.emptyFn,items:[],value:"",attributes:{tabIndex:0},allowEdit:!1,allowSearchValue:!1,allowInsertValue:!1})},render:function(){var self=this,o=this.options,combo=o.itemsCreator===BI.emptyFn?this._getSyncConfig():this._getAsyncConfig();return o.allowEdit||o.itemsCreator!==BI.emptyFn?{type:"bi.absolute",items:[{el:combo,left:0,right:0,top:0,bottom:0},{el:{type:"bi.trigger_icon_button",cls:"trigger-icon-button",ref:function(_ref){self.triggerBtn=_ref},width:o.height,height:o.height,handler:function(){self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}},right:0,bottom:0,top:0}]}:combo},_getBaseConfig:function(){var self=this,o=this.options;return{type:"bi.combo",container:o.container,destroyWhenHide:o.destroyWhenHide,adjustLength:2,ref:function(_ref){self.combo=_ref},popup:{el:{type:"bi.multilayer_single_tree_popup",isDefaultInit:o.isDefaultInit,itemsCreator:o.itemsCreator,items:o.items,ref:function(_ref){self.trigger&&self.trigger.getSearcher().setAdapter(_ref)},listeners:[{eventName:BI.MultiLayerSingleTreePopup.EVENT_CHANGE,action:function(){self.setValue(this.getValue()),self.combo.hideView(),self.fireEvent(BI.MultiLayerSingleTreeCombo.EVENT_CHANGE)}}],onLoaded:function(){BI.nextTick(function(){self.combo.adjustWidth(),self.combo.adjustHeight()})}},value:o.value,maxHeight:400,minHeight:240}}},_getSearchConfig:function(){var self=this,o=this.options;return{el:{type:"bi.multilayer_single_tree_trigger",container:o.container,allowInsertValue:o.allowInsertValue,allowSearchValue:o.allowSearchValue,allowEdit:o.allowEdit,cls:"multilayer-single-tree-trigger",ref:function(_ref){self.trigger=_ref},watermark:o.watermark,items:o.items,itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,height:o.height-2,text:o.text,value:o.value,tipType:o.tipType,warningTitle:o.warningTitle,title:o.title,listeners:[{eventName:BI.MultiLayerSingleTreeTrigger.EVENT_CHANGE,action:function(){self.setValue(this.getValue()),self.combo.hideView(),self.fireEvent(BI.MultiLayerSingleTreeCombo.EVENT_CHANGE)}},{eventName:BI.MultiLayerSingleTreeTrigger.EVENT_FOCUS,action:function(){self.fireEvent(BI.MultiLayerSingleTreeCombo.EVENT_FOCUS)}},{eventName:BI.MultiLayerSingleTreeTrigger.EVENT_BLUR,action:function(){self.fireEvent(BI.MultiLayerSingleTreeCombo.EVENT_BLUR)}},{eventName:BI.MultiLayerSingleTreeTrigger.EVENT_SEARCHING,action:function(){self.fireEvent(BI.MultiLayerSingleTreeCombo.EVENT_SEARCHING)}},{eventName:BI.MultiLayerSingleTreeTrigger.EVENT_ADD_ITEM,action:function(){var value=self.trigger.getSearcher().getKeyword();self.combo.setValue([value]),self.combo.hideView()}}]},toggle:!o.allowEdit,hideChecker:function(e){return!(o.container&&self.trigger.getSearcher().isSearching()&&self.trigger.getSearcher().getView().element.find(e.target).length>0)&&0===self.triggerBtn.element.find(e.target).length},listeners:[{eventName:BI.Combo.EVENT_AFTER_HIDEVIEW,action:function(){self.trigger.stopEditing()}}]}},_getSyncConfig:function(){var o=this.options,baseConfig=this._getBaseConfig();return BI.extend(baseConfig,o.allowEdit?this._getSearchConfig():{el:{type:"bi.single_tree_trigger",text:o.text,height:o.height,items:o.items,value:o.value}})},_getAsyncConfig:function(){var config=this._getBaseConfig();return BI.extend(config,this._getSearchConfig())},setValue:function(v){v=BI.isArray(v)?v:[v],this.combo.setValue(v)},getValue:function(){return this.combo.getValue()},populate:function(items){this.combo.populate(items)}}),BI.MultiLayerSingleTreeCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiLayerSingleTreeCombo.EVENT_BLUR="EVENT_BLUR",BI.MultiLayerSingleTreeCombo.EVENT_FOCUS="EVENT_FOCUS",BI.MultiLayerSingleTreeCombo.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multilayer_single_tree_combo",BI.MultiLayerSingleTreeCombo),BI.MultiLayerSingleTreeInsertSearchPane=BI.inherit(BI.Widget,{props:function(){return{baseCls:"bi-multilayer-single-tree-popup",tipText:BI.i18nText("BI-No_Selected_Item"),isDefaultInit:!1,itemsCreator:BI.emptyFn,items:[],value:""}},render:function(){var self=this,o=this.options;return this.tree=BI.createWidget({type:"bi.multilayer_select_level_tree",isDefaultInit:o.isDefaultInit,items:o.items,itemsCreator:o.itemsCreator===BI.emptyFn?BI.emptyFn:function(op,callback){o.itemsCreator(op,function(res){callback(res),self.setKeyword(o.keywordGetter())})},keywordGetter:o.keywordGetter,value:o.value,scrollable:null,listeners:[{eventName:BI.Controller.EVENT_CHANGE,action:function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}},{eventName:BI.MultiLayerSelectLevelTree.EVENT_CHANGE,action:function(){self.fireEvent(BI.MultiLayerSingleTreeInsertSearchPane.EVENT_CHANGE)}}]}),{type:"bi.vertical",scrolly:!1,scrollable:!0,vgap:5,items:[{type:"bi.text_button",invisible:!0,text:BI.i18nText("BI-Basic_Click_To_Add_Text",""),height:24,cls:"bi-high-light",hgap:5,ref:function(_ref){self.addNotMatchTip=_ref},handler:function(){self.fireEvent(BI.MultiLayerSingleTreeInsertSearchPane.EVENT_ADD_ITEM,o.keywordGetter())}},this.tree]}},setKeyword:function(keyword){var showTip=BI.isEmptyArray(this.tree.getAllLeaves());this.addNotMatchTip.setVisible(showTip),showTip&&this.addNotMatchTip.setText(BI.i18nText("BI-Basic_Click_To_Add_Text",keyword))},getValue:function(){return this.tree.getValue()},setValue:function(v){v=BI.isArray(v)?v:[v],this.tree.setValue(v)},populate:function(items){this.tree.populate(items)}}),BI.MultiLayerSingleTreeInsertSearchPane.EVENT_ADD_ITEM="EVENT_ADD_ITEM",BI.MultiLayerSingleTreeInsertSearchPane.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multilayer_single_tree_insert_search_pane",BI.MultiLayerSingleTreeInsertSearchPane),BI.MultiLayerSingleLevelTree=BI.inherit(BI.Pane,{_defaultConfig:function(){return BI.extend(BI.MultiLayerSingleLevelTree.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multilayer-single-level-tree",isDefaultInit:!1,items:[],itemsCreator:BI.emptyFn,keywordGetter:BI.emptyFn,chooseType:BI.Selection.Single,scrollable:!0})},_init:function(){var o=this.options;BI.MultiLayerSingleLevelTree.superclass._init.apply(this,arguments),this.storeValue=o.value,this.initTree(this.options.items),this.check()},_formatItems:function(nodes,layer,pNode){var self=this,o=this.options,keyword=o.keywordGetter();return BI.each(nodes,function(i,node){var extend={};node.layer=layer,BI.isKey(node.id)||(node.id=BI.UUID()),node.keyword=node.keyword||keyword,extend.pNode=pNode,node.isParent===!0||node.parent===!0||BI.isNotEmptyArray(node.children)?(extend.type="bi.multilayer_single_tree_mid_plus_group_node",i===nodes.length-1&&(extend.type="bi.multilayer_single_tree_last_plus_group_node",extend.isLastNode=!0),0!==i||pNode||(extend.type="bi.multilayer_single_tree_first_plus_group_node"),0!==i||i!==nodes.length-1||pNode||(extend.type="bi.multilayer_single_tree_plus_group_node"),BI.defaults(node,extend),self._formatItems(node.children,layer+1,node)):(extend.type="bi.multilayer_single_tree_mid_tree_leaf_item",0!==i||pNode||(extend.type="bi.multilayer_single_tree_first_tree_leaf_item"),i===nodes.length-1&&(extend.type="bi.multilayer_single_tree_last_tree_leaf_item"),BI.defaults(node,extend))}),nodes},_assertId:function(sNodes){BI.each(sNodes,function(i,node){node.id=node.id||BI.UUID()})},initTree:function(nodes){var self=this,o=this.options,hasNext=!1;this.empty(),this._assertId(nodes),this.tree=BI.createWidget({type:"bi.custom_tree",cls:"tree-view display-table",expander:{isDefaultInit:o.isDefaultInit,el:{},popup:{type:"bi.custom_tree"}},items:this._formatItems(BI.Tree.transformToTreeFormat(nodes),0),value:o.value,itemsCreator:function(op,callback){1===op.times&&!op.node&&BI.nextTick(function(){self.loading()}),o.itemsCreator(op,function(ob){hasNext=ob.hasNext,1===op.times&&!op.node&&self._populate(ob.items),callback(self._formatItems(BI.Tree.transformToTreeFormat(ob.items),op.node?op.node.layer+1:0,op.node)),self.setValue(self.storeValue),1===op.times&&!op.node&&BI.nextTick(function(){self.loaded()})})},el:{type:"bi.loader",isDefaultInit:o.itemsCreator!==BI.emptyFn,el:{type:"bi.button_tree",chooseType:o.chooseType,behaviors:o.behaviors,layouts:[{type:"bi.vertical"}]},hasNext:function(){return hasNext}}}),this.tree.on(BI.Controller.EVENT_CHANGE,function(type,v){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),type===BI.Events.CLICK&&(self.setValue(v),self.fireEvent(BI.MultiLayerSingleLevelTree.EVENT_CHANGE,v))}),BI.createWidget({type:"bi.adaptive",element:this,scrollable:o.scrollable,items:[this.tree]})},_populate:function(){BI.MultiLayerSelectLevelTree.superclass.populate.apply(this,arguments)},populate:function(nodes){this._populate(nodes),BI.isNull(nodes)?this.tree.populate():this.tree.populate(this._formatItems(BI.Tree.transformToTreeFormat(nodes),0))},setValue:function(v){this.options.chooseType===BI.Selection.None||(this.storeValue=v,this.tree.setValue(v))},getValue:function(){return BI.isArray(this.storeValue)?this.storeValue:BI.isNull(this.storeValue)?[]:[this.storeValue]},getAllLeaves:function(){return this.tree.getAllLeaves()},getNodeById:function(id){return this.tree.getNodeById(id)},getNodeByValue:function(id){return this.tree.getNodeByValue(id)}}),BI.MultiLayerSingleLevelTree.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multilayer_single_level_tree",BI.MultiLayerSingleLevelTree),BI.MultiLayerSingleTreePopup=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiLayerSingleTreePopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multilayer-singletree-popup",tipText:BI.i18nText("BI-No_Selected_Item"),isDefaultInit:!1,itemsCreator:BI.emptyFn,items:[],onLoaded:BI.emptyFn})},_init:function(){BI.MultiLayerSingleTreePopup.superclass._init.apply(this,arguments);var self=this,o=this.options;this.tree=BI.createWidget({type:"bi.multilayer_single_level_tree",isDefaultInit:o.isDefaultInit,items:o.items,itemsCreator:o.itemsCreator,keywordGetter:o.keywordGetter,value:o.value,scrollable:null,onLoaded:function(){self.tree.check(),o.onLoaded()}}),BI.createWidget({type:"bi.vertical",scrolly:!1,scrollable:!0,element:this,vgap:5,items:[this.tree]}),this.tree.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.tree.on(BI.MultiLayerSingleLevelTree.EVENT_CHANGE,function(){self.fireEvent(BI.MultiLayerSingleTreePopup.EVENT_CHANGE)})},getValue:function(){return this.tree.getValue()},setValue:function(v){v=BI.isArray(v)?v:[v],this.tree.setValue(v)},populate:function(items){this.tree.populate(items)}}),BI.MultiLayerSingleTreePopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multilayer_single_tree_popup",BI.MultiLayerSingleTreePopup),BI.MultiLayerSingleTreeTrigger=BI.inherit(BI.Trigger,{props:function(){return{extraCls:"bi-multi-layer-single-tree-trigger bi-border bi-focus-shadow bi-border-radius",height:24,valueFormatter:function(v){return v},itemsCreator:BI.emptyFn,watermark:BI.i18nText("BI-Basic_Search"),allowSearchValue:!1}},render:function(){var self=this,o=this.options;o.itemsCreator===BI.emptyFn&&this._initData();var content={type:"bi.htape",items:[{el:{type:"bi.searcher",ref:function(){self.searcher=this},masker:BI.isNotNull(o.container)?{offset:{},container:o.container}:{offset:{}},isAutoSearch:!1,el:{type:"bi.state_editor",ref:function(){self.editor=this},defaultText:o.text,text:this._digest(o.value),value:o.value,height:o.height,tipText:"",watermark:o.watermark,listeners:[{eventName:BI.StateEditor.EVENT_FOCUS,action:function(){self.fireEvent(BI.MultiLayerSingleTreeTrigger.EVENT_FOCUS)}},{eventName:BI.StateEditor.EVENT_BLUR,action:function(){self.fireEvent(BI.MultiLayerSingleTreeTrigger.EVENT_BLUR)}},{eventName:BI.StateEditor.EVENT_CHANGE,action:function(){self.fireEvent(BI.MultiLayerSingleTreeTrigger.EVENT_SEARCHING)}}]},popup:{type:o.allowInsertValue?"bi.multilayer_single_tree_insert_search_pane":"bi.multilayer_single_tree_popup",itemsCreator:o.itemsCreator===BI.emptyFn?BI.emptyFn:function(op,callback){op.keyword=self.editor.getValue(),o.itemsCreator(op,callback)},keywordGetter:function(){return self.editor.getValue()},cls:"bi-card",listeners:[{eventName:BI.MultiLayerSingleTreeInsertSearchPane.EVENT_ADD_ITEM,
action:function(){self.options.text=self.getSearcher().getKeyword(),self.fireEvent(BI.MultiLayerSingleTreeTrigger.EVENT_ADD_ITEM)}}],ref:function(_ref){self.popup=_ref}},onSearch:function(obj,callback){var keyword=obj.keyword;o.itemsCreator===BI.emptyFn?(callback(self._getSearchItems(keyword)),o.allowInsertValue&&self.popup.setKeyword(keyword)):callback()},listeners:[{eventName:BI.Searcher.EVENT_CHANGE,action:function(){self.fireEvent(BI.MultiLayerSingleTreeTrigger.EVENT_CHANGE)}}]}},{el:{type:"bi.layout",width:24},width:24}]};return o.allowEdit?content:{type:"bi.absolute",items:[{el:content,left:0,right:0,top:0,bottom:0},{el:{type:"bi.layout"},left:0,right:24,top:0,bottom:0}]}},_initData:function(){var o=this.options;this.tree=new BI.Tree,this.nodes=BI.Tree.treeFormat(BI.deepClone(o.items)),this.tree.initTree(this.nodes)},_getSearchItems:function(keyword){var self=this,o=this.options,items=[];return this.tree.traverse(function(node){var find=BI.Func.getSearchResult(self.tree.isRoot(node)?[]:BI.concat([node.text],o.allowSearchValue?[node.value]:[]),keyword);if(find.find.length>0||find.match.length>0)return items.push(node),!0}),this._fillTreeStructure4Search(items,"id")},_createJson:function(node,open){return{id:node.id,pId:node.pId,text:node.text,value:node.value,isParent:BI.isNotEmptyArray(node.children),open:open}},_getChildren:function(node){var self=this;node.children=node.children||[];var nodes=[];return BI.each(node.children,function(idx,child){var children=self._getChildren(child);nodes=nodes.concat(children)}),node.children.concat(nodes)},_fillTreeStructure4Search:function(leaves){var self=this,result=[],queue=[];for(BI.each(leaves,function(idx,node){queue.push({pId:node.pId}),result.push(node),result=result.concat(self._getChildren(node))});BI.isNotEmptyArray(queue);){var node=queue.pop(),pNode=this.tree.search(this.tree.getRoot(),node.pId,"id");null!=pNode&&(pNode.open=!0,queue.push({pId:pNode.pId}),result.push(pNode))}return BI.uniqBy(BI.map(result,function(idx,node){return self._createJson(node,node.open)}),"id")},_digest:function(v){var o=this.options;if(o.itemsCreator===BI.emptyFn){var result=BI.find(o.items,function(i,item){return item.value===v});return BI.isNotNull(result)?result.text:o.text}return o.valueFormatter(v)},stopEditing:function(){this.searcher.stopSearch()},getSearcher:function(){return this.searcher},populate:function(items){this.options.items=items,this._initData()},setValue:function(v){this.editor.setState(this._digest(v[0]))},getValue:function(){return this.searcher.getValue()}}),BI.MultiLayerSingleTreeTrigger.EVENT_FOCUS="EVENT_FOCUS",BI.MultiLayerSingleTreeTrigger.EVENT_BLUR="EVENT_BLUR",BI.MultiLayerSingleTreeTrigger.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiLayerSingleTreeTrigger.EVENT_STOP="EVENT_STOP",BI.MultiLayerSingleTreeTrigger.EVENT_START="EVENT_START",BI.MultiLayerSingleTreeTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.MultiLayerSingleTreeTrigger.EVENT_ADD_ITEM="EVENT_ADD_ITEM",BI.shortcut("bi.multilayer_single_tree_trigger",BI.MultiLayerSingleTreeTrigger),BI.MultiLayerSingleTreeFirstPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-multilayer-single-tree-first-plus-group-node bi-list-item",layer:0,id:"",pId:"",open:!1,height:24})},_init:function(){BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.node=this._createNode();for(var needBlankLayers=[],pNode=o.pNode;pNode;)pNode.isLastNode&&needBlankLayers.push(pNode.layer),pNode=pNode.pNode;var items=[];BI.count(0,o.layer,function(index){items.push({type:"bi.layout",cls:BI.contains(needBlankLayers,index)?"":"base-line-conn-background",width:12,height:o.height})}),items.push(this.node),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,12),items:[items]})},doRedMark:function(){this.node.doRedMark.apply(this.node,arguments)},unRedMark:function(){this.node.unRedMark.apply(this.node,arguments)},doClick:function(){BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass.doClick.apply(this,arguments),this.node.setSelected(this.isSelected())},setOpened:function(v){BI.MultiLayerSingleTreeFirstPlusGroupNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.node)&&this.node.setOpened(v)},_createNode:function(){var self=this,o=this.options;return BI.createWidget({type:"bi.first_plus_group_node",cls:"bi-list-item-none",logic:{dynamic:!0},id:o.id,pId:o.pId,open:o.open,isLastNode:o.isLastNode,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword,listeners:[{eventName:BI.Controller.EVENT_CHANGE,action:function(type){type!==BI.Events.CLICK&&self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}}]})}}),BI.shortcut("bi.multilayer_single_tree_first_plus_group_node",BI.MultiLayerSingleTreeFirstPlusGroupNode),BI.MultiLayerSingleTreeLastPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.MultiLayerSingleTreeLastPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-multilayer-single-tree-last-plus-group-node bi-list-item",layer:0,id:"",pId:"",open:!1,height:24})},_init:function(){BI.MultiLayerSingleTreeLastPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.node=this._createNode();for(var needBlankLayers=[],pNode=o.pNode;pNode;)pNode.isLastNode&&needBlankLayers.push(pNode.layer),pNode=pNode.pNode;var items=[];BI.count(0,o.layer,function(index){items.push({type:"bi.layout",cls:BI.contains(needBlankLayers,index)?"":"base-line-conn-background",width:12,height:o.height})}),items.push(this.node),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,12),items:[items]})},doRedMark:function(){this.node.doRedMark.apply(this.node,arguments)},unRedMark:function(){this.node.unRedMark.apply(this.node,arguments)},doClick:function(){BI.MultiLayerSingleTreeLastPlusGroupNode.superclass.doClick.apply(this,arguments),this.node.setSelected(this.isSelected())},setOpened:function(v){BI.MultiLayerSingleTreeLastPlusGroupNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.node)&&this.node.setOpened(v)},_createNode:function(){var self=this,o=this.options;return BI.createWidget({type:"bi.last_plus_group_node",cls:"bi-list-item-none",logic:{dynamic:!0},id:o.id,pId:o.pId,open:o.open,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword,listeners:[{eventName:BI.Controller.EVENT_CHANGE,action:function(type){type!==BI.Events.CLICK&&self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}}]})}}),BI.shortcut("bi.multilayer_single_tree_last_plus_group_node",BI.MultiLayerSingleTreeLastPlusGroupNode),BI.MultiLayerSingleTreeMidPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.MultiLayerSingleTreeMidPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-multilayer-single-tree-mid-plus-group-node bi-list-item",layer:0,id:"",pId:"",open:!1,height:24})},_init:function(){BI.MultiLayerSingleTreeMidPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.node=this._createNode();for(var needBlankLayers=[],pNode=o.pNode;pNode;)pNode.isLastNode&&needBlankLayers.push(pNode.layer),pNode=pNode.pNode;var items=[];BI.count(0,o.layer,function(index){items.push({type:"bi.layout",cls:BI.contains(needBlankLayers,index)?"":"base-line-conn-background",width:12,height:o.height})}),items.push(this.node),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,12),items:[items]})},doRedMark:function(){this.node.doRedMark.apply(this.node,arguments)},unRedMark:function(){this.node.unRedMark.apply(this.node,arguments)},doClick:function(){BI.MultiLayerSingleTreeMidPlusGroupNode.superclass.doClick.apply(this,arguments),this.node.setSelected(this.isSelected())},setOpened:function(v){BI.MultiLayerSingleTreeMidPlusGroupNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.node)&&this.node.setOpened(v)},_createNode:function(){var self=this,o=this.options;return BI.createWidget({type:"bi.mid_plus_group_node",cls:"bi-list-item-none",logic:{dynamic:!0},id:o.id,pId:o.pId,open:o.open,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword,listeners:[{eventName:BI.Controller.EVENT_CHANGE,action:function(type){type!==BI.Events.CLICK&&self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}}]})}}),BI.shortcut("bi.multilayer_single_tree_mid_plus_group_node",BI.MultiLayerSingleTreeMidPlusGroupNode),BI.MultiLayerSingleTreePlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.MultiLayerSingleTreePlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-multilayer-single-tree-plus-group-node bi-list-item",layer:0,id:"",pId:"",open:!1,height:24})},_init:function(){BI.MultiLayerSingleTreePlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.node=this._createNode();for(var needBlankLayers=[],pNode=o.pNode;pNode;)pNode.isLastNode&&needBlankLayers.push(pNode.layer),pNode=pNode.pNode;var items=[];BI.count(0,o.layer,function(index){items.push({type:"bi.layout",cls:BI.contains(needBlankLayers,index)?"":"base-line-conn-background",width:12,height:o.height})}),items.push(this.node),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,12),items:[items]})},doRedMark:function(){this.node.doRedMark.apply(this.node,arguments)},unRedMark:function(){this.node.unRedMark.apply(this.node,arguments)},doClick:function(){BI.MultiLayerSingleTreePlusGroupNode.superclass.doClick.apply(this,arguments),this.node.setSelected(this.isSelected())},setOpened:function(v){BI.MultiLayerSingleTreePlusGroupNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.node)&&this.node.setOpened(v)},_createNode:function(){var self=this,o=this.options;return BI.createWidget({type:"bi.plus_group_node",cls:"bi-list-item-none",logic:{dynamic:!0},id:o.id,pId:o.pId,open:o.open,isLastNode:o.isLastNode,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword,listeners:[{eventName:BI.Controller.EVENT_CHANGE,action:function(type){type!==BI.Events.CLICK&&self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}}]})}}),BI.shortcut("bi.multilayer_single_tree_plus_group_node",BI.MultiLayerSingleTreePlusGroupNode),BI.MultiLayerSingleTreeFirstTreeLeafItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-multilayer-single-tree-first-tree-leaf-item bi-list-item-active",logic:{dynamic:!1},layer:0,id:"",pId:"",height:24})},_init:function(){BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.item=BI.createWidget({type:"bi.first_tree_leaf_item",cls:"bi-list-item-none",logic:{dynamic:!0},id:o.id,pId:o.pId,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword}),this.item.on(BI.Controller.EVENT_CHANGE,function(type){type!==BI.Events.CLICK&&self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});for(var needBlankLayers=[],pNode=o.pNode;pNode;)pNode.isLastNode&&needBlankLayers.push(pNode.layer),pNode=pNode.pNode;var items=[];BI.count(0,o.layer,function(index){items.push({type:"bi.layout",cls:BI.contains(needBlankLayers,index)?"":"base-line-conn-background",width:12,height:o.height})}),items.push(this.item),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,12),items:[items]})},doHighLight:function(){this.item.doHighLight.apply(this.item,arguments)},unHighLight:function(){this.item.unHighLight.apply(this.item,arguments)},getId:function(){return this.options.id},getPId:function(){return this.options.pId},doClick:function(){BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass.doClick.apply(this,arguments),this.item.setSelected(this.isSelected())},setSelected:function(v){BI.MultiLayerSingleTreeFirstTreeLeafItem.superclass.setSelected.apply(this,arguments),this.item.setSelected(v)}}),BI.shortcut("bi.multilayer_single_tree_first_tree_leaf_item",BI.MultiLayerSingleTreeFirstTreeLeafItem),BI.MultiLayerSingleTreeLastTreeLeafItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.MultiLayerSingleTreeLastTreeLeafItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-multilayer-single-tree-last-tree-leaf-item bi-list-item-active",logic:{dynamic:!1},layer:0,id:"",pId:"",height:24})},_init:function(){BI.MultiLayerSingleTreeLastTreeLeafItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.item=BI.createWidget({type:"bi.last_tree_leaf_item",cls:"bi-list-item-none",logic:{dynamic:!0},id:o.id,pId:o.pId,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword}),this.item.on(BI.Controller.EVENT_CHANGE,function(type){type!==BI.Events.CLICK&&self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});for(var needBlankLayers=[],pNode=o.pNode;pNode;)pNode.isLastNode&&needBlankLayers.push(pNode.layer),pNode=pNode.pNode;var items=[];BI.count(0,o.layer,function(index){items.push({type:"bi.layout",cls:BI.contains(needBlankLayers,index)?"":"base-line-conn-background",width:12,height:o.height})}),items.push(this.item),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,12),items:[items]})},doHighLight:function(){this.item.doHighLight.apply(this.item,arguments)},unHighLight:function(){this.item.unHighLight.apply(this.item,arguments)},getId:function(){return this.options.id},getPId:function(){return this.options.pId},doClick:function(){BI.MultiLayerSingleTreeLastTreeLeafItem.superclass.doClick.apply(this,arguments),this.item.setSelected(this.isSelected())},setSelected:function(v){BI.MultiLayerSingleTreeLastTreeLeafItem.superclass.setSelected.apply(this,arguments),this.item.setSelected(v)}}),BI.shortcut("bi.multilayer_single_tree_last_tree_leaf_item",BI.MultiLayerSingleTreeLastTreeLeafItem),BI.MultiLayerSingleTreeMidTreeLeafItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.MultiLayerSingleTreeMidTreeLeafItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-multilayer-single-tree-mid-tree-leaf-item bi-list-item-active",logic:{dynamic:!1},layer:0,id:"",pId:"",height:24})},_init:function(){BI.MultiLayerSingleTreeMidTreeLeafItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.item=BI.createWidget({type:"bi.mid_tree_leaf_item",cls:"bi-list-item-none",logic:{dynamic:!0},id:o.id,pId:o.pId,height:o.height,hgap:o.hgap,text:o.text,value:o.value,py:o.py,keyword:o.keyword}),this.item.on(BI.Controller.EVENT_CHANGE,function(type){type!==BI.Events.CLICK&&self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)});for(var needBlankLayers=[],pNode=o.pNode;pNode;)pNode.isLastNode&&needBlankLayers.push(pNode.layer),pNode=pNode.pNode;var items=[];BI.count(0,o.layer,function(index){items.push({type:"bi.layout",cls:BI.contains(needBlankLayers,index)?"":"base-line-conn-background",width:12,height:o.height})}),items.push(this.item),BI.createWidget({type:"bi.td",element:this,columnSize:BI.makeArray(o.layer,12),items:[items]})},doHighLight:function(){this.item.doHighLight.apply(this.item,arguments)},unHighLight:function(){this.item.unHighLight.apply(this.item,arguments)},getId:function(){return this.options.id},getPId:function(){return this.options.pId},doClick:function(){BI.MultiLayerSingleTreeMidTreeLeafItem.superclass.doClick.apply(this,arguments),this.item.setSelected(this.isSelected())},setSelected:function(v){BI.MultiLayerSingleTreeMidTreeLeafItem.superclass.setSelected.apply(this,arguments),this.item.setSelected(v)}}),BI.shortcut("bi.multilayer_single_tree_mid_tree_leaf_item",BI.MultiLayerSingleTreeMidTreeLeafItem),BI.MultiSelectCheckPane=BI.inherit(BI.Widget,{constants:{height:12,lgap:10,tgap:10,bgap:5},_defaultConfig:function(){return BI.extend(BI.MultiSelectCheckPane.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-check-pane bi-background",items:[],itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,onClickContinueSelect:BI.emptyFn})},_init:function(){BI.MultiSelectCheckPane.superclass._init.apply(this,arguments);var self=this,opts=this.options;this.storeValue=opts.value||{},this.display=BI.createWidget({type:"bi.display_selected_list",items:opts.items,itemsCreator:function(op,callback){return op=BI.extend(op||{},{selectedValues:self.storeValue.value}),self.storeValue.type===BI.Selection.Multi?void callback({items:BI.map(self.storeValue.value,function(i,v){var txt=opts.valueFormatter(v)||v;return{text:txt,value:v,title:txt}})}):void opts.itemsCreator(op,callback)}}),this.continueSelect=BI.createWidget({type:"bi.text_button",text:BI.i18nText("BI-Continue_Select"),cls:"multi-select-check-selected bi-high-light"}),this.continueSelect.on(BI.TextButton.EVENT_CHANGE,function(){opts.onClickContinueSelect()}),BI.createWidget({type:"bi.vtape",element:this,items:[{height:this.constants.height,el:{type:"bi.vertical_adapt",cls:"multi-select-continue-select",items:[{el:{type:"bi.label",text:BI.i18nText("BI-Selected_Data")},lgap:this.constants.lgap},{el:this.continueSelect,lgap:this.constants.lgap}]},tgap:this.constants.tgap},{height:"fill",el:this.display,tgap:this.constants.bgap}]})},setValue:function(v){this.storeValue=v||{}},empty:function(){this.display.empty()},populate:function(){this.display.populate.apply(this.display,arguments)}}),BI.shortcut("bi.multi_select_check_pane",BI.MultiSelectCheckPane),BI.DisplaySelectedList=BI.inherit(BI.Pane,{constants:{height:24,lgap:10},_defaultConfig:function(){return BI.extend(BI.DisplaySelectedList.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-display-list",itemsCreator:BI.emptyFn,items:[]})},_init:function(){BI.DisplaySelectedList.superclass._init.apply(this,arguments);var self=this,opts=this.options;this.hasNext=!1,this.button_group=BI.createWidget({type:"bi.list_pane",element:this,el:{type:"bi.loader",isDefaultInit:!1,logic:{dynamic:!0,scrolly:!0},items:this._createItems(opts.items),chooseType:BI.ButtonGroup.CHOOSE_TYPE_MULTI,layouts:[{type:"bi.vertical",lgap:10}]},itemsCreator:function(options,callback){opts.itemsCreator(options,function(ob){self.hasNext=!!ob.hasNext,callback(self._createItems(ob.items))})},hasNext:function(){return self.hasNext}})},_createItems:function(items){return BI.createItems(items,{type:"bi.icon_text_item",cls:"cursor-default check-font icon-size-12 display-list-item bi-tips",once:!0,invalid:!0,selected:!0,height:this.constants.height,logic:{dynamic:!0}})},empty:function(){this.button_group.empty()},populate:function(items){0===arguments.length?this.button_group.populate():this.button_group.populate(this._createItems(items))}}),BI.shortcut("bi.display_selected_list",BI.DisplaySelectedList),BI.MultiSelectCombo=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.MultiSelectCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-combo",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,height:24,attributes:{tabIndex:0},allowEdit:!0})},_init:function(){BI.MultiSelectCombo.superclass._init.apply(this,arguments);var self=this,o=this.options,assertShowValue=function(){BI.isKey(self._startValue)&&(self.storeValue.type===BI.Selection.All?BI.remove(self.storeValue.value,self._startValue):BI.pushDistinct(self.storeValue.value,self._startValue)),self.trigger.getSearcher().setState(self.storeValue),self.numberCounter.setButtonChecked(self.storeValue)};this.storeValue=o.value||{},this._assertValue(this.storeValue),this.requesting=!1,this.trigger=BI.createWidget({type:"bi.multi_select_trigger",allowEdit:o.allowEdit,height:o.height,text:o.text,masker:{offset:{left:0,top:0,right:0,bottom:25}},valueFormatter:o.valueFormatter,itemsCreator:BI.bind(this._itemsCreator4Trigger,this),value:this.storeValue}),this.trigger.on(BI.MultiSelectTrigger.EVENT_FOCUS,function(){self.fireEvent(BI.MultiSelectCombo.EVENT_FOCUS)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_BLUR,function(){self.fireEvent(BI.MultiSelectCombo.EVENT_BLUR)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_START,function(){self._setStartValue(""),this.getSearcher().setValue(self.storeValue)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP,function(){self._setStartValue(""),self.fireEvent(BI.MultiSelectCombo.EVENT_STOP)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_PAUSE,function(){if(this.getSearcher().hasMatched()){var keyword=this.getSearcher().getKeyword();self._join({type:BI.Selection.Multi,value:[keyword]},function(){self.combo.setValue(self.storeValue),self._setStartValue(keyword),assertShowValue(),self.populate(),self._setStartValue("")})}}),this.trigger.on(BI.MultiSelectTrigger.EVENT_SEARCHING,function(keywords){var last=BI.last(keywords);keywords=BI.initial(keywords||[]),keywords.length>0&&self._joinKeywords(keywords,function(){BI.isEndWithBlank(last)?(self.combo.setValue(self.storeValue),assertShowValue(),self.combo.populate(),self._setStartValue("")):(self.combo.setValue(self.storeValue),assertShowValue())}),self.fireEvent(BI.MultiSelectCombo.EVENT_SEARCHING)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE,function(value,obj){obj instanceof BI.MultiSelectBar?self._joinAll(this.getValue(),function(){assertShowValue()}):self._join(this.getValue(),function(){assertShowValue()}),self.fireEvent(BI.MultiSelectCombo.EVENT_CLICK_ITEM)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW,function(){self.numberCounter.updateSelectedValue(self.storeValue)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK,function(){self.combo.isViewVisible()||self.combo.showView()}),this.combo=BI.createWidget({type:"bi.combo",toggle:!o.allowEdit,container:o.container,el:this.trigger,adjustLength:1,popup:{type:"bi.multi_select_popup_view",ref:function(){self.popup=this,self.trigger.setAdapter(this),self.numberCounter.setAdapter(this)},listeners:[{eventName:BI.MultiSelectPopupView.EVENT_CHANGE,action:function(){self.storeValue=this.getValue(),self._adjust(function(){assertShowValue()}),self.fireEvent(BI.MultiSelectCombo.EVENT_CLICK_ITEM)}},{eventName:BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM,action:function(){self._defaultState()}},{eventName:BI.MultiSelectPopupView.EVENT_CLICK_CLEAR,action:function(){self.setValue(),self._defaultState()}}],itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,onLoaded:function(){BI.nextTick(function(){self.combo.adjustWidth(),self.combo.adjustHeight(),self.numberCounter.adjustView(),self.trigger.getSearcher().adjustView()})}},value:o.value,hideChecker:function(e){return 0===triggerBtn.element.find(e.target).length&&0===self.numberCounter.element.find(e.target).length}}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){this.setValue(self.storeValue),BI.nextTick(function(){self.populate()})}),this.wants2Quit=!1,this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW,function(){self._stopEditing(),self.requesting===!0?self.wants2Quit=!0:self.fireEvent(BI.MultiSelectCombo.EVENT_CONFIRM)});var triggerBtn=BI.createWidget({type:"bi.trigger_icon_button",width:o.height,height:o.height,cls:"multi-select-trigger-icon-button"});triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE,function(){self.numberCounter.hideView(),self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}),this.numberCounter=BI.createWidget({type:"bi.multi_select_check_selected_switcher",masker:{offset:{left:0,top:0,right:0,bottom:25}},valueFormatter:o.valueFormatter,itemsCreator:BI.bind(this._itemsCreator4Trigger,this),value:this.storeValue}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE,function(){self.combo.isViewVisible()||self.combo.showView()}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW,function(){this.updateSelectedValue(self.storeValue)}),this.numberCounter.on(BI.Events.VIEW,function(b){BI.nextTick(function(){self.trigger.refreshPlaceHolderWidth(b===!0?self.numberCounter.element.outerWidth()+8:0)})}),this.trigger.element.click(function(e){self.trigger.element.find(e.target).length>0&&self.numberCounter.hideView()}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.combo,left:0,right:0,top:0,bottom:0},{el:triggerBtn,right:0,top:0,bottom:0},{el:{type:"bi.vertical_adapt",items:[this.numberCounter]},right:o.height,top:0,height:o.height}]})},_itemsCreator4Trigger:function(op,callback){var self=this,o=this.options;o.itemsCreator(op,function(res){1===op.times&&BI.isNotNull(op.keywords)&&self.trigger.setValue(BI.deepClone(self.getValue())),callback.apply(self,arguments)})},_stopEditing:function(){this.trigger.stopEditing(),this.numberCounter.hideView()},_defaultState:function(){this._stopEditing(),this.combo.hideView()},_assertValue:function(val){val||(val={}),val.type||(val.type=BI.Selection.Multi),val.value||(val.value=[])},_makeMap:function(values){return BI.makeObject(values||[])},_joinKeywords:function(keywords,callback){function digest(items){var selectedMap=self._makeMap(items);BI.each(keywords,function(i,val){BI.isNotNull(selectedMap[val])&&(self.storeValue.type===BI.Selection.Multi?BI.pushDistinct(self.storeValue.value,val):BI.remove(self.storeValue.value,val))}),self._adjust(callback)}var self=this,o=this.options;this._assertValue(this.storeValue),this.requesting=!0,o.itemsCreator({type:BI.MultiSelectCombo.REQ_GET_ALL_DATA,keywords:keywords},function(ob){var values=BI.map(ob.items,"value");digest(values)})},_joinAll:function(res,callback){var self=this,o=this.options;this._assertValue(res),this.requesting=!0,o.itemsCreator({type:BI.MultiSelectCombo.REQ_GET_ALL_DATA,keywords:[this.trigger.getKey()]},function(ob){var items=BI.map(ob.items,"value");if(self.storeValue.type===res.type){var change=!1,map=self._makeMap(self.storeValue.value);return BI.each(items,function(i,v){BI.isNotNull(map[v])&&(change=!0,self.storeValue.assist&&self.storeValue.assist.push(map[v]),delete map[v])}),change&&(self.storeValue.value=BI.values(map)),void self._adjust(callback)}var selectedMap=self._makeMap(self.storeValue.value),notSelectedMap=self._makeMap(res.value),newItems=[];BI.each(items,function(i,item){BI.isNotNull(selectedMap[items[i]])&&(self.storeValue.assist&&self.storeValue.assist.push(selectedMap[items[i]]),delete selectedMap[items[i]]),BI.isNull(notSelectedMap[items[i]])&&(BI.remove(self.storeValue.assist,item),newItems.push(item))}),self.storeValue.value=newItems.concat(BI.values(selectedMap)),self._adjust(callback)})},_adjust:function(callback){function adjust(){self.wants2Quit===!0&&(self.fireEvent(BI.MultiSelectCombo.EVENT_CONFIRM),self.wants2Quit=!1),self.requesting=!1}var self=this,o=this.options;adjust(),callback()},_join:function(res,callback){var self=this,o=this.options;if(this._assertValue(res),this._assertValue(this.storeValue),this.storeValue.type===res.type){var map=this._makeMap(this.storeValue.value);BI.each(res.value,function(i,v){map[v]||(self.storeValue.value.push(v),BI.remove(self.storeValue.assist,v),map[v]=v)});var change=!1;return BI.each(res.assist,function(i,v){BI.isNotNull(map[v])&&(change=!0,self.storeValue.assist&&self.storeValue.assist.push(map[v]),delete map[v])}),change&&(this.storeValue.value=BI.values(map)),void self._adjust(callback)}this._joinAll(res,callback)},_setStartValue:function(value){this._startValue=value,this.popup.setStartValue(value)},setValue:function(v){this.storeValue=v||{},this._assertValue(this.storeValue),this.combo.setValue(this.storeValue),this.numberCounter.setValue(this.storeValue)},getValue:function(){return BI.deepClone(this.storeValue)},populate:function(){this.combo.populate.apply(this.combo,arguments),this.numberCounter.populateSwitcher.apply(this.numberCounter,arguments)}}),BI.extend(BI.MultiSelectCombo,{REQ_GET_DATA_LENGTH:1,REQ_GET_ALL_DATA:-1}),BI.MultiSelectCombo.EVENT_BLUR="EVENT_BLUR",BI.MultiSelectCombo.EVENT_FOCUS="EVENT_FOCUS",BI.MultiSelectCombo.EVENT_STOP="EVENT_STOP",BI.MultiSelectCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiSelectCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.MultiSelectCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.multi_select_combo",BI.MultiSelectCombo),BI.MultiSelectNoBarCombo=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.MultiSelectNoBarCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-combo-no-bar",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,height:24,attributes:{tabIndex:0}})},_init:function(){BI.MultiSelectNoBarCombo.superclass._init.apply(this,arguments);var self=this,o=this.options,assertShowValue=function(){BI.isKey(self._startValue)&&(self.storeValue.type===BI.Selection.All?BI.remove(self.storeValue.value,self._startValue):BI.pushDistinct(self.storeValue.value,self._startValue)),self.trigger.getSearcher().setState(self.storeValue),self.numberCounter.setButtonChecked(self.storeValue)};this.storeValue={type:BI.Selection.Multi,value:o.value||[]},this.requesting=!1,this.trigger=BI.createWidget({type:"bi.multi_select_trigger",height:o.height,text:o.text,masker:{offset:{left:0,top:0,right:0,bottom:25}},valueFormatter:o.valueFormatter,itemsCreator:BI.bind(this._itemsCreator4Trigger,this),value:{type:BI.Selection.Multi,value:o.value}}),this.trigger.on(BI.MultiSelectTrigger.EVENT_FOCUS,function(){self.fireEvent(BI.MultiSelectNoBarCombo.EVENT_FOCUS)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_BLUR,function(){self.fireEvent(BI.MultiSelectNoBarCombo.EVENT_BLUR)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_START,function(){self._setStartValue(""),this.getSearcher().setValue(self.storeValue)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP,function(){self._setStartValue(""),self.fireEvent(BI.MultiSelectNoBarCombo.EVENT_STOP)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_SEARCHING,function(keywords){var last=BI.last(keywords);keywords=BI.initial(keywords||[]),keywords.length>0&&self._joinKeywords(keywords,function(){BI.isEndWithBlank(last)?(self.combo.setValue(self.storeValue),assertShowValue(),self.combo.populate(),self._setStartValue("")):(self.combo.setValue(self.storeValue),assertShowValue())})}),this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE,function(value,obj){obj instanceof BI.MultiSelectBar?self._joinAll(this.getValue(),function(){assertShowValue()}):self._join(this.getValue(),function(){assertShowValue()}),self.fireEvent(BI.MultiSelectNoBarCombo.EVENT_CLICK_ITEM)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW,function(){self.numberCounter.updateSelectedValue(self.storeValue)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK,function(){self.combo.isViewVisible()||self.combo.showView()}),this.combo=BI.createWidget({type:"bi.combo",toggle:!1,container:o.container,el:this.trigger,adjustLength:1,popup:{type:"bi.multi_select_no_bar_popup_view",ref:function(){self.popup=this,self.trigger.setAdapter(this),self.numberCounter.setAdapter(this)},listeners:[{eventName:BI.MultiSelectPopupView.EVENT_CHANGE,action:function(){self.storeValue=this.getValue(),self._adjust(function(){assertShowValue()}),self.fireEvent(BI.MultiSelectNoBarCombo.EVENT_CLICK_ITEM)}},{eventName:BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM,action:function(){self._defaultState()}},{eventName:BI.MultiSelectPopupView.EVENT_CLICK_CLEAR,action:function(){self.setValue(),self._defaultState()}}],itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,onLoaded:function(){BI.nextTick(function(){self.combo.adjustWidth(),self.combo.adjustHeight(),self.numberCounter.adjustView(),self.trigger.getSearcher().adjustView()})}},value:{type:BI.Selection.Multi,value:o.value},hideChecker:function(e){return 0===triggerBtn.element.find(e.target).length&&0===self.numberCounter.element.find(e.target).length}}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){this.setValue(self.storeValue),BI.nextTick(function(){self.populate()})}),this.wants2Quit=!1,this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW,function(){
self._stopEditing(),self.requesting===!0?self.wants2Quit=!0:self.fireEvent(BI.MultiSelectNoBarCombo.EVENT_CONFIRM)});var triggerBtn=BI.createWidget({type:"bi.trigger_icon_button",width:o.height,height:o.height,cls:"multi-select-trigger-icon-button"});triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE,function(){self.numberCounter.hideView(),self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}),this.numberCounter=BI.createWidget({type:"bi.multi_select_check_selected_switcher",masker:{offset:{left:0,top:0,right:0,bottom:25}},valueFormatter:o.valueFormatter,itemsCreator:BI.bind(this._itemsCreator4Trigger,this),value:{type:BI.Selection.Multi,value:o.value}}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE,function(){self.combo.isViewVisible()||self.combo.showView()}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW,function(){this.updateSelectedValue(self.storeValue)}),this.numberCounter.on(BI.Events.VIEW,function(b){BI.nextTick(function(){self.trigger.refreshPlaceHolderWidth(b===!0?self.numberCounter.element.outerWidth()+8:0)})}),this.trigger.element.click(function(e){self.trigger.element.find(e.target).length>0&&self.numberCounter.hideView()}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.combo,left:0,right:0,top:0,bottom:0},{el:triggerBtn,right:0,top:0,bottom:0},{el:{type:"bi.vertical_adapt",items:[this.numberCounter]},right:o.height,top:0,height:o.height}]})},_itemsCreator4Trigger:function(op,callback){var self=this,o=this.options;o.itemsCreator(op,function(res){1===op.times&&BI.isNotNull(op.keywords)&&self.trigger.setValue(BI.deepClone(self.storeValue)),callback.apply(self,arguments)})},_stopEditing:function(){this.trigger.stopEditing(),this.numberCounter.hideView()},_defaultState:function(){this._stopEditing(),this.combo.hideView()},_assertValue:function(val){val||(val={}),val.type||(val.type=BI.Selection.Multi),val.value||(val.value=[])},_makeMap:function(values){return BI.makeObject(values||[])},_joinKeywords:function(keywords,callback){function digest(items){var selectedMap=self._makeMap(items);BI.each(keywords,function(i,val){BI.isNotNull(selectedMap[val])&&(self.storeValue.type===BI.Selection.Multi?BI.pushDistinct(self.storeValue.value,val):BI.remove(self.storeValue.value,val))}),self._adjust(callback)}var self=this,o=this.options;this._assertValue(this.storeValue),this.requesting=!0,o.itemsCreator({type:BI.MultiSelectNoBarCombo.REQ_GET_ALL_DATA,keywords:keywords},function(ob){var values=BI.map(ob.items,"value");digest(values)})},_joinAll:function(res,callback){var self=this,o=this.options;this._assertValue(res),this.requesting=!0,o.itemsCreator({type:BI.MultiSelectNoBarCombo.REQ_GET_ALL_DATA,keywords:[this.trigger.getKey()]},function(ob){var items=BI.map(ob.items,"value");if(self.storeValue.type===res.type){var change=!1,map=self._makeMap(self.storeValue.value);return BI.each(items,function(i,v){BI.isNotNull(map[v])&&(change=!0,self.storeValue.assist&&self.storeValue.assist.push(map[v]),delete map[v])}),change&&(self.storeValue.value=BI.values(map)),void self._adjust(callback)}var selectedMap=self._makeMap(self.storeValue.value),notSelectedMap=self._makeMap(res.value),newItems=[];BI.each(items,function(i,item){BI.isNotNull(selectedMap[items[i]])&&(self.storeValue.assist&&self.storeValue.assist.push(selectedMap[items[i]]),delete selectedMap[items[i]]),BI.isNull(notSelectedMap[items[i]])&&(BI.remove(self.storeValue.assist,item),newItems.push(item))}),self.storeValue.value=newItems.concat(BI.values(selectedMap)),self._adjust(callback)})},_adjust:function(callback){function adjust(){self.wants2Quit===!0&&(self.fireEvent(BI.MultiSelectNoBarCombo.EVENT_CONFIRM),self.wants2Quit=!1),self.requesting=!1}var self=this,o=this.options;adjust(),callback()},_join:function(res,callback){var self=this,o=this.options;if(this._assertValue(res),this._assertValue(this.storeValue),this.storeValue.type===res.type){var map=this._makeMap(this.storeValue.value);BI.each(res.value,function(i,v){map[v]||(self.storeValue.value.push(v),BI.remove(self.storeValue.assist,v),map[v]=v)});var change=!1;return BI.each(res.assist,function(i,v){BI.isNotNull(map[v])&&(change=!0,self.storeValue.assist&&self.storeValue.assist.push(map[v]),delete map[v])}),change&&(this.storeValue.value=BI.values(map)),void self._adjust(callback)}this._joinAll(res,callback)},_setStartValue:function(value){this._startValue=value,this.popup.setStartValue(value)},setValue:function(v){this.storeValue={type:BI.Selection.Multi,value:v||[]},this.combo.setValue(this.storeValue),this.numberCounter.setValue(this.storeValue)},getValue:function(){return BI.deepClone(this.storeValue.value)},populate:function(){this.combo.populate.apply(this.combo,arguments),this.numberCounter.populateSwitcher.apply(this.numberCounter,arguments)}}),BI.extend(BI.MultiSelectNoBarCombo,{REQ_GET_DATA_LENGTH:1,REQ_GET_ALL_DATA:-1}),BI.MultiSelectNoBarCombo.EVENT_BLUR="EVENT_BLUR",BI.MultiSelectNoBarCombo.EVENT_FOCUS="EVENT_FOCUS",BI.MultiSelectNoBarCombo.EVENT_STOP="EVENT_STOP",BI.MultiSelectNoBarCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiSelectNoBarCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.MultiSelectNoBarCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.multi_select_no_bar_combo",BI.MultiSelectNoBarCombo),BI.MultiSelectInsertCombo=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.MultiSelectInsertCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-insert-combo",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,height:24,attributes:{tabIndex:0},allowEdit:!0})},_init:function(){BI.MultiSelectInsertCombo.superclass._init.apply(this,arguments);var self=this,o=this.options,assertShowValue=function(){BI.isKey(self._startValue)&&(self.storeValue.type===BI.Selection.All?BI.remove(self.storeValue.value,self._startValue):BI.pushDistinct(self.storeValue.value,self._startValue)),self.trigger.getSearcher().setState(self.storeValue),self.numberCounter.setButtonChecked(self.storeValue)};this.storeValue=o.value||{},this.requesting=!1,this.trigger=BI.createWidget({type:"bi.multi_select_insert_trigger",allowEdit:o.allowEdit,height:o.height,text:o.text,watermark:o.watermark,masker:{offset:{left:0,top:0,right:0,bottom:25}},valueFormatter:o.valueFormatter,itemsCreator:BI.bind(this._itemsCreator4Trigger,this),value:o.value}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_FOCUS,function(){self.fireEvent(BI.MultiSelectInsertCombo.EVENT_FOCUS)}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_BLUR,function(){self.fireEvent(BI.MultiSelectInsertCombo.EVENT_BLUR)}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_START,function(){self._setStartValue(""),this.getSearcher().setValue(self.storeValue)}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_STOP,function(){self._setStartValue(""),self.fireEvent(BI.MultiSelectInsertCombo.EVENT_STOP)}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_PAUSE,function(){this.getSearcher().hasMatched()&&self._addItem(assertShowValue)}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_ADD_ITEM,function(){this.getSearcher().hasMatched()||(self._addItem(assertShowValue),self._stopEditing())}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_SEARCHING,function(keywords){var last=BI.last(keywords);keywords=BI.initial(keywords||[]),keywords.length>0&&self._joinKeywords(keywords,function(){BI.isEndWithBlank(last)?(self.combo.setValue(self.storeValue),assertShowValue(),self.combo.populate(),self._setStartValue("")):(self.combo.setValue(self.storeValue),assertShowValue())}),self.fireEvent(BI.MultiSelectInsertCombo.EVENT_SEARCHING)}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_CHANGE,function(value,obj){obj instanceof BI.MultiSelectBar?self._joinAll(this.getValue(),function(){assertShowValue()}):self._join(this.getValue(),function(){assertShowValue()}),self.fireEvent(BI.MultiSelectInsertCombo.EVENT_CLICK_ITEM)}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW,function(){self.numberCounter.updateSelectedValue(self.storeValue)}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_COUNTER_CLICK,function(){self.combo.isViewVisible()||self.combo.showView()}),this.combo=BI.createWidget({type:"bi.combo",toggle:!o.allowEdit,el:this.trigger,adjustLength:1,container:o.container,popup:{type:"bi.multi_select_popup_view",ref:function(){self.popup=this,self.trigger.setAdapter(this),self.numberCounter.setAdapter(this)},listeners:[{eventName:BI.MultiSelectPopupView.EVENT_CHANGE,action:function(){self.storeValue=this.getValue(),self._adjust(function(){assertShowValue()}),self.fireEvent(BI.MultiSelectInsertCombo.EVENT_CLICK_ITEM)}},{eventName:BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM,action:function(){self._defaultState()}},{eventName:BI.MultiSelectPopupView.EVENT_CLICK_CLEAR,action:function(){self.setValue(),self._defaultState()}}],itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,onLoaded:function(){BI.nextTick(function(){self.combo.adjustWidth(),self.combo.adjustHeight(),self.numberCounter.adjustView(),self.trigger.getSearcher().adjustView()})}},value:o.value,hideChecker:function(e){return 0===triggerBtn.element.find(e.target).length&&0===self.numberCounter.element.find(e.target).length}}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){this.setValue(self.storeValue),BI.nextTick(function(){self.populate()})}),this.wants2Quit=!1,this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW,function(){self._stopEditing(),self.requesting===!0?self.wants2Quit=!0:self.fireEvent(BI.MultiSelectInsertCombo.EVENT_CONFIRM)});var triggerBtn=BI.createWidget({type:"bi.trigger_icon_button",width:o.height,height:o.height,cls:"multi-select-trigger-icon-button"});triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE,function(){self.numberCounter.hideView(),self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}),this.numberCounter=BI.createWidget({type:"bi.multi_select_check_selected_switcher",masker:{offset:{left:0,top:0,right:0,bottom:25}},valueFormatter:o.valueFormatter,itemsCreator:BI.bind(this._itemsCreator4Trigger,this),value:o.value}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE,function(){self.combo.isViewVisible()||self.combo.showView()}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW,function(){this.updateSelectedValue(self.storeValue)}),this.numberCounter.on(BI.Events.VIEW,function(b){BI.nextTick(function(){self.trigger.refreshPlaceHolderWidth(b===!0?self.numberCounter.element.outerWidth()+8:0)})}),this.trigger.element.click(function(e){self.trigger.element.find(e.target).length>0&&self.numberCounter.hideView()}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.combo,left:0,right:0,top:0,bottom:0},{el:triggerBtn,right:0,top:0,bottom:0},{el:{type:"bi.vertical_adapt",items:[this.numberCounter]},right:o.height,top:0,height:o.height}]})},_itemsCreator4Trigger:function(op,callback){var self=this,o=this.options;o.itemsCreator(op,function(res){1===op.times&&BI.isNotNull(op.keywords)&&self.trigger.setValue(BI.deepClone(self.getValue())),callback.apply(self,arguments)})},_addItem:function(assertShowValue){var self=this,keyword=this.trigger.getSearcher().getKeyword();this._join({type:BI.Selection.Multi,value:[keyword]},function(){self.storeValue.type===BI.Selection.Multi&&BI.pushDistinct(self.storeValue.value,keyword),self.combo.setValue(self.storeValue),self._setStartValue(keyword),assertShowValue(),self.populate(),self._setStartValue("")})},_stopEditing:function(){this.trigger.stopEditing(),this.numberCounter.hideView()},_defaultState:function(){this._stopEditing(),this.combo.hideView()},_assertValue:function(val){val||(val={}),val.type||(val.type=BI.Selection.Multi),val.value||(val.value=[])},_makeMap:function(values){return BI.makeObject(values||[])},_joinKeywords:function(keywords,callback){function digest(items){var selectedMap=self._makeMap(items);BI.each(keywords,function(i,val){BI.isNotNull(selectedMap[val])&&(self.storeValue.type===BI.Selection.Multi?BI.pushDistinct(self.storeValue.value,val):BI.remove(self.storeValue.value,val))}),self._adjust(callback)}var self=this,o=this.options;this._assertValue(this.storeValue),this.requesting=!0,o.itemsCreator({type:BI.MultiSelectInsertCombo.REQ_GET_ALL_DATA,keywords:keywords},function(ob){var values=BI.map(ob.items,"value");digest(values)})},_joinAll:function(res,callback){var self=this,o=this.options;this._assertValue(res),this.requesting=!0,o.itemsCreator({type:BI.MultiSelectInsertCombo.REQ_GET_ALL_DATA,keywords:[this.trigger.getKey()]},function(ob){var items=BI.map(ob.items,"value");if(self.storeValue.type===res.type){var change=!1,map=self._makeMap(self.storeValue.value);return BI.each(items,function(i,v){BI.isNotNull(map[v])&&(change=!0,self.storeValue.assist&&self.storeValue.assist.push(map[v]),delete map[v])}),change&&(self.storeValue.value=BI.values(map)),void self._adjust(callback)}var selectedMap=self._makeMap(self.storeValue.value),notSelectedMap=self._makeMap(res.value),newItems=[];BI.each(items,function(i,item){BI.isNotNull(selectedMap[items[i]])&&(self.storeValue.assist&&self.storeValue.assist.push(selectedMap[items[i]]),delete selectedMap[items[i]]),BI.isNull(notSelectedMap[items[i]])&&(BI.remove(self.storeValue.assist,item),newItems.push(item))}),self.storeValue.value=newItems.concat(BI.values(selectedMap)),self._adjust(callback)})},_adjust:function(callback){function adjust(){self.wants2Quit===!0&&(self.fireEvent(BI.MultiSelectInsertCombo.EVENT_CONFIRM),self.wants2Quit=!1),self.requesting=!1}var self=this,o=this.options;adjust(),callback()},_join:function(res,callback){var self=this,o=this.options;if(this._assertValue(res),this._assertValue(this.storeValue),this.storeValue.type===res.type){var map=this._makeMap(this.storeValue.value);BI.each(res.value,function(i,v){map[v]||(self.storeValue.value.push(v),BI.remove(self.storeValue.assist,v),map[v]=v)});var change=!1;return BI.each(res.assist,function(i,v){BI.isNotNull(map[v])&&(change=!0,self.storeValue.assist&&self.storeValue.assist.push(map[v]),delete map[v])}),change&&(this.storeValue.value=BI.values(map)),void self._adjust(callback)}this._joinAll(res,callback)},_setStartValue:function(value){this._startValue=value,this.popup.setStartValue(value)},setValue:function(v){this.storeValue=v||{},this._assertValue(this.storeValue),this.combo.setValue(this.storeValue),this.numberCounter.setValue(this.storeValue)},getValue:function(){return BI.deepClone(this.storeValue)},populate:function(){this.combo.populate.apply(this.combo,arguments),this.numberCounter.populateSwitcher.apply(this.numberCounter,arguments)}}),BI.extend(BI.MultiSelectInsertCombo,{REQ_GET_DATA_LENGTH:1,REQ_GET_ALL_DATA:-1}),BI.MultiSelectInsertCombo.EVENT_FOCUS="EVENT_FOCUS",BI.MultiSelectInsertCombo.EVENT_BLUR="EVENT_BLUR",BI.MultiSelectInsertCombo.EVENT_STOP="EVENT_STOP",BI.MultiSelectInsertCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiSelectInsertCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.MultiSelectInsertCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.multi_select_insert_combo",BI.MultiSelectInsertCombo),BI.MultiSelectInsertNoBarCombo=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.MultiSelectInsertNoBarCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-insert-combo-no-bar",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,height:24,attributes:{tabIndex:0}})},_init:function(){BI.MultiSelectInsertNoBarCombo.superclass._init.apply(this,arguments);var self=this,o=this.options,assertShowValue=function(){BI.isKey(self._startValue)&&(self.storeValue.type===BI.Selection.All?BI.remove(self.storeValue.value,self._startValue):BI.pushDistinct(self.storeValue.value,self._startValue)),self.trigger.getSearcher().setState(self.storeValue),self.numberCounter.setButtonChecked(self.storeValue)};this.storeValue={type:BI.Selection.Multi,value:o.value||[]},this.requesting=!1,this.trigger=BI.createWidget({type:"bi.multi_select_insert_trigger",height:o.height,text:o.text,masker:{offset:{left:0,top:0,right:0,bottom:25}},valueFormatter:o.valueFormatter,itemsCreator:BI.bind(this._itemsCreator4Trigger,this),value:{type:BI.Selection.Multi,value:o.value}}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_START,function(){self._setStartValue(""),this.getSearcher().setValue(self.storeValue)}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_STOP,function(){self._setStartValue("")}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_PAUSE,function(){this.getSearcher().hasMatched()&&self._addItem(assertShowValue)}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_ADD_ITEM,function(){this.getSearcher().hasMatched()||(self._addItem(assertShowValue),self._stopEditing())}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_SEARCHING,function(keywords){var last=BI.last(keywords);keywords=BI.initial(keywords||[]),keywords.length>0&&self._joinKeywords(keywords,function(){BI.isEndWithBlank(last)?(self.combo.setValue(self.storeValue),assertShowValue(),self.combo.populate(),self._setStartValue("")):(self.combo.setValue(self.storeValue),assertShowValue())})}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_CHANGE,function(value,obj){obj instanceof BI.MultiSelectBar?self._joinAll(this.getValue(),function(){assertShowValue()}):self._join(this.getValue(),function(){assertShowValue()})}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW,function(){self.numberCounter.updateSelectedValue(self.storeValue)}),this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_COUNTER_CLICK,function(){self.combo.isViewVisible()||self.combo.showView()}),this.combo=BI.createWidget({type:"bi.combo",toggle:!1,container:o.container,el:this.trigger,adjustLength:1,popup:{type:"bi.multi_select_no_bar_popup_view",ref:function(){self.popup=this,self.trigger.setAdapter(this),self.numberCounter.setAdapter(this)},listeners:[{eventName:BI.MultiSelectPopupView.EVENT_CHANGE,action:function(){self.storeValue=this.getValue(),self._adjust(function(){assertShowValue()})}},{eventName:BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM,action:function(){self._defaultState()}},{eventName:BI.MultiSelectPopupView.EVENT_CLICK_CLEAR,action:function(){self.setValue(),self._defaultState()}}],itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,onLoaded:function(){BI.nextTick(function(){self.combo.adjustWidth(),self.combo.adjustHeight(),self.numberCounter.adjustView(),self.trigger.getSearcher().adjustView()})}},value:{type:BI.Selection.Multi,value:o.value},hideChecker:function(e){return 0===triggerBtn.element.find(e.target).length&&0===self.numberCounter.element.find(e.target).length}}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){this.setValue(self.storeValue),BI.nextTick(function(){self.populate()})}),this.wants2Quit=!1,this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW,function(){self._stopEditing(),self.requesting===!0?self.wants2Quit=!0:self.fireEvent(BI.MultiSelectInsertNoBarCombo.EVENT_CONFIRM)});var triggerBtn=BI.createWidget({type:"bi.trigger_icon_button",width:o.height,height:o.height,cls:"multi-select-trigger-icon-button"});triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE,function(){self.numberCounter.hideView(),self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}),this.numberCounter=BI.createWidget({type:"bi.multi_select_check_selected_switcher",masker:{offset:{left:0,top:0,right:0,bottom:25}},valueFormatter:o.valueFormatter,itemsCreator:BI.bind(this._itemsCreator4Trigger,this),value:{type:BI.Selection.Multi,value:o.value}}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE,function(){self.combo.isViewVisible()||self.combo.showView()}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW,function(){this.updateSelectedValue(self.storeValue)}),this.numberCounter.on(BI.Events.VIEW,function(b){BI.nextTick(function(){self.trigger.refreshPlaceHolderWidth(b===!0?self.numberCounter.element.outerWidth()+8:0)})}),this.trigger.element.click(function(e){self.trigger.element.find(e.target).length>0&&self.numberCounter.hideView()}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.combo,left:0,right:0,top:0,bottom:0},{el:triggerBtn,right:0,top:0,bottom:0},{el:{type:"bi.vertical_adapt",items:[this.numberCounter]},right:o.height,top:0,height:o.height}]})},_itemsCreator4Trigger:function(op,callback){var self=this,o=this.options;o.itemsCreator(op,function(res){1===op.times&&BI.isNotNull(op.keywords)&&self.trigger.setValue(BI.deepClone(self.storeValue)),callback.apply(self,arguments)})},_addItem:function(assertShowValue){var self=this,keyword=this.trigger.getSearcher().getKeyword();this._join({type:BI.Selection.Multi,value:[keyword]},function(){self.storeValue.type===BI.Selection.Multi&&BI.pushDistinct(self.storeValue.value,keyword),self.combo.setValue(self.storeValue),self._setStartValue(keyword),assertShowValue(),self.populate(),self._setStartValue("")})},_stopEditing:function(){this.trigger.stopEditing(),this.numberCounter.hideView()},_defaultState:function(){this._stopEditing(),this.combo.hideView()},_assertValue:function(val){val||(val={}),val.type||(val.type=BI.Selection.Multi),val.value||(val.value=[])},_makeMap:function(values){return BI.makeObject(values||[])},_joinKeywords:function(keywords,callback){function digest(items){var selectedMap=self._makeMap(items);BI.each(keywords,function(i,val){BI.isNotNull(selectedMap[val])&&(self.storeValue.type===BI.Selection.Multi?BI.pushDistinct(self.storeValue.value,val):BI.remove(self.storeValue.value,val))}),self._adjust(callback)}var self=this,o=this.options;this._assertValue(this.storeValue),this.requesting=!0,o.itemsCreator({type:BI.MultiSelectInsertNoBarCombo.REQ_GET_ALL_DATA,keywords:keywords},function(ob){var values=BI.map(ob.items,"value");digest(values)})},_joinAll:function(res,callback){var self=this,o=this.options;this._assertValue(res),this.requesting=!0,o.itemsCreator({type:BI.MultiSelectInsertNoBarCombo.REQ_GET_ALL_DATA,keywords:[this.trigger.getKey()]},function(ob){var items=BI.map(ob.items,"value");if(self.storeValue.type===res.type){var change=!1,map=self._makeMap(self.storeValue.value);return BI.each(items,function(i,v){BI.isNotNull(map[v])&&(change=!0,self.storeValue.assist&&self.storeValue.assist.push(map[v]),delete map[v])}),change&&(self.storeValue.value=BI.values(map)),void self._adjust(callback)}var selectedMap=self._makeMap(self.storeValue.value),notSelectedMap=self._makeMap(res.value),newItems=[];BI.each(items,function(i,item){BI.isNotNull(selectedMap[items[i]])&&(self.storeValue.assist&&self.storeValue.assist.push(selectedMap[items[i]]),delete selectedMap[items[i]]),BI.isNull(notSelectedMap[items[i]])&&(BI.remove(self.storeValue.assist,item),newItems.push(item))}),self.storeValue.value=newItems.concat(BI.values(selectedMap)),self._adjust(callback)})},_adjust:function(callback){function adjust(){self.wants2Quit===!0&&(self.fireEvent(BI.MultiSelectInsertNoBarCombo.EVENT_CONFIRM),self.wants2Quit=!1),self.requesting=!1}var self=this,o=this.options;adjust(),callback()},_join:function(res,callback){var self=this,o=this.options;if(this._assertValue(res),this._assertValue(this.storeValue),this.storeValue.type===res.type){var map=this._makeMap(this.storeValue.value);BI.each(res.value,function(i,v){map[v]||(self.storeValue.value.push(v),BI.remove(self.storeValue.assist,v),map[v]=v)});var change=!1;return BI.each(res.assist,function(i,v){BI.isNotNull(map[v])&&(change=!0,self.storeValue.assist&&self.storeValue.assist.push(map[v]),delete map[v])}),change&&(this.storeValue.value=BI.values(map)),void self._adjust(callback)}this._joinAll(res,callback)},_setStartValue:function(value){this._startValue=value,this.popup.setStartValue(value)},setValue:function(v){this.storeValue={type:BI.Selection.Multi,value:v||[]},this.combo.setValue(this.storeValue),this.numberCounter.setValue(this.storeValue)},getValue:function(){return BI.deepClone(this.storeValue.value)},populate:function(){this.combo.populate.apply(this.combo,arguments),this.numberCounter.populateSwitcher.apply(this.numberCounter,arguments)}}),BI.extend(BI.MultiSelectInsertNoBarCombo,{REQ_GET_DATA_LENGTH:1,REQ_GET_ALL_DATA:-1}),BI.MultiSelectInsertNoBarCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.multi_select_insert_no_bar_combo",BI.MultiSelectInsertNoBarCombo),BI.MultiSelectInsertTrigger=BI.inherit(BI.Trigger,{constants:{height:14,rgap:4,lgap:4},_defaultConfig:function(){return BI.extend(BI.MultiSelectInsertTrigger.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-trigger bi-border bi-border-radius",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,searcher:{},switcher:{},adapter:null,masker:{},allowEdit:!0})},_init:function(){BI.MultiSelectInsertTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options;o.height&&this.setHeight(o.height-2),this.searcher=BI.createWidget(o.searcher,{type:"bi.multi_select_insert_searcher",height:o.height,text:o.text,itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,watermark:o.watermark,popup:{},adapter:o.adapter,masker:o.masker,value:o.value}),this.searcher.on(BI.MultiSelectInsertSearcher.EVENT_START,function(){self.fireEvent(BI.MultiSelectInsertTrigger.EVENT_START)}),this.searcher.on(BI.MultiSelectInsertSearcher.EVENT_ADD_ITEM,function(){self.fireEvent(BI.MultiSelectInsertTrigger.EVENT_ADD_ITEM)}),this.searcher.on(BI.MultiSelectInsertSearcher.EVENT_PAUSE,function(){self.fireEvent(BI.MultiSelectInsertTrigger.EVENT_PAUSE)}),this.searcher.on(BI.MultiSelectInsertSearcher.EVENT_SEARCHING,function(){self.fireEvent(BI.MultiSelectInsertTrigger.EVENT_SEARCHING,arguments)}),this.searcher.on(BI.MultiSelectInsertSearcher.EVENT_STOP,function(){self.fireEvent(BI.MultiSelectInsertTrigger.EVENT_STOP)}),this.searcher.on(BI.MultiSelectInsertSearcher.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectInsertTrigger.EVENT_CHANGE,arguments)}),this.searcher.on(BI.MultiSelectInsertSearcher.EVENT_BLUR,function(){self.fireEvent(BI.MultiSelectInsertTrigger.EVENT_BLUR)}),this.searcher.on(BI.MultiSelectInsertSearcher.EVENT_FOCUS,function(){self.fireEvent(BI.MultiSelectInsertTrigger.EVENT_FOCUS)}),this.wrapNumberCounter=BI.createWidget({type:"bi.layout"}),this.wrapper=BI.createWidget({type:"bi.htape",element:this,items:[{el:this.searcher,width:"fill"},{el:this.wrapNumberCounter,width:0},{el:BI.createWidget(),width:24}]}),!o.allowEdit&&BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.layout"},left:0,right:24,top:0,bottom:0}]})},refreshPlaceHolderWidth:function(width){this.wrapper.attr("items")[1].width=width,this.wrapper.resize()},getSearcher:function(){return this.searcher},stopEditing:function(){this.searcher.stopSearch()},setAdapter:function(adapter){this.searcher.setAdapter(adapter)},setValue:function(ob){this.searcher.setValue(ob)},getKey:function(){return this.searcher.getKey()},getValue:function(){return this.searcher.getValue()}}),BI.MultiSelectInsertTrigger.EVENT_TRIGGER_CLICK="EVENT_TRIGGER_CLICK",BI.MultiSelectInsertTrigger.EVENT_COUNTER_CLICK="EVENT_COUNTER_CLICK",BI.MultiSelectInsertTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.MultiSelectInsertTrigger.EVENT_START="EVENT_START",BI.MultiSelectInsertTrigger.EVENT_STOP="EVENT_STOP",BI.MultiSelectInsertTrigger.EVENT_PAUSE="EVENT_PAUSE",BI.MultiSelectInsertTrigger.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiSelectInsertTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW="EVENT_BEFORE_COUNTER_POPUPVIEW",BI.MultiSelectInsertTrigger.EVENT_ADD_ITEM="EVENT_ADD_ITEM",BI.MultiSelectInsertTrigger.EVENT_FOCUS="EVENT_FOCUS",BI.MultiSelectInsertTrigger.EVENT_BLUR="EVENT_BLUR",BI.shortcut("bi.multi_select_insert_trigger",BI.MultiSelectInsertTrigger),BI.MultiSelectLoader=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiSelectLoader.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-loader",logic:{dynamic:!0},el:{height:400},valueFormatter:BI.emptyFn,itemsCreator:BI.emptyFn,onLoaded:BI.emptyFn})},_init:function(){BI.MultiSelectLoader.superclass._init.apply(this,arguments);var self=this,opts=this.options,hasNext=!1;this.storeValue=opts.value||{},this._assertValue(this.storeValue),this.button_group=BI.createWidget({type:"bi.select_list",logic:opts.logic,toolbar:{type:"bi.multi_select_bar",cls:"bi-list-item-active",iconWrapperWidth:36},el:BI.extend({onLoaded:opts.onLoaded,el:{type:"bi.loader",isDefaultInit:!1,logic:{dynamic:!0,scrolly:!0},el:{chooseType:BI.ButtonGroup.CHOOSE_TYPE_MULTI,behaviors:{redmark:function(){return!0}},layouts:[{type:"bi.vertical"}]}}},opts.el),itemsCreator:function(op,callback){var startValue=self._startValue;self.storeValue&&(op=BI.extend(op||{},{selectedValues:BI.isKey(startValue)&&self.storeValue.type===BI.Selection.Multi?self.storeValue.value.concat(startValue):self.storeValue.value})),opts.itemsCreator(op,function(ob){hasNext=ob.hasNext;var firstItems=[];if(1===op.times&&self.storeValue){var json=BI.map(self.storeValue.value,function(i,v){var txt=opts.valueFormatter(v)||v;return{text:txt,value:v,title:txt,selected:self.storeValue.type===BI.Selection.Multi}});if(BI.isKey(self._startValue)&&!BI.contains(self.storeValue.value,self._startValue)){var txt=opts.valueFormatter(startValue)||startValue;json.unshift({text:txt,value:startValue,title:txt,selected:!0})}firstItems=self._createItems(json)}callback(firstItems.concat(self._createItems(ob.items)),ob.keyword||""),1===op.times&&self.storeValue&&(BI.isKey(startValue)&&(self.storeValue.type===BI.Selection.All?BI.remove(self.storeValue.value,startValue):BI.pushDistinct(self.storeValue.value,startValue)),self.setValue(self.storeValue)),1===op.times&&self._scrollToTop()})},hasNext:function(){return hasNext},value:this.storeValue}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Top),BI.extend({scrolly:!0,vgap:5},opts.logic,{items:BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Top,this.button_group)})))),this.button_group.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.button_group.on(BI.SelectList.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectLoader.EVENT_CHANGE,arguments)})},_createItems:function(items){return BI.createItems(items,{type:"bi.multi_select_item",logic:this.options.logic,cls:"bi-list-item-active",height:24,selected:this.isAllSelected(),iconWrapperWidth:36})},_scrollToTop:function(){var self=this;BI.delay(function(){self.button_group.element.scrollTop(0)},30)},isAllSelected:function(){return this.button_group.isAllSelected()},_assertValue:function(val){val||(val={}),val.type||(val.type=BI.Selection.Multi),val.value||(val.value=[])},setStartValue:function(v){this._startValue=v},setValue:function(v){this.storeValue=v||{},this._assertValue(this.storeValue),this.button_group.setValue(this.storeValue)},getValue:function(){return this.button_group.getValue()},getAllButtons:function(){return this.button_group.getAllButtons()},empty:function(){this.button_group.empty()},populate:function(items){arguments[0]=this._createItems(items),this.button_group.populate.apply(this.button_group,arguments)},resetHeight:function(h){this.button_group.resetHeight(h-10)},resetWidth:function(w){this.button_group.resetWidth(w)}}),BI.MultiSelectLoader.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_loader",BI.MultiSelectLoader),BI.MultiSelectNoBarLoader=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiSelectNoBarLoader.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-loader",logic:{dynamic:!0},el:{height:400},valueFormatter:BI.emptyFn,itemsCreator:BI.emptyFn,onLoaded:BI.emptyFn})},_init:function(){BI.MultiSelectNoBarLoader.superclass._init.apply(this,arguments);var self=this,opts=this.options,hasNext=!1;this.storeValue=opts.value||{},this._assertValue(this.storeValue),this.button_group=BI.createWidget(BI.extend({type:"bi.list_pane",onLoaded:opts.onLoaded,
el:{type:"bi.loader",isDefaultInit:!1,logic:{dynamic:!0,scrolly:!0},el:{chooseType:BI.ButtonGroup.CHOOSE_TYPE_MULTI,behaviors:{redmark:function(){return!0}},layouts:[{type:"bi.vertical"}]}},itemsCreator:function(op,callback){var startValue=self._startValue;self.storeValue&&(op=BI.extend(op||{},{selectedValues:BI.isKey(startValue)&&self.storeValue.type===BI.Selection.Multi?self.storeValue.value.concat(startValue):self.storeValue.value})),opts.itemsCreator(op,function(ob){hasNext=ob.hasNext;var firstItems=[];if(1===op.times&&self.storeValue){var json=BI.map(self.storeValue.value,function(i,v){var txt=opts.valueFormatter(v)||v;return{text:txt,value:v,title:txt,selected:self.storeValue.type===BI.Selection.Multi}});if(BI.isKey(self._startValue)&&!BI.contains(self.storeValue.value,self._startValue)){var txt=opts.valueFormatter(startValue)||startValue;json.unshift({text:txt,value:startValue,title:txt,selected:!0})}firstItems=self._createItems(json)}callback(firstItems.concat(self._createItems(ob.items)),ob.keyword||""),1===op.times&&self.storeValue&&(BI.isKey(startValue)&&(self.storeValue.type===BI.Selection.All?BI.remove(self.storeValue.value,startValue):BI.pushDistinct(self.storeValue.value,startValue)),self.setValue(self.storeValue)),1===op.times&&self._scrollToTop()})},hasNext:function(){return hasNext},value:this.storeValue},opts.el)),BI.createWidget({type:"bi.vertical",element:this,items:[this.button_group],vgap:5}),this.button_group.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.button_group.on(BI.SelectList.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectNoBarLoader.EVENT_CHANGE,arguments)})},_createItems:function(items){return BI.createItems(items,{type:"bi.multi_select_item",cls:"bi-list-item-active",logic:this.options.logic,height:24,iconWrapperWidth:36})},_scrollToTop:function(){var self=this;BI.delay(function(){self.button_group.element.scrollTop(0)},30)},_assertValue:function(val){val||(val={}),val.type||(val.type=BI.Selection.Multi),val.value||(val.value=[])},setStartValue:function(v){this._startValue=v},setValue:function(v){this.storeValue=v||{},this._assertValue(this.storeValue),this.button_group.setValue(this.storeValue.value)},getValue:function(){return{type:BI.Selection.Multi,value:this.button_group.getValue()}},getAllButtons:function(){return this.button_group.getAllButtons()},empty:function(){this.button_group.empty()},populate:function(items){arguments[0]=this._createItems(items),this.button_group.populate.apply(this.button_group,arguments)},resetHeight:function(h){this.button_group.element.css({"max-height":h+"px"})},resetWidth:function(){}}),BI.MultiSelectNoBarLoader.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_no_bar_loader",BI.MultiSelectNoBarLoader),BI.MultiSelectPopupView=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiSelectPopupView.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-popup-view",maxWidth:"auto",minWidth:135,maxHeight:400,valueFormatter:BI.emptyFn,itemsCreator:BI.emptyFn,onLoaded:BI.emptyFn})},_init:function(){BI.MultiSelectPopupView.superclass._init.apply(this,arguments);var self=this,opts=this.options;this.loader=BI.createWidget({type:"bi.multi_select_loader",itemsCreator:opts.itemsCreator,valueFormatter:opts.valueFormatter,onLoaded:opts.onLoaded,value:opts.value}),this.popupView=BI.createWidget({type:"bi.multi_popup_view",stopPropagation:!1,maxWidth:opts.maxWidth,minWidth:opts.minWidth,maxHeight:opts.maxHeight,element:this,buttons:[BI.i18nText("BI-Basic_Clears"),BI.i18nText("BI-Basic_Sure")],el:this.loader,value:opts.value}),this.popupView.on(BI.MultiPopupView.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectPopupView.EVENT_CHANGE)}),this.popupView.on(BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON,function(index){switch(index){case 0:self.fireEvent(BI.MultiSelectPopupView.EVENT_CLICK_CLEAR);break;case 1:self.fireEvent(BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM)}})},isAllSelected:function(){return this.loader.isAllSelected()},setStartValue:function(v){this.loader.setStartValue(v)},setValue:function(v){this.popupView.setValue(v)},getValue:function(){return this.popupView.getValue()},populate:function(items){this.popupView.populate.apply(this.popupView,arguments)},resetHeight:function(h){this.popupView.resetHeight(h)},resetWidth:function(w){this.popupView.resetWidth(w)}}),BI.MultiSelectPopupView.EVENT_CHANGE="EVENT_CHANGE",BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM="EVENT_CLICK_CONFIRM",BI.MultiSelectPopupView.EVENT_CLICK_CLEAR="EVENT_CLICK_CLEAR",BI.shortcut("bi.multi_select_popup_view",BI.MultiSelectPopupView),BI.MultiSelectNoBarPopupView=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiSelectNoBarPopupView.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-popup-view",maxWidth:"auto",minWidth:135,maxHeight:400,valueFormatter:BI.emptyFn,itemsCreator:BI.emptyFn,onLoaded:BI.emptyFn})},_init:function(){BI.MultiSelectNoBarPopupView.superclass._init.apply(this,arguments);var self=this,opts=this.options;this.loader=BI.createWidget({type:"bi.multi_select_no_bar_loader",itemsCreator:opts.itemsCreator,valueFormatter:opts.valueFormatter,onLoaded:opts.onLoaded,value:opts.value}),this.popupView=BI.createWidget({type:"bi.multi_popup_view",stopPropagation:!1,maxWidth:opts.maxWidth,minWidth:opts.minWidth,maxHeight:opts.maxHeight,element:this,buttons:[BI.i18nText("BI-Basic_Clears"),BI.i18nText("BI-Basic_Sure")],el:this.loader,value:opts.value}),this.popupView.on(BI.MultiPopupView.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectNoBarPopupView.EVENT_CHANGE)}),this.popupView.on(BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON,function(index){switch(index){case 0:self.fireEvent(BI.MultiSelectNoBarPopupView.EVENT_CLICK_CLEAR);break;case 1:self.fireEvent(BI.MultiSelectNoBarPopupView.EVENT_CLICK_CONFIRM)}})},setStartValue:function(v){this.loader.setStartValue(v)},setValue:function(v){this.popupView.setValue(v)},getValue:function(){return this.popupView.getValue()},populate:function(items){this.popupView.populate.apply(this.popupView,arguments)},resetHeight:function(h){this.popupView.resetHeight(h)},resetWidth:function(w){this.popupView.resetWidth(w)}}),BI.MultiSelectNoBarPopupView.EVENT_CHANGE="EVENT_CHANGE",BI.MultiSelectNoBarPopupView.EVENT_CLICK_CONFIRM="EVENT_CLICK_CONFIRM",BI.MultiSelectNoBarPopupView.EVENT_CLICK_CLEAR="EVENT_CLICK_CLEAR",BI.shortcut("bi.multi_select_no_bar_popup_view",BI.MultiSelectNoBarPopupView),BI.MultiSelectTrigger=BI.inherit(BI.Trigger,{constants:{height:14,rgap:4,lgap:4},_defaultConfig:function(){return BI.extend(BI.MultiSelectTrigger.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-trigger bi-border bi-border-radius",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,searcher:{},switcher:{},adapter:null,masker:{},allowEdit:!0})},_init:function(){BI.MultiSelectTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options;o.height&&this.setHeight(o.height-2),this.searcher=BI.createWidget(o.searcher,{type:"bi.multi_select_searcher",height:o.height,text:o.text,itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,watermark:o.watermark,popup:{},adapter:o.adapter,masker:o.masker,value:o.value}),this.searcher.on(BI.MultiSelectSearcher.EVENT_START,function(){self.fireEvent(BI.MultiSelectTrigger.EVENT_START)}),this.searcher.on(BI.MultiSelectSearcher.EVENT_PAUSE,function(){self.fireEvent(BI.MultiSelectTrigger.EVENT_PAUSE)}),this.searcher.on(BI.MultiSelectSearcher.EVENT_SEARCHING,function(){self.fireEvent(BI.MultiSelectTrigger.EVENT_SEARCHING,arguments)}),this.searcher.on(BI.MultiSelectSearcher.EVENT_STOP,function(){self.fireEvent(BI.MultiSelectTrigger.EVENT_STOP)}),this.searcher.on(BI.MultiSelectSearcher.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectTrigger.EVENT_CHANGE,arguments)}),this.searcher.on(BI.MultiSelectSearcher.EVENT_BLUR,function(){self.fireEvent(BI.MultiSelectTrigger.EVENT_BLUR)}),this.searcher.on(BI.MultiSelectSearcher.EVENT_FOCUS,function(){self.fireEvent(BI.MultiSelectTrigger.EVENT_FOCUS)}),this.wrapNumberCounter=BI.createWidget({type:"bi.layout"}),this.wrapper=BI.createWidget({type:"bi.htape",element:this,items:[{el:this.searcher,width:"fill"},{el:this.wrapNumberCounter,width:0},{el:BI.createWidget(),width:24}]}),!o.allowEdit&&BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.layout"},left:0,right:24,top:0,bottom:0}]})},refreshPlaceHolderWidth:function(width){this.wrapper.attr("items")[1].width=width,this.wrapper.resize()},getSearcher:function(){return this.searcher},stopEditing:function(){this.searcher.stopSearch()},setAdapter:function(adapter){this.searcher.setAdapter(adapter)},setValue:function(ob){this.searcher.setValue(ob)},getKey:function(){return this.searcher.getKey()},getValue:function(){return this.searcher.getValue()}}),BI.MultiSelectTrigger.EVENT_TRIGGER_CLICK="EVENT_TRIGGER_CLICK",BI.MultiSelectTrigger.EVENT_COUNTER_CLICK="EVENT_COUNTER_CLICK",BI.MultiSelectTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.MultiSelectTrigger.EVENT_START="EVENT_START",BI.MultiSelectTrigger.EVENT_STOP="EVENT_STOP",BI.MultiSelectTrigger.EVENT_PAUSE="EVENT_PAUSE",BI.MultiSelectTrigger.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW="EVENT_BEFORE_COUNTER_POPUPVIEW",BI.MultiSelectTrigger.EVENT_BLUR="EVENT_BLUR",BI.MultiSelectTrigger.EVENT_FOCUS="EVENT_FOCUS",BI.shortcut("bi.multi_select_trigger",BI.MultiSelectTrigger),BI.MultiSelectSearchInsertPane=BI.inherit(BI.Widget,{constants:{height:24,lgap:10,tgap:5},_defaultConfig:function(){return BI.extend(BI.MultiSelectSearchInsertPane.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-search-pane bi-card",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,keywordGetter:BI.emptyFn})},_init:function(){BI.MultiSelectSearchInsertPane.superclass._init.apply(this,arguments);var self=this,o=this.options;this.tooltipClick=BI.createWidget({type:"bi.label",invisible:!0,text:BI.i18nText("BI-Click_Blank_To_Select"),cls:"multi-select-toolbar",height:this.constants.height}),this.addNotMatchTip=BI.createWidget({type:"bi.text_button",invisible:!0,text:BI.i18nText("BI-Basic_Click_To_Add_Text",""),height:this.constants.height,cls:"bi-high-light",hgap:5,handler:function(){self.fireEvent(BI.MultiSelectSearchInsertPane.EVENT_ADD_ITEM,o.keywordGetter())}}),this.loader=BI.createWidget({type:"bi.multi_select_search_loader",keywordGetter:o.keywordGetter,valueFormatter:o.valueFormatter,itemsCreator:function(op,callback){o.itemsCreator.apply(self,[op,function(res){callback(res),self.setKeyword(o.keywordGetter())}])},value:o.value}),this.loader.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.resizer=BI.createWidget({type:"bi.vtape",element:this,items:[{type:"bi.vertical",items:[this.tooltipClick,this.addNotMatchTip],height:this.constants.height},{el:this.loader}]})},setKeyword:function(keyword){var btn,isMatchTipVisible=this.loader.getAllButtons().length>0&&(btn=this.loader.getAllButtons()[0])&&keyword===btn.getValue();this.tooltipClick.setVisible(isMatchTipVisible),this.addNotMatchTip.setVisible(!isMatchTipVisible),!isMatchTipVisible&&this.addNotMatchTip.setText(BI.i18nText("BI-Basic_Click_To_Add_Text",keyword))},isAllSelected:function(){return this.loader.isAllSelected()},hasMatched:function(){return this.tooltipClick.isVisible()},setValue:function(v){this.loader.setValue(v)},getValue:function(){return this.loader.getValue()},empty:function(){this.loader.empty()},populate:function(items){this.loader.populate.apply(this.loader,arguments)}}),BI.MultiSelectSearchInsertPane.EVENT_CHANGE="EVENT_CHANGE",BI.MultiSelectSearchInsertPane.EVENT_ADD_ITEM="EVENT_ADD_ITEM",BI.shortcut("bi.multi_select_search_insert_pane",BI.MultiSelectSearchInsertPane),BI.MultiSelectSearchLoader=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiSelectSearchLoader.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-search-loader",itemsCreator:BI.emptyFn,keywordGetter:BI.emptyFn,valueFormatter:BI.emptyFn})},_init:function(){BI.MultiSelectSearchLoader.superclass._init.apply(this,arguments);var self=this,opts=this.options,hasNext=!1;this.storeValue=BI.deepClone(opts.value),this.button_group=BI.createWidget({type:"bi.select_list",toolbar:{type:"bi.multi_select_bar",cls:"bi-list-item-active",iconWrapperWidth:36},element:this,logic:{dynamic:!1},value:opts.value,el:{tipText:BI.i18nText("BI-No_Select"),el:{type:"bi.loader",isDefaultInit:!1,logic:{dynamic:!0,scrolly:!0},el:{chooseType:BI.ButtonGroup.CHOOSE_TYPE_MULTI,behaviors:{redmark:function(){return!0}},layouts:[{type:"bi.vertical"}]}}},itemsCreator:function(op,callback){self.storeValue&&(op=BI.extend(op||{},{selectedValues:self.storeValue.value})),opts.itemsCreator(op,function(ob){var keyword=ob.keyword=opts.keywordGetter();hasNext=ob.hasNext;var firstItems=[];if(1===op.times&&self.storeValue){var json=self._filterValues(self.storeValue);firstItems=self._createItems(json)}callback(firstItems.concat(self._createItems(ob.items)),keyword),1===op.times&&self.storeValue&&self.setValue(self.storeValue)})},hasNext:function(){return hasNext}}),this.button_group.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.button_group.on(BI.SelectList.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectSearchLoader.EVENT_CHANGE,arguments)})},_createItems:function(items){return BI.createItems(items,{type:"bi.multi_select_item",logic:{dynamic:!1},height:24,selected:this.isAllSelected(),cls:"bi-list-item-active",iconWrapperWidth:36})},isAllSelected:function(){return this.button_group.isAllSelected()},_filterValues:function(src){var o=this.options,keyword=o.keywordGetter(),values=BI.deepClone(src.value)||[],newValues=BI.map(values,function(i,v){return{text:o.valueFormatter(v)||v,value:v}});if(BI.isKey(keyword)){var search=BI.Func.getSearchResult(newValues,keyword);values=search.match.concat(search.find)}return BI.map(values,function(i,v){return{text:v.text,title:v.text,value:v.value,selected:src.type===BI.Selection.All}})},setValue:function(v){this.storeValue=BI.deepClone(v),this.button_group.setValue(v)},getValue:function(){return this.button_group.getValue()},getAllButtons:function(){return this.button_group.getAllButtons()},empty:function(){this.button_group.empty()},populate:function(items){this.button_group.populate.apply(this.button_group,arguments)},resetHeight:function(h){this.button_group.resetHeight(h)},resetWidth:function(w){this.button_group.resetWidth(w)}}),BI.MultiSelectSearchLoader.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_search_loader",BI.MultiSelectSearchLoader),BI.MultiSelectSearchPane=BI.inherit(BI.Widget,{constants:{height:24,lgap:10,tgap:5},_defaultConfig:function(){return BI.extend(BI.MultiSelectSearchPane.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-search-pane bi-card",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,keywordGetter:BI.emptyFn})},_init:function(){BI.MultiSelectSearchPane.superclass._init.apply(this,arguments);var self=this,o=this.options;this.tooltipClick=BI.createWidget({type:"bi.label",invisible:!0,text:BI.i18nText("BI-Click_Blank_To_Select"),cls:"multi-select-toolbar",height:this.constants.height}),this.loader=BI.createWidget({type:"bi.multi_select_search_loader",keywordGetter:o.keywordGetter,valueFormatter:o.valueFormatter,itemsCreator:function(op,callback){o.itemsCreator.apply(self,[op,function(res){callback(res),self.setKeyword(o.keywordGetter())}])},value:o.value}),this.loader.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.resizer=BI.createWidget({type:"bi.vtape",element:this,items:[{el:this.tooltipClick,height:0},{el:this.loader}]}),this.tooltipClick.setVisible(!1)},setKeyword:function(keyword){var btn,isVisible=this.loader.getAllButtons().length>0&&(btn=this.loader.getAllButtons()[0])&&keyword===btn.getValue();isVisible!==this.tooltipClick.isVisible()&&(this.tooltipClick.setVisible(isVisible),this.resizer.attr("items")[0].height=isVisible?this.constants.height:0,this.resizer.resize())},isAllSelected:function(){return this.loader.isAllSelected()},hasMatched:function(){return this.tooltipClick.isVisible()},setValue:function(v){this.loader.setValue(v)},getValue:function(){return this.loader.getValue()},empty:function(){this.loader.empty()},populate:function(items){this.loader.populate.apply(this.loader,arguments)}}),BI.MultiSelectSearchPane.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_search_pane",BI.MultiSelectSearchPane),BI.MultiSelectCheckSelectedButton=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.MultiSelectCheckSelectedButton.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-check-selected-button",itemsCreator:BI.emptyFn})},_init:function(){BI.MultiSelectCheckSelectedButton.superclass._init.apply(this,arguments);var self=this,o=this.options;this.numberCounter=BI.createWidget({type:"bi.text_button",element:this,hgap:4,text:"0",textAlign:"center",textHeight:16,cls:"bi-high-light-background count-tip"}),this.numberCounter.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.numberCounter.on(BI.TextButton.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectCheckSelectedButton.EVENT_CHANGE,arguments)}),this.numberCounter.element.hover(function(){self.numberCounter.setTag(self.numberCounter.getText()),self.numberCounter.setText(BI.i18nText("BI-Check_Selected"))},function(){self.numberCounter.setText(self.numberCounter.getTag())}),this.setVisible(!1),BI.isNotNull(o.value)&&this.setValue(o.value)},_populate:function(ob){var self=this,o=this.options;return ob.type===BI.Selection.All?void o.itemsCreator({type:BI.MultiSelectCombo.REQ_GET_DATA_LENGTH},function(res){var length=res.count-ob.value.length;BI.nextTick(function(){self.numberCounter.setText(length),self.setVisible(length>0)})}):void BI.nextTick(function(){self.numberCounter.setText(ob.value.length),self.setVisible(ob.value.length>0)})},_assertValue:function(ob){return ob||(ob={}),ob.type||(ob.type=BI.Selection.Multi),ob.value||(ob.value=[]),ob},setValue:function(ob){ob=this._assertValue(ob),this.options.value=ob,this._populate(ob)},populate:function(){this._populate(this._assertValue(this.options.value))},getValue:function(){}}),BI.MultiSelectCheckSelectedButton.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_check_selected_button",BI.MultiSelectCheckSelectedButton),BI.MultiSelectEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiSelectEditor.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-editor",el:{},watermark:BI.i18nText("BI-Basic_Search")})},_init:function(){BI.MultiSelectEditor.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget(o.el,{type:"bi.state_editor",element:this,height:o.height,watermark:o.watermark,allowBlank:!0,value:o.value,defaultText:o.text,text:o.text,tipType:o.tipType,warningTitle:o.warningTitle}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.StateEditor.EVENT_PAUSE,function(){self.fireEvent(BI.MultiSelectEditor.EVENT_PAUSE)}),this.editor.on(BI.StateEditor.EVENT_FOCUS,function(){self.fireEvent(BI.MultiSelectEditor.EVENT_FOCUS)}),this.editor.on(BI.StateEditor.EVENT_BLUR,function(){self.fireEvent(BI.MultiSelectEditor.EVENT_BLUR)})},focus:function(){this.editor.focus()},blur:function(){this.editor.blur()},setState:function(state){this.editor.setState(state)},setValue:function(v){this.editor.setValue(v)},setTipType:function(v){this.editor.setTipType(v)},getValue:function(){var v=this.editor.getState();return BI.isArray(v)&&v.length>0?v[v.length-1]:""},getKeywords:function(){var val=this.editor.getLastChangedValue(),keywords=val.match(/[\S]+/g);return BI.isEndWithBlank(val)?keywords.concat([" "]):keywords},populate:function(items){}}),BI.MultiSelectEditor.EVENT_FOCUS="EVENT_FOCUS",BI.MultiSelectEditor.EVENT_BLUR="EVENT_BLUR",BI.MultiSelectEditor.EVENT_PAUSE="EVENT_PAUSE",BI.shortcut("bi.multi_select_editor",BI.MultiSelectEditor),BI.MultiSelectInsertSearcher=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiSelectInsertSearcher.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-searcher",itemsCreator:BI.emptyFn,el:{},popup:{},valueFormatter:BI.emptyFn,adapter:null,masker:{},text:BI.i18nText("BI-Basic_Please_Select")})},_init:function(){BI.MultiSelectInsertSearcher.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget(o.el,{type:"bi.multi_select_editor",watermark:o.watermark,height:o.height,text:o.text,listeners:[{eventName:BI.MultiSelectEditor.EVENT_FOCUS,action:function(){self.fireEvent(BI.MultiSelectInsertSearcher.EVENT_FOCUS)}},{eventName:BI.MultiSelectEditor.EVENT_BLUR,action:function(){self.fireEvent(BI.MultiSelectInsertSearcher.EVENT_BLUR)}}]}),this.searcher=BI.createWidget({type:"bi.searcher",element:this,height:o.height,isAutoSearch:!1,isAutoSync:!1,onSearch:function(op,callback){callback()},el:this.editor,popup:BI.extend({type:"bi.multi_select_search_insert_pane",valueFormatter:o.valueFormatter,keywordGetter:function(){return self.editor.getValue()},itemsCreator:function(op,callback){var keyword=self.editor.getValue();op.keywords=[keyword],this.setKeyword(keyword),o.itemsCreator(op,callback)},value:o.value,listeners:[{eventName:BI.MultiSelectSearchInsertPane.EVENT_ADD_ITEM,action:function(){self.fireEvent(BI.MultiSelectInsertSearcher.EVENT_ADD_ITEM)}}]},o.popup),adapter:o.adapter,masker:o.masker}),this.searcher.on(BI.Searcher.EVENT_START,function(){self.fireEvent(BI.MultiSelectInsertSearcher.EVENT_START)}),this.searcher.on(BI.Searcher.EVENT_PAUSE,function(){this.hasMatched(),self.fireEvent(BI.MultiSelectInsertSearcher.EVENT_PAUSE)}),this.searcher.on(BI.Searcher.EVENT_STOP,function(){self.fireEvent(BI.MultiSelectInsertSearcher.EVENT_STOP)}),this.searcher.on(BI.Searcher.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectInsertSearcher.EVENT_CHANGE,arguments)}),this.searcher.on(BI.Searcher.EVENT_SEARCHING,function(){var keywords=this.getKeywords();self.fireEvent(BI.MultiSelectInsertSearcher.EVENT_SEARCHING,keywords)}),BI.isNotNull(o.value)&&this.setState(o.value)},adjustView:function(){this.searcher.adjustView()},isSearching:function(){return this.searcher.isSearching()},stopSearch:function(){this.searcher.stopSearch()},getKeyword:function(){return this.editor.getValue()},hasMatched:function(){return this.searcher.hasMatched()},hasChecked:function(){return this.searcher.getView()&&this.searcher.getView().hasChecked()},setAdapter:function(adapter){this.searcher.setAdapter(adapter)},setState:function(ob){var o=this.options;if(ob||(ob={}),ob.value||(ob.value=[]),ob.type===BI.Selection.All)if(0===ob.value.length)this.editor.setState(BI.Selection.All);else if(BI.size(ob.assist)<=20){var state="";BI.each(ob.assist,function(i,v){state+=0===i?""+(o.valueFormatter(v+"")||v):","+(o.valueFormatter(v+"")||v)}),this.editor.setState(state)}else this.editor.setState(BI.Selection.Multi);else if(0===ob.value.length)this.editor.setState(BI.Selection.None);else if(BI.size(ob.value)<=20){var state="";BI.each(ob.value,function(i,v){state+=0===i?""+(o.valueFormatter(v+"")||v):","+(o.valueFormatter(v+"")||v)}),this.editor.setState(state)}else this.editor.setState(BI.Selection.Multi)},setValue:function(ob){this.setState(ob),this.searcher.setValue(ob)},getKey:function(){return this.editor.getValue()},getValue:function(){return this.searcher.getValue()},populate:function(items){this.searcher.populate.apply(this.searcher,arguments)}}),BI.MultiSelectInsertSearcher.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.MultiSelectInsertSearcher.EVENT_CHANGE="EVENT_CHANGE",BI.MultiSelectInsertSearcher.EVENT_START="EVENT_START",BI.MultiSelectInsertSearcher.EVENT_STOP="EVENT_STOP",BI.MultiSelectInsertSearcher.EVENT_PAUSE="EVENT_PAUSE",BI.MultiSelectInsertSearcher.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiSelectInsertSearcher.EVENT_ADD_ITEM="EVENT_ADD_ITEM",BI.MultiSelectInsertSearcher.EVENT_FOCUS="EVENT_FOCUS",BI.MultiSelectInsertSearcher.EVENT_BLUR="EVENT_BLUR",BI.shortcut("bi.multi_select_insert_searcher",BI.MultiSelectInsertSearcher),BI.MultiSelectSearcher=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiSelectSearcher.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-searcher",itemsCreator:BI.emptyFn,el:{},popup:{},valueFormatter:BI.emptyFn,adapter:null,masker:{},text:BI.i18nText("BI-Basic_Please_Select")})},_init:function(){BI.MultiSelectSearcher.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget(o.el,{type:"bi.multi_select_editor",height:o.height,text:o.text,watermark:o.watermark,listeners:[{eventName:BI.MultiSelectEditor.EVENT_FOCUS,action:function(){self.fireEvent(BI.MultiSelectSearcher.EVENT_FOCUS)}},{eventName:BI.MultiSelectEditor.EVENT_BLUR,action:function(){self.fireEvent(BI.MultiSelectSearcher.EVENT_BLUR)}}]}),this.searcher=BI.createWidget({type:"bi.searcher",element:this,height:o.height,isAutoSearch:!1,isAutoSync:!1,onSearch:function(op,callback){callback()},el:this.editor,popup:BI.extend({type:"bi.multi_select_search_pane",valueFormatter:o.valueFormatter,keywordGetter:function(){return self.editor.getValue()},itemsCreator:function(op,callback){var keyword=self.editor.getValue();op.keywords=[keyword],this.setKeyword(keyword),o.itemsCreator(op,callback)},value:o.value},o.popup),adapter:o.adapter,masker:o.masker}),this.searcher.on(BI.Searcher.EVENT_START,function(){self.fireEvent(BI.MultiSelectSearcher.EVENT_START)}),this.searcher.on(BI.Searcher.EVENT_PAUSE,function(){this.hasMatched(),self.fireEvent(BI.MultiSelectSearcher.EVENT_PAUSE)}),this.searcher.on(BI.Searcher.EVENT_STOP,function(){self.fireEvent(BI.MultiSelectSearcher.EVENT_STOP)}),this.searcher.on(BI.Searcher.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectSearcher.EVENT_CHANGE,arguments)}),this.searcher.on(BI.Searcher.EVENT_SEARCHING,function(){var keywords=this.getKeywords();self.fireEvent(BI.MultiSelectSearcher.EVENT_SEARCHING,keywords)}),BI.isNotNull(o.value)&&this.setState(o.value)},adjustView:function(){this.searcher.adjustView()},isSearching:function(){return this.searcher.isSearching()},stopSearch:function(){this.searcher.stopSearch()},getKeyword:function(){return this.editor.getValue()},hasMatched:function(){return this.searcher.hasMatched()},hasChecked:function(){return this.searcher.getView()&&this.searcher.getView().hasChecked()},setAdapter:function(adapter){this.searcher.setAdapter(adapter)},setState:function(ob){var o=this.options;if(ob||(ob={}),ob.value||(ob.value=[]),ob.type===BI.Selection.All)if(0===ob.value.length)this.editor.setState(BI.Selection.All);else if(BI.size(ob.assist)<=20){var state="";BI.each(ob.assist,function(i,v){state+=0===i?""+(o.valueFormatter(v+"")||v):","+(o.valueFormatter(v+"")||v)}),this.editor.setState(state)}else this.editor.setState(BI.Selection.Multi);else if(0===ob.value.length)this.editor.setState(BI.Selection.None);else if(BI.size(ob.value)<=20){var state="";BI.each(ob.value,function(i,v){state+=0===i?""+(o.valueFormatter(v+"")||v):","+(o.valueFormatter(v+"")||v)}),this.editor.setState(state)}else this.editor.setState(BI.Selection.Multi)},setValue:function(ob){this.setState(ob),this.searcher.setValue(ob)},getKey:function(){return this.editor.getValue()},getValue:function(){return this.searcher.getValue()},populate:function(items){this.searcher.populate.apply(this.searcher,arguments)}}),BI.MultiSelectSearcher.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.MultiSelectSearcher.EVENT_CHANGE="EVENT_CHANGE",BI.MultiSelectSearcher.EVENT_START="EVENT_START",BI.MultiSelectSearcher.EVENT_STOP="EVENT_STOP",BI.MultiSelectSearcher.EVENT_PAUSE="EVENT_PAUSE",BI.MultiSelectSearcher.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiSelectSearcher.EVENT_FOCUS="EVENT_FOCUS",BI.MultiSelectSearcher.EVENT_BLUR="EVENT_BLUR",BI.shortcut("bi.multi_select_searcher",BI.MultiSelectSearcher),BI.MultiSelectCheckSelectedSwitcher=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiSelectCheckSelectedSwitcher.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-check-selected-switcher",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,el:{},popup:{},adapter:null,masker:{}})},_init:function(){BI.MultiSelectCheckSelectedSwitcher.superclass._init.apply(this,arguments);var self=this,o=this.options;this.button=BI.createWidget(o.el,{type:"bi.multi_select_check_selected_button",itemsCreator:o.itemsCreator,value:o.value}),this.button.on(BI.Events.VIEW,function(){self.fireEvent(BI.Events.VIEW,arguments)}),this.switcher=BI.createWidget({type:"bi.switcher",toggle:!1,element:this,el:this.button,popup:BI.extend({type:"bi.multi_select_check_pane",valueFormatter:o.valueFormatter,itemsCreator:o.itemsCreator,onClickContinueSelect:function(){self.switcher.hideView()},ref:function(_ref){self.checkPane=_ref},value:o.value},o.popup),adapter:o.adapter,masker:o.masker}),this.switcher.on(BI.Switcher.EVENT_TRIGGER_CHANGE,function(){self.fireEvent(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE)}),this.switcher.on(BI.Switcher.EVENT_BEFORE_POPUPVIEW,function(){self.fireEvent(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW)}),this.switcher.on(BI.Switcher.EVENT_AFTER_POPUPVIEW,function(){var me=this;BI.nextTick(function(){me.populate()})})},adjustView:function(){this.switcher.adjustView()},hideView:function(){this.switcher.empty(),this.switcher.hideView()},setAdapter:function(adapter){this.switcher.setAdapter(adapter)},setValue:function(v){this.switcher.setValue(v)},updateSelectedValue:function(v){this.checkPane.setValue(v)},setButtonChecked:function(v){this.button.setValue(v)},getValue:function(){},populate:function(items){this.switcher.populate.apply(this.switcher,arguments)},populateSwitcher:function(){this.button.populate.apply(this.button,arguments)}}),BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE="EVENT_TRIGGER_CHANGE",BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.multi_select_check_selected_switcher",BI.MultiSelectCheckSelectedSwitcher),BI.MultiSelectInsertList=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.MultiSelectInsertList.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-insert-list",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn})},_init:function(){BI.MultiSelectInsertList.superclass._init.apply(this,arguments);var self=this,o=this.options;this.storeValue=o.value||{};var assertShowValue=function(){BI.isKey(self._startValue)&&(self.storeValue.type===BI.Selection.All?BI.remove(self.storeValue.value,self._startValue):BI.pushDistinct(self.storeValue.value,self._startValue))};this.adapter=BI.createWidget({type:"bi.multi_select_loader",cls:"popup-multi-select-list bi-border-left bi-border-right bi-border-bottom",itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,logic:{dynamic:!0},el:{},value:o.value}),this.adapter.on(BI.MultiSelectLoader.EVENT_CHANGE,function(){self.storeValue=this.getValue(),assertShowValue(),self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE)}),this.searcherPane=BI.createWidget({type:"bi.multi_select_search_insert_pane",cls:"bi-border-left bi-border-right bi-border-bottom",valueFormatter:o.valueFormatter,keywordGetter:function(){return self.trigger.getKeyword()},itemsCreator:function(op,callback){op.keywords=[self.trigger.getKeyword()],this.setKeyword(op.keywords[0]),o.itemsCreator(op,callback)},listeners:[{eventName:BI.MultiSelectSearchInsertPane.EVENT_ADD_ITEM,action:function(){var keyword=self.trigger.getKeyword();self.trigger.hasMatched()||(self.storeValue.type===BI.Selection.Multi&&BI.pushDistinct(self.storeValue.value,keyword),
self._showAdapter(),self.adapter.setValue(self.storeValue),self.adapter.populate(),self.storeValue.type===BI.Selection.Multi&&self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE))}}]}),this.searcherPane.setVisible(!1),this.trigger=BI.createWidget({type:"bi.searcher",isAutoSearch:!1,isAutoSync:!1,onSearch:function(op,callback){callback()},adapter:this.adapter,popup:this.searcherPane,height:200,masker:!1,listeners:[{eventName:BI.Searcher.EVENT_START,action:function(){self._showSearcherPane(),self._setStartValue(""),this.setValue(BI.deepClone(self.storeValue))}},{eventName:BI.Searcher.EVENT_STOP,action:function(){self._showAdapter(),self._setStartValue(""),self.adapter.setValue(self.storeValue),self.adapter.populate()}},{eventName:BI.Searcher.EVENT_PAUSE,action:function(){var keyword=this.getKeyword();this.hasMatched()&&self._join({type:BI.Selection.Multi,value:[keyword]},function(){self.storeValue.type===BI.Selection.Multi&&BI.pushDistinct(self.storeValue.value,keyword),self._showAdapter(),self.adapter.setValue(self.storeValue),self._setStartValue(keyword),assertShowValue(),self.adapter.populate(),self._setStartValue(""),self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE)}),self._showAdapter()}},{eventName:BI.Searcher.EVENT_SEARCHING,action:function(){var keywords=this.getKeywords(),last=BI.last(keywords);keywords=BI.initial(keywords||[]),keywords.length>0&&self._joinKeywords(keywords,function(){BI.isEndWithBlank(last)?(self.adapter.setValue(self.storeValue),assertShowValue(),self.adapter.populate(),self._setStartValue("")):(self.adapter.setValue(self.storeValue),assertShowValue()),self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE)})}},{eventName:BI.Searcher.EVENT_CHANGE,action:function(value,obj){obj instanceof BI.MultiSelectBar?self._joinAll(this.getValue(),function(){assertShowValue(),self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE)}):self._join(this.getValue(),function(){assertShowValue(),self.fireEvent(BI.MultiSelectInsertList.EVENT_CHANGE)})}}],value:o.value}),BI.createWidget({type:"bi.vtape",element:this,items:[{el:this.trigger,height:24},{el:this.adapter,height:"fill"}]}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.searcherPane,top:30,bottom:0,left:0,right:0}]})},_showAdapter:function(){this.adapter.setVisible(!0),this.searcherPane.setVisible(!1)},_showSearcherPane:function(){this.searcherPane.setVisible(!0),this.adapter.setVisible(!1)},_defaultState:function(){this.trigger.stopEditing()},_assertValue:function(val){val||(val={}),val.type||(val.type=BI.Selection.Multi),val.value||(val.value=[])},_makeMap:function(values){return BI.makeObject(values||[])},_joinKeywords:function(keywords,callback){function digest(items){var selectedMap=self._makeMap(items);BI.each(keywords,function(i,val){BI.isNotNull(selectedMap[val])&&(self.storeValue.type===BI.Selection.Multi?BI.pushDistinct(self.storeValue.value,val):BI.remove(self.storeValue.value,val))}),callback()}var self=this,o=this.options;this._assertValue(this.storeValue),o.itemsCreator({type:BI.MultiSelectInsertList.REQ_GET_ALL_DATA,keywords:keywords},function(ob){var values=BI.map(ob.items,"value");digest(values)})},_joinAll:function(res,callback){var self=this,o=this.options;this._assertValue(res),o.itemsCreator({type:BI.MultiSelectInsertList.REQ_GET_ALL_DATA,keywords:[self.trigger.getKeyword()]},function(ob){var items=BI.map(ob.items,"value");if(self.storeValue.type===res.type){var change=!1,map=self._makeMap(self.storeValue.value);return BI.each(items,function(i,v){BI.isNotNull(map[v])&&(change=!0,delete map[v])}),change&&(self.storeValue.value=BI.values(map)),void callback()}var selectedMap=self._makeMap(self.storeValue.value),notSelectedMap=self._makeMap(res.value),newItems=[];BI.each(items,function(i,item){BI.isNotNull(selectedMap[items[i]])&&delete selectedMap[items[i]],BI.isNull(notSelectedMap[items[i]])&&newItems.push(item)}),self.storeValue.value=newItems.concat(BI.values(selectedMap)),callback()})},_join:function(res,callback){var self=this,o=this.options;if(this._assertValue(res),this._assertValue(this.storeValue),this.storeValue.type===res.type){var map=this._makeMap(this.storeValue.value);BI.each(res.value,function(i,v){map[v]||(self.storeValue.value.push(v),map[v]=v)});var change=!1;return BI.each(res.assist,function(i,v){BI.isNotNull(map[v])&&(change=!0,delete map[v])}),change&&(this.storeValue.value=BI.values(map)),void callback()}this._joinAll(res,callback)},_setStartValue:function(value){this._startValue=value,this.adapter.setStartValue(value)},isAllSelected:function(){return this.adapter.isAllSelected()},resize:function(){},setValue:function(v){this.storeValue=v||{},this._assertValue(this.storeValue),this.adapter.setValue(this.storeValue),this.trigger.setValue(this.storeValue)},getValue:function(){return BI.deepClone(this.storeValue)},populate:function(){this.adapter.populate.apply(this.adapter,arguments),this.trigger.populate.apply(this.trigger,arguments)}}),BI.extend(BI.MultiSelectInsertList,{REQ_GET_DATA_LENGTH:1,REQ_GET_ALL_DATA:-1}),BI.MultiSelectInsertList.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_insert_list",BI.MultiSelectInsertList),BI.MultiSelectInsertNoBarList=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.MultiSelectInsertNoBarList.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-insert-list",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn})},_init:function(){BI.MultiSelectInsertNoBarList.superclass._init.apply(this,arguments);var self=this,o=this.options;this.storeValue={type:BI.Selection.Multi,value:o.value||[]};var assertShowValue=function(){BI.isKey(self._startValue)&&(self.storeValue.type===BI.Selection.All?BI.remove(self.storeValue.value,self._startValue):BI.pushDistinct(self.storeValue.value,self._startValue))};this.adapter=BI.createWidget({type:"bi.multi_select_no_bar_loader",cls:"popup-multi-select-list bi-border-left bi-border-right bi-border-bottom",itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,logic:{dynamic:!1},el:{},value:{type:BI.Selection.Multi,value:o.value||[]}}),this.adapter.on(BI.MultiSelectLoader.EVENT_CHANGE,function(){self.storeValue=this.getValue(),assertShowValue(),self.fireEvent(BI.MultiSelectInsertNoBarList.EVENT_CHANGE)}),this.searcherPane=BI.createWidget({type:"bi.multi_select_search_insert_pane",cls:"bi-border-left bi-border-right bi-border-bottom",valueFormatter:o.valueFormatter,keywordGetter:function(){return self.trigger.getKeyword()},itemsCreator:function(op,callback){op.keywords=[self.trigger.getKeyword()],this.setKeyword(op.keywords[0]),o.itemsCreator(op,callback)},listeners:[{eventName:BI.MultiSelectSearchInsertPane.EVENT_ADD_ITEM,action:function(){var keyword=self.trigger.getKeyword();self.trigger.hasMatched()||(self.storeValue.type===BI.Selection.Multi&&BI.pushDistinct(self.storeValue.value,keyword),self._showAdapter(),self.adapter.setValue(self.storeValue),self.adapter.populate(),self.storeValue.type===BI.Selection.Multi&&self.fireEvent(BI.MultiSelectInsertNoBarList.EVENT_CHANGE))}}]}),this.searcherPane.setVisible(!1),this.trigger=BI.createWidget({type:"bi.searcher",isAutoSearch:!1,isAutoSync:!1,onSearch:function(op,callback){callback()},adapter:this.adapter,popup:this.searcherPane,height:200,masker:!1,listeners:[{eventName:BI.Searcher.EVENT_START,action:function(){self._showSearcherPane(),self._setStartValue(""),this.setValue(BI.deepClone(self.storeValue))}},{eventName:BI.Searcher.EVENT_STOP,action:function(){self._showAdapter(),self._setStartValue(""),self.adapter.setValue(self.storeValue),self.adapter.populate()}},{eventName:BI.Searcher.EVENT_PAUSE,action:function(){var keyword=this.getKeyword();this.hasMatched()&&self._join({type:BI.Selection.Multi,value:[keyword]},function(){self.storeValue.type===BI.Selection.Multi&&BI.pushDistinct(self.storeValue.value,keyword),self._showAdapter(),self.adapter.setValue(self.storeValue),self._setStartValue(keyword),assertShowValue(),self.adapter.populate(),self._setStartValue(""),self.fireEvent(BI.MultiSelectInsertNoBarList.EVENT_CHANGE)})}},{eventName:BI.Searcher.EVENT_SEARCHING,action:function(){var keywords=this.getKeywords(),last=BI.last(keywords);keywords=BI.initial(keywords||[]),keywords.length>0&&self._joinKeywords(keywords,function(){BI.isEndWithBlank(last)?(self.adapter.setValue(self.storeValue),assertShowValue(),self.adapter.populate(),self._setStartValue("")):(self.adapter.setValue(self.storeValue),assertShowValue()),self.fireEvent(BI.MultiSelectInsertNoBarList.EVENT_CHANGE)})}},{eventName:BI.Searcher.EVENT_CHANGE,action:function(value,obj){obj instanceof BI.MultiSelectBar?self._joinAll(this.getValue(),function(){assertShowValue(),self.fireEvent(BI.MultiSelectInsertNoBarList.EVENT_CHANGE)}):self._join(this.getValue(),function(){assertShowValue(),self.fireEvent(BI.MultiSelectInsertNoBarList.EVENT_CHANGE)})}}],value:{type:BI.Selection.Multi,value:o.value||[]}}),BI.createWidget({type:"bi.vtape",element:this,items:[{el:this.trigger,height:24},{el:this.adapter,height:"fill"}]}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.searcherPane,top:30,bottom:0,left:0,right:0}]})},_showAdapter:function(){this.adapter.setVisible(!0),this.searcherPane.setVisible(!1)},_showSearcherPane:function(){this.searcherPane.setVisible(!0),this.adapter.setVisible(!1)},_defaultState:function(){this.trigger.stopEditing()},_assertValue:function(val){val||(val={}),val.type||(val.type=BI.Selection.Multi),val.value||(val.value=[])},_makeMap:function(values){return BI.makeObject(values||[])},_joinKeywords:function(keywords,callback){function digest(items){var selectedMap=self._makeMap(items);BI.each(keywords,function(i,val){BI.isNotNull(selectedMap[val])&&(self.storeValue.type===BI.Selection.Multi?BI.pushDistinct(self.storeValue.value,val):BI.remove(self.storeValue.value,val))}),callback()}var self=this,o=this.options;this._assertValue(this.storeValue),o.itemsCreator({type:BI.MultiSelectInsertNoBarList.REQ_GET_ALL_DATA,keywords:keywords},function(ob){var values=BI.map(ob.items,"value");digest(values)})},_joinAll:function(res,callback){var self=this,o=this.options;this._assertValue(res),o.itemsCreator({type:BI.MultiSelectInsertNoBarList.REQ_GET_ALL_DATA,keywords:[self.trigger.getKeyword()]},function(ob){var items=BI.map(ob.items,"value");if(self.storeValue.type===res.type){var change=!1,map=self._makeMap(self.storeValue.value);return BI.each(items,function(i,v){BI.isNotNull(map[v])&&(change=!0,delete map[v])}),change&&(self.storeValue.value=BI.values(map)),void callback()}var selectedMap=self._makeMap(self.storeValue.value),notSelectedMap=self._makeMap(res.value),newItems=[];BI.each(items,function(i,item){BI.isNotNull(selectedMap[items[i]])&&delete selectedMap[items[i]],BI.isNull(notSelectedMap[items[i]])&&newItems.push(item)}),self.storeValue.value=newItems.concat(BI.values(selectedMap)),callback()})},_join:function(res,callback){var self=this,o=this.options;if(this._assertValue(res),this._assertValue(this.storeValue),this.storeValue.type===res.type){var map=this._makeMap(this.storeValue.value);BI.each(res.value,function(i,v){map[v]||(self.storeValue.value.push(v),map[v]=v)});var change=!1;return BI.each(res.assist,function(i,v){BI.isNotNull(map[v])&&(change=!0,delete map[v])}),change&&(this.storeValue.value=BI.values(map)),void callback()}this._joinAll(res,callback)},_setStartValue:function(value){this._startValue=value,this.adapter.setStartValue(value)},isAllSelected:function(){return this.adapter.isAllSelected()},resize:function(){},setValue:function(v){this.storeValue={type:BI.Selection.Multi,value:v||[]},this.adapter.setValue(this.storeValue),this.trigger.setValue(this.storeValue)},getValue:function(){return BI.deepClone(this.storeValue.value)},populate:function(){this.adapter.populate.apply(this.adapter,arguments),this.trigger.populate.apply(this.trigger,arguments)}}),BI.extend(BI.MultiSelectInsertNoBarList,{REQ_GET_DATA_LENGTH:1,REQ_GET_ALL_DATA:-1}),BI.MultiSelectInsertNoBarList.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_insert_no_bar_list",BI.MultiSelectInsertNoBarList),BI.MultiSelectList=BI.inherit(BI.Widget,{_constant:{EDITOR_HEIGHT:24},_defaultConfig:function(){return BI.extend(BI.MultiSelectList.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-list",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn})},_init:function(){BI.MultiSelectList.superclass._init.apply(this,arguments);var self=this,o=this.options;this.storeValue={};var assertShowValue=function(){BI.isKey(self._startValue)&&(self.storeValue.type===BI.Selection.All?BI.remove(self.storeValue.value,self._startValue):BI.pushDistinct(self.storeValue.value,self._startValue))};this.adapter=BI.createWidget({type:"bi.multi_select_loader",cls:"popup-multi-select-list bi-border-left bi-border-right bi-border-bottom",itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,logic:{dynamic:!1},el:{}}),this.adapter.on(BI.MultiSelectLoader.EVENT_CHANGE,function(){self.storeValue=this.getValue(),self._adjust(function(){assertShowValue(),self.fireEvent(BI.MultiSelectList.EVENT_CHANGE)})}),this.searcherPane=BI.createWidget({type:"bi.multi_select_search_pane",cls:"bi-border-left bi-border-right bi-border-bottom",valueFormatter:o.valueFormatter,keywordGetter:function(){return self.trigger.getKeyword()},itemsCreator:function(op,callback){op.keywords=[self.trigger.getKeyword()],this.setKeyword(op.keywords[0]),o.itemsCreator(op,callback)}}),this.searcherPane.setVisible(!1),this.trigger=BI.createWidget({type:"bi.searcher",isAutoSearch:!1,isAutoSync:!1,onSearch:function(op,callback){callback()},adapter:this.adapter,popup:this.searcherPane,height:200,masker:!1,listeners:[{eventName:BI.Searcher.EVENT_START,action:function(){self._showSearcherPane(),self._setStartValue(""),this.setValue(BI.deepClone(self.storeValue))}},{eventName:BI.Searcher.EVENT_STOP,action:function(){self._showAdapter(),self._setStartValue(""),self.adapter.setValue(self.storeValue),self.adapter.populate()}},{eventName:BI.Searcher.EVENT_PAUSE,action:function(){var keyword=this.getKeyword();this.hasMatched()&&self._join({type:BI.Selection.Multi,value:[keyword]},function(){self._showAdapter(),self.adapter.setValue(self.storeValue),self._setStartValue(keyword),assertShowValue(),self.adapter.populate(),self._setStartValue(""),self.fireEvent(BI.MultiSelectList.EVENT_CHANGE)})}},{eventName:BI.Searcher.EVENT_SEARCHING,action:function(){var keywords=this.getKeyword(),last=BI.last(keywords);keywords=BI.initial(keywords||[]),keywords.length>0&&self._joinKeywords(keywords,function(){BI.isEndWithBlank(last)?(self.adapter.setValue(self.storeValue),assertShowValue(),self.adapter.populate(),self._setStartValue("")):(self.adapter.setValue(self.storeValue),assertShowValue()),self.fireEvent(BI.MultiSelectList.EVENT_CHANGE)})}},{eventName:BI.Searcher.EVENT_CHANGE,action:function(value,obj){obj instanceof BI.MultiSelectBar?self._joinAll(this.getValue(),function(){assertShowValue(),self.fireEvent(BI.MultiSelectList.EVENT_CHANGE)}):self._join(this.getValue(),function(){assertShowValue(),self.fireEvent(BI.MultiSelectList.EVENT_CHANGE)})}}]}),BI.createWidget({type:"bi.vtape",element:this,items:[{el:this.trigger,height:this._constant.EDITOR_HEIGHT},{el:this.adapter,height:"fill"}]}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.searcherPane,top:this._constant.EDITOR_HEIGHT,bottom:0,left:0,right:0}]})},_showAdapter:function(){this.adapter.setVisible(!0),this.searcherPane.setVisible(!1)},_showSearcherPane:function(){this.searcherPane.setVisible(!0),this.adapter.setVisible(!1)},_defaultState:function(){this.trigger.stopEditing()},_assertValue:function(val){val||(val={}),val.type||(val.type=BI.Selection.Multi),val.value||(val.value=[])},_makeMap:function(values){return BI.makeObject(values||[])},_joinKeywords:function(keywords,callback){function digest(items){var selectedMap=self._makeMap(items);BI.each(keywords,function(i,val){BI.isNotNull(selectedMap[val])&&(self.storeValue.type===BI.Selection.Multi?BI.pushDistinct(self.storeValue.value,val):BI.remove(self.storeValue.value,val))}),self._adjust(callback)}var self=this,o=this.options;this._assertValue(this.storeValue),o.itemsCreator({type:BI.MultiSelectList.REQ_GET_ALL_DATA,keywords:keywords},function(ob){var values=BI.map(ob.items,"value");digest(values)})},_joinAll:function(res,callback){var self=this,o=this.options;this._assertValue(res),o.itemsCreator({type:BI.MultiSelectList.REQ_GET_ALL_DATA,keywords:[this.trigger.getKey()]},function(ob){var items=BI.map(ob.items,"value");if(self.storeValue.type===res.type){var change=!1,map=self._makeMap(self.storeValue.value);return BI.each(items,function(i,v){BI.isNotNull(map[v])&&(change=!0,delete map[v])}),change&&(self.storeValue.value=BI.values(map)),void self._adjust(callback)}var selectedMap=self._makeMap(self.storeValue.value),notSelectedMap=self._makeMap(res.value),newItems=[];BI.each(items,function(i,item){BI.isNotNull(selectedMap[items[i]])&&delete selectedMap[items[i]],BI.isNull(notSelectedMap[items[i]])&&newItems.push(item)}),self.storeValue.value=newItems.concat(BI.values(selectedMap)),self._adjust(callback)})},_adjust:function(callback){function adjust(){self.storeValue.type===BI.Selection.All&&self.storeValue.value.length>=self._count?self.storeValue={type:BI.Selection.Multi,value:[]}:self.storeValue.type===BI.Selection.Multi&&self.storeValue.value.length>=self._count&&(self.storeValue={type:BI.Selection.All,value:[]})}var self=this,o=this.options;this._count?(adjust(),callback()):o.itemsCreator({type:BI.MultiSelectList.REQ_GET_DATA_LENGTH},function(res){self._count=res.count,adjust(),callback()})},_join:function(res,callback){var self=this,o=this.options;if(this._assertValue(res),this._assertValue(this.storeValue),this.storeValue.type===res.type){var map=this._makeMap(this.storeValue.value);BI.each(res.value,function(i,v){map[v]||(self.storeValue.value.push(v),map[v]=v)});var change=!1;return BI.each(res.assist,function(i,v){BI.isNotNull(map[v])&&(change=!0,delete map[v])}),change&&(this.storeValue.value=BI.values(map)),void self._adjust(callback)}this._joinAll(res,callback)},_setStartValue:function(value){this._startValue=value,this.adapter.setStartValue(value)},isAllSelected:function(){return this.adapter.isAllSelected()},resize:function(){},setValue:function(v){this.storeValue=v||{},this._assertValue(this.storeValue),this.adapter.setValue(this.storeValue),this.trigger.setValue(this.storeValue)},getValue:function(){return BI.deepClone(this.storeValue)},populate:function(){this.adapter.populate.apply(this.adapter,arguments),this.trigger.populate.apply(this.trigger,arguments)}}),BI.extend(BI.MultiSelectList,{REQ_GET_DATA_LENGTH:1,REQ_GET_ALL_DATA:-1}),BI.MultiSelectList.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_list",BI.MultiSelectList),BI.MultiSelectTree=BI.inherit(BI.Single,{_constant:{EDITOR_HEIGHT:24},_defaultConfig:function(){return BI.extend(BI.MultiSelectTree.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-tree",itemsCreator:BI.emptyFn})},_init:function(){BI.MultiSelectTree.superclass._init.apply(this,arguments);var self=this,o=this.options;this.storeValue={value:{}},this.adapter=BI.createWidget({type:"bi.multi_select_tree_popup",itemsCreator:o.itemsCreator}),this.adapter.on(BI.MultiSelectTreePopup.EVENT_CHANGE,function(){self.searcher.isSearching()?self.storeValue={value:self.searcherPane.getValue()}:self.storeValue={value:self.adapter.getValue()},self.setSelectedValue(self.storeValue.value),self.fireEvent(BI.MultiSelectTree.EVENT_CHANGE)}),this.searcherPane=BI.createWidget({type:"bi.multi_tree_search_pane",cls:"bi-border-left bi-border-right bi-border-bottom",keywordGetter:function(){return self.searcher.getKeyword()},itemsCreator:function(op,callback){op.keyword=self.searcher.getKeyword(),o.itemsCreator(op,callback)}}),this.searcherPane.setVisible(!1),this.searcher=BI.createWidget({type:"bi.searcher",isAutoSearch:!1,isAutoSync:!1,onSearch:function(op,callback){callback({keyword:self.searcher.getKeyword()})},adapter:this.adapter,popup:this.searcherPane,masker:!1,listeners:[{eventName:BI.Searcher.EVENT_START,action:function(){self._showSearcherPane()}},{eventName:BI.Searcher.EVENT_STOP,action:function(){self._showAdapter(),BI.nextTick(function(){self.adapter.populate()})}},{eventName:BI.Searcher.EVENT_CHANGE,action:function(){self.searcher.isSearching()?self.storeValue={value:self.searcherPane.getValue()}:self.storeValue={value:self.adapter.getValue()},self.setSelectedValue(self.storeValue.value),self.fireEvent(BI.MultiSelectTree.EVENT_CHANGE)}},{eventName:BI.Searcher.EVENT_PAUSE,action:function(){self._showAdapter()}}]}),BI.createWidget({type:"bi.vtape",element:this,items:[{el:this.searcher,height:this._constant.EDITOR_HEIGHT},{el:this.adapter,height:"fill"}]}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.searcherPane,top:this._constant.EDITOR_HEIGHT,bottom:0,left:0,right:0}]})},_showAdapter:function(){this.adapter.setVisible(!0),this.searcherPane.setVisible(!1)},_showSearcherPane:function(){this.searcherPane.setVisible(!0),this.adapter.setVisible(!1)},resize:function(){},setSelectedValue:function(v){this.storeValue.value=v||{},this.adapter.setSelectedValue(v),this.searcherPane.setSelectedValue(v),this.searcher.setValue({value:v||{}})},setValue:function(v){this.adapter.setValue(v)},stopSearch:function(){this.searcher.stopSearch()},updateValue:function(v){this.adapter.updateValue(v)},getValue:function(){return this.storeValue.value},populate:function(){this.searcher.populate.apply(this.searcher,arguments),this.adapter.populate.apply(this.adapter,arguments)}}),BI.MultiSelectTree.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_tree",BI.MultiSelectTree),BI.MultiSelectTreePopup=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiSelectTreePopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-tree-popup bi-border-left bi-border-right bi-border-bottom",itemsCreator:BI.emptyFn})},_init:function(){BI.MultiSelectTreePopup.superclass._init.apply(this,arguments);var self=this,o=this.options;this.popup=BI.createWidget({type:"bi.async_tree",element:this,itemsCreator:o.itemsCreator}),this.popup.on(BI.TreeView.EVENT_AFTERINIT,function(){self.fireEvent(BI.MultiSelectTreePopup.EVENT_AFTER_INIT)}),this.popup.on(BI.TreeView.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectTreePopup.EVENT_CHANGE)})},hasChecked:function(){return this.popup.hasChecked()},getValue:function(){return this.popup.getValue()},setValue:function(v){v||(v={}),this.popup.setValue(v)},setSelectedValue:function(v){v||(v={}),this.popup.setSelectedValue(v)},updateValue:function(v){this.popup.updateValue(v),this.popup.refresh()},populate:function(config){this.popup.stroke(config)}}),BI.MultiSelectTreePopup.EVENT_AFTER_INIT="EVENT_AFTER_INIT",BI.MultiSelectTreePopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_select_tree_popup",BI.MultiSelectTreePopup),BI.MultiTreeCheckPane=BI.inherit(BI.Pane,{constants:{height:25,lgap:10,tgap:5},_defaultConfig:function(){return BI.extend(BI.MultiTreeCheckPane.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-tree-check-pane bi-background",onClickContinueSelect:BI.emptyFn,el:{type:"bi.display_tree"}})},_init:function(){BI.MultiTreeCheckPane.superclass._init.apply(this,arguments);var self=this,opts=this.options;this.selectedValues={};var continueSelect=BI.createWidget({type:"bi.text_button",text:BI.i18nText("BI-Continue_Select"),cls:"multi-tree-check-selected"});continueSelect.on(BI.TextButton.EVENT_CHANGE,function(){opts.onClickContinueSelect(),BI.nextTick(function(){self.empty()})});var backToPopup=BI.createWidget({type:"bi.left",cls:"multi-tree-continue-select",items:[{el:{type:"bi.label",text:BI.i18nText("BI-Selected_Data")},lgap:this.constants.lgap,tgap:this.constants.tgap},{el:continueSelect,lgap:this.constants.lgap,tgap:this.constants.tgap}]});this.display=BI.createWidget(opts.el,{type:"bi.display_tree",cls:"bi-multi-tree-display",itemsCreator:function(op,callback){op.type=BI.TreeView.REQ_TYPE_GET_SELECTED_DATA,opts.itemsCreator(op,callback)},value:(opts.value||{}).value}),this.display.on(BI.Events.AFTERINIT,function(){self.fireEvent(BI.Events.AFTERINIT)}),this.display.on(BI.TreeView.EVENT_INIT,function(){backToPopup.setVisible(!1)}),this.display.on(BI.TreeView.EVENT_AFTERINIT,function(){backToPopup.setVisible(!0)}),BI.createWidget({type:"bi.vtape",element:this,items:[{height:this.constants.height,el:backToPopup},{height:"fill",el:this.display}]})},empty:function(){this.display.empty()},populate:function(configs){this.display.stroke(configs)},setValue:function(v){v||(v={}),this.display.setSelectedValue(v.value)},getValue:function(){}}),BI.MultiTreeCheckPane.EVENT_CONTINUE_CLICK="EVENT_CONTINUE_CLICK",BI.shortcut("bi.multi_tree_check_pane",BI.MultiTreeCheckPane),BI.MultiTreeCombo=BI.inherit(BI.Single,{constants:{offset:{top:0,left:0,right:0,bottom:25}},_defaultConfig:function(){return BI.extend(BI.MultiTreeCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-tree-combo",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,height:24,allowEdit:!0})},_init:function(){function showCounter(){isSearching()?self.storeValue={value:self.trigger.getValue()}:isPopupView()&&(self.storeValue={value:self.combo.getValue()}),self.trigger.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue)}BI.MultiTreeCombo.superclass._init.apply(this,arguments);var self=this,o=this.options,isInit=!1,want2showCounter=!1;this.storeValue={value:o.value||{}},this.trigger=BI.createWidget({type:"bi.multi_select_trigger",allowEdit:o.allowEdit,height:o.height,valueFormatter:o.valueFormatter,text:o.text,watermark:o.watermark,masker:{offset:this.constants.offset},searcher:{type:"bi.multi_tree_searcher",itemsCreator:o.itemsCreator},value:{value:o.value||{}}}),this.combo=BI.createWidget({type:"bi.combo",toggle:!o.allowEdit,container:o.container,el:this.trigger,adjustLength:1,popup:{type:"bi.multi_tree_popup_view",ref:function(){self.popup=this,self.trigger.setAdapter(this),self.numberCounter.setAdapter(this)},listeners:[{eventName:BI.MultiTreePopup.EVENT_AFTERINIT,action:function(){self.numberCounter.adjustView(),isInit=!0,want2showCounter===!0&&showCounter()}},{eventName:BI.MultiTreePopup.EVENT_CHANGE,action:function(){change=!0;var val={type:BI.Selection.Multi,value:this.hasChecked()?this.getValue():{}};self.trigger.getSearcher().setState(val),self.numberCounter.setButtonChecked(val),self.fireEvent(BI.MultiTreeCombo.EVENT_CLICK_ITEM)}},{eventName:BI.MultiTreePopup.EVENT_CLICK_CONFIRM,action:function(){self.combo.hideView()}},{eventName:BI.MultiTreePopup.EVENT_CLICK_CLEAR,action:function(){clear=!0,self.setValue(),self._defaultState()}}],itemsCreator:o.itemsCreator,onLoaded:function(){BI.nextTick(function(){self.numberCounter.adjustView(),self.trigger.getSearcher().adjustView()})}},value:{value:o.value||{}},hideChecker:function(e){return 0===triggerBtn.element.find(e.target).length&&0===self.numberCounter.element.find(e.target).length}});var change=!1,clear=!1,isSearching=function(){return self.trigger.getSearcher().isSearching()},isPopupView=function(){return self.combo.isViewVisible()};this.trigger.on(BI.MultiSelectTrigger.EVENT_FOCUS,function(){self.fireEvent(BI.MultiTreeCombo.EVENT_FOCUS)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_BLUR,function(){self.fireEvent(BI.MultiTreeCombo.EVENT_BLUR)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_START,function(){self.storeValue={value:self.combo.getValue()},this.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP,function(){self.storeValue={value:this.getValue()},self.combo.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue),BI.nextTick(function(){isPopupView()&&self.combo.populate()}),self.fireEvent(BI.MultiTreeCombo.EVENT_STOP)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_SEARCHING,function(){self.fireEvent(BI.MultiTreeCombo.EVENT_SEARCHING)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_TRIGGER_CLICK,function(){self.combo.toggle()}),this.trigger.on(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK,function(){self.combo.isViewVisible()||self.combo.showView()}),this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE,function(){var checked=this.getSearcher().hasChecked(),val={type:BI.Selection.Multi,value:checked?{1:1}:{}};this.getSearcher().setState(checked?BI.Selection.Multi:BI.Selection.None),self.numberCounter.setButtonChecked(val),self.fireEvent(BI.MultiTreeCombo.EVENT_CLICK_ITEM)}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){isSearching()||(change===!0&&(self.storeValue={value:self.combo.getValue()},change=!1),self.combo.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue),self.populate())}),this.combo.on(BI.Combo.EVENT_BEFORE_HIDEVIEW,function(){isSearching()?(self._stopEditing(),self.fireEvent(BI.MultiTreeCombo.EVENT_CONFIRM)):isPopupView()&&(self._stopEditing(),self.storeValue={value:self.combo.getValue()},clear===!0&&(self.storeValue={value:{}}),self.fireEvent(BI.MultiTreeCombo.EVENT_CONFIRM)),clear=!1,change=!1});var triggerBtn=BI.createWidget({type:"bi.trigger_icon_button",width:o.height,height:o.height,cls:"multi-select-trigger-icon-button"});triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE,function(){self.numberCounter.hideView(),self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}),this.numberCounter=BI.createWidget({type:"bi.multi_select_check_selected_switcher",el:{type:"bi.multi_tree_check_selected_button"},popup:{type:"bi.multi_tree_check_pane"},masker:{offset:this.constants.offset},itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,value:{value:o.value||{}}}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE,function(){self.combo.isViewVisible()||self.combo.showView()}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW,function(){want2showCounter===!1&&(want2showCounter=!0),isInit===!0&&(want2showCounter=null,showCounter())}),this.numberCounter.on(BI.Events.VIEW,function(b){BI.nextTick(function(){self.trigger.refreshPlaceHolderWidth(b===!0?self.numberCounter.element.outerWidth()+8:0)})}),this.trigger.element.click(function(e){self.trigger.element.find(e.target).length>0&&self.numberCounter.hideView()}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.combo,left:0,right:0,top:0,bottom:0},{el:triggerBtn,right:0,top:0,bottom:0},{el:{type:"bi.vertical_adapt",items:[this.numberCounter]},right:o.height,top:0,height:o.height}]})},_stopEditing:function(){this.trigger.stopEditing(),this.numberCounter.hideView()},_defaultState:function(){this._stopEditing(),this.combo.hideView()},setValue:function(v){this.storeValue.value=v||{},this.combo.setValue({value:v||{}}),this.numberCounter.setValue({value:v||{}})},getValue:function(){return BI.deepClone(this.storeValue.value)},populate:function(){this.combo.populate.apply(this.combo,arguments)}}),BI.MultiTreeCombo.EVENT_FOCUS="EVENT_FOCUS",BI.MultiTreeCombo.EVENT_BLUR="EVENT_BLUR",BI.MultiTreeCombo.EVENT_STOP="EVENT_STOP",BI.MultiTreeCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiTreeCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.MultiTreeCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.multi_tree_combo",BI.MultiTreeCombo),BI.MultiTreeInsertCombo=BI.inherit(BI.Single,{constants:{offset:{top:0,left:0,right:0,bottom:25}},_defaultConfig:function(){return BI.extend(BI.MultiTreeInsertCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-tree-insert-combo",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,height:24,allowEdit:!0})},_init:function(){function showCounter(){isSearching()?self.storeValue={value:self.trigger.getValue()}:isPopupView()&&(self.storeValue={value:self.combo.getValue()}),self.trigger.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue)}BI.MultiTreeInsertCombo.superclass._init.apply(this,arguments);
var self=this,o=this.options,isInit=!1,want2showCounter=!1;this.storeValue={value:o.value||{}},this.trigger=BI.createWidget({type:"bi.multi_select_trigger",allowEdit:o.allowEdit,height:o.height,valueFormatter:o.valueFormatter,masker:{offset:this.constants.offset},searcher:{type:"bi.multi_tree_searcher",text:o.text,watermark:o.watermark,itemsCreator:o.itemsCreator,popup:{type:"bi.multi_tree_search_insert_pane",listeners:[{eventName:BI.MultiTreeSearchInsertPane.EVENT_ADD_ITEM,action:function(){self.storeValue.value[self.trigger.getSearcher().getKeyword()]={},self._assertShowValue(),self.combo.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue),self._stopEditing()}}]}},value:{value:o.value||{}}}),this.combo=BI.createWidget({type:"bi.combo",toggle:!o.allowEdit,container:o.container,el:this.trigger,adjustLength:1,popup:{type:"bi.multi_tree_popup_view",ref:function(){self.popup=this,self.trigger.setAdapter(this),self.numberCounter.setAdapter(this)},listeners:[{eventName:BI.MultiTreePopup.EVENT_AFTERINIT,action:function(){self.numberCounter.adjustView(),isInit=!0,want2showCounter===!0&&showCounter()}},{eventName:BI.MultiTreePopup.EVENT_CHANGE,action:function(){change=!0;var val={type:BI.Selection.Multi,value:this.hasChecked()?this.getValue():{}};self.trigger.getSearcher().setState(val),self.numberCounter.setButtonChecked(val),self.fireEvent(BI.MultiTreeInsertCombo.EVENT_CLICK_ITEM,self.combo.getValue())}},{eventName:BI.MultiTreePopup.EVENT_CLICK_CONFIRM,action:function(){self.combo.hideView()}},{eventName:BI.MultiTreePopup.EVENT_CLICK_CLEAR,action:function(){clear=!0,self.setValue(),self._defaultState()}}],itemsCreator:o.itemsCreator,onLoaded:function(){BI.nextTick(function(){self.numberCounter.adjustView(),self.trigger.getSearcher().adjustView()})}},value:{value:o.value||{}},hideChecker:function(e){return 0===triggerBtn.element.find(e.target).length&&0===self.numberCounter.element.find(e.target).length}});var change=!1,clear=!1,isSearching=function(){return self.trigger.getSearcher().isSearching()},isPopupView=function(){return self.combo.isViewVisible()};this.trigger.on(BI.MultiSelectTrigger.EVENT_FOCUS,function(){self.fireEvent(BI.MultiTreeInsertCombo.EVENT_FOCUS)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_BLUR,function(){self.fireEvent(BI.MultiTreeInsertCombo.EVENT_BLUR)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_START,function(){self.storeValue={value:self.combo.getValue()},this.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP,function(){self.storeValue={value:this.getValue()},self.combo.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue),BI.nextTick(function(){isPopupView()&&self.combo.populate()}),self.fireEvent(BI.MultiTreeInsertCombo.EVENT_STOP)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_SEARCHING,function(){self.fireEvent(BI.MultiTreeInsertCombo.EVENT_SEARCHING)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_TRIGGER_CLICK,function(){self.combo.toggle()}),this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE,function(){var checked=this.getSearcher().hasChecked(),val={type:BI.Selection.Multi,value:checked?{1:1}:{}};this.getSearcher().setState(checked?BI.Selection.Multi:BI.Selection.None),self.numberCounter.setButtonChecked(val),self.fireEvent(BI.MultiTreeInsertCombo.EVENT_CLICK_ITEM,self.combo.getValue())}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){isSearching()||(change===!0&&(self.storeValue={value:self.combo.getValue()},change=!1),self.combo.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue),self.populate())}),this.combo.on(BI.Combo.EVENT_BEFORE_HIDEVIEW,function(){isSearching()?(self._stopEditing(),self.fireEvent(BI.MultiTreeInsertCombo.EVENT_CONFIRM)):isPopupView()&&(self._stopEditing(),self.storeValue={value:self.combo.getValue()},clear===!0&&(self.storeValue={value:{}}),self.fireEvent(BI.MultiTreeInsertCombo.EVENT_CONFIRM)),clear=!1,change=!1});var triggerBtn=BI.createWidget({type:"bi.trigger_icon_button",width:o.height,height:o.height,cls:"multi-select-trigger-icon-button"});triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE,function(){self.numberCounter.hideView(),self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}),this.numberCounter=BI.createWidget({type:"bi.multi_select_check_selected_switcher",el:{type:"bi.multi_tree_check_selected_button"},popup:{type:"bi.multi_tree_check_pane"},itemsCreator:o.itemsCreator,masker:{offset:this.constants.offset},valueFormatter:o.valueFormatter,value:o.value}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE,function(){self.combo.isViewVisible()||self.combo.showView()}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW,function(){want2showCounter===!1&&(want2showCounter=!0),isInit===!0&&(want2showCounter=null,showCounter())}),this.numberCounter.on(BI.Events.VIEW,function(b){BI.nextTick(function(){self.trigger.refreshPlaceHolderWidth(b===!0?self.numberCounter.element.outerWidth()+8:0)})}),this.trigger.element.click(function(e){self.trigger.element.find(e.target).length>0&&self.numberCounter.hideView()}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.combo,left:0,right:0,top:0,bottom:0},{el:triggerBtn,right:0,top:0,bottom:0},{el:{type:"bi.vertical_adapt",items:[this.numberCounter]},right:o.height,top:0,height:o.height}]})},_assertShowValue:function(){this.trigger.getSearcher().setState(this.storeValue),this.numberCounter.setButtonChecked(this.storeValue)},_stopEditing:function(){this.trigger.stopEditing(),this.numberCounter.hideView()},_defaultState:function(){this._stopEditing(),this.combo.hideView()},setValue:function(v){this.storeValue.value=v||{},this.combo.setValue({value:v||{}}),this.numberCounter.setValue({value:v||{}})},getValue:function(){return BI.deepClone(this.storeValue.value)},populate:function(){this.combo.populate.apply(this.combo,arguments)}}),BI.MultiTreeInsertCombo.EVENT_FOCUS="EVENT_FOCUS",BI.MultiTreeInsertCombo.EVENT_BLUR="EVENT_BLUR",BI.MultiTreeInsertCombo.EVENT_STOP="EVENT_STOP",BI.MultiTreeInsertCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.MultiTreeInsertCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiTreeInsertCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.multi_tree_insert_combo",BI.MultiTreeInsertCombo),BI.MultiTreeListCombo=BI.inherit(BI.Single,{constants:{offset:{top:0,left:0,right:0,bottom:25}},_defaultConfig:function(){return BI.extend(BI.MultiTreeListCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-tree-list-combo",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,height:24,allowEdit:!0,allowInsertValue:!0})},_init:function(){function showCounter(){isSearching()?self.storeValue={value:self.trigger.getValue()}:isPopupView()&&(self.storeValue={value:self.combo.getValue()}),self.trigger.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue)}BI.MultiTreeListCombo.superclass._init.apply(this,arguments);var self=this,o=this.options,isInit=!1,want2showCounter=!1;this.storeValue={value:o.value||[]},this.trigger=BI.createWidget({type:"bi.multi_select_trigger",allowEdit:o.allowEdit,text:o.text,watermark:o.watermark,height:o.height,valueFormatter:o.valueFormatter,masker:{offset:this.constants.offset},searcher:{type:"bi.multi_list_tree_searcher",itemsCreator:o.itemsCreator,popup:{type:o.allowInsertValue?"bi.multi_tree_search_insert_pane":"bi.multi_tree_search_pane",el:{type:"bi.list_part_tree"},listeners:[{eventName:BI.MultiTreeSearchInsertPane.EVENT_ADD_ITEM,action:function(){self.storeValue.value.unshift([self.trigger.getSearcher().getKeyword()]),self._assertShowValue(),self.combo.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue),self._stopEditing()}}]}},switcher:{el:{type:"bi.multi_tree_check_selected_button"},popup:{type:"bi.multi_tree_check_pane",el:{type:"bi.list_display_tree"},itemsCreator:o.itemsCreator}},value:{value:o.value||{}}}),this.combo=BI.createWidget({type:"bi.combo",toggle:!o.allowEdit,container:o.container,el:this.trigger,adjustLength:1,popup:{type:"bi.multi_tree_popup_view",ref:function(){self.popup=this,self.trigger.setAdapter(this),self.numberCounter.setAdapter(this)},el:{type:"bi.list_async_tree"},listeners:[{eventName:BI.MultiTreePopup.EVENT_AFTERINIT,action:function(){self.numberCounter.adjustView(),isInit=!0,want2showCounter===!0&&showCounter()}},{eventName:BI.MultiTreePopup.EVENT_CHANGE,action:function(){change=!0;var val={type:BI.Selection.Multi,value:this.hasChecked()?this.getValue():[]};self.trigger.getSearcher().setState(val),self.numberCounter.setButtonChecked(val),self.fireEvent(BI.MultiTreeListCombo.EVENT_CLICK_ITEM,self.combo.getValue())}},{eventName:BI.MultiTreePopup.EVENT_CLICK_CONFIRM,action:function(){self.combo.hideView()}},{eventName:BI.MultiTreePopup.EVENT_CLICK_CLEAR,action:function(){clear=!0,self.setValue(),self._defaultState()}}],itemsCreator:o.itemsCreator,onLoaded:function(){BI.nextTick(function(){self.numberCounter.adjustView(),self.trigger.getSearcher().adjustView()})}},value:{value:o.value||{}},hideChecker:function(e){return 0===triggerBtn.element.find(e.target).length&&0===self.numberCounter.element.find(e.target).length}});var change=!1,clear=!1,isSearching=function(){return self.trigger.getSearcher().isSearching()},isPopupView=function(){return self.combo.isViewVisible()};this.trigger.on(BI.MultiSelectTrigger.EVENT_FOCUS,function(){self.fireEvent(BI.MultiTreeListCombo.EVENT_FOCUS)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_BLUR,function(){self.fireEvent(BI.MultiTreeListCombo.EVENT_BLUR)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_START,function(){self.storeValue={value:self.combo.getValue()},this.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP,function(){self.storeValue={value:this.getValue()},self.combo.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue),BI.nextTick(function(){isPopupView()&&self.combo.populate()}),self.fireEvent(BI.MultiTreeListCombo.EVENT_STOP)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_SEARCHING,function(){self.fireEvent(BI.MultiTreeListCombo.EVENT_SEARCHING)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_TRIGGER_CLICK,function(){self.combo.toggle()}),this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE,function(){var checked=this.getSearcher().hasChecked(),val={type:BI.Selection.Multi,value:checked?{1:1}:{}};this.getSearcher().setState(checked?BI.Selection.Multi:BI.Selection.None),self.numberCounter.setButtonChecked(val),self.fireEvent(BI.MultiTreeListCombo.EVENT_CLICK_ITEM,self.combo.getValue())}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){isSearching()||(change===!0&&(self.storeValue={value:self.combo.getValue()},change=!1),self.combo.setValue(self.storeValue),self.numberCounter.setValue(self.storeValue),self.populate())}),this.combo.on(BI.Combo.EVENT_BEFORE_HIDEVIEW,function(){isSearching()?(self.trigger.stopEditing(),self.fireEvent(BI.MultiTreeListCombo.EVENT_CONFIRM)):isPopupView()&&(self._stopEditing(),self.storeValue={value:self.combo.getValue()},clear===!0&&(self.storeValue={value:[]}),self.fireEvent(BI.MultiTreeListCombo.EVENT_CONFIRM)),clear=!1,change=!1});var triggerBtn=BI.createWidget({type:"bi.trigger_icon_button",width:o.height,height:o.height,cls:"multi-select-trigger-icon-button"});triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE,function(){self.numberCounter.hideView(),self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}),this.numberCounter=BI.createWidget({type:"bi.multi_select_check_selected_switcher",el:{type:"bi.multi_tree_check_selected_button"},popup:{type:"bi.multi_tree_check_pane"},itemsCreator:o.itemsCreator,masker:{offset:{left:0,top:0,right:0,bottom:25}},valueFormatter:o.valueFormatter,value:o.value}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE,function(){self.combo.isViewVisible()||self.combo.showView()}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW,function(){want2showCounter===!1&&(want2showCounter=!0),isInit===!0&&(want2showCounter=null,showCounter())}),this.numberCounter.on(BI.Events.VIEW,function(b){BI.nextTick(function(){self.trigger.refreshPlaceHolderWidth(b===!0?self.numberCounter.element.outerWidth()+8:0)})}),this.trigger.element.click(function(e){self.trigger.element.find(e.target).length>0&&self.numberCounter.hideView()}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.combo,left:0,right:0,top:0,bottom:0},{el:triggerBtn,right:0,top:0,bottom:0},{el:{type:"bi.vertical_adapt",items:[this.numberCounter]},right:o.height,top:0,height:o.height}]})},_assertShowValue:function(){this.trigger.getSearcher().setState(this.storeValue),this.numberCounter.setButtonChecked(this.storeValue)},_stopEditing:function(){this.trigger.stopEditing(),this.numberCounter.hideView()},_defaultState:function(){this._stopEditing(),this.combo.hideView()},setValue:function(v){this.storeValue.value=v||[],this.combo.setValue({value:v||[]}),this.numberCounter.setValue({value:v||[]})},getValue:function(){return BI.deepClone(this.storeValue.value)},populate:function(){this.combo.populate.apply(this.combo,arguments)}}),BI.MultiTreeListCombo.EVENT_FOCUS="EVENT_FOCUS",BI.MultiTreeListCombo.EVENT_BLUR="EVENT_BLUR",BI.MultiTreeListCombo.EVENT_STOP="EVENT_STOP",BI.MultiTreeListCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.MultiTreeListCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiTreeListCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.multi_tree_list_combo",BI.MultiTreeListCombo),BI.MultiTreePopup=BI.inherit(BI.Pane,{_defaultConfig:function(){return BI.extend(BI.MultiTreePopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-tree-popup",maxWidth:"auto",minWidth:140,maxHeight:400,onLoaded:BI.emptyFn,el:{type:"bi.async_tree"}})},_init:function(){BI.MultiTreePopup.superclass._init.apply(this,arguments);var self=this,opts=this.options,v=opts.value;this.selectedValues={},this.tree=BI.createWidget(opts.el,{type:"bi.async_tree",height:400,cls:"popup-view-tree",itemsCreator:opts.itemsCreator,onLoaded:opts.onLoaded,value:v.value||{}}),this.popupView=BI.createWidget({type:"bi.multi_popup_view",element:this,stopPropagation:!1,maxWidth:opts.maxWidth,minWidth:opts.minWidth,maxHeight:opts.maxHeight,buttons:[BI.i18nText("BI-Basic_Clears"),BI.i18nText("BI-Basic_Sure")],el:this.tree}),this.popupView.on(BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON,function(index){switch(index){case 0:self.fireEvent(BI.MultiTreePopup.EVENT_CLICK_CLEAR);break;case 1:self.fireEvent(BI.MultiTreePopup.EVENT_CLICK_CONFIRM)}}),this.tree.on(BI.TreeView.EVENT_CHANGE,function(){self.fireEvent(BI.MultiTreePopup.EVENT_CHANGE)}),this.tree.on(BI.TreeView.EVENT_AFTERINIT,function(){self.fireEvent(BI.MultiTreePopup.EVENT_AFTERINIT)})},getValue:function(){return this.tree.getValue()},setValue:function(v){v||(v={}),this.tree.setSelectedValue(v.value)},populate:function(config){this.tree.stroke(config)},hasChecked:function(){return this.tree.hasChecked()},resetHeight:function(h){this.popupView.resetHeight(h)},resetWidth:function(w){this.popupView.resetWidth(w)}}),BI.MultiTreePopup.EVENT_CHANGE="EVENT_CHANGE",BI.MultiTreePopup.EVENT_CLICK_CONFIRM="EVENT_CLICK_CONFIRM",BI.MultiTreePopup.EVENT_CLICK_CLEAR="EVENT_CLICK_CLEAR",BI.MultiTreePopup.EVENT_AFTERINIT="EVENT_AFTERINIT",BI.shortcut("bi.multi_tree_popup_view",BI.MultiTreePopup),BI.MultiTreeCheckSelectedButton=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.MultiTreeCheckSelectedButton.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-tree-check-selected-button",itemsCreator:BI.emptyFn})},_init:function(){BI.MultiTreeCheckSelectedButton.superclass._init.apply(this,arguments);var self=this;this.indicator=BI.createWidget({type:"bi.icon_button",cls:"check-font trigger-check-selected icon-size-12",width:15,height:15,stopPropagation:!0}),this.checkSelected=BI.createWidget({type:"bi.text_button",cls:"trigger-check-selected",invisible:!0,hgap:4,text:BI.i18nText("BI-Check_Selected"),textAlign:"center",textHeight:15}),this.checkSelected.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.checkSelected.on(BI.TextButton.EVENT_CHANGE,function(){self.fireEvent(BI.MultiSelectCheckSelectedButton.EVENT_CHANGE,arguments)}),BI.createWidget({type:"bi.horizontal",element:this,items:[this.indicator,this.checkSelected]}),this.element.hover(function(){self.indicator.setVisible(!1),self.checkSelected.setVisible(!0)},function(){self.indicator.setVisible(!0),self.checkSelected.setVisible(!1)}),this.setVisible(!1)},setValue:function(v){v||(v={});var show=BI.size(v.value)>0;this.setVisible(show)}}),BI.MultiTreeCheckSelectedButton.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.multi_tree_check_selected_button",BI.MultiTreeCheckSelectedButton),BI.MultiTreeSearchInsertPane=BI.inherit(BI.Widget,{constants:{height:24},props:{baseCls:"bi-multi-tree-search-insert-pane bi-card",itemsCreator:BI.emptyFn,keywordGetter:BI.emptyFn,el:{type:"bi.part_tree"}},render:function(){var self=this,opts=this.options;return{type:"bi.absolute",items:[{el:{type:"bi.text_button",invisible:!0,ref:function(_ref){self.addTip=_ref},text:BI.i18nText("BI-Basic_Click_To_Add_Text",""),height:this.constants.height,cls:"bi-high-light",handler:function(){self.fireEvent(BI.MultiTreeSearchInsertPane.EVENT_ADD_ITEM,opts.keywordGetter())}},top:5,left:0,right:0},{el:BI.extend({type:"bi.part_tree",tipText:BI.i18nText("BI-No_Select"),itemsCreator:function(op,callback){op.keyword=opts.keywordGetter(),opts.itemsCreator(op,function(res){callback(res),self.setKeyword(opts.keywordGetter(),res.items)})},ref:function(_ref){self.partTree=_ref},value:opts.value,listeners:[{eventName:BI.Controller.EVENT_CHANGE,action:function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}},{eventName:BI.TreeView.EVENT_CHANGE,action:function(){self.fireEvent(BI.MultiTreeSearchInsertPane.EVENT_CHANGE)}}]},opts.el),left:0,top:0,bottom:0,right:0}]}},setKeyword:function(keyword,nodes){var isAddTipVisible=BI.isEmptyArray(nodes);this.addTip.setVisible(isAddTipVisible),this.partTree.setVisible(!isAddTipVisible),isAddTipVisible&&this.addTip.setText(BI.i18nText("BI-Basic_Click_To_Add_Text",keyword))},hasChecked:function(){return this.partTree.hasChecked()},setValue:function(v){this.setSelectedValue(v.value)},setSelectedValue:function(v){v||(v={}),this.partTree.setSelectedValue(v)},getValue:function(){return this.partTree.getValue()},empty:function(){this.partTree.empty()},populate:function(op){this.partTree.stroke.apply(this.partTree,arguments)}}),BI.MultiTreeSearchInsertPane.EVENT_CHANGE="EVENT_CHANGE",BI.MultiTreeSearchInsertPane.EVENT_CLICK_CONFIRM="EVENT_CLICK_CONFIRM",BI.MultiTreeSearchInsertPane.EVENT_CLICK_CLEAR="EVENT_CLICK_CLEAR",BI.MultiTreeSearchInsertPane.EVENT_ADD_ITEM="EVENT_ADD_ITEM",BI.shortcut("bi.multi_tree_search_insert_pane",BI.MultiTreeSearchInsertPane),BI.MultiTreeSearchPane=BI.inherit(BI.Pane,{props:{baseCls:"bi-multi-tree-search-pane bi-card",itemsCreator:BI.emptyFn,keywordGetter:BI.emptyFn},render:function(){var self=this,opts=this.options;return BI.extend({type:"bi.part_tree",element:this,tipText:BI.i18nText("BI-No_Select"),itemsCreator:function(op,callback){op.keyword=opts.keywordGetter(),opts.itemsCreator(op,callback)},value:opts.value,listeners:[{eventName:BI.Controller.EVENT_CHANGE,action:function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}},{eventName:BI.TreeView.EVENT_CHANGE,action:function(){self.fireEvent(BI.MultiTreeSearchPane.EVENT_CHANGE)}}],ref:function(_ref){self.partTree=_ref}},opts.el)},hasChecked:function(){return this.partTree.hasChecked()},setValue:function(v){this.setSelectedValue(v.value)},setSelectedValue:function(v){v||(v={}),this.partTree.setSelectedValue(v)},getValue:function(){return this.partTree.getValue()},empty:function(){this.partTree.empty()},populate:function(op){this.partTree.stroke.apply(this.partTree,arguments)}}),BI.MultiTreeSearchPane.EVENT_CHANGE="EVENT_CHANGE",BI.MultiTreeSearchPane.EVENT_CLICK_CONFIRM="EVENT_CLICK_CONFIRM",BI.MultiTreeSearchPane.EVENT_CLICK_CLEAR="EVENT_CLICK_CLEAR",BI.shortcut("bi.multi_tree_search_pane",BI.MultiTreeSearchPane),BI.MultiListTreeSearcher=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiListTreeSearcher.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-tree-searcher",itemsCreator:BI.emptyFn,valueFormatter:function(v){return v},popup:{},adapter:null,masker:{}})},_init:function(){BI.MultiListTreeSearcher.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget({type:"bi.multi_select_editor",height:o.height,text:o.text,watermark:o.watermark,el:{type:"bi.simple_state_editor",height:o.height}}),this.searcher=BI.createWidget({type:"bi.searcher",element:this,isAutoSearch:!1,isAutoSync:!1,onSearch:function(op,callback){callback({keyword:self.editor.getValue()})},el:this.editor,popup:BI.extend({type:"bi.multi_tree_search_pane",keywordGetter:function(){return self.editor.getValue()},itemsCreator:function(op,callback){op.keyword=self.editor.getValue(),o.itemsCreator(op,callback)},value:o.value},o.popup),adapter:o.adapter,masker:o.masker}),this.searcher.on(BI.Searcher.EVENT_START,function(){self.fireEvent(BI.MultiListTreeSearcher.EVENT_START)}),this.searcher.on(BI.Searcher.EVENT_PAUSE,function(){this.hasMatched(),self.fireEvent(BI.MultiListTreeSearcher.EVENT_PAUSE)}),this.searcher.on(BI.Searcher.EVENT_STOP,function(){self.fireEvent(BI.MultiListTreeSearcher.EVENT_STOP)}),this.searcher.on(BI.Searcher.EVENT_CHANGE,function(){self.fireEvent(BI.MultiListTreeSearcher.EVENT_CHANGE,arguments)}),BI.isNotNull(o.value)&&this.setState(o.value)},adjustView:function(){this.searcher.adjustView()},setAdapter:function(adapter){this.searcher.setAdapter(adapter)},isSearching:function(){return this.searcher.isSearching()},stopSearch:function(){this.searcher.stopSearch()},getKeyword:function(){return this.editor.getValue()},hasMatched:function(){return this.searcher.hasMatched()},hasChecked:function(){return this.searcher.getView()&&this.searcher.getView().hasChecked()},setState:function(ob){var o=this.options;ob||(ob={}),ob.value||(ob.value=[]);var count=0;if(BI.isNumber(ob))this.editor.setState(ob);else if(0===BI.size(ob.value))this.editor.setState(BI.Selection.None);else{var text="";BI.each(ob.value,function(idx,path){var childValue=BI.last(path);text+=(o.valueFormatter(childValue+"")||childValue)+"; ",count++}),count>20?this.editor.setState(BI.Selection.Multi):this.editor.setState(text)}},setValue:function(ob){this.setState(ob),this.searcher.setValue(ob)},getKey:function(){return this.editor.getValue()},getValue:function(){return this.searcher.getValue()},populate:function(items){this.searcher.populate.apply(this.searcher,arguments)}}),BI.MultiListTreeSearcher.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.MultiListTreeSearcher.EVENT_CHANGE="EVENT_CHANGE",BI.MultiListTreeSearcher.EVENT_START="EVENT_START",BI.MultiListTreeSearcher.EVENT_STOP="EVENT_STOP",BI.MultiListTreeSearcher.EVENT_PAUSE="EVENT_PAUSE",BI.shortcut("bi.multi_list_tree_searcher",BI.MultiListTreeSearcher),BI.MultiTreeSearcher=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.MultiTreeSearcher.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-tree-searcher",itemsCreator:BI.emptyFn,valueFormatter:function(v){return v},popup:{},adapter:null,masker:{}})},_init:function(){BI.MultiTreeSearcher.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget({type:"bi.multi_select_editor",watermark:o.watermark,height:o.height,el:{type:"bi.simple_state_editor",text:o.text,height:o.height},listeners:[{eventName:BI.MultiSelectEditor.EVENT_FOCUS,action:function(){self.fireEvent(BI.MultiSelectSearcher.EVENT_FOCUS)}},{eventName:BI.MultiSelectEditor.EVENT_BLUR,action:function(){self.fireEvent(BI.MultiSelectSearcher.EVENT_BLUR)}}]}),this.searcher=BI.createWidget({type:"bi.searcher",element:this,isAutoSearch:!1,isAutoSync:!1,onSearch:function(op,callback){callback({keyword:self.editor.getValue()})},el:this.editor,popup:BI.extend({type:"bi.multi_tree_search_pane",keywordGetter:function(){return self.editor.getValue()},itemsCreator:function(op,callback){op.keyword=self.editor.getValue(),o.itemsCreator(op,callback)},value:o.value},o.popup),adapter:o.adapter,masker:o.masker}),this.searcher.on(BI.Searcher.EVENT_START,function(){self.fireEvent(BI.MultiTreeSearcher.EVENT_START)}),this.searcher.on(BI.Searcher.EVENT_PAUSE,function(){this.hasMatched(),self.fireEvent(BI.MultiTreeSearcher.EVENT_PAUSE)}),this.searcher.on(BI.Searcher.EVENT_STOP,function(){self.fireEvent(BI.MultiTreeSearcher.EVENT_STOP)}),this.searcher.on(BI.Searcher.EVENT_CHANGE,function(){self.fireEvent(BI.MultiTreeSearcher.EVENT_CHANGE,arguments)}),this.searcher.on(BI.Searcher.EVENT_SEARCHING,function(){var keywords=this.getKeywords();self.fireEvent(BI.MultiTreeSearcher.EVENT_SEARCHING,keywords)}),BI.isNotNull(o.value)&&this.setState(o.value)},adjustView:function(){this.searcher.adjustView()},setAdapter:function(adapter){this.searcher.setAdapter(adapter)},isSearching:function(){return this.searcher.isSearching()},stopSearch:function(){this.searcher.stopSearch()},getKeyword:function(){return this.editor.getValue()},hasMatched:function(){return this.searcher.hasMatched()},hasChecked:function(){return this.searcher.getView()&&this.searcher.getView().hasChecked()},setState:function(ob){function getChildrenNode(ob){var text="",index=0,size=BI.size(ob);return BI.each(ob,function(name,children){index++;var childNodes=getChildrenNode(children);text+=(o.valueFormatter(name+"")||name)+(""===childNodes?"":":"+childNodes)+(index===size?"":","),""===childNodes&&count++}),text}var o=this.options;ob||(ob={}),ob.value||(ob.value={});var count=0;if(BI.isNumber(ob))this.editor.setState(ob);else if(0===BI.size(ob.value))this.editor.setState(BI.Selection.None);else{var text="";BI.each(ob.value,function(name,children){var childNodes=getChildrenNode(children);text+=(o.valueFormatter(name+"")||name)+(""===childNodes?"":":"+childNodes)+"; ",""===childNodes&&count++}),count>20?this.editor.setState(BI.Selection.Multi):this.editor.setState(text)}},setValue:function(ob){this.setState(ob),this.searcher.setValue(ob)},getKey:function(){return this.editor.getValue()},getValue:function(){return this.searcher.getValue()},populate:function(items){this.searcher.populate.apply(this.searcher,arguments)}}),BI.MultiTreeSearcher.EVENT_SEARCHING="EVENT_SEARCHING",BI.MultiTreeSearcher.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.MultiTreeSearcher.EVENT_CHANGE="EVENT_CHANGE",BI.MultiTreeSearcher.EVENT_START="EVENT_START",BI.MultiTreeSearcher.EVENT_STOP="EVENT_STOP",BI.MultiTreeSearcher.EVENT_PAUSE="EVENT_PAUSE",BI.shortcut("bi.multi_tree_searcher",BI.MultiTreeSearcher),BI.NumberEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.NumberEditor.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-number-editor bi-border bi-focus-shadow",validationChecker:function(){return!0},valueFormatter:function(v){return v},value:0,allowBlank:!1,errorText:"",step:1})},_init:function(){BI.NumberEditor.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget({type:"bi.sign_editor",height:o.height-2,allowBlank:o.allowBlank,value:o.valueFormatter(o.value),validationChecker:o.validationChecker,errorText:o.errorText}),this.editor.on(BI.TextEditor.EVENT_CHANGE,function(){self.fireEvent(BI.NumberEditor.EVENT_CHANGE)}),this.editor.on(BI.TextEditor.EVENT_ERROR,function(){o.value=BI.parseFloat(this.getLastValidValue())}),this.editor.on(BI.TextEditor.EVENT_VALID,function(){o.value=BI.parseFloat(this.getValue())}),this.editor.on(BI.TextEditor.EVENT_CONFIRM,function(){self.fireEvent(BI.NumberEditor.EVENT_CONFIRM)}),this.topBtn=BI.createWidget({type:"bi.icon_button",forceNotSelected:!0,trigger:"lclick,",cls:"add-up-font top-button bi-border-left bi-list-item-active2 icon-size-12"}),this.topBtn.on(BI.IconButton.EVENT_CHANGE,function(){self._finetuning(o.step),self.fireEvent(BI.NumberEditor.EVENT_CHANGE),self.fireEvent(BI.NumberEditor.EVENT_CONFIRM)}),this.bottomBtn=BI.createWidget({type:"bi.icon_button",trigger:"lclick,",forceNotSelected:!0,cls:"minus-down-font bottom-button bi-border-left bi-list-item-active2 icon-size-12"}),this.bottomBtn.on(BI.IconButton.EVENT_CHANGE,function(){self._finetuning(-o.step),self.fireEvent(BI.NumberEditor.EVENT_CHANGE),self.fireEvent(BI.NumberEditor.EVENT_CONFIRM)}),BI.createWidget({type:"bi.htape",height:o.height-2,element:this,items:[this.editor,{el:{type:"bi.grid",columns:1,rows:2,items:[{column:0,row:0,el:this.topBtn},{column:0,row:1,el:this.bottomBtn}]},width:23}]})},focus:function(){this.editor.focus()},isEditing:function(){return this.editor.isEditing()},_finetuning:function(add){var v=BI.parseFloat(this.getValue());this.setValue(BI.add(v,add))},setUpEnable:function(v){this.topBtn.setEnable(!!v)},setDownEnable:function(v){this.bottomBtn.setEnable(!!v)},getLastValidValue:function(){return this.editor.getLastValidValue()},getLastChangedValue:function(){return this.editor.getLastChangedValue()},getValue:function(){return this.options.value},setValue:function(v){var o=this.options;o.value=v,this.editor.setValue(o.valueFormatter(v))}}),BI.NumberEditor.EVENT_CONFIRM="EVENT_CONFIRM",BI.NumberEditor.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.number_editor",BI.NumberEditor),BI.NumberInterval=BI.inherit(BI.Single,{constants:{typeError:"typeBubble",numberError:"numberBubble",signalError:"signalBubble",editorWidth:114,columns:5,width:24,rows:1,numberErrorCls:"number-error",border:1,less:0,less_equal:1,numTip:"",adjustYOffset:2},_defaultConfig:function(){var conf=BI.NumberInterval.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-number-interval"+(BI.isIE()&&BI.getIEVersion()<10?" hack":""),height:24,validation:"valid",closeMin:!0,allowBlank:!0,watermark:BI.i18nText("BI-Basic_Unrestricted")})},_init:function(){var self=this,c=this.constants,o=this.options;BI.NumberInterval.superclass._init.apply(this,arguments),this.smallEditor=BI.createWidget({type:"bi.number_interval_single_editor",height:o.height-2,watermark:o.watermark,allowBlank:o.allowBlank,value:o.min,level:"warning",tipType:"success",title:function(){return self.smallEditor&&self.smallEditor.getValue()},quitChecker:function(){return!1},validationChecker:function(v){return!!BI.isNumeric(v)||(self.smallEditorBubbleType=c.typeError,!1)},cls:"number-interval-small-editor bi-border"}),this.smallTip=BI.createWidget({type:"bi.label",text:o.numTip,height:o.height-2,invisible:!0}),BI.createWidget({type:"bi.absolute",element:this.smallEditor.element,items:[{el:this.smallTip,top:0,right:5}]}),this.bigEditor=BI.createWidget({type:"bi.number_interval_single_editor",height:o.height-2,watermark:o.watermark,allowBlank:o.allowBlank,value:o.max,title:function(){return self.bigEditor&&self.bigEditor.getValue()},quitChecker:function(){return!1},validationChecker:function(v){return!!BI.isNumeric(v)||(self.bigEditorBubbleType=c.typeError,!1)},cls:"number-interval-big-editor bi-border"}),this.bigTip=BI.createWidget({type:"bi.label",text:o.numTip,height:o.height-2,invisible:!0}),BI.createWidget({type:"bi.absolute",element:this.bigEditor.element,items:[{el:this.bigTip,top:0,right:5}]}),this.smallCombo=BI.createWidget({type:"bi.icon_combo",cls:"number-interval-small-combo bi-border-top bi-border-bottom bi-border-right",height:o.height-2,items:[{text:"("+BI.i18nText("BI-Less_Than")+")",iconCls:"less-font",value:0},{text:"("+BI.i18nText("BI-Less_And_Equal")+")",value:1,iconCls:"less-equal-font"}]}),o.closeMin===!0?this.smallCombo.setValue(1):this.smallCombo.setValue(0),this.bigCombo=BI.createWidget({type:"bi.icon_combo",cls:"number-interval-big-combo bi-border-top bi-border-bottom bi-border-left",height:o.height-2,
items:[{text:"("+BI.i18nText("BI-Less_Than")+")",iconCls:"less-font",value:0},{text:"("+BI.i18nText("BI-Less_And_Equal")+")",value:1,iconCls:"less-equal-font"}]}),o.closeMax===!0?this.bigCombo.setValue(1):this.bigCombo.setValue(0),this.label=BI.createWidget({type:"bi.label",text:BI.i18nText("BI-Basic_Value"),textHeight:o.height-2*c.border,width:c.width-2*c.border,height:o.height-2*c.border,level:"warning",tipType:"warning"}),this.left=BI.createWidget({type:"bi.htape",items:[{el:self.smallEditor},{el:self.smallCombo,width:c.width-c.border}]}),this.right=BI.createWidget({type:"bi.htape",items:[{el:self.bigCombo,width:c.width-c.border},{el:self.bigEditor,lgap:1}]}),BI.createWidget({element:self,type:"bi.center",hgap:15,height:o.height,items:[{type:"bi.absolute",items:[{el:self.left,left:-15,right:0,top:0,bottom:0}]},{type:"bi.absolute",items:[{el:self.right,left:0,right:-15,top:0,bottom:0}]}]}),BI.createWidget({element:self,type:"bi.horizontal_auto",items:[self.label]}),self._setValidEvent(self.bigEditor,c.bigEditor),self._setValidEvent(self.smallEditor,c.smallEditor),self._setErrorEvent(self.bigEditor,c.bigEditor),self._setErrorEvent(self.smallEditor,c.smallEditor),self._setBlurEvent(self.bigEditor),self._setBlurEvent(self.smallEditor),self._setFocusEvent(self.bigEditor),self._setFocusEvent(self.smallEditor),self._setComboValueChangedEvent(self.bigCombo),self._setComboValueChangedEvent(self.smallCombo),self._setEditorValueChangedEvent(self.bigEditor),self._setEditorValueChangedEvent(self.smallEditor),self._checkValidation()},_checkValidation:function(){var self=this,c=this.constants,o=this.options;if(self._setTitle(""),BI.Bubbles.hide(c.typeError),BI.Bubbles.hide(c.numberError),BI.Bubbles.hide(c.signalError),!self.smallEditor.isValid()||!self.bigEditor.isValid())return self.element.removeClass("number-error"),o.validation="invalid",c.typeError;if(BI.isEmptyString(self.smallEditor.getValue())||BI.isEmptyString(self.bigEditor.getValue()))return self.element.removeClass("number-error"),o.validation="valid","";var smallValue=parseFloat(self.smallEditor.getValue()),bigValue=parseFloat(self.bigEditor.getValue()),bigComboValue=self.bigCombo.getValue(),smallComboValue=self.smallCombo.getValue();return bigComboValue[0]===c.less_equal&&smallComboValue[0]===c.less_equal?smallValue>bigValue?(self.element.addClass("number-error"),o.validation="invalid",c.numberError):(self.element.removeClass("number-error"),o.validation="valid",""):smallValue>bigValue?(self.element.addClass("number-error"),o.validation="invalid",c.numberError):smallValue===bigValue?(self.element.addClass("number-error"),o.validation="invalid",c.signalError):(self.element.removeClass("number-error"),o.validation="valid","")},_setTitle:function(v){this.label.setTitle(v)},_setFocusEvent:function(w){var self=this,c=this.constants;w.on(BI.NumberIntervalSingleEidtor.EVENT_FOCUS,function(){switch(self._setTitle(""),self._checkValidation()){case c.typeError:BI.Bubbles.show(c.typeError,BI.i18nText("BI-Numerical_Interval_Input_Data"),self,{offsetStyle:"left",adjustYOffset:c.adjustYOffset});break;case c.numberError:BI.Bubbles.show(c.numberError,BI.i18nText("BI-Numerical_Interval_Number_Value"),self,{offsetStyle:"left",adjustYOffset:c.adjustYOffset});break;case c.signalError:BI.Bubbles.show(c.signalError,BI.i18nText("BI-Numerical_Interval_Signal_Value"),self,{offsetStyle:"left",adjustYOffset:c.adjustYOffset});break;default:return}})},_setBlurEvent:function(w){var c=this.constants,self=this;w.on(BI.NumberIntervalSingleEidtor.EVENT_BLUR,function(){switch(BI.Bubbles.hide(c.typeError),BI.Bubbles.hide(c.numberError),BI.Bubbles.hide(c.signalError),self._checkValidation()){case c.typeError:self._setTitle(BI.i18nText("BI-Numerical_Interval_Input_Data"));break;case c.numberError:self._setTitle(BI.i18nText("BI-Numerical_Interval_Number_Value"));break;case c.signalError:self._setTitle(BI.i18nText("BI-Numerical_Interval_Signal_Value"));break;default:self._setTitle("")}})},_setErrorEvent:function(w){var c=this.constants,self=this;w.on(BI.NumberIntervalSingleEidtor.EVENT_ERROR,function(){self._checkValidation(),BI.Bubbles.show(c.typeError,BI.i18nText("BI-Numerical_Interval_Input_Data"),self,{offsetStyle:"left",adjustYOffset:c.adjustYOffset}),self.fireEvent(BI.NumberInterval.EVENT_ERROR)})},_setValidEvent:function(w){var self=this,c=this.constants;w.on(BI.NumberIntervalSingleEidtor.EVENT_VALID,function(){switch(self._checkValidation()){case c.numberError:BI.Bubbles.show(c.numberError,BI.i18nText("BI-Numerical_Interval_Number_Value"),self,{offsetStyle:"left",adjustYOffset:c.adjustYOffset}),self.fireEvent(BI.NumberInterval.EVENT_ERROR);break;case c.signalError:BI.Bubbles.show(c.signalError,BI.i18nText("BI-Numerical_Interval_Signal_Value"),self,{offsetStyle:"left",adjustYOffset:c.adjustYOffset}),self.fireEvent(BI.NumberInterval.EVENT_ERROR);break;default:self.fireEvent(BI.NumberInterval.EVENT_VALID)}})},_setEditorValueChangedEvent:function(w){var self=this,c=this.constants;w.on(BI.NumberIntervalSingleEidtor.EVENT_CHANGE,function(){switch(self._checkValidation()){case c.typeError:BI.Bubbles.show(c.typeError,BI.i18nText("BI-Numerical_Interval_Input_Data"),self,{offsetStyle:"left",adjustYOffset:c.adjustYOffset});break;case c.numberError:BI.Bubbles.show(c.numberError,BI.i18nText("BI-Numerical_Interval_Number_Value"),self,{offsetStyle:"left",adjustYOffset:c.adjustYOffset});break;case c.signalError:BI.Bubbles.show(c.signalError,BI.i18nText("BI-Numerical_Interval_Signal_Value"),self,{offsetStyle:"left",adjustYOffset:c.adjustYOffset})}self.fireEvent(BI.NumberInterval.EVENT_CHANGE)}),w.on(BI.NumberIntervalSingleEidtor.EVENT_CONFIRM,function(){self.fireEvent(BI.NumberInterval.EVENT_CONFIRM)})},_setComboValueChangedEvent:function(w){var self=this,c=this.constants;w.on(BI.IconCombo.EVENT_CHANGE,function(){switch(self._checkValidation()){case c.typeError:self._setTitle(BI.i18nText("BI-Numerical_Interval_Input_Data")),self.fireEvent(BI.NumberInterval.EVENT_ERROR);break;case c.numberError:self._setTitle(BI.i18nText("BI-Numerical_Interval_Number_Value")),self.fireEvent(BI.NumberInterval.EVENT_ERROR);break;case c.signalError:self._setTitle(BI.i18nText("BI-Numerical_Interval_Signal_Value")),self.fireEvent(BI.NumberInterval.EVENT_ERROR);break;default:self.fireEvent(BI.NumberInterval.EVENT_CHANGE),self.fireEvent(BI.NumberInterval.EVENT_CONFIRM),self.fireEvent(BI.NumberInterval.EVENT_VALID)}})},isStateValid:function(){return"valid"===this.options.validation},setMinEnable:function(b){this.smallEditor.setEnable(b)},setCloseMinEnable:function(b){this.smallCombo.setEnable(b)},setMaxEnable:function(b){this.bigEditor.setEnable(b)},setCloseMaxEnable:function(b){this.bigCombo.setEnable(b)},showNumTip:function(){this.smallTip.setVisible(!0),this.bigTip.setVisible(!0)},hideNumTip:function(){this.smallTip.setVisible(!1),this.bigTip.setVisible(!1)},setNumTip:function(numTip){this.smallTip.setText(numTip),this.bigTip.setText(numTip)},getNumTip:function(){return this.smallTip.getText()},setValue:function(data){data=data||{};var self=this,combo_value;(BI.isNumeric(data.min)||BI.isEmptyString(data.min))&&self.smallEditor.setValue(data.min),BI.isNotNull(data.min)||self.smallEditor.setValue(""),(BI.isNumeric(data.max)||BI.isEmptyString(data.max))&&self.bigEditor.setValue(data.max),BI.isNotNull(data.max)||self.bigEditor.setValue(""),BI.isNull(data.closeMin)||(combo_value=data.closeMin===!0?1:0,self.smallCombo.setValue(combo_value)),BI.isNull(data.closeMax)||(combo_value=data.closeMax===!0?1:0,self.bigCombo.setValue(combo_value)),this._checkValidation()},getValue:function(){var self=this,value={},minComboValue=self.smallCombo.getValue(),maxComboValue=self.bigCombo.getValue();return value.min=self.smallEditor.getValue(),value.max=self.bigEditor.getValue(),0===minComboValue[0]?value.closeMin=!1:value.closeMin=!0,0===maxComboValue[0]?value.closeMax=!1:value.closeMax=!0,value},destroyed:function(){var c=this.constants;BI.Bubbles.remove(c.typeError),BI.Bubbles.remove(c.numberError),BI.Bubbles.remove(c.signalError)}}),BI.NumberInterval.EVENT_CHANGE="EVENT_CHANGE",BI.NumberInterval.EVENT_CONFIRM="EVENT_CONFIRM",BI.NumberInterval.EVENT_VALID="EVENT_VALID",BI.NumberInterval.EVENT_ERROR="EVENT_ERROR",BI.shortcut("bi.number_interval",BI.NumberInterval),BI.NumberIntervalSingleEidtor=BI.inherit(BI.Single,{props:{baseCls:"bi-number-interval-single-editor",tipType:"success",title:""},render:function(){var self=this,o=this.options;return{type:"bi.vertical",items:[{type:"bi.editor",ref:function(_ref){self.editor=_ref},height:o.height-2,watermark:o.watermark,allowBlank:o.allowBlank,value:o.value,quitChecker:o.quitChecker,validationChecker:o.validationChecker,listeners:[{eventName:BI.Editor.EVENT_ERROR,action:function(){self.fireEvent(BI.NumberIntervalSingleEidtor.EVENT_ERROR,arguments)}},{eventName:BI.Editor.EVENT_FOCUS,action:function(){self.fireEvent(BI.NumberIntervalSingleEidtor.EVENT_FOCUS,arguments)}},{eventName:BI.Editor.EVENT_BLUR,action:function(){self.fireEvent(BI.NumberIntervalSingleEidtor.EVENT_BLUR,arguments)}},{eventName:BI.Editor.EVENT_VALID,action:function(){self.fireEvent(BI.NumberIntervalSingleEidtor.EVENT_VALID,arguments)}},{eventName:BI.Editor.EVENT_CHANGE,action:function(){self.fireEvent(BI.NumberIntervalSingleEidtor.EVENT_CHANGE,arguments)}},{eventName:BI.Editor.EVENT_CONFIRM,action:function(){self.fireEvent(BI.NumberIntervalSingleEidtor.EVENT_CONFIRM,arguments)}},{eventName:BI.Editor.EVENT_CHANGE_CONFIRM,action:function(){self.fireEvent(BI.NumberIntervalSingleEidtor.EVENT_CHANGE_CONFIRM,arguments)}}]}]}},isValid:function(){return this.editor.isValid()},getValue:function(){return this.editor.getValue()},setValue:function(v){return this.editor.setValue(v)}}),BI.NumberIntervalSingleEidtor.EVENT_FOCUS="EVENT_FOCUS",BI.NumberIntervalSingleEidtor.EVENT_BLUR="EVENT_BLUR",BI.NumberIntervalSingleEidtor.EVENT_ERROR="EVENT_ERROR",BI.NumberIntervalSingleEidtor.EVENT_VALID="EVENT_VALID",BI.NumberIntervalSingleEidtor.EVENT_CHANGE="EVENT_CHANGE",BI.NumberIntervalSingleEidtor.EVENT_CHANGE_CONFIRM="EVENT_CHANGE_CONFIRM",BI.NumberIntervalSingleEidtor.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.number_interval_single_editor",BI.NumberIntervalSingleEidtor),BI.SearchMultiTextValueCombo=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.SearchMultiTextValueCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-combo bi-search-multi-text-value-combo",height:24,items:[]})},_init:function(){BI.SearchMultiTextValueCombo.superclass._init.apply(this,arguments);var self=this,o=this.options,assertShowValue=function(){BI.isKey(self._startValue)&&(self.storeValue.type===BI.Selection.All?BI.remove(self.storeValue.value,self._startValue):BI.pushDistinct(self.storeValue.value,self._startValue)),self._updateAllValue(),self._checkError(),self.trigger.getSearcher().setState(self.storeValue),self.trigger.getCounter().setButtonChecked(self.storeValue)};this.storeValue=BI.deepClone(o.value||{}),this._updateAllValue(),this._assertValue(this.storeValue),this._checkError(),this.requesting=!1,this.trigger=BI.createWidget({type:"bi.search_multi_select_trigger",text:o.text,height:o.height,masker:{offset:{left:0,top:0,right:0,bottom:25}},allValueGetter:function(){return self.allValue},valueFormatter:o.valueFormatter,itemsCreator:function(op,callback){self._itemsCreator(op,function(res){1===op.times&&BI.isNotNull(op.keywords)&&self.trigger.setValue(BI.deepClone(self.getValue())),callback.apply(self,arguments)})},value:this.storeValue,warningTitle:o.warningTitle}),this.trigger.on(BI.MultiSelectTrigger.EVENT_START,function(){self._setStartValue(""),this.getSearcher().setValue(self.storeValue)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_STOP,function(){self._setStartValue("")}),this.trigger.on(BI.MultiSelectTrigger.EVENT_PAUSE,function(){if(this.getSearcher().hasMatched()){var keyword=this.getSearcher().getKeyword();self._join({type:BI.Selection.Multi,value:[keyword]},function(){self.combo.setValue(self.storeValue),self._setStartValue(keyword),assertShowValue(),self._populate(),self._setStartValue("")})}}),this.trigger.on(BI.MultiSelectTrigger.EVENT_SEARCHING,function(keywords){var last=BI.last(keywords);keywords=BI.initial(keywords||[]),keywords.length>0&&self._joinKeywords(keywords,function(){BI.isEndWithBlank(last)?(self.combo.setValue(self.storeValue),assertShowValue(),self.combo.populate(),self._setStartValue("")):(self.combo.setValue(self.storeValue),assertShowValue())})}),this.trigger.on(BI.MultiSelectTrigger.EVENT_CHANGE,function(value,obj){obj instanceof BI.MultiSelectBar?self._joinAll(this.getValue(),function(){assertShowValue()}):self._join(this.getValue(),function(){assertShowValue()})}),this.trigger.on(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW,function(){this.getCounter().setValue(self.storeValue)}),this.trigger.on(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK,function(){self.combo.isViewVisible()||self.combo.showView()}),this.combo=BI.createWidget({type:"bi.combo",toggle:!1,container:o.container,el:this.trigger,adjustLength:1,popup:{type:"bi.search_multi_select_popup_view",ref:function(){self.popup=this,self.trigger.setAdapter(this)},listeners:[{eventName:BI.MultiSelectPopupView.EVENT_CHANGE,action:function(){self.storeValue=this.getValue(),self._adjust(function(){assertShowValue()})}},{eventName:BI.MultiSelectPopupView.EVENT_CLICK_CONFIRM,action:function(){self._defaultState()}},{eventName:BI.MultiSelectPopupView.EVENT_CLICK_CLEAR,action:function(){self.setValue(),self._defaultState()}}],itemsCreator:BI.bind(self._itemsCreator,this),valueFormatter:o.valueFormatter,onLoaded:function(){BI.nextTick(function(){self.combo.adjustWidth(),self.combo.adjustHeight(),self.trigger.getCounter().adjustView(),self.trigger.getSearcher().adjustView()})}},value:o.value,hideChecker:function(e){return 0===triggerBtn.element.find(e.target).length}}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){this.setValue(self.storeValue),BI.nextTick(function(){self._populate()})}),this.wants2Quit=!1,this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW,function(){self.trigger.stopEditing(),self.requesting===!0?self.wants2Quit=!0:(assertShowValue(),self.fireEvent(BI.SearchMultiTextValueCombo.EVENT_CONFIRM))});var triggerBtn=BI.createWidget({type:"bi.trigger_icon_button",width:o.height,height:o.height,cls:"multi-select-trigger-icon-button"});triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE,function(){self.trigger.getCounter().hideView(),self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.combo,left:0,right:0,top:0,bottom:0},{el:triggerBtn,right:0,top:0,bottom:0}]}),this._checkError()},_defaultState:function(){this.trigger.stopEditing(),this.combo.hideView()},_assertValue:function(val){var o=this.options;val||(val={}),val.type||(val.type=BI.Selection.Multi),val.value||(val.value=[]),BI.remove(val.value,function(idx,value){return!BI.contains(BI.map(o.items,"value"),value)})},_makeMap:function(values){return BI.makeObject(values||[])},_joinKeywords:function(keywords,callback){function digest(items){var selectedMap=self._makeMap(items);BI.each(keywords,function(i,val){BI.isNotNull(selectedMap[val])&&(self.storeValue.type===BI.Selection.Multi?BI.pushDistinct(self.storeValue.value,val):BI.remove(self.storeValue.value,val))}),self._adjust(callback)}var self=this,o=this.options;this._assertValue(this.storeValue),this.requesting=!0,this._itemsCreator({type:BI.SearchMultiTextValueCombo.REQ_GET_ALL_DATA,keywords:keywords},function(ob){var values=BI.map(ob.items,"value");digest(values)})},_joinAll:function(res,callback){var self=this,o=this.options;this._assertValue(res),this.requesting=!0,this._itemsCreator({type:BI.SearchMultiTextValueCombo.REQ_GET_ALL_DATA,keywords:[this.trigger.getKey()]},function(ob){var items=BI.map(ob.items,"value");if(self.storeValue.type===res.type){var change=!1,map=self._makeMap(self.storeValue.value);return BI.each(items,function(i,v){BI.isNotNull(map[v])&&(change=!0,self.storeValue.assist&&self.storeValue.assist.push(map[v]),delete map[v])}),change&&(self.storeValue.value=BI.values(map)),void self._adjust(callback)}var selectedMap=self._makeMap(self.storeValue.value),notSelectedMap=self._makeMap(res.value),newItems=[];BI.each(items,function(i,item){BI.isNotNull(selectedMap[items[i]])&&(self.storeValue.assist&&self.storeValue.assist.push(selectedMap[items[i]]),delete selectedMap[items[i]]),BI.isNull(notSelectedMap[items[i]])&&(BI.remove(self.storeValue.assist,item),newItems.push(item))}),self.storeValue.value=newItems.concat(BI.values(selectedMap)),self._adjust(callback)})},_adjust:function(callback){function adjust(){self.storeValue.type===BI.Selection.All&&self.storeValue.value.length>=self._count?self.storeValue={type:BI.Selection.Multi,value:[]}:self.storeValue.type===BI.Selection.Multi&&self.storeValue.value.length>=self._count&&(self.storeValue={type:BI.Selection.All,value:[]}),self._updateAllValue(),self._checkError(),self.wants2Quit===!0&&(self.fireEvent(BI.SearchMultiTextValueCombo.EVENT_CONFIRM),self.wants2Quit=!1),self.requesting=!1}var self=this,o=this.options;this._count?(adjust(),callback()):this._itemsCreator({type:BI.SearchMultiTextValueCombo.REQ_GET_DATA_LENGTH},function(res){self._count=res.count,adjust(),callback()})},_join:function(res,callback){var self=this,o=this.options;if(this._assertValue(res),this._assertValue(this.storeValue),this.storeValue.type===res.type){var map=this._makeMap(this.storeValue.value);BI.each(res.value,function(i,v){map[v]||(self.storeValue.value.push(v),BI.remove(self.storeValue.assist,v),map[v]=v)});var change=!1;return BI.each(res.assist,function(i,v){BI.isNotNull(map[v])&&(change=!0,self.storeValue.assist&&self.storeValue.assist.push(map[v]),delete map[v])}),change&&(this.storeValue.value=BI.values(map)),void self._adjust(callback)}this._joinAll(res,callback)},_setStartValue:function(value){this._startValue=value,this.popup.setStartValue(value)},_getItemsByTimes:function(items,times){for(var res=[],i=100*(times-1);items[i]&&i<100*times;i++)res.push(items[i]);return res},_hasNextByTimes:function(items,times){return 100*times<items.length},_itemsCreator:function(options,callback){var self=this,o=this.options,items=o.items,keywords=(options.keywords||[]).slice();if(options.keyword&&keywords.push(options.keyword),BI.each(keywords,function(i,kw){var search=BI.Func.getSearchResult(items,kw);items=search.match.concat(search.find)}),options.selectedValues){var filter=BI.makeObject(options.selectedValues,!0);items=BI.filter(items,function(i,ob){return!filter[ob.value]})}return options.type==BI.MultiSelectCombo.REQ_GET_ALL_DATA?void callback({items:items}):options.type==BI.MultiSelectCombo.REQ_GET_DATA_LENGTH?void callback({count:items.length}):void callback({items:self._getItemsByTimes(items,options.times),hasNext:self._hasNextByTimes(items,options.times)})},_checkError:function(){var v=this.storeValue.value||[];if(BI.isNotEmptyArray(v)){v=BI.isArray(v)?v:[v];var result=BI.find(this.allValue,function(idx,value){return!BI.contains(v,value)});BI.isNull(result)?(BI.isNotNull(this.trigger)&&this.trigger.setTipType("success"),this.element.removeClass("combo-error")):(BI.isNotNull(this.trigger)&&this.trigger.setTipType("warning"),this.element.addClass("combo-error"))}else v.length===this.allValue.length?(BI.isNotNull(this.trigger)&&this.trigger.setTipType("success"),this.element.removeClass("combo-error")):(BI.isNotNull(this.trigger)&&this.trigger.setTipType("warning"),this.element.addClass("combo-error"))},_updateAllValue:function(){this.storeValue=this.storeValue||{},this.allValue=BI.deepClone(this.storeValue.value||[])},setValue:function(v){this.storeValue=BI.deepClone(v||{}),this._updateAllValue(),this._assertValue(this.storeValue),this.combo.setValue(this.storeValue),this._checkError()},getValue:function(){return BI.deepClone(this.storeValue)},_populate:function(){this._count=null,this.combo.populate()},populate:function(items){this.options.items=items,this._populate()}}),BI.extend(BI.SearchMultiTextValueCombo,{REQ_GET_DATA_LENGTH:1,REQ_GET_ALL_DATA:-1}),BI.SearchMultiTextValueCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.search_multi_text_value_combo",BI.SearchMultiTextValueCombo),BI.SearchMultiSelectTrigger=BI.inherit(BI.Trigger,{constants:{height:14,rgap:4,lgap:4},_defaultConfig:function(){return BI.extend(BI.SearchMultiSelectTrigger.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-trigger bi-border",itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,searcher:{},switcher:{},adapter:null,masker:{}})},_init:function(){BI.SearchMultiSelectTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options;o.height&&this.setHeight(o.height-2),this.searcher=BI.createWidget(o.searcher,{type:"bi.search_multi_select_searcher",height:o.height,itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,allValueGetter:o.allValueGetter,popup:{},adapter:o.adapter,masker:o.masker,value:o.value,text:o.text,tipType:o.tipType,warningTitle:o.warningTitle}),this.searcher.on(BI.MultiSelectSearcher.EVENT_START,function(){self.fireEvent(BI.SearchMultiSelectTrigger.EVENT_START)}),this.searcher.on(BI.MultiSelectSearcher.EVENT_PAUSE,function(){self.fireEvent(BI.SearchMultiSelectTrigger.EVENT_PAUSE)}),this.searcher.on(BI.MultiSelectSearcher.EVENT_SEARCHING,function(){self.fireEvent(BI.SearchMultiSelectTrigger.EVENT_SEARCHING,arguments)}),this.searcher.on(BI.MultiSelectSearcher.EVENT_STOP,function(){self.fireEvent(BI.SearchMultiSelectTrigger.EVENT_STOP)}),this.searcher.on(BI.MultiSelectSearcher.EVENT_CHANGE,function(){self.fireEvent(BI.SearchMultiSelectTrigger.EVENT_CHANGE,arguments)}),this.numberCounter=BI.createWidget(o.switcher,{type:"bi.multi_select_check_selected_switcher",valueFormatter:o.valueFormatter,itemsCreator:o.itemsCreator,adapter:o.adapter,masker:o.masker,value:o.value}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE,function(){self.fireEvent(BI.SearchMultiSelectTrigger.EVENT_COUNTER_CLICK)}),this.numberCounter.on(BI.MultiSelectCheckSelectedSwitcher.EVENT_BEFORE_POPUPVIEW,function(){self.fireEvent(BI.SearchMultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW)});var wrapNumberCounter=BI.createWidget({type:"bi.right_vertical_adapt",hgap:4,items:[{el:this.numberCounter}]}),wrapper=BI.createWidget({type:"bi.htape",element:this,items:[{el:this.searcher,width:"fill"},{el:wrapNumberCounter,width:0},{el:BI.createWidget(),width:24}]});this.numberCounter.on(BI.Events.VIEW,function(b){BI.nextTick(function(){wrapper.attr("items")[1].width=b===!0?self.numberCounter.element.outerWidth()+8:0,wrapper.resize()})}),this.element.click(function(e){self.element.find(e.target).length>0&&self.numberCounter.hideView()})},getCounter:function(){return this.numberCounter},getSearcher:function(){return this.searcher},stopEditing:function(){this.searcher.stopSearch(),this.numberCounter.hideView()},setAdapter:function(adapter){this.searcher.setAdapter(adapter),this.numberCounter.setAdapter(adapter)},setValue:function(ob){this.searcher.setValue(ob),this.numberCounter.setValue(ob)},setTipType:function(v){this.searcher.setTipType(v)},getKey:function(){return this.searcher.getKey()},getValue:function(){return this.searcher.getValue()}}),BI.SearchMultiSelectTrigger.EVENT_TRIGGER_CLICK="EVENT_TRIGGER_CLICK",BI.SearchMultiSelectTrigger.EVENT_COUNTER_CLICK="EVENT_COUNTER_CLICK",BI.SearchMultiSelectTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.SearchMultiSelectTrigger.EVENT_START="EVENT_START",BI.SearchMultiSelectTrigger.EVENT_STOP="EVENT_STOP",BI.SearchMultiSelectTrigger.EVENT_PAUSE="EVENT_PAUSE",BI.SearchMultiSelectTrigger.EVENT_SEARCHING="EVENT_SEARCHING",BI.SearchMultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW="EVENT_BEFORE_COUNTER_POPUPVIEW",BI.shortcut("bi.search_multi_select_trigger",BI.SearchMultiSelectTrigger),BI.SearchMultiSelectLoader=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SearchMultiSelectLoader.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-loader",logic:{dynamic:!0},el:{height:400},valueFormatter:BI.emptyFn,itemsCreator:BI.emptyFn,onLoaded:BI.emptyFn})},_init:function(){BI.SearchMultiSelectLoader.superclass._init.apply(this,arguments);var self=this,opts=this.options,hasNext=!1;this.storeValue=opts.value||{},this._assertValue(this.storeValue),this.button_group=BI.createWidget({type:"bi.select_list",element:this,logic:opts.logic,el:BI.extend({onLoaded:opts.onLoaded,el:{type:"bi.loader",isDefaultInit:!1,logic:{dynamic:!0,scrolly:!0},el:{chooseType:BI.ButtonGroup.CHOOSE_TYPE_MULTI,behaviors:{redmark:function(){return!0}},layouts:[{type:"bi.vertical"}]}}},opts.el),itemsCreator:function(op,callback){var startValue=self._startValue;self.storeValue&&(op=BI.extend(op||{},{selectedValues:BI.isKey(startValue)&&self.storeValue.type===BI.Selection.Multi?self.storeValue.value.concat(startValue):self.storeValue.value})),opts.itemsCreator(op,function(ob){hasNext=ob.hasNext;var firstItems=[];if(1===op.times&&self.storeValue){var json=BI.map(self.storeValue.value,function(i,v){var txt=opts.valueFormatter(v)||v;return{text:txt,value:v,title:txt,selected:self.storeValue.type===BI.Selection.Multi}});if(BI.isKey(self._startValue)&&!BI.contains(self.storeValue.value,self._startValue)){var txt=opts.valueFormatter(startValue)||startValue;json.unshift({text:txt,value:startValue,title:txt,selected:!0})}firstItems=self._createItems(json)}callback(firstItems.concat(self._createItems(ob.items)),ob.keyword||""),1===op.times&&self.storeValue&&(BI.isKey(startValue)&&(self.storeValue.type===BI.Selection.All?BI.remove(self.storeValue.value,startValue):BI.pushDistinct(self.storeValue.value,startValue)),self.setValue(self.storeValue)),1===op.times&&self._scrollToTop()})},hasNext:function(){return hasNext},value:this.storeValue}),this.button_group.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.button_group.on(BI.SelectList.EVENT_CHANGE,function(){self.fireEvent(BI.SearchMultiSelectLoader.EVENT_CHANGE,arguments)})},_createItems:function(items){return BI.createItems(items,{type:"bi.multi_select_item",logic:this.options.logic,cls:"bi-list-item-active",height:24,selected:this.isAllSelected(),iconWrapperWidth:36})},_scrollToTop:function(){var self=this;BI.delay(function(){self.button_group.element.scrollTop(0)},30)},isAllSelected:function(){return this.button_group.isAllSelected()},_assertValue:function(val){val||(val={}),val.type||(val.type=BI.Selection.Multi),val.value||(val.value=[])},setStartValue:function(v){this._startValue=v},setValue:function(v){this.storeValue=v||{},this._assertValue(this.storeValue),this.button_group.setValue(this.storeValue)},getValue:function(){return this.button_group.getValue()},getAllButtons:function(){return this.button_group.getAllButtons()},empty:function(){this.button_group.empty()},populate:function(items){arguments[0]=this._createItems(items),this.button_group.populate.apply(this.button_group,arguments)},resetHeight:function(h){this.button_group.resetHeight(h)},resetWidth:function(w){this.button_group.resetWidth(w)}}),BI.SearchMultiSelectLoader.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.search_multi_select_loader",BI.SearchMultiSelectLoader),BI.SearchMultiSelectPopupView=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SearchMultiSelectPopupView.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-popup-view",maxWidth:"auto",minWidth:135,maxHeight:400,valueFormatter:BI.emptyFn,itemsCreator:BI.emptyFn,onLoaded:BI.emptyFn})},_init:function(){BI.SearchMultiSelectPopupView.superclass._init.apply(this,arguments);var self=this,opts=this.options;this.loader=BI.createWidget({type:"bi.search_multi_select_loader",itemsCreator:opts.itemsCreator,valueFormatter:opts.valueFormatter,onLoaded:opts.onLoaded,value:opts.value}),this.popupView=BI.createWidget({type:"bi.multi_popup_view",stopPropagation:!1,maxWidth:opts.maxWidth,minWidth:opts.minWidth,maxHeight:opts.maxHeight,element:this,buttons:[BI.i18nText("BI-Basic_Clears"),BI.i18nText("BI-Basic_Sure")],el:this.loader,value:opts.value}),this.popupView.on(BI.MultiPopupView.EVENT_CHANGE,function(){self.fireEvent(BI.SearchMultiSelectPopupView.EVENT_CHANGE)}),this.popupView.on(BI.MultiPopupView.EVENT_CLICK_TOOLBAR_BUTTON,function(index){switch(index){case 0:self.fireEvent(BI.SearchMultiSelectPopupView.EVENT_CLICK_CLEAR);break;case 1:self.fireEvent(BI.SearchMultiSelectPopupView.EVENT_CLICK_CONFIRM)}})},isAllSelected:function(){return this.loader.isAllSelected()},setStartValue:function(v){this.loader.setStartValue(v)},setValue:function(v){this.popupView.setValue(v)},getValue:function(){return this.popupView.getValue()},populate:function(items){this.popupView.populate.apply(this.popupView,arguments)},resetHeight:function(h){this.popupView.resetHeight(h)},resetWidth:function(w){this.popupView.resetWidth(w)}}),BI.SearchMultiSelectPopupView.EVENT_CHANGE="EVENT_CHANGE",BI.SearchMultiSelectPopupView.EVENT_CLICK_CONFIRM="EVENT_CLICK_CONFIRM",BI.SearchMultiSelectPopupView.EVENT_CLICK_CLEAR="EVENT_CLICK_CLEAR",BI.shortcut("bi.search_multi_select_popup_view",BI.SearchMultiSelectPopupView),BI.SearchMultiSelectSearcher=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SearchMultiSelectSearcher.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-searcher",itemsCreator:BI.emptyFn,el:{},popup:{},valueFormatter:BI.emptyFn,adapter:null,masker:{}})},_init:function(){BI.SearchMultiSelectSearcher.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget(o.el,{type:"bi.multi_select_editor",height:o.height,text:o.text,tipType:o.tipType,warningTitle:o.warningTitle}),this.searcher=BI.createWidget({type:"bi.searcher",element:this,height:o.height,isAutoSearch:!1,isAutoSync:!1,onSearch:function(op,callback){callback()},el:this.editor,popup:BI.extend({type:"bi.multi_select_search_pane",valueFormatter:o.valueFormatter,keywordGetter:function(){return self.editor.getValue()},itemsCreator:function(op,callback){var keyword=self.editor.getValue();op.keywords=[keyword],this.setKeyword(keyword),o.itemsCreator(op,callback)},value:o.value},o.popup),adapter:o.adapter,masker:o.masker}),this.searcher.on(BI.Searcher.EVENT_START,function(){self.fireEvent(BI.SearchMultiSelectSearcher.EVENT_START)}),this.searcher.on(BI.Searcher.EVENT_PAUSE,function(){this.hasMatched(),self.fireEvent(BI.SearchMultiSelectSearcher.EVENT_PAUSE)}),this.searcher.on(BI.Searcher.EVENT_STOP,function(){self.fireEvent(BI.SearchMultiSelectSearcher.EVENT_STOP)}),this.searcher.on(BI.Searcher.EVENT_CHANGE,function(){self.fireEvent(BI.SearchMultiSelectSearcher.EVENT_CHANGE,arguments)}),this.searcher.on(BI.Searcher.EVENT_SEARCHING,function(){var keywords=this.getKeywords();self.fireEvent(BI.SearchMultiSelectSearcher.EVENT_SEARCHING,keywords)}),BI.isNotNull(o.value)&&this.setState(o.value)},adjustView:function(){this.searcher.adjustView()},isSearching:function(){return this.searcher.isSearching()},stopSearch:function(){this.searcher.stopSearch()},getKeyword:function(){return this.editor.getValue()},hasMatched:function(){return this.searcher.hasMatched()},hasChecked:function(){return this.searcher.getView()&&this.searcher.getView().hasChecked()},setAdapter:function(adapter){this.searcher.setAdapter(adapter)},setState:function(obj){var o=this.options,ob={};if(ob.type=obj.type,ob.value=o.allValueGetter()||[],ob.assist=obj.assist,ob.type===BI.Selection.All)if(0===ob.value.length)this.editor.setState(BI.Selection.All);else if(BI.size(ob.assist)<=20){var state="";BI.each(ob.assist,function(i,v){state+=0===i?""+(o.valueFormatter(v+"")||v):","+(o.valueFormatter(v+"")||v)}),this.editor.setState(state)}else this.editor.setState(BI.Selection.Multi);else if(0===ob.value.length)this.editor.setState(BI.Selection.None);else if(BI.size(ob.value)<=20){var state="";BI.each(ob.value,function(i,v){
state+=0===i?""+(o.valueFormatter(v+"")||v):","+(o.valueFormatter(v+"")||v)}),this.editor.setState(state)}else this.editor.setState(BI.Selection.Multi)},setTipType:function(v){this.editor.setTipType(v)},setValue:function(ob){this.setState(ob),this.searcher.setValue(ob)},getKey:function(){return this.editor.getValue()},getValue:function(){return this.searcher.getValue()},populate:function(items){this.searcher.populate.apply(this.searcher,arguments)}}),BI.SearchMultiSelectSearcher.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.SearchMultiSelectSearcher.EVENT_CHANGE="EVENT_CHANGE",BI.SearchMultiSelectSearcher.EVENT_START="EVENT_START",BI.SearchMultiSelectSearcher.EVENT_STOP="EVENT_STOP",BI.SearchMultiSelectSearcher.EVENT_PAUSE="EVENT_PAUSE",BI.SearchMultiSelectSearcher.EVENT_SEARCHING="EVENT_SEARCHING",BI.shortcut("bi.search_multi_select_searcher",BI.SearchMultiSelectSearcher),BI.SelectTreeFirstPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.SelectTreeFirstPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-select-tree-first-plus-group-node bi-list-item-active",logic:{dynamic:!1},id:"",pId:"",readonly:!0,open:!1,height:24})},_init:function(){BI.SelectTreeFirstPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.first_tree_node_checkbox",stopPropagation:!0}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,keyword:o.keyword,py:o.py}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&(this.isSelected()?self.triggerExpand():self.triggerCollapse())});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,{width:24,el:this.checkbox},this.text);BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},isOnce:function(){return!0},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.NodeButton.superclass.doClick.apply(this,arguments)},setOpened:function(v){BI.SelectTreeFirstPlusGroupNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.checkbox)&&this.checkbox.setSelected(v)}}),BI.shortcut("bi.select_tree_first_plus_group_node",BI.SelectTreeFirstPlusGroupNode),BI.SelectTreeLastPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.SelectTreeLastPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-select-tree-last-plus-group-node bi-list-item-active",logic:{dynamic:!1},id:"",pId:"",readonly:!0,open:!1,height:24})},_init:function(){BI.SelectTreeLastPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.last_tree_node_checkbox",stopPropagation:!0}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,keyword:o.keyword,py:o.py}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&(this.isSelected()?self.triggerExpand():self.triggerCollapse())});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,{width:24,el:this.checkbox},this.text);BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},isOnce:function(){return!0},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.NodeButton.superclass.doClick.apply(this,arguments)},setOpened:function(v){BI.SelectTreeLastPlusGroupNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.checkbox)&&this.checkbox.setSelected(v)}}),BI.shortcut("bi.select_tree_last_plus_group_node",BI.SelectTreeLastPlusGroupNode),BI.SelectTreeMidPlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.SelectTreeMidPlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-select-tree-mid-plus-group-node bi-list-item-active",logic:{dynamic:!1},id:"",pId:"",readonly:!0,open:!1,height:24})},_init:function(){BI.SelectTreeMidPlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.mid_tree_node_checkbox",stopPropagation:!0}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,keyword:o.keyword,py:o.py}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&(this.isSelected()?self.triggerExpand():self.triggerCollapse())});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,{width:24,el:this.checkbox},this.text);BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},isOnce:function(){return!0},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.NodeButton.superclass.doClick.apply(this,arguments)},setOpened:function(v){BI.SelectTreeMidPlusGroupNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.checkbox)&&this.checkbox.setSelected(v)}}),BI.shortcut("bi.select_tree_mid_plus_group_node",BI.SelectTreeMidPlusGroupNode),BI.SelectTreePlusGroupNode=BI.inherit(BI.NodeButton,{_defaultConfig:function(){var conf=BI.SelectTreePlusGroupNode.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-select-tree-plus-group-node bi-list-item-active",logic:{dynamic:!1},id:"",pId:"",readonly:!0,open:!1,height:24})},_init:function(){BI.SelectTreePlusGroupNode.superclass._init.apply(this,arguments);var self=this,o=this.options;this.checkbox=BI.createWidget({type:"bi.tree_node_checkbox",stopPropagation:!0}),this.text=BI.createWidget({type:"bi.label",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,value:o.value,keyword:o.keyword,py:o.py}),this.checkbox.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&(this.isSelected()?self.triggerExpand():self.triggerCollapse())});var type=BI.LogicFactory.createLogicTypeByDirection(BI.Direction.Left),items=BI.LogicFactory.createLogicItemsByDirection(BI.Direction.Left,{width:24,el:this.checkbox},this.text);BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(type,BI.extend(o.logic,{items:items}))))},isOnce:function(){return!0},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.NodeButton.superclass.doClick.apply(this,arguments)},setOpened:function(v){BI.SelectTreePlusGroupNode.superclass.setOpened.apply(this,arguments),BI.isNotNull(this.checkbox)&&this.checkbox.setSelected(v)}}),BI.shortcut("bi.select_tree_plus_group_node",BI.SelectTreePlusGroupNode),BI.SelectTreeCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SelectTreeCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-select-tree-combo",height:24,text:"",items:[],value:"",attributes:{tabIndex:0}})},_init:function(){BI.SelectTreeCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget({type:"bi.single_tree_trigger",text:o.text,height:o.height,items:o.items,value:o.value}),this.popup=BI.createWidget({type:"bi.select_level_tree",items:o.items,value:o.value}),this.combo=BI.createWidget({type:"bi.combo",container:o.container,element:this,adjustLength:2,el:this.trigger,popup:{el:this.popup}}),this.combo.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.popup.on(BI.SingleTreePopup.EVENT_CHANGE,function(){self.setValue(self.popup.getValue()),self.combo.hideView()})},setValue:function(v){v=BI.isArray(v)?v:[v],this.trigger.setValue(v),this.popup.setValue(v)},getValue:function(){return this.popup.getValue()},populate:function(items){this.combo.populate(items)}}),BI.shortcut("bi.select_tree_combo",BI.SelectTreeCombo),BI.SelectTreeExpander=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SelectTreeExpander.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-select-tree-expander",trigger:"",toggle:!0,direction:"bottom",isDefaultInit:!0,el:{},popup:{}})},_init:function(){BI.SelectTreeExpander.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget(o.el),this.trigger.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&this.isSelected()&&self.expander.setValue([]),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.expander=BI.createWidget({type:"bi.expander",element:this,trigger:o.trigger,toggle:o.toggle,direction:o.direction,isDefaultInit:o.isDefaultInit,el:this.trigger,popup:o.popup}),this.expander.on(BI.Controller.EVENT_CHANGE,function(type){type===BI.Events.CLICK&&self.trigger.setSelected(!1),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)})},getAllLeaves:function(){return this.expander.getAllLeaves()},setValue:function(v){BI.contains(v,this.trigger.getValue())?(this.trigger.setSelected(!0),this.expander.setValue([])):(this.trigger.setSelected(!1),this.expander.setValue(v))},getValue:function(){return this.trigger.isSelected()?[this.trigger.getValue()]:this.expander.getValue()},populate:function(items){this.expander.populate(items)}}),BI.shortcut("bi.select_tree_expander",BI.SelectTreeExpander),BI.SelectTreePopup=BI.inherit(BI.Pane,{_defaultConfig:function(){return BI.extend(BI.SelectTreePopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-select-level-tree",tipText:BI.i18nText("BI-No_Selected_Item"),items:[],value:""})},_formatItems:function(nodes,layer,pNode){var self=this;return BI.each(nodes,function(i,node){var extend={layer:layer};node.id=node.id||BI.UUID(),extend.pNode=pNode,node.isParent===!0||node.parent===!0||BI.isNotEmptyArray(node.children)?(extend.type="bi.select_tree_mid_plus_group_node",i===nodes.length-1&&(extend.type="bi.select_tree_last_plus_group_node",extend.isLastNode=!0),0!==i||pNode||(extend.type="bi.select_tree_first_plus_group_node"),0===i&&i===nodes.length-1&&(extend.type="bi.select_tree_plus_group_node"),BI.defaults(node,extend),self._formatItems(node.children,layer+1,node)):(extend.type="bi.mid_tree_leaf_item",0!==i||pNode||(extend.type="bi.first_tree_leaf_item"),i===nodes.length-1&&(extend.type="bi.last_tree_leaf_item"),BI.defaults(node,extend))}),nodes},_init:function(){BI.SelectTreePopup.superclass._init.apply(this,arguments);var self=this,o=this.options;this.tree=BI.createWidget({type:"bi.level_tree",expander:{type:"bi.select_tree_expander",isDefaultInit:!0},items:this._formatItems(BI.Tree.transformToTreeFormat(o.items),0),value:o.value,chooseType:BI.Selection.Single}),BI.createWidget({type:"bi.vertical",element:this,vgap:5,items:[this.tree]}),this.tree.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.tree.on(BI.LevelTree.EVENT_CHANGE,function(){self.fireEvent(BI.SelectTreePopup.EVENT_CHANGE)}),this.check()},getValue:function(){return this.tree.getValue()},setValue:function(v){v=BI.isArray(v)?v:[v],this.tree.setValue(v)},populate:function(items){BI.SelectTreePopup.superclass.populate.apply(this,arguments),this.tree.populate(this._formatItems(BI.Tree.transformToTreeFormat(items)))}}),BI.SelectTreePopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.select_level_tree",BI.SelectTreePopup),BI.SingleSelectSearchLoader=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SingleSelectSearchLoader.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-select-search-loader",allowNoSelect:!1,itemsCreator:BI.emptyFn,keywordGetter:BI.emptyFn,valueFormatter:BI.emptyFn})},_init:function(){BI.SingleSelectSearchLoader.superclass._init.apply(this,arguments);var self=this,opts=this.options,hasNext=!1;this.button_group=BI.createWidget({type:"bi.single_select_list",allowNoSelect:opts.allowNoSelect,element:this,logic:{dynamic:!1},value:opts.value,el:{tipText:BI.i18nText("BI-No_Select"),el:{type:"bi.loader",isDefaultInit:!1,logic:{dynamic:!0,scrolly:!0},el:{chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE,behaviors:{redmark:function(){return!0}},layouts:[{type:"bi.vertical"}]}}},itemsCreator:function(op,callback){self.storeValue&&(op=BI.extend(op||{},{selectedValues:[self.storeValue]})),opts.itemsCreator(op,function(ob){var keyword=ob.keyword=opts.keywordGetter();hasNext=ob.hasNext;var firstItems=[];if(1===op.times&&BI.isNotNull(self.storeValue)){var json=self._filterValues(self.storeValue);firstItems=self._createItems(json)}callback(firstItems.concat(self._createItems(ob.items)),keyword||""),1===op.times&&self.storeValue&&self.setValue(self.storeValue)})},hasNext:function(){return hasNext}}),this.button_group.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.button_group.on(BI.SingleSelectList.EVENT_CHANGE,function(){self.fireEvent(BI.SingleSelectSearchLoader.EVENT_CHANGE,arguments)})},_createItems:function(items){return BI.createItems(items,{type:this.options.allowNoSelect?"bi.single_select_item":"bi.single_select_combo_item",cls:"bi-list-item-active",logic:{dynamic:!1},height:25,selected:!1})},_filterValues:function(src){var o=this.options,keyword=o.keywordGetter(),values=src||[],newValues=BI.map(BI.isArray(values)?values:[values],function(i,v){return{text:o.valueFormatter(v)||v,value:v}});if(BI.isKey(keyword)){var search=BI.Func.getSearchResult(newValues,keyword);values=search.match.concat(search.find)}return BI.map(values,function(i,v){return{text:v.text,title:v.text,value:v.value,selected:!1}})},setValue:function(v){this.storeValue=v,this.button_group.setValue(v)},getValue:function(){return this.button_group.getValue()},getAllButtons:function(){return this.button_group.getAllButtons()},empty:function(){this.button_group.empty()},populate:function(items){this.button_group.populate.apply(this.button_group,arguments)},resetHeight:function(h){this.button_group.resetHeight(h)},resetWidth:function(w){this.button_group.resetWidth(w)}}),BI.SingleSelectSearchLoader.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_select_search_loader",BI.SingleSelectSearchLoader),BI.SingleSelectSearchInsertPane=BI.inherit(BI.Widget,{constants:{height:25,lgap:10,tgap:5},_defaultConfig:function(){return BI.extend(BI.SingleSelectSearchInsertPane.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-select-search-pane bi-card",allowNoSelect:!1,itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,keywordGetter:BI.emptyFn})},_init:function(){BI.SingleSelectSearchInsertPane.superclass._init.apply(this,arguments);var self=this,o=this.options;this.tooltipClick=BI.createWidget({type:"bi.label",invisible:!0,text:BI.i18nText("BI-Click_Blank_To_Select"),cls:"multi-select-toolbar",height:this.constants.height}),this.addNotMatchTip=BI.createWidget({type:"bi.text_button",invisible:!0,text:BI.i18nText("BI-Basic_Click_To_Add_Text",""),height:this.constants.height,cls:"bi-high-light",hgap:5,handler:function(){self.fireEvent(BI.SingleSelectSearchInsertPane.EVENT_ADD_ITEM,o.keywordGetter())}}),this.loader=BI.createWidget({type:"bi.single_select_search_loader",allowNoSelect:o.allowNoSelect,keywordGetter:o.keywordGetter,valueFormatter:o.valueFormatter,itemsCreator:function(op,callback){o.itemsCreator.apply(self,[op,function(res){callback(res),self.setKeyword(o.keywordGetter())}])},value:o.value}),this.loader.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.resizer=BI.createWidget({type:"bi.vtape",element:this,items:[{type:"bi.vertical",items:[this.tooltipClick,this.addNotMatchTip],height:this.constants.height},{el:this.loader}]})},setKeyword:function(keyword){var btn,isMatchTipVisible=this.loader.getAllButtons().length>0&&(btn=this.loader.getAllButtons()[0])&&keyword===btn.getValue();this.tooltipClick.setVisible(isMatchTipVisible),this.addNotMatchTip.setVisible(!isMatchTipVisible),!isMatchTipVisible&&this.addNotMatchTip.setText(BI.i18nText("BI-Basic_Click_To_Add_Text",keyword))},hasMatched:function(){return this.tooltipClick.isVisible()},setValue:function(v){this.loader.setValue(v)},getValue:function(){return this.loader.getValue()},empty:function(){this.loader.empty()},populate:function(items){this.loader.populate.apply(this.loader,arguments)}}),BI.SingleSelectSearchInsertPane.EVENT_CHANGE="EVENT_CHANGE",BI.SingleSelectSearchInsertPane.EVENT_ADD_ITEM="EVENT_ADD_ITEM",BI.shortcut("bi.single_select_search_insert_pane",BI.SingleSelectSearchInsertPane),BI.SingleSelectSearchPane=BI.inherit(BI.Widget,{constants:{height:25,lgap:10,tgap:5},_defaultConfig:function(){return BI.extend(BI.SingleSelectSearchPane.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-select-search-pane bi-card",allowNoSelect:!1,itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,keywordGetter:BI.emptyFn})},_init:function(){BI.SingleSelectSearchPane.superclass._init.apply(this,arguments);var self=this,o=this.options;this.tooltipClick=BI.createWidget({type:"bi.label",invisible:!0,text:BI.i18nText("BI-Click_Blank_To_Select"),cls:"multi-select-toolbar",height:this.constants.height}),this.loader=BI.createWidget({type:"bi.single_select_search_loader",allowNoSelect:o.allowNoSelect,keywordGetter:o.keywordGetter,valueFormatter:o.valueFormatter,itemsCreator:function(op,callback){o.itemsCreator.apply(self,[op,function(res){callback(res),self.setKeyword(o.keywordGetter())}])},value:o.value}),this.loader.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.resizer=BI.createWidget({type:"bi.vtape",element:this,items:[{el:this.tooltipClick,height:0},{el:this.loader}]}),this.tooltipClick.setVisible(!1)},setKeyword:function(keyword){var btn,isVisible=this.loader.getAllButtons().length>0&&(btn=this.loader.getAllButtons()[0])&&keyword===btn.getValue();isVisible!==this.tooltipClick.isVisible()&&(this.tooltipClick.setVisible(isVisible),this.resizer.attr("items")[0].height=isVisible?this.constants.height:0,this.resizer.resize())},hasMatched:function(){return this.tooltipClick.isVisible()},setValue:function(v){this.loader.setValue(v)},getValue:function(){return this.loader.getValue()},empty:function(){this.loader.empty()},populate:function(items){this.loader.populate.apply(this.loader,arguments)}}),BI.SingleSelectSearchPane.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_select_search_pane",BI.SingleSelectSearchPane),BI.SingleSelectCombo=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.SingleSelectCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-select-combo",allowNoSelect:!1,itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,height:24,attributes:{tabIndex:0},allowEdit:!0})},_init:function(){BI.SingleSelectCombo.superclass._init.apply(this,arguments);var self=this,o=this.options,assertShowValue=function(){BI.isKey(self._startValue)&&(self.storeValue=self._startValue),self.trigger.getSearcher().setState(self.storeValue)};this.storeValue=o.value,this.requesting=!1,this.trigger=BI.createWidget({type:"bi.single_select_trigger",height:o.height,allowNoSelect:o.allowNoSelect,allowEdit:o.allowEdit,valueFormatter:o.valueFormatter,itemsCreator:function(op,callback){o.itemsCreator(op,function(res){1===op.times&&BI.isNotNull(op.keywords)&&self.trigger.setValue(self.getValue()),callback.apply(self,arguments)})},text:o.text,value:this.storeValue}),this.trigger.on(BI.SingleSelectTrigger.EVENT_FOCUS,function(){self.fireEvent(BI.SingleSelectCombo.EVENT_FOCUS)}),this.trigger.on(BI.SingleSelectTrigger.EVENT_BLUR,function(){self.fireEvent(BI.SingleSelectCombo.EVENT_BLUR)}),this.trigger.on(BI.SingleSelectTrigger.EVENT_START,function(){self._setStartValue(),this.getSearcher().setValue(self.storeValue)}),this.trigger.on(BI.SingleSelectTrigger.EVENT_STOP,function(){self._setStartValue(),self.fireEvent(BI.SingleSelectCombo.EVENT_STOP)}),this.trigger.on(BI.SingleSelectTrigger.EVENT_PAUSE,function(){if(this.getSearcher().hasMatched()){var keyword=this.getSearcher().getKeyword();self.combo.setValue(self.storeValue),self._setStartValue(keyword),assertShowValue(),self.populate(),self._setStartValue()}}),this.trigger.on(BI.SingleSelectTrigger.EVENT_SEARCHING,function(keywords){var last=BI.last(keywords);keywords=BI.initial(keywords||[]),keywords.length>0&&self._joinKeywords(keywords,function(){BI.isEndWithBlank(last)?(self.combo.setValue(self.storeValue),assertShowValue(),self.combo.populate(),self._setStartValue()):(self.combo.setValue(self.storeValue),assertShowValue())}),self.fireEvent(BI.SingleSelectCombo.EVENT_SEARCHING)}),this.trigger.on(BI.SingleSelectTrigger.EVENT_CHANGE,function(value,obj){self.storeValue=this.getValue(),assertShowValue(),self._defaultState()}),this.trigger.on(BI.SingleSelectTrigger.EVENT_COUNTER_CLICK,function(){self.combo.isViewVisible()||self.combo.showView()}),this.combo=BI.createWidget({type:"bi.combo",container:o.container,toggle:!1,el:this.trigger,adjustLength:1,popup:{type:"bi.single_select_popup_view",allowNoSelect:o.allowNoSelect,ref:function(){self.popup=this,self.trigger.setAdapter(this)},listeners:[{eventName:BI.SingleSelectPopupView.EVENT_CHANGE,action:function(){self.storeValue=this.getValue(),self._adjust(function(){assertShowValue(),self._defaultState()}),self.fireEvent(BI.SingleSelectCombo.EVENT_CLICK_ITEM)}}],itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,onLoaded:function(){BI.nextTick(function(){self.combo.adjustWidth(),self.combo.adjustHeight(),self.trigger.getSearcher().adjustView()})}},hideChecker:function(e){return 0===triggerBtn.element.find(e.target).length},value:o.value}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){this.setValue(self.storeValue),BI.nextTick(function(){self.populate()})}),this.wants2Quit=!1,this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW,function(){self.trigger.stopEditing(),self.requesting===!0?self.wants2Quit=!0:self.fireEvent(BI.SingleSelectCombo.EVENT_CONFIRM)});var triggerBtn=BI.createWidget({type:"bi.trigger_icon_button",width:o.height,height:o.height,cls:"single-select-trigger-icon-button"});triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE,function(){self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.combo,left:0,right:0,top:0,bottom:0},{el:triggerBtn,right:0,top:0,bottom:0}]})},_defaultState:function(){this.trigger.stopEditing(),this.combo.hideView()},_assertValue:function(val){},_makeMap:function(values){return BI.makeObject(values||[])},_joinKeywords:function(keywords,callback){function digest(items){var selectedMap=self._makeMap(items);BI.each(keywords,function(i,val){BI.isNotNull(selectedMap[val])&&BI.remove(self.storeValue.value,val)}),self._adjust(callback)}var self=this,o=this.options;this._assertValue(this.storeValue),this.requesting=!0,o.itemsCreator({type:BI.SingleSelectCombo.REQ_GET_ALL_DATA,keywords:keywords},function(ob){var values=BI.map(ob.items,"value");digest(values)})},_adjust:function(callback){function adjust(){self.wants2Quit===!0&&(self.fireEvent(BI.SingleSelectCombo.EVENT_CONFIRM),self.wants2Quit=!1),self.requesting=!1}var self=this,o=this.options;this._count?(adjust(),callback()):o.itemsCreator({type:BI.SingleSelectCombo.REQ_GET_DATA_LENGTH},function(res){self._count=res.count,adjust(),callback()})},_setStartValue:function(value){this._startValue=value,this.popup.setStartValue(value)},setValue:function(v){this.storeValue=v,this._assertValue(this.storeValue),this.combo.setValue(this.storeValue)},getValue:function(){return this.storeValue},populate:function(){this._count=null,this.combo.populate.apply(this.combo,arguments)}}),BI.extend(BI.SingleSelectCombo,{REQ_GET_DATA_LENGTH:0,REQ_GET_ALL_DATA:-1}),BI.SingleSelectCombo.EVENT_BLUR="EVENT_BLUR",BI.SingleSelectCombo.EVENT_FOCUS="EVENT_FOCUS",BI.SingleSelectCombo.EVENT_STOP="EVENT_STOP",BI.SingleSelectCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.SingleSelectCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.SingleSelectCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.single_select_combo",BI.SingleSelectCombo),BI.SingleSelectInsertCombo=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.SingleSelectInsertCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-select-combo",allowNoSelect:!1,itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,height:24,attributes:{tabIndex:0},allowEdit:!0})},_init:function(){BI.SingleSelectInsertCombo.superclass._init.apply(this,arguments);var self=this,o=this.options,assertShowValue=function(){BI.isKey(self._startValue)&&(self.storeValue=self._startValue),self.trigger.getSearcher().setState(self.storeValue)};this.storeValue=o.value,this.requesting=!1,this.trigger=BI.createWidget({type:"bi.single_select_trigger",height:o.height,allowNoSelect:o.allowNoSelect,allowEdit:o.allowEdit,valueFormatter:o.valueFormatter,itemsCreator:function(op,callback){o.itemsCreator(op,function(res){1===op.times&&BI.isNotNull(op.keywords)&&self.trigger.setValue(self.getValue()),callback.apply(self,arguments)})},text:o.text,value:this.storeValue,searcher:{popup:{type:"bi.single_select_search_insert_pane",listeners:[{eventName:BI.SingleSelectSearchInsertPane.EVENT_ADD_ITEM,action:function(){self.trigger.getSearcher().hasMatched()||(self.storeValue=self.trigger.getSearcher().getKeyword(),assertShowValue(),self._defaultState())}}]}}}),this.trigger.on(BI.SingleSelectTrigger.EVENT_FOCUS,function(){self.fireEvent(BI.SingleSelectInsertCombo.EVENT_FOCUS)}),this.trigger.on(BI.SingleSelectTrigger.EVENT_BLUR,function(){self.fireEvent(BI.SingleSelectInsertCombo.EVENT_BLUR)}),this.trigger.on(BI.SingleSelectTrigger.EVENT_START,function(){self._setStartValue(),this.getSearcher().setValue(self.storeValue)}),this.trigger.on(BI.SingleSelectTrigger.EVENT_STOP,function(){self._setStartValue(),self.fireEvent(BI.SingleSelectInsertCombo.EVENT_STOP)}),this.trigger.on(BI.SingleSelectTrigger.EVENT_PAUSE,function(){if(this.getSearcher().hasMatched()){var keyword=this.getSearcher().getKeyword();self.storeValue=keyword,self.combo.setValue(self.storeValue),self._setStartValue(keyword),assertShowValue(),self.populate(),self._setStartValue()}}),this.trigger.on(BI.SingleSelectTrigger.EVENT_SEARCHING,function(keywords){var last=BI.last(keywords);keywords=BI.initial(keywords||[]),keywords.length>0&&self._joinKeywords(keywords,function(){BI.isEndWithBlank(last)?(self.combo.setValue(self.storeValue),assertShowValue(),self.combo.populate(),self._setStartValue()):(self.combo.setValue(self.storeValue),assertShowValue())}),self.fireEvent(BI.SingleSelectInsertCombo.EVENT_SEARCHING)}),this.trigger.on(BI.SingleSelectTrigger.EVENT_CHANGE,function(value,obj){self.storeValue=this.getValue(),assertShowValue(),self._defaultState()}),this.trigger.on(BI.SingleSelectTrigger.EVENT_COUNTER_CLICK,function(){self.combo.isViewVisible()||self.combo.showView()}),this.combo=BI.createWidget({type:"bi.combo",container:o.container,toggle:!1,el:this.trigger,adjustLength:1,popup:{type:"bi.single_select_popup_view",allowNoSelect:o.allowNoSelect,ref:function(){self.popup=this,self.trigger.setAdapter(this)},listeners:[{eventName:BI.SingleSelectPopupView.EVENT_CHANGE,action:function(){self.storeValue=this.getValue(),self._adjust(function(){assertShowValue(),self._defaultState()}),self.fireEvent(BI.SingleSelectInsertCombo.EVENT_CLICK_ITEM)}}],itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,onLoaded:function(){BI.nextTick(function(){self.combo.adjustWidth(),self.combo.adjustHeight(),self.trigger.getSearcher().adjustView()})}},hideChecker:function(e){return 0===triggerBtn.element.find(e.target).length},value:o.value}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){this.setValue(self.storeValue),BI.nextTick(function(){self.populate()})}),this.wants2Quit=!1,this.combo.on(BI.Combo.EVENT_AFTER_HIDEVIEW,function(){self.trigger.stopEditing(),self.requesting===!0?self.wants2Quit=!0:self.fireEvent(BI.SingleSelectInsertCombo.EVENT_CONFIRM)});var triggerBtn=BI.createWidget({type:"bi.trigger_icon_button",width:o.height,height:o.height,cls:"single-select-trigger-icon-button"});triggerBtn.on(BI.TriggerIconButton.EVENT_CHANGE,function(){self.combo.isViewVisible()?self.combo.hideView():self.combo.showView()}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.combo,left:0,right:0,top:0,bottom:0},{el:triggerBtn,right:0,top:0,bottom:0}]})},_defaultState:function(){this.trigger.stopEditing(),this.combo.hideView()},_assertValue:function(val){},_makeMap:function(values){return BI.makeObject(values||[])},_joinKeywords:function(keywords,callback){function digest(items){var selectedMap=self._makeMap(items);BI.each(keywords,function(i,val){BI.isNotNull(selectedMap[val])&&BI.remove(self.storeValue.value,val)}),self._adjust(callback)}var self=this,o=this.options;this._assertValue(this.storeValue),this.requesting=!0,o.itemsCreator({type:BI.SingleSelectInsertCombo.REQ_GET_ALL_DATA,keywords:keywords},function(ob){var values=BI.map(ob.items,"value");digest(values)})},_adjust:function(callback){function adjust(){self.wants2Quit===!0&&(self.fireEvent(BI.SingleSelectInsertCombo.EVENT_CONFIRM),self.wants2Quit=!1),self.requesting=!1}var self=this,o=this.options;adjust(),callback()},_setStartValue:function(value){this._startValue=value,this.popup.setStartValue(value)},setValue:function(v){this.storeValue=v,this._assertValue(this.storeValue),this.combo.setValue(this.storeValue)},getValue:function(){return this.storeValue},populate:function(){this.combo.populate.apply(this.combo,arguments)}}),BI.extend(BI.SingleSelectInsertCombo,{REQ_GET_DATA_LENGTH:0,REQ_GET_ALL_DATA:-1}),BI.SingleSelectInsertCombo.EVENT_FOCUS="EVENT_FOCUS",BI.SingleSelectInsertCombo.EVENT_BLUR="EVENT_BLUR",BI.SingleSelectInsertCombo.EVENT_STOP="EVENT_STOP",BI.SingleSelectInsertCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.SingleSelectInsertCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.SingleSelectInsertCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.single_select_insert_combo",BI.SingleSelectInsertCombo),BI.SingleSelectComboItem=BI.inherit(BI.BasicButton,{_defaultConfig:function(){return BI.extend(BI.SingleSelectComboItem.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-single-select-radio-item",logic:{dynamic:!1},height:24})},_init:function(){BI.SingleSelectComboItem.superclass._init.apply(this,arguments);var self=this,o=this.options;this.radio=BI.createWidget({type:"bi.radio"}),this.text=BI.createWidget({type:"bi.label",cls:"list-item-text",textAlign:"left",whiteSpace:"nowrap",textHeight:o.height,height:o.height,hgap:o.hgap,text:o.text,keyword:o.keyword,value:o.value,py:o.py}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic("horizontal",BI.extend(o.logic,{items:BI.LogicFactory.createLogicItemsByDirection("left",{type:"bi.center_adapt",items:[this.radio],width:26},this.text)}))))},doRedMark:function(){this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doClick:function(){BI.SingleSelectComboItem.superclass.doClick.apply(this,arguments),this.radio.setSelected(this.isSelected()),this.isValid()&&this.fireEvent(BI.SingleSelectComboItem.EVENT_CHANGE,this.isSelected(),this)},setSelected:function(v){BI.SingleSelectComboItem.superclass.setSelected.apply(this,arguments),this.radio.setSelected(v);
}}),BI.SingleSelectComboItem.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_select_combo_item",BI.SingleSelectComboItem),BI.SingleSelectList=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SingleSelectList.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-select-list",direction:BI.Direction.Top,logic:{dynamic:!0},items:[],itemsCreator:BI.emptyFn,hasNext:BI.emptyFn,onLoaded:BI.emptyFn,el:{type:"bi.list_pane"},allowNoSelect:!1})},_init:function(){BI.SingleSelectList.superclass._init.apply(this,arguments);var self=this,o=this.options;this.list=BI.createWidget(o.el,{type:"bi.list_pane",items:o.items,itemsCreator:function(op,callback){1===op.times&&self.toolbar&&self.toolbar.setVisible(!1),o.itemsCreator(op,function(items){callback.apply(self,arguments),1===op.times&&(self.toolbar&&self.toolbar.setVisible(items&&items.length>0),self.toolbar&&self.toolbar.setEnable(items&&items.length>0))})},onLoaded:o.onLoaded,hasNext:o.hasNext,value:o.value}),this.list.on(BI.Controller.EVENT_CHANGE,function(type,value,obj){type===BI.Events.CLICK&&self.fireEvent(BI.SingleSelectList.EVENT_CHANGE,value,obj),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),BI.createWidget(BI.extend({element:this},BI.LogicFactory.createLogic(BI.LogicFactory.createLogicTypeByDirection(o.direction),BI.extend({scrolly:!0},o.logic,{items:o.allowNoSelect?BI.LogicFactory.createLogicItemsByDirection(o.direction,{type:"bi.single_select_item",cls:"bi-list-item-active",height:24,forceNotSelected:!0,text:BI.i18nText("BI-Basic_No_Select"),ref:function(_ref){self.toolbar=_ref},listeners:[{eventName:BI.Controller.EVENT_CHANGE,action:function(type){type===BI.Events.CLICK&&(self.list.setValue(),self.fireEvent(BI.SingleSelectList.EVENT_CHANGE)),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}}]},this.list):BI.LogicFactory.createLogicItemsByDirection(o.direction,this.list)}))))},hasPrev:function(){return this.list.hasPrev()},hasNext:function(){return this.list.hasNext()},prependItems:function(items){this.list.prependItems.apply(this.list,arguments)},addItems:function(items){this.list.addItems.apply(this.list,arguments)},setValue:function(v){this.list.setValue([v])},getValue:function(){return this.list.getValue()[0]},empty:function(){this.list.empty()},populate:function(items){this.list.populate.apply(this.list,arguments)},resetHeight:function(h){this.list.resetHeight?this.list.resetHeight(h):this.list.element.css({"max-height":h+"px"})},setNotSelectedValue:function(){this.list.setNotSelectedValue.apply(this.list,arguments)},getNotSelectedValue:function(){return this.list.getNotSelectedValue()},getAllButtons:function(){return this.list.getAllButtons()},getAllLeaves:function(){return this.list.getAllLeaves()},getSelectedButtons:function(){return this.list.getSelectedButtons()},getNotSelectedButtons:function(){return this.list.getNotSelectedButtons()},getIndexByValue:function(value){return this.list.getIndexByValue(value)},getNodeById:function(id){return this.list.getNodeById(id)},getNodeByValue:function(value){return this.list.getNodeByValue(value)}}),BI.SingleSelectList.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_select_list",BI.SingleSelectList),BI.SingleSelectLoader=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SingleSelectLoader.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-select-loader",logic:{dynamic:!0},el:{height:400},allowNoSelect:!1,valueFormatter:BI.emptyFn,itemsCreator:BI.emptyFn,onLoaded:BI.emptyFn})},_init:function(){BI.SingleSelectLoader.superclass._init.apply(this,arguments);var self=this,opts=this.options,hasNext=!1;this.storeValue=opts.value,this.button_group=BI.createWidget({type:"bi.single_select_list",allowNoSelect:opts.allowNoSelect,logic:opts.logic,el:BI.extend({onLoaded:opts.onLoaded,el:{type:"bi.loader",isDefaultInit:!1,logic:{dynamic:!0,scrolly:!0},el:{chooseType:BI.ButtonGroup.CHOOSE_TYPE_SINGLE,behaviors:{redmark:function(){return!0}},layouts:[{type:"bi.vertical"}]}}},opts.el),itemsCreator:function(op,callback){var startValue=self._startValue;BI.isNotNull(self.storeValue)&&(op=BI.extend(op||{},{selectedValues:[self.storeValue]})),opts.itemsCreator(op,function(ob){hasNext=ob.hasNext;var firstItems=[];if(1===op.times&&BI.isNotNull(self.storeValue)){var json=BI.map([self.storeValue],function(i,v){var txt=opts.valueFormatter(v)||v;return{text:txt,value:v,title:txt,selected:!0}});firstItems=self._createItems(json)}callback(firstItems.concat(self._createItems(ob.items)),ob.keyword||""),1===op.times&&self.storeValue&&(BI.isKey(startValue)&&(self.storeValue=startValue),self.setValue(self.storeValue)),1===op.times&&self._scrollToTop()})},hasNext:function(){return hasNext},value:this.storeValue}),BI.createWidget({type:"bi.vertical",element:this,items:[this.button_group],vgap:5}),this.button_group.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.button_group.on(BI.SingleSelectList.EVENT_CHANGE,function(){self.fireEvent(BI.SingleSelectLoader.EVENT_CHANGE,arguments)})},_createItems:function(items){return BI.createItems(items,{type:this.options.allowNoSelect?"bi.single_select_item":"bi.single_select_combo_item",logic:this.options.logic,cls:"bi-list-item-active",height:24,selected:!1})},_scrollToTop:function(){var self=this;BI.delay(function(){self.button_group.element.scrollTop(0)},30)},_assertValue:function(val){},setStartValue:function(v){this._startValue=v},setValue:function(v){this.storeValue=v,this._assertValue(this.storeValue),this.button_group.setValue(this.storeValue)},getValue:function(){return this.button_group.getValue()},getAllButtons:function(){return this.button_group.getAllButtons()},empty:function(){this.button_group.empty()},populate:function(items){this.button_group.populate.apply(this.button_group,arguments)},resetHeight:function(h){this.button_group.resetHeight(h)},resetWidth:function(w){this.button_group.resetWidth(w)}}),BI.SingleSelectLoader.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_select_loader",BI.SingleSelectLoader),BI.SingleSelectPopupView=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SingleSelectPopupView.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-select-popup-view",allowNoSelect:!1,maxWidth:"auto",minWidth:135,maxHeight:400,valueFormatter:BI.emptyFn,itemsCreator:BI.emptyFn,onLoaded:BI.emptyFn})},_init:function(){BI.SingleSelectPopupView.superclass._init.apply(this,arguments);var self=this,opts=this.options;this.loader=BI.createWidget({type:"bi.single_select_loader",allowNoSelect:opts.allowNoSelect,itemsCreator:opts.itemsCreator,valueFormatter:opts.valueFormatter,onLoaded:opts.onLoaded,value:opts.value}),this.popupView=BI.createWidget({type:"bi.popup_view",stopPropagation:!1,maxWidth:opts.maxWidth,minWidth:opts.minWidth,maxHeight:opts.maxHeight,element:this,el:this.loader,value:opts.value}),this.popupView.on(BI.MultiPopupView.EVENT_CHANGE,function(){self.fireEvent(BI.SingleSelectPopupView.EVENT_CHANGE)})},setStartValue:function(v){this.loader.setStartValue(v)},setValue:function(v){this.popupView.setValue(v)},getValue:function(){return this.popupView.getValue()},populate:function(items){this.popupView.populate.apply(this.popupView,arguments)},resetHeight:function(h){this.popupView.resetHeight(h)},resetWidth:function(w){this.popupView.resetWidth(w)}}),BI.SingleSelectPopupView.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_select_popup_view",BI.SingleSelectPopupView),BI.SingleSelectTrigger=BI.inherit(BI.Trigger,{constants:{height:14,rgap:4,lgap:4},_defaultConfig:function(){return BI.extend(BI.SingleSelectTrigger.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-select-trigger bi-border bi-border-radius",allowNoSelect:!1,itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn,searcher:{},switcher:{},adapter:null,masker:{},allowEdit:!0})},_init:function(){BI.SingleSelectTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options;o.height&&this.setHeight(o.height-2),this.searcher=BI.createWidget(o.searcher,{type:"bi.single_select_searcher",allowNoSelect:o.allowNoSelect,text:o.text,height:o.height,itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,popup:{},adapter:o.adapter,masker:o.masker,value:o.value}),this.searcher.on(BI.SingleSelectSearcher.EVENT_START,function(){self.fireEvent(BI.SingleSelectTrigger.EVENT_START)}),this.searcher.on(BI.SingleSelectSearcher.EVENT_PAUSE,function(){self.fireEvent(BI.SingleSelectTrigger.EVENT_PAUSE)}),this.searcher.on(BI.SingleSelectSearcher.EVENT_SEARCHING,function(){self.fireEvent(BI.SingleSelectTrigger.EVENT_SEARCHING,arguments)}),this.searcher.on(BI.SingleSelectSearcher.EVENT_STOP,function(){self.fireEvent(BI.SingleSelectTrigger.EVENT_STOP)}),this.searcher.on(BI.SingleSelectSearcher.EVENT_CHANGE,function(){self.fireEvent(BI.SingleSelectTrigger.EVENT_CHANGE,arguments)}),this.searcher.on(BI.SingleSelectSearcher.EVENT_FOCUS,function(){self.fireEvent(BI.SingleSelectTrigger.EVENT_FOCUS)}),this.searcher.on(BI.SingleSelectSearcher.EVENT_BLUR,function(){self.fireEvent(BI.SingleSelectTrigger.EVENT_BLUR,arguments)});var wrapper=BI.createWidget({type:"bi.htape",element:this,items:[{el:this.searcher,width:"fill"},{el:BI.createWidget(),width:24}]});!o.allowEdit&&BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.layout"},left:0,right:24,top:0,bottom:0}]})},getSearcher:function(){return this.searcher},stopEditing:function(){this.searcher.stopSearch()},setAdapter:function(adapter){this.searcher.setAdapter(adapter)},setValue:function(v){this.searcher.setValue(v)},getKey:function(){return this.searcher.getKey()},getValue:function(){return this.searcher.getValue()}}),BI.SingleSelectTrigger.EVENT_TRIGGER_CLICK="EVENT_TRIGGER_CLICK",BI.SingleSelectTrigger.EVENT_COUNTER_CLICK="EVENT_COUNTER_CLICK",BI.SingleSelectTrigger.EVENT_CHANGE="EVENT_CHANGE",BI.SingleSelectTrigger.EVENT_START="EVENT_START",BI.SingleSelectTrigger.EVENT_STOP="EVENT_STOP",BI.SingleSelectTrigger.EVENT_PAUSE="EVENT_PAUSE",BI.SingleSelectTrigger.EVENT_SEARCHING="EVENT_SEARCHING",BI.SingleSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW="EVENT_BEFORE_COUNTER_POPUPVIEW",BI.SingleSelectTrigger.EVENT_FOCUS="EVENT_FOCUS",BI.SingleSelectTrigger.EVENT_BLUR="EVENT_BLUR",BI.shortcut("bi.single_select_trigger",BI.SingleSelectTrigger),BI.SingleSelectInsertList=BI.inherit(BI.Single,{_defaultConfig:function(){return BI.extend(BI.SingleSelectInsertList.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-multi-select-insert-list",allowNoSelect:!1,itemsCreator:BI.emptyFn,valueFormatter:BI.emptyFn})},_init:function(){BI.SingleSelectInsertList.superclass._init.apply(this,arguments);var self=this,o=this.options;this.storeValue=o.value;var assertShowValue=function(){BI.isKey(self._startValue)&&(self.storeValue=self._startValue)};this.adapter=BI.createWidget({type:"bi.single_select_loader",allowNoSelect:o.allowNoSelect,cls:"popup-single-select-list bi-border-left bi-border-right bi-border-bottom",itemsCreator:o.itemsCreator,valueFormatter:o.valueFormatter,logic:{dynamic:!0},el:{},value:o.value}),this.adapter.on(BI.SingleSelectLoader.EVENT_CHANGE,function(){self.storeValue=this.getValue(),assertShowValue(),self.fireEvent(BI.SingleSelectInsertList.EVENT_CHANGE)}),this.searcherPane=BI.createWidget({type:"bi.single_select_search_pane",allowNoSelect:o.allowNoSelect,cls:"bi-border-left bi-border-right bi-border-bottom",valueFormatter:o.valueFormatter,keywordGetter:function(){return self.trigger.getKeyword()},itemsCreator:function(op,callback){op.keywords=[self.trigger.getKeyword()],this.setKeyword(op.keywords[0]),o.itemsCreator(op,callback)}}),this.searcherPane.setVisible(!1),this.trigger=BI.createWidget({type:"bi.searcher",isAutoSearch:!1,isAutoSync:!1,onSearch:function(op,callback){callback()},adapter:this.adapter,popup:this.searcherPane,height:200,masker:!1,value:o.value,listeners:[{eventName:BI.Searcher.EVENT_START,action:function(){self._showSearcherPane(),self._setStartValue(),this.setValue(BI.deepClone(self.storeValue))}},{eventName:BI.Searcher.EVENT_STOP,action:function(){self._showAdapter(),self._setStartValue(),self.adapter.setValue(self.storeValue),self.adapter.populate()}},{eventName:BI.Searcher.EVENT_PAUSE,action:function(){var keyword=this.getKeyword();self.storeValue=keyword,self._showAdapter(),self.adapter.setValue(self.storeValue),self._setStartValue(keyword),assertShowValue(),self.adapter.populate(),self._setStartValue(),self.fireEvent(BI.SingleSelectInsertList.EVENT_CHANGE)}},{eventName:BI.Searcher.EVENT_SEARCHING,action:function(){var keywords=this.getKeyword(),last=BI.last(keywords);keywords=BI.initial(keywords||[]),keywords.length>0&&self._joinKeywords(keywords,function(){BI.isEndWithBlank(last)?(self.adapter.setValue(self.storeValue),assertShowValue(),self.adapter.populate(),self._setStartValue()):(self.adapter.setValue(self.storeValue),assertShowValue())})}},{eventName:BI.Searcher.EVENT_CHANGE,action:function(){self.storeValue=this.getValue(),self.fireEvent(BI.SingleSelectInsertList.EVENT_CHANGE)}}]}),BI.createWidget({type:"bi.vtape",element:this,items:[{el:this.trigger,height:24},{el:this.adapter,height:"fill"}]}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.searcherPane,top:24,bottom:0,left:0,right:0}]})},_showAdapter:function(){this.adapter.setVisible(!0),this.searcherPane.setVisible(!1)},_showSearcherPane:function(){this.searcherPane.setVisible(!0),this.adapter.setVisible(!1)},_defaultState:function(){this.trigger.stopEditing()},_assertValue:function(){},_makeMap:function(values){return BI.makeObject(values||[])},_joinKeywords:function(keywords,callback){function digest(items){var selectedMap=self._makeMap(items);BI.each(keywords,function(i,val){BI.isNotNull(selectedMap[val])&&(self.storeValue.type===BI.Selection.Single?BI.pushDistinct(self.storeValue.value,val):BI.remove(self.storeValue.value,val))}),callback()}var self=this,o=this.options;this._assertValue(this.storeValue),this._allData?digest(this._allData):o.itemsCreator({type:BI.SingleSelectInsertList.REQ_GET_ALL_DATA},function(ob){self._allData=BI.map(ob.items,"value"),digest(self._allData)})},_setStartValue:function(value){this._startValue=value,this.adapter.setStartValue(value)},isAllSelected:function(){return this.adapter.isAllSelected()},resize:function(){},setValue:function(v){this.storeValue=v,this.adapter.setValue(this.storeValue),this.trigger.setValue(this.storeValue)},getValue:function(){return BI.deepClone(this.storeValue)},populate:function(){this._count=null,this._allData=null,this.adapter.populate.apply(this.adapter,arguments),this.trigger.populate.apply(this.trigger,arguments)}}),BI.extend(BI.SingleSelectInsertList,{REQ_GET_DATA_LENGTH:0,REQ_GET_ALL_DATA:-1}),BI.SingleSelectInsertList.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_select_insert_list",BI.SingleSelectInsertList),BI.SingleSelectEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SingleSelectEditor.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-select-editor",el:{},text:BI.i18nText("BI-Basic_Please_Select")})},_init:function(){BI.SingleSelectEditor.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget(o.el,{type:"bi.state_editor",element:this,height:o.height,watermark:BI.i18nText("BI-Basic_Search"),allowBlank:!0,value:o.value,defaultText:o.text,text:o.text}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.StateEditor.EVENT_PAUSE,function(){self.fireEvent(BI.SingleSelectEditor.EVENT_PAUSE)}),this.editor.on(BI.StateEditor.EVENT_FOCUS,function(){self.fireEvent(BI.SingleSelectEditor.EVENT_FOCUS)}),this.editor.on(BI.StateEditor.EVENT_BLUR,function(){self.fireEvent(BI.SingleSelectEditor.EVENT_BLUR)})},focus:function(){this.editor.focus()},blur:function(){this.editor.blur()},setState:function(state){this.editor.setState(state)},setValue:function(v){this.editor.setValue(v)},getValue:function(){var v=this.editor.getState();return BI.isArray(v)&&v.length>0?v[v.length-1]:""},getKeywords:function(){var val=this.editor.getLastChangedValue(),keywords=val.match(/[\S]+/g);return BI.isEndWithBlank(val)?keywords.concat([" "]):keywords},populate:function(items){}}),BI.SingleSelectEditor.EVENT_FOCUS="EVENT_FOCUS",BI.SingleSelectEditor.EVENT_BLUR="EVENT_BLUR",BI.SingleSelectEditor.EVENT_PAUSE="EVENT_PAUSE",BI.shortcut("bi.single_select_editor",BI.SingleSelectEditor),BI.SingleSelectSearcher=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SingleSelectSearcher.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-select-searcher",itemsCreator:BI.emptyFn,el:{},popup:{},valueFormatter:BI.emptyFn,adapter:null,masker:{},allowNoSelect:!1})},_init:function(){BI.SingleSelectSearcher.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget(o.el,{type:"bi.single_select_editor",height:o.height,text:o.text,listeners:[{eventName:BI.SingleSelectEditor.EVENT_FOCUS,action:function(){self.fireEvent(BI.SingleSelectSearcher.EVENT_FOCUS)}},{eventName:BI.SingleSelectEditor.EVENT_BLUR,action:function(){self.fireEvent(BI.SingleSelectSearcher.EVENT_BLUR)}}]}),this.searcher=BI.createWidget({type:"bi.searcher",element:this,height:o.height,isAutoSearch:!1,isAutoSync:!1,onSearch:function(op,callback){callback()},el:this.editor,popup:BI.extend({type:"bi.single_select_search_pane",allowNoSelect:o.allowNoSelect,valueFormatter:o.valueFormatter,keywordGetter:function(){return self.editor.getValue()},itemsCreator:function(op,callback){var keyword=self.editor.getValue();op.keywords=[keyword],this.setKeyword(keyword),o.itemsCreator(op,callback)},value:o.value},o.popup),adapter:o.adapter,masker:o.masker}),this.searcher.on(BI.Searcher.EVENT_START,function(){self.fireEvent(BI.SingleSelectSearcher.EVENT_START)}),this.searcher.on(BI.Searcher.EVENT_PAUSE,function(){this.hasMatched(),self.fireEvent(BI.SingleSelectSearcher.EVENT_PAUSE)}),this.searcher.on(BI.Searcher.EVENT_STOP,function(){self.fireEvent(BI.SingleSelectSearcher.EVENT_STOP)}),this.searcher.on(BI.Searcher.EVENT_CHANGE,function(){self.fireEvent(BI.SingleSelectSearcher.EVENT_CHANGE,arguments)}),this.searcher.on(BI.Searcher.EVENT_SEARCHING,function(){var keywords=this.getKeywords();self.fireEvent(BI.SingleSelectSearcher.EVENT_SEARCHING,keywords)}),BI.isNotNull(o.value)&&this.setState(o.value)},adjustView:function(){this.searcher.adjustView()},isSearching:function(){return this.searcher.isSearching()},stopSearch:function(){this.searcher.stopSearch()},getKeyword:function(){return this.editor.getValue()},hasMatched:function(){return this.searcher.hasMatched()},hasChecked:function(){return this.searcher.getView()&&this.searcher.getView().hasChecked()},setAdapter:function(adapter){this.searcher.setAdapter(adapter)},setState:function(v){var o=this.options;BI.isNull(v)?this.editor.setState(BI.Selection.None):this.editor.setState(o.valueFormatter(v+"")||v+"")},setValue:function(ob){this.setState(ob),this.searcher.setValue(ob)},getKey:function(){return this.editor.getValue()},getValue:function(){return this.searcher.getValue()},populate:function(items){this.searcher.populate.apply(this.searcher,arguments)}}),BI.SingleSelectSearcher.EVENT_FOCUS="EVENT_FOCUS",BI.SingleSelectSearcher.EVENT_BLUR="EVENT_BLUR",BI.SingleSelectSearcher.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.SingleSelectSearcher.EVENT_CHANGE="EVENT_CHANGE",BI.SingleSelectSearcher.EVENT_START="EVENT_START",BI.SingleSelectSearcher.EVENT_STOP="EVENT_STOP",BI.SingleSelectSearcher.EVENT_PAUSE="EVENT_PAUSE",BI.SingleSelectSearcher.EVENT_SEARCHING="EVENT_SEARCHING",BI.shortcut("bi.single_select_searcher",BI.SingleSelectSearcher),BI.SignTextEditor=BI.inherit(BI.Widget,{_defaultConfig:function(){var conf=BI.SignTextEditor.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{baseCls:(conf.baseCls||"")+" bi-sign-initial-editor",validationChecker:BI.emptyFn,text:"",height:24})},_init:function(){BI.SignTextEditor.superclass._init.apply(this,arguments);var self=this,o=this.options;this.editor=BI.createWidget({type:"bi.editor",height:o.height,hgap:4,vgap:2,value:o.value,validationChecker:o.validationChecker,allowBlank:!1}),this.text=BI.createWidget({type:"bi.text_button",cls:"sign-editor-text",title:function(){return self.getValue()},textAlign:o.textAlign,height:o.height,hgap:4,handler:function(){self._showInput(),self.editor.focus(),self.editor.selectAll()}}),this.text.on(BI.TextButton.EVENT_CHANGE,function(){BI.nextTick(function(){self.fireEvent(BI.SignTextEditor.EVENT_CLICK_LABEL)})}),BI.createWidget({type:"bi.absolute",element:this,items:[{el:this.text,left:0,right:0,top:0,bottom:0}]}),this.editor.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.editor.on(BI.Editor.EVENT_CONFIRM,function(){self._showHint(),self._checkText(),self.fireEvent(BI.SignTextEditor.EVENT_CONFIRM,arguments)}),this.editor.on(BI.Editor.EVENT_CHANGE_CONFIRM,function(){self._showHint(),self._checkText(),self.fireEvent(BI.SignTextEditor.EVENT_CHANGE_CONFIRM,arguments)}),this.editor.on(BI.Editor.EVENT_ERROR,function(){self._checkText()}),BI.createWidget({type:"bi.vertical",scrolly:!1,element:this,items:[this.editor]}),this._showHint(),self._checkText()},_checkText:function(){var o=this.options;BI.nextTick(BI.bind(function(){if(""===this.editor.getValue())this.text.setValue(o.watermark||""),this.text.element.addClass("bi-water-mark");else{var v=this.editor.getValue();v=BI.isEmpty(v)||v==o.text?o.text:v+o.text,this.text.setValue(v),this.text.element.removeClass("bi-water-mark")}},this))},_showInput:function(){this.editor.visible(),this.text.invisible()},_showHint:function(){this.editor.invisible(),this.text.visible()},setTitle:function(title){this.text.setTitle(title)},setWarningTitle:function(title){this.text.setWarningTitle(title)},focus:function(){this._showInput(),this.editor.focus()},blur:function(){this.editor.blur(),this._showHint(),this._checkText()},doRedMark:function(){""===this.editor.getValue()&&BI.isKey(this.options.watermark)||this.text.doRedMark.apply(this.text,arguments)},unRedMark:function(){this.text.unRedMark.apply(this.text,arguments)},doHighLight:function(){""===this.editor.getValue()&&BI.isKey(this.options.watermark)||this.text.doHighLight.apply(this.text,arguments)},unHighLight:function(){this.text.unHighLight.apply(this.text,arguments)},isValid:function(){return this.editor.isValid()},setErrorText:function(text){this.editor.setErrorText(text)},getErrorText:function(){return this.editor.getErrorText()},isEditing:function(){return this.editor.isEditing()},getLastValidValue:function(){return this.editor.getLastValidValue()},getLastChangedValue:function(){return this.editor.getLastChangedValue()},setValue:function(v){this.editor.setValue(v),this._checkText()},getValue:function(){return this.editor.getValue()},getState:function(){return this.text.getValue()},setState:function(v){var o=this.options;this._showHint(),v=BI.isEmpty(v)||v==o.text?o.text:v+o.text,this.text.setValue(v)}}),BI.SignTextEditor.EVENT_CONFIRM="EVENT_CONFIRM",BI.SignTextEditor.EVENT_CHANGE_CONFIRM="EVENT_CHANGE_CONFIRM",BI.SignTextEditor.EVENT_CLICK_LABEL="EVENT_CLICK_LABEL",BI.shortcut("bi.sign_text_editor",BI.SignTextEditor),BI.SliderIconButton=BI.inherit(BI.Widget,{props:{baseCls:"bi-single-slider-button"},constants:{LARGE_SIZE:16,NORMAL_SIZE:12,LARGE_OFFSET:4,NORMAL_OFFSET:6},render:function(){var self=this;return{type:"bi.absolute",ref:function(){self.wrapper=this},items:[{el:{type:"bi.text_button",cls:"slider-button bi-high-light-border",ref:function(){self.slider=this}}}]}}}),BI.shortcut("bi.single_slider_button",BI.SliderIconButton),BI.SingleSlider=BI.inherit(BI.Single,{_constant:{EDITOR_WIDTH:90,EDITOR_HEIGHT:30,SLIDER_WIDTH_HALF:15,SLIDER_WIDTH:30,SLIDER_HEIGHT:30,TRACK_HEIGHT:24,TRACK_GAP_HALF:7,TRACK_GAP:14},props:{baseCls:"bi-single-slider bi-slider-track",digit:!1,unit:""},render:function(){var self=this,o=this.options,c=this._constant;this.enable=!1,this.value="",this.grayTrack=BI.createWidget({type:"bi.layout",cls:"gray-track",height:6}),this.blueTrack=BI.createWidget({type:"bi.layout",cls:"blue-track bi-high-light-background",height:6}),this.track=this._createTrackWrapper(),this.slider=BI.createWidget({type:"bi.single_slider_button"}),this._draggable(this.slider);var sliderVertical=BI.createWidget({type:"bi.vertical",items:[{type:"bi.absolute",items:[this.slider]}],hgap:c.SLIDER_WIDTH_HALF,height:c.SLIDER_HEIGHT});return sliderVertical.element.click(function(e){if(self.enable&&self.isEnabled()&&sliderVertical.element[0]===e.originalEvent.target){var offset=e.clientX-self.element.offset().left-c.SLIDER_WIDTH_HALF,trackLength=self.track.element[0].scrollWidth-c.TRACK_GAP,percent=0;offset<0&&(percent=0),offset>0&&offset<trackLength&&(percent=100*offset/self._getGrayTrackLength()),offset>=trackLength&&(percent=100);var significantPercent=BI.parseFloat(percent.toFixed(1));self._setAllPosition(significantPercent);var v=self._getValueByPercent(significantPercent);v=o.digit===!1?v:v.toFixed(o.digit),self.label.setValue(v),self.value=v,self.fireEvent(BI.SingleSlider.EVENT_CHANGE)}}),this.label=BI.createWidget({type:"bi.sign_text_editor",cls:"slider-editor-button",text:o.unit,width:c.EDITOR_WIDTH-2,allowBlank:!1,textAlign:"center",validationChecker:function(v){return self._checkValidation(v)}}),this.label.element.hover(function(){self.label.element.removeClass("bi-border").addClass("bi-border")},function(){self.label.element.removeClass("bi-border")}),this.label.on(BI.SignEditor.EVENT_CONFIRM,function(){var v=BI.parseFloat(this.getValue()),percent=self._getPercentByValue(v),significantPercent=BI.parseFloat(percent.toFixed(1));self._setAllPosition(significantPercent),this.setValue(v),self.value=v,self.fireEvent(BI.SingleSlider.EVENT_CHANGE)}),this._setVisible(!1),{type:"bi.absolute",items:[{el:{type:"bi.vertical",items:[{type:"bi.absolute",items:[{el:this.track,width:"100%",height:c.TRACK_HEIGHT}]}],hgap:c.TRACK_GAP_HALF,height:c.TRACK_HEIGHT},top:23,left:0,width:"100%"},{el:sliderVertical,top:20,left:0,width:"100%"},{el:{type:"bi.vertical",items:[{type:"bi.horizontal_auto",items:[this.label]}],height:c.EDITOR_HEIGHT},top:0,left:0,width:"100%"}]}},_draggable:function(widget){function optimizeSize(s){return BI.clamp(s,0,self._getGrayTrackLength())}var self=this,o=this.options,startDrag=!1,size=0,offset=0,defaultSize=0,mouseMoveTracker=new BI.MouseMoveTracker(function(deltaX){if(mouseMoveTracker.isDragging()){startDrag=!0,offset+=deltaX,size=optimizeSize(defaultSize+offset),widget.element.addClass("dragging");var percent=100*size/self._getGrayTrackLength(),significantPercent=BI.parseFloat(percent.toFixed(1));self._setBlueTrack(significantPercent),self._setLabelPosition(significantPercent),self._setSliderPosition(significantPercent);var v=self._getValueByPercent(significantPercent);v=o.digit===!1?v:v.toFixed(o.digit),self.label.setValue(v),self.value=v}},function(){if(startDrag===!0){size=optimizeSize(size);var percent=100*size/self._getGrayTrackLength(),significantPercent=BI.parseFloat(percent.toFixed(1));self._setSliderPosition(significantPercent),size=0,offset=0,defaultSize=size,startDrag=!1}widget.element.removeClass("dragging"),mouseMoveTracker.releaseMouseMoves(),self.fireEvent(BI.SingleSlider.EVENT_CHANGE)},window);widget.element.on("mousedown",function(event){widget.isEnabled()&&(defaultSize=this.offsetLeft,optimizeSize(defaultSize),mouseMoveTracker.captureMouseMoves(event))})},_createTrackWrapper:function(){return BI.createWidget({type:"bi.absolute",items:[{el:{type:"bi.vertical",items:[{type:"bi.absolute",items:[{el:this.grayTrack,top:0,left:0,width:"100%"},{el:this.blueTrack,top:0,left:0,width:"0%"}]}],hgap:8,height:8},top:8,left:0,width:"100%"}]})},_checkValidation:function(v){var o=this.options,valid=!1;if(BI.isNumeric(v)&&!(BI.isNull(v)||v<this.min||v>this.max))if(o.digit===!1)valid=!0;else{var dotText=(v+"").split(".")[1]||"";valid=dotText.length===o.digit}return valid},_setBlueTrack:function(percent){this.blueTrack.element.css({width:percent+"%"})},_setLabelPosition:function(percent){},_setSliderPosition:function(percent){this.slider.element.css({left:percent+"%"})},_setAllPosition:function(percent){this._setSliderPosition(percent),this._setLabelPosition(percent),this._setBlueTrack(percent)},_setVisible:function(visible){this.slider.setVisible(visible),this.label.setVisible(visible)},_getGrayTrackLength:function(){return this.grayTrack.element[0].scrollWidth},_getValueByPercent:function(percent){var thousandth=BI.parseInt(10*percent);return(this.max-this.min)*thousandth/1e3+this.min},_getPercentByValue:function(v){return 100*(v-this.min)/(this.max-this.min)},getValue:function(){return this.value},setValue:function(v){var o=this.options;v=BI.parseFloat(v),v=o.digit===!1?v:v.toFixed(o.digit),isNaN(v)||(this._checkValidation(v)&&(this.value=v),v>this.max&&(this.value=this.max),v<this.min&&(this.value=this.min))},_setEnable:function(b){BI.SingleSlider.superclass._setEnable.apply(this,[b]),b?this.blueTrack.element.removeClass("disabled-blue-track").addClass("blue-track"):this.blueTrack.element.removeClass("blue-track").addClass("disabled-blue-track")},setMinAndMax:function(v){var minNumber=BI.parseFloat(v.min),maxNumber=BI.parseFloat(v.max);!isNaN(minNumber)&&!isNaN(maxNumber)&&maxNumber>minNumber&&(this.min=minNumber,this.max=maxNumber)},reset:function(){this._setVisible(!1),this.enable=!1,this.value="",this.min=0,this.max=0,this._setBlueTrack(0)},populate:function(){isNaN(this.min)||isNaN(this.max)||(this._setVisible(!0),this.enable=!0,this.label.setErrorText(BI.i18nText("BI-Basic_Please_Enter_Number_Between",this.min,this.max)),BI.isNumeric(this.value)||BI.isNotEmptyString(this.value)?(this.label.setValue(this.value),this._setAllPosition(this._getPercentByValue(this.value))):(this.label.setValue(this.max),this._setAllPosition(100)))}}),BI.SingleSlider.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_slider",BI.SingleSlider),BI.SingleSliderLabel=BI.inherit(BI.Single,{_constant:{EDITOR_WIDTH:90,EDITOR_HEIGHT:20,HEIGHT:20,SLIDER_WIDTH_HALF:15,SLIDER_WIDTH:30,SLIDER_HEIGHT:30,TRACK_HEIGHT:24,TRACK_GAP_HALF:7,TRACK_GAP:14},_defaultConfig:function(){return BI.extend(BI.SingleSliderLabel.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-slider-label bi-slider-track",digit:!1,unit:""})},_init:function(){BI.SingleSliderLabel.superclass._init.apply(this,arguments);var self=this,o=this.options,c=this._constant;this.enable=!1,this.value="",this.grayTrack=BI.createWidget({type:"bi.layout",cls:"gray-track",height:6}),this.blueTrack=BI.createWidget({type:"bi.layout",cls:"blue-track bi-high-light-background",height:6}),this.track=this._createTrackWrapper(),this.slider=BI.createWidget({type:"bi.single_slider_button"}),this._draggable(this.slider);var sliderVertical=BI.createWidget({type:"bi.vertical",items:[{type:"bi.absolute",items:[this.slider]}],hgap:c.SLIDER_WIDTH_HALF,height:c.SLIDER_HEIGHT});sliderVertical.element.click(function(e){if(self.enable&&self.isEnabled()&&sliderVertical.element[0]===e.originalEvent.target){var offset=e.clientX-self.element.offset().left-c.SLIDER_WIDTH_HALF,trackLength=self.track.element[0].scrollWidth-c.TRACK_GAP,percent=0;offset<0&&(percent=0),offset>0&&offset<trackLength&&(percent=100*offset/self._getGrayTrackLength()),offset>=trackLength&&(percent=100);var significantPercent=BI.parseFloat(percent.toFixed(1));self._setAllPosition(significantPercent);var v=self._getValueByPercent(significantPercent);v=o.digit===!1?v:v.toFixed(o.digit),self.label.setText(v+o.unit),self.value=v,self.fireEvent(BI.SingleSliderLabel.EVENT_CHANGE)}}),this.label=BI.createWidget({type:"bi.label",height:c.HEIGHT,width:c.EDITOR_WIDTH-2}),this._setVisible(!1),BI.createWidget({type:"bi.absolute",element:this,items:[{el:{type:"bi.vertical",items:[{type:"bi.absolute",items:[{el:this.track,
width:"100%",height:c.TRACK_HEIGHT}]}],hgap:c.TRACK_GAP_HALF,height:c.TRACK_HEIGHT},top:13,left:0,width:"100%"},{el:sliderVertical,top:10,left:0,width:"100%"},{el:{type:"bi.vertical",items:[{type:"bi.horizontal_auto",items:[this.label]}],height:c.EDITOR_HEIGHT},top:0,left:0,width:"100%"}]})},_draggable:function(widget){function optimizeSize(s){return BI.clamp(s,0,self._getGrayTrackLength())}var self=this,o=this.options,startDrag=!1,size=0,offset=0,defaultSize=0,mouseMoveTracker=new BI.MouseMoveTracker(function(deltaX){if(mouseMoveTracker.isDragging()){startDrag=!0,offset+=deltaX,size=optimizeSize(defaultSize+offset),widget.element.addClass("dragging");var percent=100*size/self._getGrayTrackLength(),significantPercent=BI.parseFloat(percent.toFixed(1));self._setBlueTrack(significantPercent),self._setLabelPosition(significantPercent),self._setSliderPosition(significantPercent);var v=self._getValueByPercent(significantPercent);v=o.digit===!1?v:v.toFixed(o.digit),self.label.setValue(v+o.unit),self.value=v,self.fireEvent(BI.SingleSliderLabel.EVENT_CHANGE)}},function(){if(startDrag===!0){size=optimizeSize(size);var percent=100*size/self._getGrayTrackLength(),significantPercent=BI.parseFloat(percent.toFixed(1));self._setSliderPosition(significantPercent),size=0,offset=0,defaultSize=size,startDrag=!1}widget.element.removeClass("dragging"),mouseMoveTracker.releaseMouseMoves(),self.fireEvent(BI.SingleSliderLabel.EVENT_CHANGE)},window);widget.element.on("mousedown",function(event){widget.isEnabled()&&(defaultSize=this.offsetLeft,optimizeSize(defaultSize),mouseMoveTracker.captureMouseMoves(event))})},_createTrackWrapper:function(){return BI.createWidget({type:"bi.absolute",items:[{el:{type:"bi.vertical",items:[{type:"bi.absolute",items:[{el:this.grayTrack,top:0,left:0,width:"100%"},{el:this.blueTrack,top:0,left:0,width:"0%"}]}],hgap:8,height:8},top:8,left:0,width:"100%"}]})},_checkValidation:function(v){return BI.isNumeric(v)&&!(BI.isNull(v)||v<this.min||v>this.max)},_setBlueTrack:function(percent){this.blueTrack.element.css({width:percent+"%"})},_setLabelPosition:function(percent){},_setSliderPosition:function(percent){this.slider.element.css({left:percent+"%"})},_setAllPosition:function(percent){this._setSliderPosition(percent),this._setLabelPosition(percent),this._setBlueTrack(percent)},_setVisible:function(visible){this.slider.setVisible(visible),this.label.setVisible(visible)},_getGrayTrackLength:function(){return this.grayTrack.element[0].scrollWidth},_getValueByPercent:function(percent){var thousandth=BI.parseInt(10*percent);return(this.max-this.min)*thousandth/1e3+this.min},_getPercentByValue:function(v){return 100*(v-this.min)/(this.max-this.min)},_setEnable:function(b){BI.SingleSliderLabel.superclass._setEnable.apply(this,[b]),b?this.blueTrack.element.removeClass("disabled-blue-track").addClass("blue-track"):this.blueTrack.element.removeClass("blue-track").addClass("disabled-blue-track")},getValue:function(){return this.value},setValue:function(v){var o=this.options;v=BI.parseFloat(v),v=o.digit===!1?v:v.toFixed(o.digit),isNaN(v)||(this._checkValidation(v)&&(this.value=v),v>this.max&&(this.value=this.max),v<this.min&&(this.value=this.min))},setMinAndMax:function(v){var minNumber=BI.parseFloat(v.min),maxNumber=BI.parseFloat(v.max);!isNaN(minNumber)&&!isNaN(maxNumber)&&maxNumber>minNumber&&(this.min=minNumber,this.max=maxNumber)},reset:function(){this._setVisible(!1),this.enable=!1,this.value="",this.min=0,this.max=0,this._setBlueTrack(0)},populate:function(){var o=this.options;isNaN(this.min)||isNaN(this.max)||(this._setVisible(!0),this.enable=!0,BI.isNumeric(this.value)||BI.isNotEmptyString(this.value)?(this.label.setValue(this.value+o.unit),this._setAllPosition(this._getPercentByValue(this.value))):(this.label.setValue(this.max+o.unit),this._setAllPosition(100)))}}),BI.SingleSliderLabel.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_slider_label",BI.SingleSliderLabel),BI.SingleSliderNormal=BI.inherit(BI.Single,{_constant:{HEIGHT:28,SLIDER_WIDTH_HALF:15,SLIDER_WIDTH:30,SLIDER_HEIGHT:30,TRACK_HEIGHT:24,TRACK_GAP_HALF:7,TRACK_GAP:14},props:{baseCls:"bi-single-slider-normal bi-slider-track",minMax:{min:0,max:100}},render:function(){var self=this,c=this._constant,track=this._createTrack();this.slider=BI.createWidget({type:"bi.single_slider_button"}),this._draggable(this.slider);var sliderVertical=BI.createWidget({type:"bi.vertical",items:[{type:"bi.absolute",items:[this.slider]}],hgap:c.SLIDER_WIDTH_HALF,height:c.SLIDER_HEIGHT});return sliderVertical.element.click(function(e){if(self.enable&&self.isEnabled()&&sliderVertical.element[0]===e.originalEvent.target){var offset=e.clientX-self.element.offset().left-c.SLIDER_WIDTH_HALF,trackLength=self.track.element[0].scrollWidth-c.TRACK_GAP,percent=0;offset<0&&(percent=0),offset>0&&offset<trackLength&&(percent=100*offset/self._getGrayTrackLength()),offset>=trackLength&&(percent=100);var significantPercent=BI.parseFloat(percent.toFixed(1));self._setAllPosition(significantPercent);var v=self._getValueByPercent(significantPercent);self.value=v,self.fireEvent(BI.SingleSlider.EVENT_CHANGE)}}),{type:"bi.absolute",element:this,items:[{el:{type:"bi.vertical",items:[{type:"bi.absolute",items:[{el:track,width:"100%",height:c.TRACK_HEIGHT}]}],hgap:c.TRACK_GAP_HALF,height:c.TRACK_HEIGHT},top:3,left:0,width:"100%"},{el:sliderVertical,top:0,left:0,width:"100%"}]}},_draggable:function(widget){function optimizeSize(s){return BI.clamp(s,0,self._getGrayTrackLength())}var self=this,o=this.options,startDrag=!1,size=0,offset=0,defaultSize=0,mouseMoveTracker=new BI.MouseMoveTracker(function(deltaX){if(mouseMoveTracker.isDragging()){startDrag=!0,offset+=deltaX,size=optimizeSize(defaultSize+offset),widget.element.addClass("dragging");var percent=100*size/self._getGrayTrackLength(),significantPercent=BI.parseFloat(percent.toFixed(1));self._setBlueTrack(significantPercent),self._setSliderPosition(significantPercent);var v=self._getValueByPercent(significantPercent);v=o.digit===!1?v:v.toFixed(o.digit),self.value=v,self.fireEvent(BI.SingleSliderNormal.EVENT_DRAG,v)}},function(){if(startDrag===!0){size=optimizeSize(size);var percent=100*size/self._getGrayTrackLength(),significantPercent=BI.parseFloat(percent.toFixed(1));self._setSliderPosition(significantPercent),size=0,offset=0,defaultSize=size,startDrag=!1}widget.element.removeClass("dragging"),mouseMoveTracker.releaseMouseMoves(),self.fireEvent(BI.SingleSlider.EVENT_CHANGE)},window);widget.element.on("mousedown",function(event){widget.isEnabled()&&(defaultSize=this.offsetLeft,optimizeSize(defaultSize),mouseMoveTracker.captureMouseMoves(event))})},_createTrack:function(){var self=this,c=this._constant;return this.grayTrack=BI.createWidget({type:"bi.layout",cls:"gray-track",height:6}),this.blueTrack=BI.createWidget({type:"bi.layout",cls:"blue-track bi-high-light-background",height:6}),this.options.color&&this.blueTrack.element.css({"background-color":this.options.color}),{type:"bi.absolute",items:[{el:{type:"bi.vertical",items:[{type:"bi.absolute",items:[{el:this.grayTrack,top:0,left:0,width:"100%"},{el:this.blueTrack,top:0,left:0,width:"0%"}]}],hgap:8,height:8},top:8,left:0,width:"100%"}],ref:function(ref){self.track=ref}}},_checkValidation:function(v){return!(BI.isNull(v)||v<this.min||v>this.max)},_setBlueTrack:function(percent){this.blueTrack.element.css({width:percent+"%"})},_setSliderPosition:function(percent){this.slider.element.css({left:percent+"%"})},_setAllPosition:function(percent){this._setSliderPosition(percent),this._setBlueTrack(percent)},_setVisible:function(visible){this.slider.setVisible(visible)},_getGrayTrackLength:function(){return this.grayTrack.element[0].scrollWidth},_getValueByPercent:function(percent){var thousandth=BI.parseInt(10*percent);return(this.max-this.min)*thousandth/1e3+this.min},_getPercentByValue:function(v){return 100*(v-this.min)/(this.max-this.min)},_setEnable:function(b){BI.SingleSliderNormal.superclass._setEnable.apply(this,[b]),b?this.blueTrack.element.removeClass("disabled-blue-track").addClass("blue-track"):this.blueTrack.element.removeClass("blue-track").addClass("disabled-blue-track")},getValue:function(){return this.value},setValue:function(v){var value=BI.parseFloat(v);isNaN(value)||(this._checkValidation(value)&&(this.value=value),value>this.max&&(this.value=this.max),value<this.min&&(this.value=this.min))},setMinAndMax:function(v){var minNumber=BI.parseFloat(v.min),maxNumber=BI.parseFloat(v.max);!isNaN(minNumber)&&!isNaN(maxNumber)&&maxNumber>minNumber&&(this.min=minNumber,this.max=maxNumber)},reset:function(){this._setVisible(!1),this.enable=!1,this.value="",this.min=0,this.max=0,this._setBlueTrack(0)},populate:function(){isNaN(this.min)||isNaN(this.max)||(this._setVisible(!0),this.enable=!0,BI.isNumeric(this.value)||BI.isNotEmptyString(this.value)?this._setAllPosition(this._getPercentByValue(this.value)):this._setAllPosition(100))}}),BI.SingleSliderNormal.EVENT_DRAG="EVENT_DRAG",BI.shortcut("bi.single_slider_normal",BI.SingleSliderNormal),BI.SingleTreeCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.SingleTreeCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-tree-combo",trigger:{},height:24,text:"",items:[],value:"",attributes:{tabIndex:0}})},_init:function(){BI.SingleTreeCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget(BI.extend({type:"bi.single_tree_trigger",text:o.text,height:o.height,items:o.items,value:o.value},o.trigger)),this.popup=BI.createWidget({type:"bi.single_level_tree",items:o.items,value:o.value}),this.combo=BI.createWidget({type:"bi.combo",container:o.container,element:this,adjustLength:2,el:this.trigger,popup:{el:this.popup}}),this.combo.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){self.fireEvent(BI.SingleTreeCombo.EVENT_BEFORE_POPUPVIEW,arguments)}),this.popup.on(BI.SingleTreePopup.EVENT_CHANGE,function(){self.setValue(self.popup.getValue()),self.combo.hideView(),self.fireEvent(BI.SingleTreeCombo.EVENT_CHANGE)})},populate:function(items){this.combo.populate(items)},setValue:function(v){v=BI.isArray(v)?v:[v],this.trigger.setValue(v),this.popup.setValue(v)},getValue:function(){return this.popup.getValue()}}),BI.SingleTreeCombo.EVENT_CHANGE="EVENT_CHANGE",BI.SingleTreeCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.single_tree_combo",BI.SingleTreeCombo),BI.SingleTreePopup=BI.inherit(BI.Pane,{_defaultConfig:function(){return BI.extend(BI.SingleTreePopup.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-level-tree",tipText:BI.i18nText("BI-No_Selected_Item"),items:[],value:""})},_init:function(){BI.SingleTreePopup.superclass._init.apply(this,arguments);var self=this,o=this.options;this.tree=BI.createWidget({type:"bi.level_tree",expander:{isDefaultInit:!0},items:o.items,value:o.value,chooseType:BI.Selection.Single}),BI.createWidget({type:"bi.vertical",element:this,vgap:5,items:[this.tree]}),this.tree.on(BI.Controller.EVENT_CHANGE,function(){self.fireEvent(BI.Controller.EVENT_CHANGE,arguments)}),this.tree.on(BI.LevelTree.EVENT_CHANGE,function(){self.fireEvent(BI.SingleTreePopup.EVENT_CHANGE)}),this.check()},getValue:function(){return this.tree.getValue()},setValue:function(v){v=BI.isArray(v)?v:[v],this.tree.setValue(v)},populate:function(items){BI.SingleTreePopup.superclass.populate.apply(this,arguments),this.tree.populate(items)}}),BI.SingleTreePopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.single_level_tree",BI.SingleTreePopup),BI.SingleTreeTrigger=BI.inherit(BI.Trigger,{_defaultConfig:function(){return BI.extend(BI.SingleTreeTrigger.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-single-tree-trigger",height:24,text:"",items:[],value:""})},_init:function(){BI.SingleTreeTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options;this.trigger=BI.createWidget({type:"bi.select_text_trigger",element:this,text:o.text,items:o.items,height:o.height,value:o.value})},_checkTitle:function(){var self=this,val=this.getValue();BI.any(this.options.items,function(i,item){if(BI.contains(val,item.value))return self.trigger.setTitle(item.text||item.value),!0})},setValue:function(v){v=BI.isArray(v)?v:[v],this.options.value=v,this.trigger.setValue(v),this._checkTitle()},getValue:function(){return this.options.value||[]},populate:function(items){BI.SingleTreeTrigger.superclass.populate.apply(this,arguments),this.trigger.populate(items)}}),BI.shortcut("bi.single_tree_trigger",BI.SingleTreeTrigger),BI.TextValueDownListCombo=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.TextValueDownListCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-text-value-down-list-combo",height:24,attributes:{tabIndex:0}})},_init:function(){BI.TextValueDownListCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this._createValueMap();var value;BI.isNotNull(o.value)&&(value=this._digest(o.value)),this.trigger=BI.createWidget({type:"bi.down_list_select_text_trigger",cls:"text-value-down-list-trigger",height:o.height,items:o.items,text:o.text,value:value}),this.combo=BI.createWidget({type:"bi.down_list_combo",element:this,chooseType:BI.Selection.Single,adjustLength:2,height:o.height,el:this.trigger,value:BI.isNull(value)?[]:[value],items:BI.deepClone(o.items)}),this.combo.on(BI.DownListCombo.EVENT_CHANGE,function(){var currentVal=self.combo.getValue()[0].value;currentVal!==self.value&&(self.setValue(currentVal),self.fireEvent(BI.TextValueDownListCombo.EVENT_CHANGE))}),this.combo.on(BI.DownListCombo.EVENT_SON_VALUE_CHANGE,function(){var currentVal=self.combo.getValue()[0].childValue;currentVal!==self.value&&(self.setValue(currentVal),self.fireEvent(BI.TextValueDownListCombo.EVENT_CHANGE))})},_createValueMap:function(){var self=this;this.valueMap={},BI.each(BI.flatten(this.options.items),function(idx,item){BI.has(item,"el")?BI.each(item.children,function(id,it){self.valueMap[it.value]={value:item.el.value,childValue:it.value}}):self.valueMap[item.value]={value:item.value}})},_digest:function(v){return this.value=v,this.valueMap[v]},setValue:function(v){v=this._digest(v),this.combo.setValue([v]),this.trigger.setValue(v)},getValue:function(){var v=this.combo.getValue()[0];return[v.childValue||v.value]},populate:function(items){this.options.items=BI.flatten(items),this.combo.populate(items),this._createValueMap()}}),BI.TextValueDownListCombo.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.text_value_down_list_combo",BI.TextValueDownListCombo),BI.DownListSelectTextTrigger=BI.inherit(BI.Trigger,{_defaultConfig:function(){return BI.extend(BI.DownListSelectTextTrigger.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-down-list-select-text-trigger",height:24,text:""})},_init:function(){BI.DownListSelectTextTrigger.superclass._init.apply(this,arguments);var o=this.options;this.trigger=BI.createWidget({type:"bi.select_text_trigger",element:this,height:o.height,items:this._formatItemArray(o.items),text:o.text,value:BI.isNull(o.value)?"":o.value.childValue||o.value.value})},_formatItemArray:function(){var sourceArray=BI.flatten(BI.deepClone(this.options.items)),targetArray=[];return BI.each(sourceArray,function(idx,item){BI.has(item,"el")?(BI.each(item.children,function(id,it){it.text=item.el.text+"("+it.text+")"}),targetArray=BI.concat(targetArray,item.children)):targetArray.push(item)}),targetArray},setValue:function(vals){this.trigger.setValue(vals.childValue||vals.value)},populate:function(items){this.trigger.populate(this._formatItemArray(items))}}),BI.shortcut("bi.down_list_select_text_trigger",BI.DownListSelectTextTrigger),!function(){BI.TimePopup=BI.inherit(BI.Widget,{props:{baseCls:"bi-date-time-popup",height:68},render:function(){var self=this,o=this.options;return{type:"bi.vtape",items:[{el:{type:"bi.center_adapt",cls:"bi-split-top",items:[{type:"bi.dynamic_date_time_select",value:o.value,ref:function(_ref){self.timeSelect=_ref}}]},hgap:10,height:44},{el:{type:"bi.grid",items:[[{type:"bi.text_button",cls:"bi-high-light bi-split-top",shadow:!0,text:BI.i18nText("BI-Basic_Clears"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.TimePopup.BUTTON_CLEAR_EVENT_CHANGE)}}]},{type:"bi.text_button",cls:"bi-split-left bi-split-right bi-high-light bi-split-top",shadow:!0,text:BI.i18nText("BI-Basic_Now"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.TimePopup.BUTTON_NOW_EVENT_CHANGE)}}]},{type:"bi.text_button",cls:"bi-high-light bi-split-top",shadow:!0,text:BI.i18nText("BI-Basic_OK"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.TimePopup.BUTTON_OK_EVENT_CHANGE)}}]}]]},height:24}]}},setValue:function(value){this._checkValueValid(value)?this.timeSelect.setValue():this.timeSelect.setValue({hour:value.hour,minute:value.minute,second:value.second})},getValue:function(){return this.timeSelect.getValue()},_checkValueValid:function(value){return BI.isNull(value)||BI.isEmptyObject(value)||BI.isEmptyString(value)}}),BI.TimePopup.BUTTON_OK_EVENT_CHANGE="BUTTON_OK_EVENT_CHANGE",BI.TimePopup.BUTTON_CLEAR_EVENT_CHANGE="BUTTON_CLEAR_EVENT_CHANGE",BI.TimePopup.BUTTON_NOW_EVENT_CHANGE="BUTTON_NOW_EVENT_CHANGE",BI.TimePopup.CALENDAR_EVENT_CHANGE="CALENDAR_EVENT_CHANGE",BI.shortcut("bi.time_popup",BI.TimePopup)}(),!function(){BI.TimeCombo=BI.inherit(BI.Single,{constants:{popupHeight:80,popupWidth:240,comboAdjustHeight:1,border:1},props:{baseCls:"bi-time-combo bi-border bi-border-radius bi-focus-shadow",width:78,height:22,format:"",allowEdit:!1},render:function(){var self=this,opts=this.options;this.storeTriggerValue="",this.storeValue=opts.value;var popup={type:"bi.time_popup",value:opts.value,listeners:[{eventName:BI.TimePopup.BUTTON_CLEAR_EVENT_CHANGE,action:function(){self.setValue(),self.hidePopupView(),self.fireEvent(BI.TimeCombo.EVENT_CONFIRM)}},{eventName:BI.TimePopup.BUTTON_OK_EVENT_CHANGE,action:function(){self.setValue(self.popup.getValue()),self.hidePopupView(),self.fireEvent(BI.TimeCombo.EVENT_CONFIRM)}},{eventName:BI.TimePopup.BUTTON_NOW_EVENT_CHANGE,action:function(){self._setNowTime()}}],ref:function(_ref){self.popup=_ref}};return{type:"bi.htape",items:[{type:"bi.absolute",items:[{el:{type:"bi.combo",container:opts.container,toggle:!1,isNeedAdjustHeight:!1,isNeedAdjustWidth:!1,el:{type:"bi.time_trigger",height:opts.height,allowEdit:opts.allowEdit,watermark:opts.watermark,format:opts.format,value:opts.value,ref:function(_ref){self.trigger=_ref},listeners:[{eventName:"EVENT_KEY_DOWN",action:function(){self.combo.isViewVisible()&&self.combo.hideView(),self.fireEvent(BI.TimeCombo.EVENT_KEY_DOWN,arguments)}},{eventName:"EVENT_STOP",action:function(){self.combo.isViewVisible()||self.combo.showView()}},{eventName:"EVENT_FOCUS",action:function(){self.storeTriggerValue=self.trigger.getKey(),self.combo.isViewVisible()||self.combo.showView(),self.fireEvent("EVENT_FOCUS")}},{eventName:"EVENT_BLUR",action:function(){self.fireEvent("EVENT_BLUR")}},{eventName:"EVENT_ERROR",action:function(){var date=BI.getDate();self.storeValue={hour:date.getHours(),minute:date.getMinutes(),second:date.getSeconds()},self.fireEvent("EVENT_ERROR")}},{eventName:"EVENT_VALID",action:function(){self.fireEvent("EVENT_VALID")}},{eventName:"EVENT_CHANGE",action:function(){self.fireEvent("EVENT_CHANGE")}},{eventName:"EVENT_CONFIRM",action:function(){if(!self.combo.isViewVisible()){var dateStore=self.storeTriggerValue,dateObj=self.trigger.getKey();BI.isNotEmptyString(dateObj)&&!BI.isEqual(dateObj,dateStore)?(self.storeValue=self.trigger.getValue(),self.setValue(self.trigger.getValue())):BI.isEmptyString(dateObj)&&(self.storeValue=null,self.trigger.setValue()),self.fireEvent("EVENT_CONFIRM")}}}]},adjustLength:this.constants.comboAdjustHeight,popup:{el:popup,width:this.constants.popupWidth,stopPropagation:!1},hideChecker:function(e){return 0===self.triggerBtn.element.find(e.target).length},listeners:[{eventName:BI.Combo.EVENT_BEFORE_POPUPVIEW,action:function(){self.popup.setValue(self.storeValue),self.fireEvent(BI.TimeCombo.EVENT_BEFORE_POPUPVIEW)}}],ref:function(_ref){self.combo=_ref}},top:0,left:0,right:22,bottom:0},{el:{type:"bi.icon_button",cls:"bi-trigger-icon-button time-font icon-size-16",width:22,height:22,listeners:[{eventName:BI.IconButton.EVENT_CHANGE,action:function(){self.combo.isViewVisible()||self.combo.showView()}}],ref:function(_ref){self.triggerBtn=_ref}},top:0,right:0}]}]}},setValue:function(v){this.storeValue=v,this.trigger.setValue(v)},getValue:function(){return this.storeValue},hidePopupView:function(){this.combo.hideView()},_setNowTime:function(){var date=BI.getDate(),nowTome={hour:date.getHours(),minute:date.getMinutes(),second:date.getSeconds()};this.setValue(nowTome),this.hidePopupView(),this.fireEvent(BI.TimeCombo.EVENT_CONFIRM)}}),BI.TimeCombo.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.TimeCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.TimeCombo.EVENT_CHANGE="EVENT_CHANGE",BI.TimeCombo.EVENT_VALID="EVENT_VALID",BI.TimeCombo.EVENT_ERROR="EVENT_ERROR",BI.TimeCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.time_combo",BI.TimeCombo)}(),!function(){BI.TimeTrigger=BI.inherit(BI.Trigger,{_const:{COMPARE_FORMAT:"%H:%M:%S",COMPLETE_COMPARE_FORMAT:"%Y-%M-%d %H:%M:%S %P",FORMAT_ARRAY:["%H:%M:%S","%I:%M:%S","%l:%M:%S","%k:%M:%S","%l:%M:%S %p","%l:%M:%S %P","%H:%M:%S %p","%H:%M:%S %P","%l:%M","%k:%M","%I:%M","%H:%M","%M:%S"],DEFAULT_DATE_STRING:"2000-01-01"},props:{extraCls:"bi-time-trigger",value:{},format:"",allowEdit:!1},render:function(){var self=this,o=this.options;return this.storeTriggerValue="",this.storeValue=o.value,{type:"bi.absolute",items:[{el:{type:"bi.sign_editor",height:o.height,validationChecker:function(v){return self._dateCheck(v)},quitChecker:function(){return!1},ref:function(_ref){self.editor=_ref},value:this._formatValue(o.value),hgap:4,allowBlank:!0,watermark:BI.isKey(o.watermark)?o.watermark:BI.i18nText("BI-Basic_Unrestricted"),title:BI.bind(this._getTitle,this),listeners:[{eventName:"EVENT_KEY_DOWN",action:function(){self.fireEvent("EVENT_KEY_DOWN",arguments)}},{eventName:"EVENT_FOCUS",action:function(){self.storeTriggerValue=self.getKey(),self.fireEvent("EVENT_FOCUS")}},{eventName:"EVENT_BLUR",action:function(){self.fireEvent("EVENT_BLUR")}},{eventName:"EVENT_STOP",action:function(){self.fireEvent("EVENT_STOP")}},{eventName:"EVENT_VALID",action:function(){self.fireEvent("EVENT_VALID")}},{eventName:"EVENT_ERROR",action:function(){self.fireEvent("EVENT_ERROR")}},{eventName:"EVENT_CONFIRM",action:function(){var value=self.editor.getValue();if(BI.isNotNull(value)&&self.editor.setState(value),BI.isNotEmptyString(value)&&!BI.isEqual(self.storeTriggerValue,self.getKey())){var date=value.match(/\d+/g);self.storeValue={hour:0|date[0],minute:0|date[1],second:0|date[2]}}self.fireEvent("EVENT_CONFIRM")}},{eventName:"EVENT_START",action:function(){self.fireEvent("EVENT_START")}},{eventName:"EVENT_CHANGE",action:function(){self.fireEvent("EVENT_CHANGE")}}]},left:0,right:0,top:0,bottom:0},{el:{type:"bi.text",invisible:o.allowEdit,cls:"show-text",title:BI.bind(this._getTitle,this),hgap:4},left:0,right:0,top:0,bottom:0}]}},_dateCheck:function(date){var c=this._const;return BI.any(c.FORMAT_ARRAY,function(idx,format){return BI.print(BI.parseDateTime(c.DEFAULT_DATE_STRING+" "+date,c.COMPLETE_COMPARE_FORMAT),format)===date})},_getTitle:function(){var storeValue=this.storeValue||{},date=BI.getDate();return BI.print(BI.getDate(date.getFullYear(),0,1,storeValue.hour,storeValue.minute,storeValue.second),this._getFormatString())},_getFormatString:function(){return this.options.format||this._const.COMPARE_FORMAT},_formatValue:function(v){var now=BI.getDate();return BI.isNotEmptyObject(v)?BI.print(BI.getDate(now.getFullYear(),now.getMonth(),now.getDay(),v.hour,v.minute,v.second),this._getFormatString()):""},getKey:function(){return this.editor.getValue()},setValue:function(v){this.storeValue=v,this.editor.setValue(this._formatValue(v))},getValue:function(){return this.storeValue}}),BI.shortcut("bi.time_trigger",BI.TimeTrigger)}(),BI.DateInterval=BI.inherit(BI.Single,{constants:{height:24,width:24,lgap:15,offset:0,timeErrorCls:"time-error"},_defaultConfig:function(){var conf=BI.DateInterval.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-date-interval",minDate:"1900-01-01",maxDate:"2099-12-31"})},_init:function(){var self=this,o=this.options;BI.DateInterval.superclass._init.apply(this,arguments),o.value=o.value||{},this.left=this._createCombo(o.value.start),this.right=this._createCombo(o.value.end),this.label=BI.createWidget({type:"bi.label",height:this.constants.height,width:this.constants.width,text:"-"}),BI.createWidget({element:self,type:"bi.center",height:this.constants.height,items:[{type:"bi.absolute",items:[{el:self.left,left:this.constants.offset,right:this.constants.width/2,top:0,bottom:0}]},{type:"bi.absolute",items:[{el:self.right,left:this.constants.width/2,right:this.constants.offset,top:0,bottom:0}]}]}),BI.createWidget({type:"bi.horizontal_auto",element:this,items:[self.label]})},_createCombo:function(v){var self=this,o=this.options,combo=BI.createWidget({type:"bi.dynamic_date_combo",behaviors:o.behaviors,value:v});return combo.on(BI.DynamicDateCombo.EVENT_ERROR,function(){self._clearTitle(),BI.Bubbles.hide("error"),self.element.removeClass(self.constants.timeErrorCls),self.fireEvent(BI.DateInterval.EVENT_ERROR)}),combo.on(BI.DynamicDateCombo.EVENT_VALID,function(){BI.Bubbles.hide("error");var smallDate=self.left.getKey(),bigDate=self.right.getKey();self._check(smallDate,bigDate)&&self._compare(smallDate,bigDate)?(self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")),self.element.addClass(self.constants.timeErrorCls),BI.Bubbles.show("error",BI.i18nText("BI-Time_Interval_Error_Text"),self,{offsetStyle:"center"}),self.fireEvent(BI.DateInterval.EVENT_ERROR)):(self._clearTitle(),self.element.removeClass(self.constants.timeErrorCls))}),combo.on(BI.DynamicDateCombo.EVENT_FOCUS,function(){BI.Bubbles.hide("error");var smallDate=self.left.getKey(),bigDate=self.right.getKey();self._check(smallDate,bigDate)&&self._compare(smallDate,bigDate)?(self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")),self.element.addClass(self.constants.timeErrorCls),BI.Bubbles.show("error",BI.i18nText("BI-Time_Interval_Error_Text"),self,{offsetStyle:"center"}),self.fireEvent(BI.DateInterval.EVENT_ERROR)):(self._clearTitle(),self.element.removeClass(self.constants.timeErrorCls))}),combo.on(BI.DynamicDateCombo.EVENT_CONFIRM,function(){BI.Bubbles.hide("error");var smallDate=self.left.getKey(),bigDate=self.right.getKey();self._check(smallDate,bigDate)&&self._compare(smallDate,bigDate)?(self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")),self.element.addClass(self.constants.timeErrorCls),self.fireEvent(BI.DateInterval.EVENT_ERROR)):(self._clearTitle(),self.element.removeClass(self.constants.timeErrorCls),self.fireEvent(BI.DateInterval.EVENT_CHANGE))}),combo},_dateCheck:function(date){return BI.print(BI.parseDateTime(date,"%Y-%x-%d"),"%Y-%x-%d")===date||BI.print(BI.parseDateTime(date,"%Y-%X-%d"),"%Y-%X-%d")===date||BI.print(BI.parseDateTime(date,"%Y-%x-%e"),"%Y-%x-%e")===date||BI.print(BI.parseDateTime(date,"%Y-%X-%e"),"%Y-%X-%e")===date},_checkVoid:function(obj){var o=this.options;return!BI.checkDateVoid(obj.year,obj.month,obj.day,o.minDate,o.maxDate)[0]},_check:function(smallDate,bigDate){var smallObj=smallDate.match(/\d+/g),bigObj=bigDate.match(/\d+/g);return this._dateCheck(smallDate)&&BI.checkDateLegal(smallDate)&&this._checkVoid({year:smallObj[0],month:smallObj[1],day:smallObj[2]})&&this._dateCheck(bigDate)&&BI.checkDateLegal(bigDate)&&this._checkVoid({year:bigObj[0],month:bigObj[1],day:bigObj[2]})},_compare:function(smallDate,bigDate){return smallDate=BI.print(BI.parseDateTime(smallDate,"%Y-%X-%d"),"%Y-%X-%d"),bigDate=BI.print(BI.parseDateTime(bigDate,"%Y-%X-%d"),"%Y-%X-%d"),BI.isNotNull(smallDate)&&BI.isNotNull(bigDate)&&smallDate>bigDate},_setTitle:function(v){this.left.setTitle(v),this.right.setTitle(v),this.label.setTitle(v)},_clearTitle:function(){this.left.setTitle(""),this.right.setTitle(""),this.label.setTitle("")},setValue:function(date){date=date||{},this.left.setValue(date.start),this.right.setValue(date.end)},getValue:function(){return{start:this.left.getValue(),end:this.right.getValue()}}}),BI.DateInterval.EVENT_VALID="EVENT_VALID",BI.DateInterval.EVENT_ERROR="EVENT_ERROR",BI.DateInterval.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.date_interval",BI.DateInterval),BI.TimeInterval=BI.inherit(BI.Single,{constants:{height:24,width:24,lgap:15,offset:0,timeErrorCls:"time-error"},_defaultConfig:function(){var conf=BI.TimeInterval.superclass._defaultConfig.apply(this,arguments);return BI.extend(conf,{extraCls:"bi-time-interval",minDate:"1900-01-01",maxDate:"2099-12-31"})},_init:function(){var self=this,o=this.options;BI.TimeInterval.superclass._init.apply(this,arguments),o.value=o.value||{},this.left=this._createCombo(o.value.start),this.right=this._createCombo(o.value.end),this.label=BI.createWidget({type:"bi.label",height:this.constants.height,width:this.constants.width,text:"-"}),BI.createWidget({element:self,type:"bi.center",height:this.constants.height,items:[{type:"bi.absolute",items:[{el:self.left,left:this.constants.offset,right:this.constants.width/2,top:0,bottom:0}]},{type:"bi.absolute",items:[{el:self.right,left:this.constants.width/2,right:this.constants.offset,top:0,bottom:0}]}]}),BI.createWidget({type:"bi.horizontal_auto",element:this,items:[self.label]})},_createCombo:function(v){var self=this,o=this.options,combo=BI.createWidget({type:"bi.dynamic_date_time_combo",behaviors:o.behaviors,value:v});return combo.on(BI.DynamicDateTimeCombo.EVENT_ERROR,function(){self._clearTitle(),BI.Bubbles.hide("error"),self.element.removeClass(self.constants.timeErrorCls),self.fireEvent(BI.TimeInterval.EVENT_ERROR)}),combo.on(BI.DynamicDateTimeCombo.EVENT_VALID,function(){BI.Bubbles.hide("error");var smallDate=self.left.getKey(),bigDate=self.right.getKey();self.left.isValid()&&self.right.isValid()&&self._check(smallDate,bigDate)&&self._compare(smallDate,bigDate)?(self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")),self.element.addClass(self.constants.timeErrorCls),BI.Bubbles.show("error",BI.i18nText("BI-Time_Interval_Error_Text"),self,{offsetStyle:"center"}),self.fireEvent(BI.TimeInterval.EVENT_ERROR)):(self._clearTitle(),self.element.removeClass(self.constants.timeErrorCls))}),combo.on(BI.DynamicDateTimeCombo.EVENT_FOCUS,function(){BI.Bubbles.hide("error");var smallDate=self.left.getKey(),bigDate=self.right.getKey();self.left.isValid()&&self.right.isValid()&&self._check(smallDate,bigDate)&&self._compare(smallDate,bigDate)?(self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")),self.element.addClass(self.constants.timeErrorCls),BI.Bubbles.show("error",BI.i18nText("BI-Time_Interval_Error_Text"),self,{offsetStyle:"center"}),self.fireEvent(BI.TimeInterval.EVENT_ERROR)):(self._clearTitle(),self.element.removeClass(self.constants.timeErrorCls))}),combo.on(BI.DynamicDateTimeCombo.EVENT_CONFIRM,function(){BI.Bubbles.hide("error");var smallDate=self.left.getKey(),bigDate=self.right.getKey();self.left.isValid()&&self.right.isValid()&&self._check(smallDate,bigDate)&&self._compare(smallDate,bigDate)?(self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")),self.element.addClass(self.constants.timeErrorCls),self.fireEvent(BI.TimeInterval.EVENT_ERROR)):(self._clearTitle(),self.element.removeClass(self.constants.timeErrorCls),self.fireEvent(BI.TimeInterval.EVENT_CHANGE))}),combo},_dateCheck:function(date){return BI.print(BI.parseDateTime(date,"%Y-%x-%d %H:%M:%S"),"%Y-%x-%d %H:%M:%S")===date||BI.print(BI.parseDateTime(date,"%Y-%X-%d %H:%M:%S"),"%Y-%X-%d %H:%M:%S")===date||BI.print(BI.parseDateTime(date,"%Y-%x-%e %H:%M:%S"),"%Y-%x-%e %H:%M:%S")===date||BI.print(BI.parseDateTime(date,"%Y-%X-%e %H:%M:%S"),"%Y-%X-%e %H:%M:%S")===date;
},_checkVoid:function(obj){var o=this.options;return!BI.checkDateVoid(obj.year,obj.month,obj.day,o.minDate,o.maxDate)[0]},_check:function(smallDate,bigDate){var smallObj=smallDate.match(/\d+/g),bigObj=bigDate.match(/\d+/g);return this._dateCheck(smallDate)&&BI.checkDateLegal(smallDate)&&this._checkVoid({year:smallObj[0],month:smallObj[1],day:smallObj[2]})&&this._dateCheck(bigDate)&&BI.checkDateLegal(bigDate)&&this._checkVoid({year:bigObj[0],month:bigObj[1],day:bigObj[2]})},_compare:function(smallDate,bigDate){return smallDate=BI.print(BI.parseDateTime(smallDate,"%Y-%X-%d %H:%M:%S"),"%Y-%X-%d %H:%M:%S"),bigDate=BI.print(BI.parseDateTime(bigDate,"%Y-%X-%d %H:%M:%S"),"%Y-%X-%d %H:%M:%S"),BI.isNotNull(smallDate)&&BI.isNotNull(bigDate)&&smallDate>bigDate},_setTitle:function(v){this.left.setTitle(v),this.right.setTitle(v),this.label.setTitle(v)},_clearTitle:function(){this.left.setTitle(""),this.right.setTitle(""),this.label.setTitle("")},setValue:function(date){date=date||{},this.left.setValue(date.start),this.right.setValue(date.end)},getValue:function(){return{start:this.left.getValue(),end:this.right.getValue()}}}),BI.TimeInterval.EVENT_VALID="EVENT_VALID",BI.TimeInterval.EVENT_ERROR="EVENT_ERROR",BI.TimeInterval.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.time_interval",BI.TimeInterval),!function(){BI.TimePeriods=BI.inherit(BI.Single,{constants:{height:24,width:24,lgap:15,offset:0},props:{extraCls:"bi-time-interval",value:{}},render:function(){var self=this,o=this.options;return{type:"bi.absolute",height:this.constants.height,items:[{el:{type:"bi.horizontal_auto",items:[{type:"bi.label",height:this.constants.height,width:this.constants.width,text:"-",ref:function(_ref){self.label=_ref}}]},top:0,left:0,right:0,bottom:0},{el:{type:"bi.center",height:this.constants.height,items:[{type:"bi.absolute",items:[{el:BI.extend({ref:function(_ref){self.left=_ref}},this._createCombo(o.value.start)),left:this.constants.offset,right:this.constants.width/2,top:0,bottom:0}]},{type:"bi.absolute",items:[{el:BI.extend({ref:function(_ref){self.right=_ref}},this._createCombo(o.value.end)),left:this.constants.width/2,right:this.constants.offset,top:0,bottom:0}]}]},top:0,left:0,right:0,bottom:0}]}},_createCombo:function(v){var self=this;return{type:"bi.time_combo",value:v,listeners:[{eventName:BI.TimeCombo.EVENT_BEFORE_POPUPVIEW,action:function(){self.left.hidePopupView(),self.right.hidePopupView()}},{eventName:BI.TimeCombo.EVENT_CHANGE,action:function(){self.fireEvent(BI.TimePeriods.EVENT_CHANGE)}},{eventName:BI.TimeCombo.EVENT_CONFIRM,action:function(){self.fireEvent(BI.TimePeriods.EVENT_CONFIRM)}}]}},setValue:function(date){date=date||{},this.left.setValue(date.start),this.right.setValue(date.end)},getValue:function(){return{start:this.left.getValue(),end:this.right.getValue()}}}),BI.TimePeriods.EVENT_CONFIRM="EVENT_CONFIRM",BI.TimePeriods.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.time_periods",BI.TimePeriods)}(),BI.DynamicYearCard=BI.inherit(BI.Widget,{props:{baseCls:"bi-year-card"},render:function(){var self=this;return{type:"bi.vertical",items:[{type:"bi.label",text:BI.i18nText("BI-Multi_Date_Relative_Current_Time"),textAlign:"left",height:24},{type:"bi.dynamic_date_param_item",ref:function(){self.item=this},listeners:[{eventName:"EVENT_CHANGE",action:function(){self.fireEvent("EVENT_CHANGE")}}]}],vgap:10,hgap:10}},_createValue:function(type,v){return{dateType:type,value:Math.abs(v),offset:v>0?1:0}},setValue:function(v){v=v||{year:0},this.item.setValue(this._createValue(BI.DynamicDateCard.TYPE.YEAR,v.year))},getValue:function(){var value=this.item.getValue();return{year:0===value.offset?-value.value:value.value}}}),BI.DynamicYearCard.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.dynamic_year_card",BI.DynamicYearCard),BI.StaticYearCard=BI.inherit(BI.Widget,{_defaultConfig:function(){return BI.extend(BI.StaticYearCard.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-year-card",behaviors:{},min:"1900-01-01",max:"2099-12-31"})},_createYearCalendar:function(v){var o=this.options,y=this._year,calendar=BI.createWidget({type:"bi.year_calendar",behaviors:o.behaviors,min:o.min,max:o.max,logic:{dynamic:!0},year:y+12*v});return calendar.setValue(this._year),calendar},_init:function(){BI.StaticYearCard.superclass._init.apply(this,arguments);var self=this,o=this.options;this.selectedYear=this._year=BI.getDate().getFullYear(),this.backBtn=BI.createWidget({type:"bi.icon_button",cls:"pre-page-h-font",width:25,height:25,value:-1,listeners:[{eventName:BI.IconButton.EVENT_CHANGE,action:function(){self.navigation.setSelect(self.navigation.getSelect()-1),self._checkLeftValid(),self._checkRightValid()}}]}),this.preBtn=BI.createWidget({type:"bi.icon_button",cls:"next-page-h-font",width:25,height:25,value:1,listeners:[{eventName:BI.IconButton.EVENT_CHANGE,action:function(){self.navigation.setSelect(self.navigation.getSelect()+1),self._checkLeftValid(),self._checkRightValid()}}]}),this.navigation=BI.createWidget({type:"bi.navigation",direction:"top",element:this,single:!0,logic:{dynamic:!0},tab:{type:"bi.htape",cls:"bi-split-top bi-split-bottom",height:30,items:[{el:{type:"bi.center_adapt",items:[self.backBtn]},width:25},{type:"bi.layout"},{el:{type:"bi.center_adapt",items:[self.preBtn]},width:25}]},cardCreator:BI.bind(this._createYearCalendar,this),afterCardShow:function(){this.setValue(self.selectedYear);var calendar=this.getSelectedCard();self.backBtn.setEnable(!calendar.isFrontYear()),self.preBtn.setEnable(!calendar.isFinalYear())}}),this.navigation.on(BI.Navigation.EVENT_CHANGE,function(){self.selectedYear=this.getValue(),self.fireEvent(BI.Controller.EVENT_CHANGE,arguments),self.fireEvent(BI.StaticYearCard.EVENT_CHANGE,self.selectedYear)}),BI.isKey(o.value)&&this.setValue(o.value)},_checkLeftValid:function(){var o=this.options,valid=!0;return this.backBtn.setEnable(valid),valid},_checkRightValid:function(){var o=this.options,valid=!0;return this.preBtn.setEnable(valid),valid},getValue:function(){return{year:this.selectedYear}},setValue:function(obj){var o=this.options;obj=obj||{};var v=obj.year;BI.checkDateVoid(v,1,1,o.min,o.max)[0]?(v=BI.getDate().getFullYear(),this.selectedYear="",this.navigation.setSelect(BI.YearCalendar.getPageByYear(v)),this.navigation.setValue("")):(this.selectedYear=BI.parseInt(v),this.navigation.setSelect(BI.YearCalendar.getPageByYear(v)),this.navigation.setValue(this.selectedYear)),this._checkLeftValid(),this._checkRightValid()}}),BI.StaticYearCard.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.static_year_card",BI.StaticYearCard),BI.DynamicYearCombo=BI.inherit(BI.Widget,{props:{baseCls:"bi-year-combo bi-border bi-focus-shadow",behaviors:{},min:"1900-01-01",max:"2099-12-31",height:22},_init:function(){BI.DynamicYearCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.storeValue=o.value,this.trigger=BI.createWidget({type:"bi.dynamic_year_trigger",min:o.min,max:o.max,height:o.height,value:o.value||""}),this.trigger.on(BI.DynamicYearTrigger.EVENT_KEY_DOWN,function(){self.combo.isViewVisible()&&self.combo.hideView()}),this.trigger.on(BI.DynamicYearTrigger.EVENT_FOCUS,function(){self.storeTriggerValue=this.getKey()}),this.trigger.on(BI.DynamicYearTrigger.EVENT_START,function(){self.combo.isViewVisible()&&self.combo.hideView()}),this.trigger.on(BI.DynamicYearTrigger.EVENT_STOP,function(){self.combo.showView()}),this.trigger.on(BI.DynamicYearTrigger.EVENT_ERROR,function(){self.combo.isViewVisible()&&self.combo.hideView()}),this.trigger.on(BI.DynamicYearTrigger.EVENT_CONFIRM,function(){self.combo.isViewVisible()||(this.getKey()&&this.getKey()!==self.storeTriggerValue?(self.storeValue=self.trigger.getValue(),self.setValue(self.storeValue)):this.getKey()||(self.storeValue=null,self.setValue()),self._checkDynamicValue(self.storeValue),self.fireEvent(BI.DynamicYearCombo.EVENT_CONFIRM))}),this.combo=BI.createWidget({type:"bi.combo",container:o.container,isNeedAdjustHeight:!1,isNeedAdjustWidth:!1,el:this.trigger,popup:{minWidth:85,stopPropagation:!1,el:{type:"bi.dynamic_year_popup",ref:function(){self.popup=this},listeners:[{eventName:BI.DynamicYearPopup.EVENT_CHANGE,action:function(){self.setValue(self.popup.getValue()),self.combo.hideView(),self.fireEvent(BI.DynamicYearCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicYearPopup.BUTTON_CLEAR_EVENT_CHANGE,action:function(){self.setValue(),self.combo.hideView(),self.fireEvent(BI.DynamicYearCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicYearPopup.BUTTON_lABEL_EVENT_CHANGE,action:function(){var date=BI.getDate();self.setValue({type:BI.DynamicYearCombo.Static,value:{year:date.getFullYear()}}),self.combo.hideView(),self.fireEvent(BI.DynamicDateCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicYearPopup.BUTTON_OK_EVENT_CHANGE,action:function(){self.setValue(self.popup.getValue()),self.combo.hideView(),self.fireEvent(BI.DynamicDateCombo.EVENT_CONFIRM)}}],behaviors:o.behaviors,min:o.min,max:o.max},value:o.value||""}}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){self.popup.setValue(self.storeValue),self.fireEvent(BI.DynamicYearCombo.EVENT_BEFORE_POPUPVIEW)}),BI.createWidget({type:"bi.htape",element:this,ref:function(){self.comboWrapper=this},items:[{el:{type:"bi.icon_button",cls:"bi-trigger-icon-button date-change-h-font",width:24,height:24,ref:function(){self.changeIcon=this}},width:24},this.combo]}),this._checkDynamicValue(o.value)},_checkDynamicValue:function(v){var type=null;switch(BI.isNotNull(v)&&(type=v.type),type){case BI.DynamicYearCombo.Dynamic:this.changeIcon.setVisible(!0),this.comboWrapper.attr("items")[0].width=24,this.comboWrapper.resize();break;default:this.comboWrapper.attr("items")[0].width=0,this.comboWrapper.resize(),this.changeIcon.setVisible(!1)}},setValue:function(v){this.storeValue=v,this.trigger.setValue(v),this._checkDynamicValue(v)},getValue:function(){return this.storeValue}}),BI.DynamicYearCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.DynamicYearCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.dynamic_year_combo",BI.DynamicYearCombo),BI.extend(BI.DynamicYearCombo,{Static:1,Dynamic:2}),BI.DynamicYearPopup=BI.inherit(BI.Widget,{constants:{tabHeight:30,buttonHeight:24},props:{baseCls:"bi-year-popup",behaviors:{},min:"1900-01-01",max:"2099-12-31",width:180,height:240},render:function(){var self=this,opts=this.options,c=this.constants;return this.storeValue={type:BI.DynamicYearCombo.Static},{type:"bi.vtape",items:[{el:this._getTabJson()},{el:{type:"bi.grid",items:[[{type:"bi.text_button",cls:"bi-split-top bi-high-light",textHeight:c.buttonHeight-1,shadow:!0,text:BI.i18nText("BI-Basic_Clear"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearPopup.BUTTON_CLEAR_EVENT_CHANGE)}}]},{type:"bi.text_button",textHeight:c.buttonHeight-1,cls:"bi-split-left bi-split-right bi-high-light bi-split-top",shadow:!0,text:BI.i18nText("BI-Basic_Current_Year"),ref:function(){self.textButton=this},listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearPopup.BUTTON_lABEL_EVENT_CHANGE)}}]},{type:"bi.text_button",cls:"bi-split-top bi-high-light",textHeight:c.buttonHeight-1,shadow:!0,text:BI.i18nText("BI-Basic_OK"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearPopup.BUTTON_OK_EVENT_CHANGE)}}]}]]},height:24}]}},_setInnerValue:function(){if(this.dateTab.getSelect()===BI.DynamicDateCombo.Static)this.textButton.setValue(BI.i18nText("BI-Basic_Current_Year")),this.textButton.setEnable(!0);else{var date=BI.DynamicDateHelper.getCalculation(this.dynamicPane.getValue());date=BI.print(date,"%Y"),this.textButton.setValue(date),this.textButton.setEnable(!1)}},_getTabJson:function(){var self=this,o=this.options;return{type:"bi.tab",ref:function(){self.dateTab=this},tab:{type:"bi.linear_segment",cls:"bi-split-bottom",height:this.constants.tabHeight,items:BI.createItems([{text:BI.i18nText("BI-Basic_Year_Fen"),value:BI.DynamicYearCombo.Static},{text:BI.i18nText("BI-Basic_Dynamic_Title"),value:BI.DynamicYearCombo.Dynamic}],{textAlign:"center"})},cardCreator:function(v){switch(v){case BI.DynamicYearCombo.Dynamic:return{type:"bi.dynamic_year_card",listeners:[{eventName:"EVENT_CHANGE",action:function(){self._setInnerValue(self.year,v)}}],ref:function(){self.dynamicPane=this}};case BI.DynamicYearCombo.Static:default:return{type:"bi.static_year_card",behaviors:o.behaviors,min:self.options.min,max:self.options.max,listeners:[{eventName:BI.StaticYearCard.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearPopup.EVENT_CHANGE)}}],ref:function(){self.year=this}}}},listeners:[{eventName:BI.Tab.EVENT_CHANGE,action:function(){var v=self.dateTab.getSelect();switch(v){case BI.DynamicYearCombo.Static:var date=BI.DynamicDateHelper.getCalculation(self.dynamicPane.getValue());self.year.setValue({year:date.getFullYear()}),self._setInnerValue();break;case BI.DynamicYearCombo.Dynamic:default:self.storeValue&&self.storeValue.type===BI.DynamicYearCombo.Dynamic?self.dynamicPane.setValue(self.storeValue.value):self.dynamicPane.setValue({year:0}),self._setInnerValue()}}}]}},setValue:function(v){this.storeValue=v;var self=this,type,value;switch(v=v||{},type=v.type||BI.DynamicDateCombo.Static,value=v.value||v,this.dateTab.setSelect(type),type){case BI.DynamicDateCombo.Dynamic:this.dynamicPane.setValue(value),self._setInnerValue();break;case BI.DynamicDateCombo.Static:default:this.year.setValue(value),this.textButton.setValue(BI.i18nText("BI-Basic_Current_Year")),this.textButton.setEnable(!0)}},getValue:function(){return{type:this.dateTab.getSelect(),value:this.dateTab.getValue()}}}),BI.DynamicYearPopup.BUTTON_CLEAR_EVENT_CHANGE="BUTTON_CLEAR_EVENT_CHANGE",BI.DynamicYearPopup.BUTTON_lABEL_EVENT_CHANGE="BUTTON_lABEL_EVENT_CHANGE",BI.DynamicYearPopup.BUTTON_OK_EVENT_CHANGE="BUTTON_OK_EVENT_CHANGE",BI.DynamicYearPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.dynamic_year_popup",BI.DynamicYearPopup),BI.DynamicYearTrigger=BI.inherit(BI.Trigger,{_const:{hgap:4,vgap:2},_defaultConfig:function(){return BI.extend(BI.DynamicYearTrigger.superclass._defaultConfig.apply(this,arguments),{extraCls:"bi-year-trigger",min:"1900-01-01",max:"2099-12-31",height:24})},beforeInit:function(callback){var o=this.options;o.title=BI.bind(this._titleCreator,this),callback()},_init:function(){BI.DynamicYearTrigger.superclass._init.apply(this,arguments);var self=this,o=this.options,c=this._const;this.editor=BI.createWidget({type:"bi.sign_editor",height:o.height,validationChecker:function(v){return""===v||BI.isPositiveInteger(v)&&!BI.checkDateVoid(v,1,1,o.min,o.max)[0]},quitChecker:function(v){return!1},hgap:c.hgap,vgap:c.vgap,watermark:BI.i18nText("BI-Basic_Unrestricted"),allowBlank:!0,errorText:function(){return BI.i18nText("BI-Year_Trigger_Invalid_Text")}}),this.editor.on(BI.SignEditor.EVENT_KEY_DOWN,function(){self.fireEvent(BI.DynamicYearTrigger.EVENT_KEY_DOWN,arguments)}),this.editor.on(BI.SignEditor.EVENT_FOCUS,function(){self.fireEvent(BI.DynamicYearTrigger.EVENT_FOCUS)}),this.editor.on(BI.SignEditor.EVENT_STOP,function(){self.fireEvent(BI.DynamicYearTrigger.EVENT_STOP)}),this.editor.on(BI.SignEditor.EVENT_CONFIRM,function(){var value=self.editor.getValue();BI.isNotNull(value)&&self.editor.setValue(value),BI.isNotEmptyString(value)&&(self.storeValue={type:BI.DynamicDateCombo.Static,value:{year:value}}),self.fireEvent(BI.DynamicYearTrigger.EVENT_CONFIRM)}),this.editor.on(BI.SignEditor.EVENT_SPACE,function(){self.editor.isValid()&&self.editor.blur()}),this.editor.on(BI.SignEditor.EVENT_START,function(){self.fireEvent(BI.DynamicYearTrigger.EVENT_START)}),this.editor.on(BI.SignEditor.EVENT_ERROR,function(){self.fireEvent(BI.DynamicYearTrigger.EVENT_ERROR)}),BI.createWidget({element:this,type:"bi.htape",items:[{el:this.editor},{el:{type:"bi.text_button",baseCls:"bi-trigger-year-text",text:BI.i18nText("BI-Multi_Date_Year"),width:o.height},width:o.height},{el:{type:"bi.trigger_icon_button",width:o.height},width:o.height}]}),this.setValue(o.value)},_getText:function(obj){var value="";return BI.isNotNull(obj.year)&&0!==BI.parseInt(obj.year)&&(value+=Math.abs(obj.year)+BI.i18nText("BI-Basic_Year")+(obj.year<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),value},_setInnerValue:function(date,text){var dateStr=BI.print(date,"%Y");this.editor.setState(dateStr),this.editor.setValue(dateStr)},_titleCreator:function(){var storeValue=this.storeValue||{},type=storeValue.type||BI.DynamicDateCombo.Static,value=storeValue.value;if(!this.editor.isValid())return"";switch(type){case BI.DynamicDateCombo.Dynamic:var text=this._getText(value),date=BI.getDate();date=BI.DynamicDateHelper.getCalculation(value);var dateStr=BI.print(date,"%Y");return BI.isEmptyString(text)?dateStr:text+":"+dateStr;case BI.DynamicDateCombo.Static:default:return value=value||{},value.year}},setValue:function(v){var type,value,date=BI.getDate();switch(this.storeValue=v,BI.isNotNull(v)&&(type=v.type||BI.DynamicDateCombo.Static,value=v.value||v),type){case BI.DynamicDateCombo.Dynamic:var text=this._getText(value);date=BI.DynamicDateHelper.getCalculation(value),this._setInnerValue(date,text);break;case BI.DynamicDateCombo.Static:default:value=value||{},this.editor.setState(value.year),this.editor.setValue(value.year)}},getValue:function(){return this.storeValue},getKey:function(){return 0|this.editor.getValue()}}),BI.DynamicYearTrigger.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.DynamicYearTrigger.EVENT_FOCUS="EVENT_FOCUS",BI.DynamicYearTrigger.EVENT_ERROR="EVENT_ERROR",BI.DynamicYearTrigger.EVENT_START="EVENT_START",BI.DynamicYearTrigger.EVENT_CONFIRM="EVENT_CONFIRM",BI.DynamicYearTrigger.EVENT_STOP="EVENT_STOP",BI.shortcut("bi.dynamic_year_trigger",BI.DynamicYearTrigger),BI.DynamicYearMonthCard=BI.inherit(BI.Widget,{props:{baseCls:"bi-year-month-card"},render:function(){var self=this;return{type:"bi.vertical",items:[{type:"bi.label",text:BI.i18nText("BI-Multi_Date_Relative_Current_Time"),textAlign:"left",height:24},{type:"bi.dynamic_date_param_item",ref:function(){self.year=this},listeners:[{eventName:"EVENT_CHANGE",action:function(){self.fireEvent("EVENT_CHANGE")}}]},{type:"bi.dynamic_date_param_item",dateType:BI.DynamicDateCard.TYPE.MONTH,ref:function(){self.month=this},listeners:[{eventName:"EVENT_CHANGE",action:function(){self.fireEvent("EVENT_CHANGE")}}]}],vgap:10,hgap:10}},_createValue:function(type,v){return{dateType:type,value:Math.abs(v),offset:v>0?1:0}},setValue:function(v){v=v||{year:0,month:0},this.year.setValue(this._createValue(BI.DynamicDateCard.TYPE.YEAR,v.year)),this.month.setValue(this._createValue(BI.DynamicDateCard.TYPE.MONTH,v.month))},getValue:function(){var year=this.year.getValue(),month=this.month.getValue();return{year:0===year.offset?-year.value:year.value,month:0===month.offset?-month.value:month.value}}}),BI.DynamicYearMonthCard.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.dynamic_year_month_card",BI.DynamicYearMonthCard),BI.StaticYearMonthCard=BI.inherit(BI.Widget,{props:{baseCls:"bi-static-year-month-card",behaviors:{}},_createMonths:function(){var self=this,month=[1,7,2,8,3,9,4,10,5,11,6,12],items=[];return items.push(month.slice(0,2)),items.push(month.slice(2,4)),items.push(month.slice(4,6)),items.push(month.slice(6,8)),items.push(month.slice(8,10)),items.push(month.slice(10,12)),BI.map(items,function(i,item){return BI.map(item,function(j,td){return{type:"bi.text_item",cls:"bi-list-item-select",textAlign:"center",whiteSpace:"nowrap",once:!1,forceSelected:!0,height:23,width:38,value:td,text:td,ref:function(_ref){self.monthMap[0===j?i:i+6]=_ref}}})})},render:function(){var self=this,o=this.options;return this.monthMap={},{type:"bi.vertical",items:[{type:"bi.year_picker",min:o.min,max:o.max,ref:function(){self.yearPicker=this},behaviors:o.behaviors,height:30,listeners:[{eventName:BI.YearPicker.EVENT_CHANGE,action:function(){var value=this.getValue();self._checkMonthStatus(value),self.setValue({year:value,month:self.selectedMonth})}}]},{type:"bi.button_group",cls:"bi-split-top",behaviors:o.behaviors,ref:function(){self.month=this},items:this._createMonths(),layouts:[BI.LogicFactory.createLogic("table",BI.extend({dynamic:!0},{columns:2,rows:6,columnSize:[.5,.5],rowSize:25})),{type:"bi.center_adapt",vgap:1,hgap:2}],value:o.value,listeners:[{eventName:BI.ButtonGroup.EVENT_CHANGE,action:function(){self.selectedYear=self.yearPicker.getValue(),self.selectedMonth=this.getValue()[0],self.fireEvent(BI.StaticYearMonthCard.EVENT_CHANGE)}}]}]}},mounted:function(){this._checkMonthStatus(this.selectedYear)},_checkMonthStatus:function(year){var o=this.options,minDate=BI.parseDateTime(o.min,"%Y-%X-%d"),maxDate=BI.parseDateTime(o.max,"%Y-%X-%d"),minYear=minDate.getFullYear(),maxYear=maxDate.getFullYear(),minMonth=0,maxMonth=11;minYear===year&&(minMonth=minDate.getMonth()),maxYear===year&&(maxMonth=maxDate.getMonth());var yearInvalid=year<minYear||year>maxYear;BI.each(this.monthMap,function(month,obj){var monthInvalid=month<minMonth||month>maxMonth;obj.setEnable(!yearInvalid&&!monthInvalid)})},setMinDate:function(minDate){this.options.min!==minDate&&(this.options.min=minDate,this.yearPicker.setMinDate(minDate),this._checkMonthStatus(this.selectedYear))},setMaxDate:function(maxDate){this.options.max!==maxDate&&(this.options.max=maxDate,this.yearPicker.setMaxDate(maxDate),this._checkMonthStatus(this.selectedYear))},getValue:function(){return{year:this.selectedYear,month:this.selectedMonth}},setValue:function(obj){var o=this.options,newObj={};if(newObj.year=obj.year||0,newObj.month=obj.month||0,0===newObj.year||0===newObj.month||BI.checkDateVoid(newObj.year,newObj.month,1,o.min,o.max)[0]){var year=newObj.year||BI.getDate().getFullYear();this.selectedYear=year,this.selectedMonth="",this.yearPicker.setValue(year),this.month.setValue()}else this.selectedYear=BI.parseInt(newObj.year),this.selectedMonth=BI.parseInt(newObj.month),this.yearPicker.setValue(this.selectedYear),this.month.setValue(this.selectedMonth)}}),BI.StaticYearMonthCard.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.static_year_month_card",BI.StaticYearMonthCard),BI.DynamicYearMonthCombo=BI.inherit(BI.Single,{props:{baseCls:"bi-year-month-combo bi-border bi-focus-shadow",behaviors:{},minDate:"1900-01-01",maxDate:"2099-12-31",height:22},_init:function(){BI.DynamicYearMonthCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.storeValue=o.value,this.storeTriggerValue="",this.trigger=BI.createWidget({type:"bi.dynamic_year_month_trigger",min:o.minDate,max:o.maxDate,height:o.height,value:o.value||""}),this.trigger.on(BI.DynamicYearMonthTrigger.EVENT_KEY_DOWN,function(){self.combo.isViewVisible()&&self.combo.hideView()}),this.trigger.on(BI.DynamicYearMonthTrigger.EVENT_START,function(){self.combo.isViewVisible()&&self.combo.hideView()}),this.trigger.on(BI.DynamicYearMonthTrigger.EVENT_STOP,function(){self.combo.showView()}),this.trigger.on(BI.DynamicYearMonthTrigger.EVENT_ERROR,function(){self.combo.isViewVisible()&&self.combo.hideView(),self.fireEvent(BI.DynamicYearMonthCombo.EVENT_ERROR)}),this.trigger.on(BI.DynamicYearMonthTrigger.EVENT_VALID,function(){self.fireEvent(BI.DynamicYearMonthCombo.EVENT_VALID)}),this.trigger.on(BI.DynamicYearMonthTrigger.EVENT_CONFIRM,function(){var dateStore=self.storeTriggerValue,dateObj=self.trigger.getKey();BI.isNotEmptyString(dateObj)&&!BI.isEqual(dateObj,dateStore)&&(self.storeValue=self.trigger.getValue(),self.setValue(self.trigger.getValue())),self._checkDynamicValue(self.storeValue),self.fireEvent(BI.DynamicYearMonthCombo.EVENT_CONFIRM)}),this.trigger.on(BI.DynamicYearMonthTrigger.EVENT_FOCUS,function(){self.storeTriggerValue=self.trigger.getKey(),self.fireEvent(BI.DynamicYearMonthCombo.EVENT_FOCUS)}),this.combo=BI.createWidget({type:"bi.combo",container:o.container,isNeedAdjustHeight:!1,isNeedAdjustWidth:!1,el:this.trigger,popup:{minWidth:100,stopPropagation:!1,el:{type:"bi.dynamic_year_month_popup",ref:function(){self.popup=this},listeners:[{eventName:BI.DynamicYearMonthPopup.EVENT_CHANGE,action:function(){self.setValue(self.popup.getValue()),self.combo.hideView(),self.fireEvent(BI.DynamicYearMonthCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicYearMonthPopup.BUTTON_CLEAR_EVENT_CHANGE,action:function(){self.setValue(),self.combo.hideView(),self.fireEvent(BI.DynamicYearMonthCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicYearMonthPopup.BUTTON_lABEL_EVENT_CHANGE,action:function(){var date=BI.getDate();self.setValue({type:BI.DynamicYearMonthCombo.Static,value:{year:date.getFullYear(),month:date.getMonth()+1}}),self.combo.hideView(),self.fireEvent(BI.DynamicDateCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicYearMonthPopup.BUTTON_OK_EVENT_CHANGE,action:function(){self.setValue(self.popup.getValue()),self.combo.hideView(),self.fireEvent(BI.DynamicDateCombo.EVENT_CONFIRM)}}],behaviors:o.behaviors,min:o.minDate,max:o.maxDate},value:o.value||""}}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){self.popup.setValue(self.storeValue),self.fireEvent(BI.DynamicYearMonthCombo.EVENT_BEFORE_POPUPVIEW)}),BI.createWidget({type:"bi.htape",element:this,ref:function(){self.comboWrapper=this},items:[{el:{type:"bi.icon_button",cls:"bi-trigger-icon-button date-change-h-font",width:24,height:24,ref:function(){self.changeIcon=this}},width:24},this.combo]}),this._checkDynamicValue(o.value)},_checkDynamicValue:function(v){var type=null;switch(BI.isNotNull(v)&&(type=v.type),type){case BI.DynamicYearMonthCombo.Dynamic:this.changeIcon.setVisible(!0),this.comboWrapper.attr("items")[0].width=24,this.comboWrapper.resize();break;default:this.comboWrapper.attr("items")[0].width=0,this.comboWrapper.resize(),this.changeIcon.setVisible(!1)}},hideView:function(){this.combo.hideView()},setValue:function(v){this.storeValue=v,this.trigger.setValue(v),this._checkDynamicValue(v)},getValue:function(){return this.storeValue},getKey:function(){return this.trigger.getKey()},isValid:function(){return this.trigger.isValid()}}),BI.DynamicYearMonthCombo.EVENT_ERROR="EVENT_ERROR",BI.DynamicYearMonthCombo.EVENT_VALID="EVENT_VALID",BI.DynamicYearMonthCombo.EVENT_FOCUS="EVENT_FOCUS",BI.DynamicYearMonthCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.DynamicYearMonthCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.dynamic_year_month_combo",BI.DynamicYearMonthCombo),BI.extend(BI.DynamicYearMonthCombo,{Static:1,Dynamic:2}),BI.DynamicYearMonthPopup=BI.inherit(BI.Widget,{constants:{tabHeight:30,buttonHeight:24},props:{baseCls:"bi-year-month-popup",behaviors:{},min:"1900-01-01",max:"2099-12-31",width:180,height:240},render:function(){var self=this,opts=this.options,c=this.constants;return this.storeValue={type:BI.DynamicYearMonthCombo.Static},{type:"bi.vtape",items:[{el:this._getTabJson()},{el:{type:"bi.grid",items:[[{type:"bi.text_button",cls:"bi-split-top bi-high-light",textHeight:c.buttonHeight-1,shadow:!0,text:BI.i18nText("BI-Basic_Clear"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearMonthPopup.BUTTON_CLEAR_EVENT_CHANGE)}}]},{type:"bi.text_button",cls:"bi-split-left bi-split-right bi-high-light bi-split-top",textHeight:c.buttonHeight-1,shadow:!0,text:BI.i18nText("BI-Basic_Current_Month"),ref:function(){self.textButton=this},listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearMonthPopup.BUTTON_lABEL_EVENT_CHANGE)}}]},{type:"bi.text_button",cls:"bi-split-top bi-high-light",textHeight:c.buttonHeight-1,shadow:!0,text:BI.i18nText("BI-Basic_OK"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearMonthPopup.BUTTON_OK_EVENT_CHANGE)}}]}]]},height:24}]}},_setInnerValue:function(){if(this.dateTab.getSelect()===BI.DynamicDateCombo.Static)this.textButton.setValue(BI.i18nText("BI-Basic_Current_Month")),this.textButton.setEnable(!0);else{var date=BI.DynamicDateHelper.getCalculation(this.dynamicPane.getValue());date=BI.print(date,"%Y-%x"),this.textButton.setValue(date),this.textButton.setEnable(!1)}},_getTabJson:function(){var self=this,o=this.options;return{type:"bi.tab",ref:function(){self.dateTab=this},tab:{type:"bi.linear_segment",cls:"bi-split-bottom",height:this.constants.tabHeight,items:BI.createItems([{text:BI.i18nText("BI-Basic_Year_Month"),value:BI.DynamicYearCombo.Static},{text:BI.i18nText("BI-Basic_Dynamic_Title"),value:BI.DynamicYearCombo.Dynamic}],{textAlign:"center"})},cardCreator:function(v){switch(v){case BI.DynamicYearCombo.Dynamic:return{type:"bi.dynamic_year_month_card",listeners:[{eventName:"EVENT_CHANGE",action:function(){self._setInnerValue(self.year,v)}}],ref:function(){self.dynamicPane=this}};case BI.DynamicYearCombo.Static:default:return{type:"bi.static_year_month_card",behaviors:o.behaviors,min:self.options.min,max:self.options.max,listeners:[{eventName:BI.StaticYearMonthCard.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearMonthPopup.EVENT_CHANGE)}}],ref:function(){self.year=this}}}},listeners:[{eventName:BI.Tab.EVENT_CHANGE,action:function(){var v=self.dateTab.getSelect();switch(v){case BI.DynamicYearCombo.Static:var date=BI.DynamicDateHelper.getCalculation(self.dynamicPane.getValue());self.year.setValue({year:date.getFullYear(),month:date.getMonth()+1}),self._setInnerValue();break;case BI.DynamicYearCombo.Dynamic:default:self.storeValue&&self.storeValue.type===BI.DynamicYearCombo.Dynamic?self.dynamicPane.setValue(self.storeValue.value):self.dynamicPane.setValue({year:0}),self._setInnerValue()}}}]}},setMinDate:function(minDate){this.options.min!==minDate&&(this.options.min=minDate,this.year.setMinDate(minDate))},setMaxDate:function(maxDate){this.options.max!==maxDate&&(this.options.max=maxDate,this.year.setMaxDate(maxDate))},setValue:function(v){this.storeValue=v;var self=this,type,value;switch(v=v||{},type=v.type||BI.DynamicDateCombo.Static,value=v.value||v,this.dateTab.setSelect(type),type){case BI.DynamicDateCombo.Dynamic:this.dynamicPane.setValue(value),self._setInnerValue();break;case BI.DynamicDateCombo.Static:default:this.year.setValue(value),this.textButton.setValue(BI.i18nText("BI-Basic_Current_Month")),this.textButton.setEnable(!0)}},getValue:function(){return{type:this.dateTab.getSelect(),value:this.dateTab.getValue()}}}),BI.DynamicYearMonthPopup.BUTTON_CLEAR_EVENT_CHANGE="BUTTON_CLEAR_EVENT_CHANGE",BI.DynamicYearMonthPopup.BUTTON_lABEL_EVENT_CHANGE="BUTTON_lABEL_EVENT_CHANGE",BI.DynamicYearMonthPopup.BUTTON_OK_EVENT_CHANGE="BUTTON_OK_EVENT_CHANGE",BI.DynamicYearMonthPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.dynamic_year_month_popup",BI.DynamicYearMonthPopup),BI.DynamicYearMonthTrigger=BI.inherit(BI.Trigger,{_const:{hgap:4,vgap:2},props:{extraCls:"bi-year-month-trigger",min:"1900-01-01",max:"2099-12-31",height:22},beforeInit:function(callback){var o=this.options;o.title=BI.bind(this._titleCreator,this),callback()},_init:function(){BI.DynamicYearMonthTrigger.superclass._init.apply(this,arguments);var o=this.options;this.yearEditor=this._createEditor(!0),this.monthEditor=this._createEditor(!1),BI.createWidget({element:this,type:"bi.htape",items:[{type:"bi.center",items:[{type:"bi.htape",items:[this.yearEditor,{el:{type:"bi.text_button",text:BI.i18nText("BI-Multi_Date_Year"),width:o.height},width:o.height}]},{type:"bi.htape",items:[this.monthEditor,{el:{type:"bi.text_button",text:BI.i18nText("BI-Multi_Date_Month"),width:o.height},width:o.height}]}]},{el:{type:"bi.trigger_icon_button",width:o.height},width:o.height}]}),this.setValue(o.value)},_createEditor:function(isYear){var self=this,o=this.options,c=this._const,minDate=BI.parseDateTime(o.min,"%Y-%X-%d"),editor=BI.createWidget({type:"bi.sign_editor",height:o.height,validationChecker:function(v){return isYear?""===v||BI.isPositiveInteger(v)&&!BI.checkDateVoid(v,v===minDate.getFullYear()?minDate.getMonth()+1:1,1,o.min,o.max)[0]:""===v||BI.isPositiveInteger(v)&&v>=1&&v<=12&&!BI.checkDateVoid(BI.getDate().getFullYear(),v,1,o.min,o.max)[0]},quitChecker:function(){return!1},watermark:BI.i18nText("BI-Basic_Unrestricted"),errorText:function(v){return BI.i18nText("BI-Year_Trigger_Invalid_Text")},
hgap:c.hgap,vgap:c.vgap,allowBlank:!0});return editor.on(BI.SignEditor.EVENT_KEY_DOWN,function(){self.fireEvent(BI.DynamicYearMonthTrigger.EVENT_KEY_DOWN)}),editor.on(BI.SignEditor.EVENT_FOCUS,function(){self.fireEvent(BI.DynamicYearMonthTrigger.EVENT_FOCUS)}),editor.on(BI.SignEditor.EVENT_STOP,function(){self.fireEvent(BI.DynamicYearMonthTrigger.EVENT_STOP)}),editor.on(BI.SignEditor.EVENT_CONFIRM,function(){self._doEditorConfirm(editor),self.fireEvent(BI.DynamicYearMonthTrigger.EVENT_CONFIRM)}),editor.on(BI.SignEditor.EVENT_SPACE,function(){editor.isValid()&&editor.blur()}),editor.on(BI.SignEditor.EVENT_START,function(){self.fireEvent(BI.DynamicYearMonthTrigger.EVENT_START)}),editor.on(BI.SignEditor.EVENT_ERROR,function(){self.fireEvent(BI.DynamicYearMonthTrigger.EVENT_ERROR)}),editor.on(BI.SignEditor.EVENT_VALID,function(){var year=self.yearEditor.getValue(),month=self.monthEditor.getValue();BI.isNotEmptyString(year)&&BI.isNotEmptyString(month)&&BI.isPositiveInteger(year)&&month>=1&&month<=12&&!BI.checkDateVoid(year,month,1,o.min,o.max)[0]&&self.fireEvent(BI.DynamicYearMonthTrigger.EVENT_VALID)}),editor.on(BI.SignEditor.EVENT_CHANGE,function(){isYear&&self._autoSwitch(editor)}),editor},_titleCreator:function(){var storeValue=this.storeValue||{},type=storeValue.type||BI.DynamicDateCombo.Static,value=storeValue.value;if(!this.monthEditor.isValid()||!this.yearEditor.isValid())return"";switch(type){case BI.DynamicDateCombo.Dynamic:var text=this._getText(value),date=BI.getDate();date=BI.DynamicDateHelper.getCalculation(value);var dateStr=BI.print(date,"%Y-%x");return BI.isEmptyString(text)?dateStr:text+":"+dateStr;case BI.DynamicDateCombo.Static:default:return value=value||{},this._getStaticTitle(value)}},_doEditorConfirm:function(editor){var value=editor.getValue();BI.isNotNull(value)&&editor.setValue(value);var monthValue=this.monthEditor.getValue();this.storeValue={type:BI.DynamicDateCombo.Static,value:{year:this.yearEditor.getValue(),month:BI.isEmptyString(this.monthEditor.getValue())?"":monthValue}}},_yearCheck:function(v){var date=BI.print(BI.parseDateTime(v,"%Y-%X-%d"),"%Y-%X-%d");return BI.print(BI.parseDateTime(v,"%Y"),"%Y")===v&&date>=this.options.min&&date<=this.options.max},_autoSwitch:function(editor){var v=editor.getValue();BI.isNotEmptyString(v)&&BI.checkDateLegal(v)&&4===v.length&&this._yearCheck(v)&&(this._doEditorConfirm(editor),this.fireEvent(BI.DynamicYearMonthTrigger.EVENT_CONFIRM),this.monthEditor.focus())},_getText:function(obj){var value="";return BI.isNotNull(obj.year)&&0!==BI.parseInt(obj.year)&&(value+=Math.abs(obj.year)+BI.i18nText("BI-Basic_Year")+(obj.year<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),BI.isNotNull(obj.month)&&0!==BI.parseInt(obj.month)&&(value+=Math.abs(obj.month)+BI.i18nText("BI-Basic_Month")+(obj.month<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),value},_setInnerValue:function(date,text){this.yearEditor.setValue(date.getFullYear()),this.monthEditor.setValue(date.getMonth()+1)},_getStaticTitle:function(value){value=value||{};var hasYear=!(BI.isNull(value.year)||BI.isEmptyString(value.year)),hasMonth=!(BI.isNull(value.month)||BI.isEmptyString(value.month));switch(hasYear<<1|hasMonth){case 0:return"";case 1:return value.month;case 2:return value.year;case 3:default:return value.year+"-"+value.month}},setValue:function(v){var type,value,date=BI.getDate();switch(this.storeValue=v,BI.isNotNull(v)&&(type=v.type||BI.DynamicDateCombo.Static,value=v.value||v),type){case BI.DynamicDateCombo.Dynamic:var text=this._getText(value);date=BI.DynamicDateHelper.getCalculation(value),this._setInnerValue(date,text);break;case BI.DynamicDateCombo.Static:default:value=value||{};var month=BI.isNull(value.month)?null:value.month;this.yearEditor.setValue(value.year),this.monthEditor.setValue(month)}},getValue:function(){return this.storeValue},getKey:function(){return this.yearEditor.getValue()+"-"+this.monthEditor.getValue()},isValid:function(){return this.yearEditor.isValid()&&this.monthEditor.isValid()}}),BI.DynamicYearMonthTrigger.EVENT_VALID="EVENT_VALID",BI.DynamicYearMonthTrigger.EVENT_FOCUS="EVENT_FOCUS",BI.DynamicYearMonthTrigger.EVENT_ERROR="EVENT_ERROR",BI.DynamicYearMonthTrigger.EVENT_START="EVENT_START",BI.DynamicYearMonthTrigger.EVENT_CONFIRM="EVENT_CONFIRM",BI.DynamicYearMonthTrigger.EVENT_STOP="EVENT_STOP",BI.DynamicYearMonthTrigger.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.shortcut("bi.dynamic_year_month_trigger",BI.DynamicYearMonthTrigger),BI.YearMonthInterval=BI.inherit(BI.Single,{constants:{height:24,width:25,lgap:15,offset:-15,timeErrorCls:"time-error"},props:{extraCls:"bi-year-month-interval",minDate:"1900-01-01",maxDate:"2099-12-31"},_init:function(){var self=this,o=this.options;BI.YearMonthInterval.superclass._init.apply(this,arguments),o.value=o.value||{},this.left=this._createCombo(o.value.start),this.right=this._createCombo(o.value.end),this.label=BI.createWidget({type:"bi.label",height:this.constants.height,width:this.constants.width,text:"-"}),BI.createWidget({element:self,type:"bi.center",hgap:15,height:this.constants.height,items:[{type:"bi.absolute",items:[{el:self.left,left:this.constants.offset,right:0,top:0,bottom:0}]},{type:"bi.absolute",items:[{el:self.right,left:0,right:this.constants.offset,top:0,bottom:0}]}]}),BI.createWidget({type:"bi.horizontal_auto",element:this,items:[self.label]})},_createCombo:function(v){var self=this,o=this.options,combo=BI.createWidget({type:"bi.dynamic_year_month_combo",behaviors:o.behaviors,value:v,listeners:[{eventName:BI.DynamicYearMonthCombo.EVENT_BEFORE_POPUPVIEW,action:function(){self.fireEvent(BI.YearMonthInterval.EVENT_BEFORE_POPUPVIEW)}}]});return combo.on(BI.DynamicYearMonthCombo.EVENT_ERROR,function(){self._clearTitle(),BI.Bubbles.hide("error"),self.element.removeClass(self.constants.timeErrorCls),self.fireEvent(BI.YearMonthInterval.EVENT_ERROR)}),combo.on(BI.DynamicYearMonthCombo.EVENT_VALID,function(){self._checkValid()}),combo.on(BI.DynamicYearMonthCombo.EVENT_FOCUS,function(){self._checkValid()}),combo.on(BI.DynamicYearMonthCombo.EVENT_BEFORE_POPUPVIEW,function(){self.left.hideView(),self.right.hideView()}),combo.on(BI.DynamicYearMonthCombo.EVENT_CONFIRM,function(){BI.Bubbles.hide("error");var smallDate=self.left.getKey(),bigDate=self.right.getKey();self.left.isValid()&&self.right.isValid()&&self._check(smallDate,bigDate)&&self._compare(smallDate,bigDate)?(self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")),self.element.addClass(self.constants.timeErrorCls),self.fireEvent(BI.YearMonthInterval.EVENT_ERROR)):(self._clearTitle(),self.element.removeClass(self.constants.timeErrorCls),self.fireEvent(BI.YearMonthInterval.EVENT_CHANGE))}),combo},_dateCheck:function(date){return BI.print(BI.parseDateTime(date,"%Y-%x"),"%Y-%x")===date||BI.print(BI.parseDateTime(date,"%Y-%X"),"%Y-%X")===date},_checkVoid:function(obj){var o=this.options;return!BI.checkDateVoid(obj.year,obj.month,1,o.minDate,o.maxDate)[0]},_check:function(smallDate,bigDate){var smallObj=smallDate.match(/\d+/g),bigObj=bigDate.match(/\d+/g),smallDate4Check="";BI.isNotNull(smallObj)&&(smallDate4Check=(smallObj[0]||"")+"-"+(smallObj[1]||1));var bigDate4Check="";return BI.isNotNull(bigObj)&&(bigDate4Check=(bigObj[0]||"")+"-"+(bigObj[1]||1)),this._dateCheck(smallDate4Check)&&BI.checkDateLegal(smallDate)&&this._checkVoid({year:smallObj[0],month:smallObj[1],day:1})&&this._dateCheck(bigDate4Check)&&BI.checkDateLegal(bigDate)&&this._checkVoid({year:bigObj[0],month:bigObj[1],day:1})},_compare:function(smallDate,bigDate){return smallDate=BI.print(BI.parseDateTime(smallDate,"%Y-%X"),"%Y-%X"),bigDate=BI.print(BI.parseDateTime(bigDate,"%Y-%X"),"%Y-%X"),BI.isNotNull(smallDate)&&BI.isNotNull(bigDate)&&smallDate>bigDate},_setTitle:function(v){this.setTitle(v)},_clearTitle:function(){this.setTitle("")},_checkValid:function(){var self=this;BI.Bubbles.hide("error");var smallDate=self.left.getKey(),bigDate=self.right.getKey();self.left.isValid()&&self.right.isValid()&&self._check(smallDate,bigDate)&&self._compare(smallDate,bigDate)?(self._setTitle(BI.i18nText("BI-Time_Interval_Error_Text")),self.element.addClass(self.constants.timeErrorCls),BI.Bubbles.show("error",BI.i18nText("BI-Time_Interval_Error_Text"),self,{offsetStyle:"center"}),self.fireEvent(BI.YearMonthInterval.EVENT_ERROR)):(self._clearTitle(),self.element.removeClass(self.constants.timeErrorCls))},setValue:function(date){date=date||{},this.left.setValue(date.start),this.right.setValue(date.end),this._checkValid()},getValue:function(){return{start:this.left.getValue(),end:this.right.getValue()}}}),BI.YearMonthInterval.EVENT_VALID="EVENT_VALID",BI.YearMonthInterval.EVENT_ERROR="EVENT_ERROR",BI.YearMonthInterval.EVENT_CHANGE="EVENT_CHANGE",BI.YearMonthInterval.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.year_month_interval",BI.YearMonthInterval),BI.DynamicYearQuarterCard=BI.inherit(BI.Widget,{props:{baseCls:"bi-year-month-card"},render:function(){var self=this;return{type:"bi.vertical",items:[{type:"bi.label",text:BI.i18nText("BI-Multi_Date_Relative_Current_Time"),textAlign:"left",height:24},{type:"bi.dynamic_date_param_item",ref:function(){self.year=this},listeners:[{eventName:"EVENT_CHANGE",action:function(){self.fireEvent("EVENT_CHANGE")}}]},{type:"bi.dynamic_date_param_item",dateType:BI.DynamicDateCard.TYPE.QUARTER,ref:function(){self.quarter=this},listeners:[{eventName:"EVENT_CHANGE",action:function(){self.fireEvent("EVENT_CHANGE")}}]}],vgap:10,hgap:10}},_createValue:function(type,v){return{dateType:type,value:Math.abs(v),offset:v>0?1:0}},setValue:function(v){v=v||{year:0,month:0},this.year.setValue(this._createValue(BI.DynamicDateCard.TYPE.YEAR,v.year)),this.quarter.setValue(this._createValue(BI.DynamicDateCard.TYPE.QUARTER,v.quarter))},getValue:function(){var year=this.year.getValue(),quarter=this.quarter.getValue();return{year:0===year.offset?-year.value:year.value,quarter:0===quarter.offset?-quarter.value:quarter.value}}}),BI.DynamicYearQuarterCard.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.dynamic_year_quarter_card",BI.DynamicYearQuarterCard),BI.StaticYearQuarterCard=BI.inherit(BI.Widget,{props:{baseCls:"bi-static-year-quarter-card",behaviors:{}},_createQuarter:function(){var items=[{text:BI.Date._QN[1],value:1},{text:BI.Date._QN[2],value:2},{text:BI.Date._QN[3],value:3},{text:BI.Date._QN[4],value:4}];return BI.map(items,function(j,item){return BI.extend(item,{type:"bi.text_item",cls:"bi-list-item-select",textAlign:"center",whiteSpace:"nowrap",once:!1,forceSelected:!0,height:24})})},render:function(){var self=this,o=this.options;return{type:"bi.vertical",items:[{type:"bi.year_picker",ref:function(){self.yearPicker=this},behaviors:o.behaviors,height:30,listeners:[{eventName:BI.YearPicker.EVENT_CHANGE,action:function(){var value=this.getValue();self.setValue({year:value,quarter:self.selectedQuarter})}}]},{type:"bi.button_group",behaviors:o.behaviors,ref:function(){self.quarter=this},items:this._createQuarter(),layouts:[{type:"bi.vertical",vgap:10}],value:o.value,listeners:[{eventName:BI.ButtonGroup.EVENT_CHANGE,action:function(){self.selectedYear=self.yearPicker.getValue(),self.selectedQuarter=this.getValue()[0],self.fireEvent(BI.StaticYearQuarterCard.EVENT_CHANGE)}}]}]}},getValue:function(){return{year:this.selectedYear,quarter:this.selectedQuarter}},setValue:function(obj){var o=this.options,newObj={};if(newObj.year=obj.year||0,newObj.quarter=obj.quarter||0,0===newObj.quarter||0===newObj.year||BI.checkDateVoid(newObj.year,newObj.quarter,1,o.min,o.max)[0]){var year=newObj.year||BI.getDate().getFullYear();this.selectedYear=year,this.selectedQuarter="",this.yearPicker.setValue(year),this.quarter.setValue()}else this.selectedYear=BI.parseInt(newObj.year),this.selectedQuarter=BI.parseInt(newObj.quarter),this.yearPicker.setValue(this.selectedYear),this.quarter.setValue(this.selectedQuarter)}}),BI.StaticYearQuarterCard.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.static_year_quarter_card",BI.StaticYearQuarterCard),BI.DynamicYearQuarterCombo=BI.inherit(BI.Widget,{props:{baseCls:"bi-year-quarter-combo bi-border bi-focus-shadow",behaviors:{},min:"1900-01-01",max:"2099-12-31",height:22},_init:function(){BI.DynamicYearQuarterCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;this.storeValue=o.value,self.storeTriggerValue="",this.trigger=BI.createWidget({type:"bi.dynamic_year_quarter_trigger",min:o.min,max:o.max,height:o.height,value:o.value||""}),this.trigger.on(BI.DynamicYearQuarterTrigger.EVENT_KEY_DOWN,function(){self.combo.isViewVisible()&&self.combo.hideView()}),this.trigger.on(BI.DynamicYearQuarterTrigger.EVENT_START,function(){self.combo.isViewVisible()&&self.combo.hideView()}),this.trigger.on(BI.DynamicYearQuarterTrigger.EVENT_STOP,function(){self.combo.showView()}),this.trigger.on(BI.DynamicYearQuarterTrigger.EVENT_ERROR,function(){self.combo.isViewVisible()&&self.combo.hideView()}),this.trigger.on(BI.DynamicYearQuarterTrigger.EVENT_CONFIRM,function(){var dateStore=self.storeTriggerValue,dateObj=self.trigger.getKey();BI.isNotEmptyString(dateObj)&&!BI.isEqual(dateObj,dateStore)&&(self.storeValue=self.trigger.getValue(),self.setValue(self.trigger.getValue())),self._checkDynamicValue(self.storeValue),self.fireEvent(BI.DynamicYearQuarterCombo.EVENT_CONFIRM)}),this.trigger.on(BI.DynamicYearQuarterTrigger.EVENT_FOCUS,function(){self.storeTriggerValue=self.trigger.getKey()}),this.combo=BI.createWidget({type:"bi.combo",container:o.container,isNeedAdjustHeight:!1,isNeedAdjustWidth:!1,el:this.trigger,popup:{minWidth:85,stopPropagation:!1,el:{type:"bi.dynamic_year_quarter_popup",ref:function(){self.popup=this},listeners:[{eventName:BI.DynamicYearQuarterPopup.EVENT_CHANGE,action:function(){self.setValue(self.popup.getValue()),self.combo.hideView(),self.fireEvent(BI.DynamicYearQuarterCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicYearQuarterPopup.BUTTON_CLEAR_EVENT_CHANGE,action:function(){self.setValue(),self.combo.hideView(),self.fireEvent(BI.DynamicYearQuarterCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicYearQuarterPopup.BUTTON_lABEL_EVENT_CHANGE,action:function(){var date=BI.getDate();self.setValue({type:BI.DynamicYearMonthCombo.Static,value:{year:date.getFullYear(),quarter:BI.getQuarter(date)}}),self.combo.hideView(),self.fireEvent(BI.DynamicDateCombo.EVENT_CONFIRM)}},{eventName:BI.DynamicYearQuarterPopup.BUTTON_OK_EVENT_CHANGE,action:function(){self.setValue(self.popup.getValue()),self.combo.hideView(),self.fireEvent(BI.DynamicDateCombo.EVENT_CONFIRM)}}],behaviors:o.behaviors,min:o.min,max:o.max},value:o.value||""}}),this.combo.on(BI.Combo.EVENT_BEFORE_POPUPVIEW,function(){self.popup.setValue(self.storeValue),self.fireEvent(BI.DynamicYearQuarterCombo.EVENT_BEFORE_POPUPVIEW)}),BI.createWidget({type:"bi.htape",element:this,ref:function(){self.comboWrapper=this},items:[{el:{type:"bi.icon_button",cls:"bi-trigger-icon-button date-change-h-font",width:24,height:24,ref:function(){self.changeIcon=this}},width:24},this.combo]}),this._checkDynamicValue(o.value)},_checkDynamicValue:function(v){var type=null;switch(BI.isNotNull(v)&&(type=v.type),type){case BI.DynamicYearQuarterCombo.Dynamic:this.changeIcon.setVisible(!0),this.comboWrapper.attr("items")[0].width=24,this.comboWrapper.resize();break;default:this.comboWrapper.attr("items")[0].width=0,this.comboWrapper.resize(),this.changeIcon.setVisible(!1)}},setValue:function(v){this.storeValue=v,this.trigger.setValue(v),this._checkDynamicValue(v)},getValue:function(){return this.storeValue}}),BI.DynamicYearQuarterCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.DynamicYearQuarterCombo.EVENT_BEFORE_POPUPVIEW="EVENT_BEFORE_POPUPVIEW",BI.shortcut("bi.dynamic_year_quarter_combo",BI.DynamicYearQuarterCombo),BI.extend(BI.DynamicYearQuarterCombo,{Static:1,Dynamic:2}),BI.DynamicYearQuarterPopup=BI.inherit(BI.Widget,{constants:{tabHeight:30,buttonHeight:24},props:{baseCls:"bi-year-quarter-popup",behaviors:{},min:"1900-01-01",max:"2099-12-31",width:180,height:240},render:function(){var self=this,opts=this.options,c=this.constants;return this.storeValue={type:BI.DynamicYearQuarterCombo.Static},{type:"bi.vtape",items:[{el:this._getTabJson()},{el:{type:"bi.grid",items:[[{type:"bi.text_button",cls:"bi-split-top bi-high-light",shadow:!0,textHeight:c.buttonHeight-1,text:BI.i18nText("BI-Basic_Clear"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearQuarterPopup.BUTTON_CLEAR_EVENT_CHANGE)}}]},{type:"bi.text_button",cls:"bi-split-left bi-split-right bi-high-light bi-split-top",textHeight:c.buttonHeight-1,shadow:!0,text:BI.i18nText("BI-Basic_Current_Quarter"),ref:function(){self.textButton=this},listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearQuarterPopup.BUTTON_lABEL_EVENT_CHANGE)}}]},{type:"bi.text_button",cls:"bi-split-top bi-high-light",shadow:!0,textHeight:c.buttonHeight-1,text:BI.i18nText("BI-Basic_OK"),listeners:[{eventName:BI.TextButton.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearQuarterPopup.BUTTON_OK_EVENT_CHANGE)}}]}]]},height:24}]}},_setInnerValue:function(){if(this.dateTab.getSelect()===BI.DynamicYearQuarterCombo.Static)this.textButton.setValue(BI.i18nText("BI-Basic_Current_Quarter")),this.textButton.setEnable(!0);else{var date=BI.DynamicDateHelper.getCalculation(this.dynamicPane.getValue());date=BI.print(date,"%Y-%Q"),this.textButton.setValue(date),this.textButton.setEnable(!1)}},_getTabJson:function(){var self=this,o=this.options;return{type:"bi.tab",ref:function(){self.dateTab=this},tab:{type:"bi.linear_segment",cls:"bi-split-bottom",height:this.constants.tabHeight,items:BI.createItems([{text:BI.i18nText("BI-Basic_Year_Quarter"),value:BI.DynamicYearQuarterCombo.Static},{text:BI.i18nText("BI-Basic_Dynamic_Title"),value:BI.DynamicYearQuarterCombo.Dynamic}],{textAlign:"center"})},cardCreator:function(v){switch(v){case BI.DynamicYearQuarterCombo.Dynamic:return{type:"bi.dynamic_year_quarter_card",listeners:[{eventName:"EVENT_CHANGE",action:function(){self._setInnerValue(self.year,v)}}],ref:function(){self.dynamicPane=this}};case BI.DynamicYearQuarterCombo.Static:default:return{type:"bi.static_year_quarter_card",behaviors:o.behaviors,min:self.options.min,max:self.options.max,listeners:[{eventName:BI.DynamicYearCard.EVENT_CHANGE,action:function(){self.fireEvent(BI.DynamicYearQuarterPopup.EVENT_CHANGE)}}],ref:function(){self.year=this}}}},listeners:[{eventName:BI.Tab.EVENT_CHANGE,action:function(){var v=self.dateTab.getSelect();switch(v){case BI.DynamicYearQuarterCombo.Static:var date=BI.DynamicDateHelper.getCalculation(self.dynamicPane.getValue());self.year.setValue({year:date.getFullYear(),quarter:BI.getQuarter(date)}),self._setInnerValue();break;case BI.DynamicYearQuarterCombo.Dynamic:default:self.storeValue&&self.storeValue.type===BI.DynamicYearQuarterCombo.Dynamic?self.dynamicPane.setValue(self.storeValue.value):self.dynamicPane.setValue({year:0}),self._setInnerValue()}}}]}},setValue:function(v){this.storeValue=v;var self=this,type,value;switch(v=v||{},type=v.type||BI.DynamicDateCombo.Static,value=v.value||v,this.dateTab.setSelect(type),type){case BI.DynamicDateCombo.Dynamic:this.dynamicPane.setValue(value),self._setInnerValue();break;case BI.DynamicDateCombo.Static:default:this.year.setValue(value),this.textButton.setValue(BI.i18nText("BI-Basic_Current_Quarter")),this.textButton.setEnable(!0)}},getValue:function(){return{type:this.dateTab.getSelect(),value:this.dateTab.getValue()}}}),BI.DynamicYearQuarterPopup.BUTTON_CLEAR_EVENT_CHANGE="BUTTON_CLEAR_EVENT_CHANGE",BI.DynamicYearQuarterPopup.BUTTON_lABEL_EVENT_CHANGE="BUTTON_lABEL_EVENT_CHANGE",BI.DynamicYearQuarterPopup.BUTTON_OK_EVENT_CHANGE="BUTTON_OK_EVENT_CHANGE",BI.DynamicYearQuarterPopup.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.dynamic_year_quarter_popup",BI.DynamicYearQuarterPopup),BI.DynamicYearQuarterTrigger=BI.inherit(BI.Trigger,{_const:{hgap:4,vgap:2},props:{extraCls:"bi-year-quarter-trigger",min:"1900-01-01",max:"2099-12-31",height:22},_init:function(){BI.DynamicYearQuarterTrigger.superclass._init.apply(this,arguments);var o=this.options;this.yearEditor=this._createEditor(!0),this.quarterEditor=this._createEditor(!1),BI.createWidget({element:this,type:"bi.htape",items:[{type:"bi.center",items:[{type:"bi.htape",items:[this.yearEditor,{el:{type:"bi.text_button",text:BI.i18nText("BI-Multi_Date_Year"),width:o.height},width:o.height}]},{type:"bi.htape",items:[this.quarterEditor,{el:{type:"bi.text_button",text:BI.i18nText("BI-Multi_Date_Quarter"),width:24},width:24}]}]},{el:{type:"bi.trigger_icon_button",width:o.height},width:o.height}]}),this.setValue(o.value)},_createEditor:function(isYear){var self=this,o=this.options,c=this._const,editor=BI.createWidget({type:"bi.sign_editor",height:o.height,validationChecker:function(v){return isYear?""===v||BI.isPositiveInteger(v)&&!BI.checkDateVoid(v,1,1,o.min,o.max)[0]:""===v||BI.isPositiveInteger(v)&&v>=1&&v<=4&&!BI.checkDateVoid(BI.getDate().getFullYear(),v,1,o.min,o.max)[0]},quitChecker:function(){return!1},errorText:function(v){return BI.i18nText("BI-Year_Trigger_Invalid_Text")},watermark:BI.i18nText("BI-Basic_Unrestricted"),hgap:c.hgap,vgap:c.vgap,title:"",allowBlank:!0});return editor.on(BI.SignEditor.EVENT_KEY_DOWN,function(){self.fireEvent(BI.DynamicYearQuarterTrigger.EVENT_KEY_DOWN)}),editor.on(BI.SignEditor.EVENT_FOCUS,function(){self.fireEvent(BI.DynamicYearQuarterTrigger.EVENT_FOCUS)}),editor.on(BI.SignEditor.EVENT_STOP,function(){self.fireEvent(BI.DynamicYearQuarterTrigger.EVENT_STOP)}),editor.on(BI.SignEditor.EVENT_CONFIRM,function(){self._doEditorConfirm(editor),self.fireEvent(BI.DynamicYearQuarterTrigger.EVENT_CONFIRM)}),editor.on(BI.SignEditor.EVENT_SPACE,function(){editor.isValid()&&editor.blur()}),editor.on(BI.SignEditor.EVENT_START,function(){self.fireEvent(BI.DynamicYearQuarterTrigger.EVENT_START)}),editor.on(BI.SignEditor.EVENT_ERROR,function(){self.fireEvent(BI.DynamicYearQuarterTrigger.EVENT_ERROR)}),editor.on(BI.SignEditor.EVENT_CHANGE,function(){isYear&&self._autoSwitch(editor)}),editor},_doEditorConfirm:function(editor){var value=editor.getValue();BI.isNotNull(value)&&editor.setValue(value);var quarterValue=this.quarterEditor.getValue();this.storeValue={type:BI.DynamicYearQuarterCombo.Static,value:{year:this.yearEditor.getValue(),quarter:BI.isEmptyString(this.quarterEditor.getValue())?"":quarterValue}},this.setTitle(this._getStaticTitle(this.storeValue.value))},_yearCheck:function(v){var date=BI.print(BI.parseDateTime(v,"%Y-%X-%d"),"%Y-%X-%d");return BI.print(BI.parseDateTime(v,"%Y"),"%Y")===v&&date>=this.options.min&&date<=this.options.max},_autoSwitch:function(editor){var v=editor.getValue();BI.isNotEmptyString(v)&&BI.checkDateLegal(v)&&4===v.length&&this._yearCheck(v)&&(this._doEditorConfirm(editor),this.fireEvent(BI.DynamicYearQuarterTrigger.EVENT_CONFIRM),this.quarterEditor.focus())},_getStaticTitle:function(value){value=value||{};var hasYear=!(BI.isNull(value.year)||BI.isEmptyString(value.year)),hasMonth=!(BI.isNull(value.quarter)||BI.isEmptyString(value.quarter));switch(hasYear<<1|hasMonth){case 0:return"";case 1:return value.quarter;case 2:return value.year;case 3:default:return value.year+"-"+value.quarter}},_getText:function(obj){var value="";return BI.isNotNull(obj.year)&&0!==BI.parseInt(obj.year)&&(value+=Math.abs(obj.year)+BI.i18nText("BI-Basic_Year")+(obj.year<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),BI.isNotNull(obj.quarter)&&0!==BI.parseInt(obj.quarter)&&(value+=Math.abs(obj.quarter)+BI.i18nText("BI-Basic_Single_Quarter")+(obj.quarter<0?BI.i18nText("BI-Basic_Front"):BI.i18nText("BI-Basic_Behind"))),value},_setInnerValue:function(date,text){var dateStr=BI.print(date,"%Y-%Q");this.yearEditor.setValue(date.getFullYear()),this.quarterEditor.setValue(BI.getQuarter(date)),this.setTitle(BI.isEmptyString(text)?dateStr:text+":"+dateStr)},setValue:function(v){var type,value,date=BI.getDate();switch(this.storeValue=v,BI.isNotNull(v)&&(type=v.type||BI.DynamicYearQuarterCombo.Static,value=v.value||v),type){case BI.DynamicYearQuarterCombo.Dynamic:var text=this._getText(value);date=BI.DynamicDateHelper.getCalculation(value),this._setInnerValue(date,text);break;case BI.DynamicYearQuarterCombo.Static:default:value=value||{};var quarter=BI.isNull(value.quarter)?null:value.quarter;this.yearEditor.setValue(value.year),this.yearEditor.setTitle(value.year),this.quarterEditor.setValue(quarter),this.quarterEditor.setTitle(quarter),this.setTitle(this._getStaticTitle(value))}},getValue:function(){return this.storeValue},getKey:function(){return this.yearEditor.getValue()+"-"+this.quarterEditor.getValue()}}),BI.DynamicYearQuarterTrigger.EVENT_FOCUS="EVENT_FOCUS",BI.DynamicYearQuarterTrigger.EVENT_ERROR="EVENT_ERROR",BI.DynamicYearQuarterTrigger.EVENT_START="EVENT_START",BI.DynamicYearQuarterTrigger.EVENT_CONFIRM="EVENT_CONFIRM",BI.DynamicYearQuarterTrigger.EVENT_STOP="EVENT_STOP",BI.DynamicYearQuarterTrigger.EVENT_KEY_DOWN="EVENT_KEY_DOWN",BI.shortcut("bi.dynamic_year_quarter_trigger",BI.DynamicYearQuarterTrigger),BI.AbstractAllValueChooser=BI.inherit(BI.Widget,{_const:{perPage:100},_defaultConfig:function(){return BI.extend(BI.AbstractAllValueChooser.superclass._defaultConfig.apply(this,arguments),{width:200,height:30,items:null,itemsCreator:BI.emptyFn,cache:!0})},_valueFormatter:function(v){var text=v;return BI.isNotNull(this.items)&&BI.some(this.items,function(i,item){if(item.value===v||item.value+""===v)return text=item.text,!0}),text},_itemsCreator:function(options,callback){function call(items){var keywords=(options.keywords||[]).slice();options.keyword&&keywords.push(options.keyword);var resultItems=items;if(BI.isNotEmptyArray(keywords)&&(resultItems=[],BI.each(keywords,function(i,kw){var search=BI.Func.getSearchResult(items,kw);resultItems=resultItems.concat(search.match).concat(search.find)}),resultItems=BI.uniq(resultItems)),options.selectedValues){var filter=BI.makeObject(options.selectedValues,!0);resultItems=BI.filter(resultItems,function(i,ob){return!filter[ob.value]})}return options.type===BI.MultiSelectCombo.REQ_GET_ALL_DATA?void callback({items:resultItems}):options.type===BI.MultiSelectCombo.REQ_GET_DATA_LENGTH?void callback({count:resultItems.length}):void callback({items:resultItems,hasNext:!1})}var self=this,o=this.options;o.cache&&this.items?call(this.items):o.itemsCreator({},function(items){self.items=items,call(items)})}}),BI.AllValueChooserCombo=BI.inherit(BI.AbstractAllValueChooser,{_defaultConfig:function(){return BI.extend(BI.AllValueChooserCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-all-value-chooser-combo",width:200,height:24,items:null,itemsCreator:BI.emptyFn,cache:!0})},_init:function(){BI.AllValueChooserCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;BI.isNotNull(o.items)&&(this.items=o.items),this.combo=BI.createWidget({type:"bi.multi_select_combo",text:o.text,element:this,itemsCreator:BI.bind(this._itemsCreator,this),valueFormatter:BI.bind(this._valueFormatter,this),width:o.width,height:o.height,value:{type:BI.Selection.Multi,value:o.value||[]}}),this.combo.on(BI.MultiSelectCombo.EVENT_CONFIRM,function(){self.fireEvent(BI.AllValueChooserCombo.EVENT_CONFIRM)})},setValue:function(v){this.combo.setValue({type:BI.Selection.Multi,value:v||[]})},getValue:function(){var val=this.combo.getValue()||{};return val.type===BI.Selection.All?val.assist:val.value||[]},populate:function(items){this.items=items,this.combo.populate.apply(this,arguments)}}),BI.AllValueChooserCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.all_value_chooser_combo",BI.AllValueChooserCombo),BI.AllValueChooserPane=BI.inherit(BI.AbstractAllValueChooser,{_defaultConfig:function(){return BI.extend(BI.AllValueChooserPane.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-all-value-chooser-pane",width:200,height:30,items:null,itemsCreator:BI.emptyFn,cache:!0})},_init:function(){BI.AllValueChooserPane.superclass._init.apply(this,arguments);var self=this,o=this.options;BI.isNotNull(o.items)&&(this.items=o.items),this.list=BI.createWidget({type:"bi.multi_select_list",element:this,itemsCreator:BI.bind(this._itemsCreator,this),valueFormatter:BI.bind(this._valueFormatter,this),width:o.width,height:o.height}),this.list.on(BI.MultiSelectList.EVENT_CHANGE,function(){self.fireEvent(BI.AllValueChooserPane.EVENT_CHANGE)})},setValue:function(v){this.list.setValue({type:BI.Selection.Multi,value:v||[]})},getValue:function(){var val=this.list.getValue()||{};return val.type===BI.Selection.All?val.assist:val.value||[]},populate:function(items){this.items=items,this.list.populate.apply(this.list,arguments)}}),BI.AllValueChooserPane.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.all_value_chooser_pane",BI.AllValueChooserPane),BI.AllValueMultiTextValueCombo=BI.inherit(BI.Widget,{props:{baseCls:"bi-all-value-multi-text-value-combo",width:200,height:24,items:[]},render:function(){var self=this,o=this.options,value=this._digestValue(o.value);return{type:"bi.search_multi_text_value_combo",text:o.text,height:o.height,items:o.items,value:value,numOfPage:100,valueFormatter:o.valueFormatter,warningTitle:o.warningTitle,listeners:[{eventName:BI.SearchMultiTextValueCombo.EVENT_CONFIRM,action:function(){self.fireEvent(BI.AllValueMultiTextValueCombo.EVENT_CONFIRM)}}],ref:function(){self.combo=this}}},setValue:function(v){var value=this._digestValue(v);this.combo.setValue(value)},getValue:function(){var obj=this.combo.getValue()||{};if(obj.value=obj.value||[],obj.type===BI.Selection.All){var values=[];return BI.each(this.options.items,function(idx,item){!BI.contains(obj.value,item.value)&&values.push(item.value)}),values}return obj.value||[]},populate:function(items){this.options.items=items,this.combo.populate.apply(this,arguments)},_digestValue:function(v){return{type:BI.Selection.Multi,value:v||[]}}}),BI.AllValueMultiTextValueCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.all_value_multi_text_value_combo",BI.AllValueMultiTextValueCombo),BI.AbstractTreeValueChooser=BI.inherit(BI.Widget,{_const:{perPage:100},_defaultConfig:function(){return BI.extend(BI.AbstractTreeValueChooser.superclass._defaultConfig.apply(this,arguments),{items:null,itemsCreator:BI.emptyFn,open:!1})},_valueFormatter:function(v){var text=v;return BI.isNotNull(this.items)&&BI.some(this.items,function(i,item){if(item.value===v||item.value+""===v)return text=item.text,!0}),text},_initData:function(items){this.items=items;var nodes=BI.Tree.treeFormat(items);this.tree=new BI.Tree,this.tree.initTree(nodes)},_itemsCreator:function(options,callback){function call(){switch(options.type){case BI.TreeView.REQ_TYPE_INIT_DATA:self._reqInitTreeNode(options,callback);break;case BI.TreeView.REQ_TYPE_ADJUST_DATA:self._reqAdjustTreeNode(options,callback);break;case BI.TreeView.REQ_TYPE_SELECT_DATA:self._reqSelectedTreeNode(options,callback);break;case BI.TreeView.REQ_TYPE_GET_SELECTED_DATA:self._reqDisplayTreeNode(options,callback);break;default:self._reqTreeNode(options,callback)}}var self=this,o=this.options;this.items?call():o.itemsCreator({},function(items){self._initData(items),call()})},_reqDisplayTreeNode:function(op,callback){function doCheck(parentValues,node,selected){return null==selected||BI.isEmpty(selected)?void BI.each(node.getChildren(),function(i,child){var newParents=BI.clone(parentValues);newParents.push(child.value);var llen=self._getChildCount(newParents);createOneJson(child,node.id,llen),doCheck(newParents,child,{})}):void BI.each(selected,function(k){var node=self._getTreeNode(parentValues,k);if(BI.isNull(node))createOneJson({id:BI.UUID(),text:k,value:k},BI.UUID(),0);else{var newParents=BI.clone(parentValues);newParents.push(node.value),createOneJson(node,node.parent&&node.parent.id,getCount(selected[k],newParents)),doCheck(newParents,node,selected[k])}})}function getCount(jo,parentValues){return null==jo?0:BI.isEmpty(jo)?self._getChildCount(parentValues):BI.size(jo)}function createOneJson(node,pId,llen){result.push({id:node.id,pId:pId,text:node.text+(llen>0?"("+BI.i18nText("BI-Basic_Altogether")+llen+BI.i18nText("BI-Basic_Count")+")":""),
value:node.value,open:!0})}var self=this,result=[],selectedValues=op.selectedValues;return null==selectedValues||BI.isEmpty(selectedValues)?void callback({}):(doCheck([],this.tree.getRoot(),selectedValues),void callback({items:result}))},_reqSelectedTreeNode:function(op,callback){function dealWithSelectedValues(selectedValues){var p=parentValues.concat(notSelectedValue);if(canFindKey(selectedValues,p))if(isSearchValueInParent(p))self._deleteNode(selectedValues,p);else{var searched=[],find=search(parentValues,notSelectedValue,[],searched);find&&BI.isNotEmptyArray(searched)&&BI.each(searched,function(i,arr){var node=self._getNode(selectedValues,arr);node?self._deleteNode(selectedValues,arr):expandSelectedValue(selectedValues,arr,BI.last(arr))})}if(isChild(selectedValues,p)){var result=[],find=!1;isSearchValueInParent(p)?find=!0:(find=search(parentValues,notSelectedValue,result),p=parentValues),find===!0&&(expandSelectedValue(selectedValues,p,notSelectedValue),result.length>0&&BI.each(result,function(i,strs){self._buildTree(selectedValues,strs)}))}}function expandSelectedValue(selectedValues,parents,notSelectedValue){var next=selectedValues,childrenCount=[],path=[];BI.some(parents,function(i,v){var t=next[v];if(null==t){if(0===i)return!0;if(!BI.isEmpty(next))return!0;var split=parents.slice(0,i),expanded=self._getChildren(split);if(path.push(split),childrenCount.push(expanded.length),i===parents.length-1&&1===expanded.length&&expanded[0].value===notSelectedValue)for(var j=childrenCount.length-1;j>=0&&1===childrenCount[j];j--)self._deleteNode(selectedValues,path[j]);else BI.each(expanded,function(m,child){return i===parents.length-1&&child.value===notSelectedValue||void(next[child.value]={})});next=next[v]}else next=t})}function search(parents,current,result,searched){var newParents=BI.clone(parents);if(newParents.push(current),self._isMatch(parents,current,keyword))return searched&&searched.push(newParents),!0;var children=self._getChildren(newParents),notSearch=[],can=!1;return BI.each(children,function(i,child){search(newParents,child.value,result,searched)?can=!0:notSearch.push(child.value)}),can===!0&&BI.each(notSearch,function(i,v){var next=BI.clone(newParents);next.push(v),result.push(next)}),can}function isSearchValueInParent(parentValues){for(var i=0,len=parentValues.length;i<len;i++)if(self._isMatch(parentValues.slice(0,i),parentValues[i],keyword))return!0;return!1}function canFindKey(selectedValues,parents){for(var t=selectedValues,i=0;i<parents.length;i++){var v=parents[i];if(t=t[v],null==t)return!1}return!0}function isChild(selectedValues,parents){for(var t=selectedValues,i=0;i<parents.length;i++){var v=parents[i];if(!BI.has(t,v))return!1;if(t=t[v],BI.isEmpty(t))return!0}return!1}var self=this,selectedValues=BI.deepClone(op.selectedValues),notSelectedValue=op.notSelectedValue||{},keyword=op.keyword||"",parentValues=op.parentValues||[];return null==selectedValues||BI.isEmpty(selectedValues)?void callback({}):(dealWithSelectedValues(selectedValues),void callback(selectedValues))},_reqAdjustTreeNode:function(op,callback){function dealWithSelectedValues(selected,parents){if(null==selected||BI.isEmpty(selected))return!0;var can=!0;return BI.each(selected,function(k,v){var p=BI.clone(parents);p.push(k),dealWithSelectedValues(selected[k],p)||(BI.each(selected[k],function(nk,nv){var t=BI.clone(p);t.push(nk),result.push(t)}),can=!1)}),can&&isAllSelected(selected,parents)}function isAllSelected(selected,parents){return BI.isEmpty(selected)||self._getChildCount(parents)===BI.size(selected)}var self=this,result=[],selectedValues=op.selectedValues;if(null==selectedValues||BI.isEmpty(selectedValues))return void callback({});BI.each(selectedValues,function(k,v){result.push([k])}),dealWithSelectedValues(selectedValues,[]);var jo={};BI.each(result,function(i,strs){self._buildTree(jo,strs)}),callback(jo)},_reqInitTreeNode:function(op,callback){function search(){var children=self._getChildren([]),start=children.length;if(""!==lastSearchValue){for(var j=0,len=start;j<len;j++)if(children[j].value===lastSearchValue){start=j+1;break}}else start=0;for(var output=[],i=start,len=children.length;i<len;i++){if(output.length<self._const.perPage)var find=nodeSearch(1,[],children[i].value,!1,result);else if(output.length===self._const.perPage)var find=nodeSearch(1,[],children[i].value,!1,[]);if(find[0]===!0&&output.push(children[i].value),output.length>self._const.perPage)break}if(1===op.times){var nodes=self._getAddedValueNode([],selectedValues);result=BI.concat(BI.filter(nodes,function(idx,node){var find=BI.Func.getSearchResult([node.text||node.value],keyword);return find.find.length>0||find.match.length>0}),result)}return output}function nodeSearch(deep,parentValues,current,isAllSelect,result){if(self._isMatch(parentValues,current,keyword)){var checked=isAllSelect||isSelected(parentValues,current);return createOneJson(parentValues,current,!1,checked,!isAllSelect&&isHalf(parentValues,current),!0,result),[!0,checked]}var newParents=BI.clone(parentValues);newParents.push(current);var children=self._getChildren(newParents),can=!1,checked=!1,isCurAllSelected=isAllSelect||isAllSelected(parentValues,current);return BI.each(children,function(i,child){var state=nodeSearch(deep+1,newParents,child.value,isCurAllSelected,result);state[1]===!0&&(checked=!0),state[0]===!0&&(can=!0)}),can===!0&&(checked=isCurAllSelected||isSelected(parentValues,current)&&checked,createOneJson(parentValues,current,!0,checked,!1,!1,result)),[can,checked]}function createOneJson(parentValues,value,isOpen,checked,half,flag,result){var node=self._getTreeNode(parentValues,value);result.push({id:node.id,pId:node.pId,text:node.text,value:node.value,title:node.title,isParent:node.getChildrenLength()>0,open:isOpen,checked:checked,halfCheck:half,flag:flag})}function isHalf(parentValues,value){var find=findSelectedObj(parentValues);return null==find?null:BI.any(find,function(v,ob){if(v===value&&null!=ob&&!BI.isEmpty(ob))return!0})}function isAllSelected(parentValues,value){var find=findSelectedObj(parentValues);return null==find?null:BI.any(find,function(v,ob){if(v===value&&null!=ob&&BI.isEmpty(ob))return!0})}function isSelected(parentValues,value){var find=findSelectedObj(parentValues);return null!=find&&BI.any(find,function(v){if(v===value)return!0})}function findSelectedObj(parentValues){var find=selectedValues;return null==find?null:(BI.every(parentValues,function(i,v){return find=find[v],null!=find}),find)}var self=this,result=[],keyword=op.keyword||"",selectedValues=op.selectedValues,lastSearchValue=op.lastSearchValue||"",output=search();BI.nextTick(function(){callback({hasNext:output.length>self._const.perPage,items:result,lastSearchValue:BI.last(output)})})},_reqTreeNode:function(op,callback){function judgeState(parentValues,selected_value,checkState){var checked=checkState.checked,half=checkState.half;return!(parentValues.length>0&&!checked)&&(0===parentValues.length||checked&&half&&!BI.isEmpty(selected_value))}function dealWithSelectedValue(parentValues,selectedValues){var valueMap={};return BI.each(parentValues,function(i,v){selectedValues=selectedValues[v]||{}}),BI.each(selectedValues,function(value,obj){if(BI.isNull(obj))return void(valueMap[value]=[0,0]);if(BI.isEmpty(obj))return void(valueMap[value]=[2,0]);var nextNames={};BI.each(obj,function(t,o){(BI.isNull(o)||BI.isEmpty(o))&&(nextNames[t]=!0)}),valueMap[value]=[1,BI.size(nextNames)]}),valueMap}function getCheckState(current,parentValues,valueMap,checkState){var checked=checkState.checked,half=checkState.half,tempCheck=!1,halfCheck=!1;if(BI.has(valueMap,current))if(1===valueMap[current][0]){var values=BI.clone(parentValues);values.push(current);var childCount=self._getChildCount(values);childCount>0&&childCount!==valueMap[current][1]&&(halfCheck=!0)}else 2===valueMap[current][0]&&(tempCheck=!0);var check;return check=checked||halfCheck||tempCheck?(tempCheck||checked)&&!half||BI.has(valueMap,current):BI.has(valueMap,current),[check,halfCheck]}var self=this,o=this.options,result=[],times=op.times,checkState=op.checkState||{},parentValues=op.parentValues||[],selectedValues=op.selectedValues||{},valueMap={};valueMap=dealWithSelectedValue(parentValues,selectedValues);for(var nodes=this._getChildren(parentValues),i=(times-1)*this._const.perPage;nodes[i]&&i<times*this._const.perPage;i++){var state=getCheckState(nodes[i].value,parentValues,valueMap,checkState);result.push({id:nodes[i].id,pId:nodes[i].pId,value:nodes[i].value,text:nodes[i].text,times:1,isParent:nodes[i].getChildrenLength()>0,checked:state[0],halfCheck:state[1],open:o.open})}if(o.open){var allNodes=[];BI.each(nodes,function(idx,node){allNodes=BI.concat(allNodes,self._getAllChildren(parentValues.concat([node.value])))}),BI.each(allNodes,function(idx,node){var valueMap=dealWithSelectedValue(node.parentValues,selectedValues),parentCheckState={},find=BI.find(result,function(idx,pNode){return pNode.id===node.pId});find&&(parentCheckState.checked=!find.halfCheck&&find.checked,parentCheckState.half=find.halfCheck);var state=getCheckState(node.value,node.parentValues,valueMap,parentCheckState);result.push({id:node.id,pId:node.pId,value:node.value,text:node.text,times:1,isParent:node.getChildrenLength()>0,checked:state[0],halfCheck:state[1],open:self.options.open})})}0===parentValues.length&&1===times&&(result=BI.concat(self._getAddedValueNode(parentValues,selectedValues),result)),BI.nextTick(function(){callback({items:result,hasNext:nodes.length>times*self._const.perPage})})},_getAddedValueNode:function(parentValues,selectedValues){var nodes=this._getChildren(parentValues);return BI.map(BI.difference(BI.keys(selectedValues),BI.map(nodes,"value")),function(idx,v){return{id:BI.UUID(),pId:nodes.length>0?nodes[0].pId:BI.UUID(),value:v,text:v,times:1,isParent:!1,checked:!0,halfCheck:!1}})},_getNode:function(selectedValues,parentValues){for(var pNode=selectedValues,i=0,len=parentValues.length;i<len;i++){if(null==pNode)return null;pNode=pNode[parentValues[i]]}return pNode},_deleteNode:function(selectedValues,values){var name=values[values.length-1],p=values.slice(0,values.length-1),pNode=this._getNode(selectedValues,p);if(null!=pNode&&pNode[name])for(delete pNode[name];p.length>0&&BI.isEmpty(pNode);)name=p[p.length-1],p=p.slice(0,p.length-1),pNode=this._getNode(selectedValues,p),null!=pNode&&delete pNode[name]},_buildTree:function(jo,values){var t=jo;BI.each(values,function(i,v){BI.has(t,v)||(t[v]={}),t=t[v]})},_isMatch:function(parentValues,value,keyword){var o=this.options,node=this._getTreeNode(parentValues,value);if(!node)return!1;var find=BI.Func.getSearchResult([node.text||node.value],keyword);if(o.allowSearchValue&&node.value){var valueFind=BI.Func.getSearchResult([node.value],keyword);return valueFind.find.length>0||valueFind.match.length>0||find.find.length>0||find.match.length>0}return find.find.length>0||find.match.length>0},_getTreeNode:function(parentValues,v){var self=this,findParentNode,index=0;return this.tree.traverse(function(node){if(!self.tree.isRoot(node))return!(index>parentValues.length)&&(index===parentValues.length&&node.value===v?(findParentNode=node,!1):node.value!==parentValues[index]||void index++)}),findParentNode},_getChildren:function(parentValues){if(parentValues.length>0)var value=BI.last(parentValues),parent=this._getTreeNode(parentValues.slice(0,parentValues.length-1),value);else var parent=this.tree.getRoot();return parent.getChildren()},_getAllChildren:function(parentValues){var children=this._getChildren(parentValues),nodes=[].concat(children);BI.each(nodes,function(idx,node){node.parentValues=parentValues});for(var queue=BI.map(children,function(idx,node){return{parentValues:parentValues,value:node.value}});BI.isNotEmptyArray(queue);){var node=queue.shift(),pValues=node.parentValues.concat(node.value),childNodes=this._getChildren(pValues);BI.each(childNodes,function(idx,node){node.parentValues=pValues}),queue=queue.concat(childNodes),nodes=nodes.concat(childNodes)}return nodes},_getChildCount:function(parentValues){return this._getChildren(parentValues).length}}),BI.AbstractListTreeValueChooser=BI.inherit(BI.AbstractTreeValueChooser,{_reqDisplayTreeNode:function(op,callback){function doCheck(parentValues,node,selected){BI.each(selected,function(idx,path){BI.each(path,function(id,value){var nodeValue=value,node=self._getTreeNode(path.slice(0,id),nodeValue);BI.isNull(node)?createOneJson({id:BI.UUID(),text:nodeValue,value:nodeValue,isLeaf:!0},BI.UUID()):(BI.has(result,node.id)||createOneJson(node,node.parent&&node.parent.id),result[node.id].isLeaf!==!0&&(result[node.id].isLeaf=id===path.length-1))})})}function createOneJson(node,pId){result[node.id]={id:node.id,pId:pId,text:node.text,value:node.value,open:!0,isLeaf:node.isLeaf}}var self=this,result={},selectedValues=op.selectedValues;return null==selectedValues||BI.isEmpty(selectedValues)?void callback({}):(doCheck([],this.tree.getRoot(),selectedValues),void callback({items:BI.values(result)}))},_reqInitTreeNode:function(op,callback){function search(){var children=self._getChildren([]),start=children.length;if(""!==lastSearchValue){for(var j=0,len=start;j<len;j++)if(children[j].value===lastSearchValue){start=j+1;break}}else start=0;for(var output=[],i=start,len=children.length;i<len;i++){if(output.length<self._const.perPage)var find=nodeSearch(1,[],children[i].value,result);else if(output.length===self._const.perPage)var find=nodeSearch(1,[],children[i].value,[]);if(find[0]===!0&&output.push(children[i].value),output.length>self._const.perPage)break}if(1===op.times){var nodes=self._getAddedValueNode([],selectedValues);result=BI.concat(BI.filter(nodes,function(idx,node){var find=BI.Func.getSearchResult([node.text||node.value],keyword);return find.find.length>0||find.match.length>0}),result)}return output}function nodeSearch(deep,parentValues,current,result){if(self._isMatch(parentValues,current,keyword)){var checked=isSelected(parentValues,current);return createOneJson(parentValues,current,!1,checked,!0,result),[!0,checked]}var newParents=BI.clone(parentValues);newParents.push(current);var children=self._getChildren(newParents),can=!1,checked=!1;return BI.each(children,function(i,child){var state=nodeSearch(deep+1,newParents,child.value,result);state[1]===!0&&(checked=!0),state[0]===!0&&(can=!0)}),can===!0&&(checked=isSelected(parentValues,current),createOneJson(parentValues,current,!0,checked,!1,result)),[can,checked]}function createOneJson(parentValues,value,isOpen,checked,flag,result){var node=self._getTreeNode(parentValues,value);result.push({id:node.id,pId:node.pId,text:node.text,value:node.value,title:node.title,isParent:node.getChildrenLength()>0,open:isOpen,checked:checked,halfCheck:!1,flag:flag})}function isHalf(parentValues,value){var find=findSelectedObj(parentValues);return null==find?null:BI.any(find,function(v,ob){if(v===value&&null!=ob&&!BI.isEmpty(ob))return!0})}function isAllSelected(parentValues,value){var find=findSelectedObj(parentValues);return null==find?null:BI.any(find,function(v,ob){if(v===value&&null!=ob&&BI.isEmpty(ob))return!0})}function isSelected(parentValues,value){return BI.any(selectedValues,function(idx,array){return BI.isEqual(parentValues,array.slice(0,parentValues.length))&&BI.last(array)===value})}function findSelectedObj(parentValues){var find=selectedValues;return null==find?null:(BI.every(parentValues,function(i,v){return find=find[v],null!=find}),find)}var self=this,result=[],keyword=op.keyword||"",selectedValues=op.selectedValues,lastSearchValue=op.lastSearchValue||"",output=search();BI.nextTick(function(){callback({hasNext:output.length>self._const.perPage,items:result,lastSearchValue:BI.last(output)})})},_reqTreeNode:function(op,callback){function dealWithSelectedValue(parentValues,selectedValues){var valueMap={};return BI.each(selectedValues,function(idx,v){BI.isEqual(parentValues,v.slice(0,parentValues.length))&&(valueMap[BI.last(v)]=[2,0])}),valueMap}for(var self=this,o=this.options,result=[],times=op.times,parentValues=op.parentValues||[],selectedValues=op.selectedValues||[],valueMap=dealWithSelectedValue(parentValues,selectedValues),nodes=this._getChildren(parentValues),i=(times-1)*this._const.perPage;nodes[i]&&i<times*this._const.perPage;i++){var checked=BI.has(valueMap,nodes[i].value);result.push({id:nodes[i].id,pId:nodes[i].pId,value:nodes[i].value,text:nodes[i].text,times:1,isParent:nodes[i].getChildrenLength()>0,checked:checked,halfCheck:!1,open:o.open})}if(o.open){var allNodes=[];BI.each(nodes,function(idx,node){allNodes=BI.concat(allNodes,self._getAllChildren(parentValues.concat([node.value])))}),BI.each(allNodes,function(idx,node){var checked=BI.has(valueMap,node.value);result.push({id:node.id,pId:node.pId,value:node.value,text:node.text,times:1,isParent:node.getChildrenLength()>0,checked:checked,halfCheck:!1,open:o.open})})}0===parentValues.length&&1===times&&(result=BI.concat(self._getAddedValueNode(parentValues,selectedValues),result)),BI.nextTick(function(){callback({items:result,hasNext:nodes.length>times*self._const.perPage})})},_getAddedValueNode:function(parentValues,selectedValues){var nodes=this._getChildren(parentValues),values=BI.flatten(BI.filter(selectedValues,function(idx,array){return 1===array.length}));return BI.map(BI.difference(values,BI.map(nodes,"value")),function(idx,v){return{id:BI.UUID(),pId:nodes.length>0?nodes[0].pId:BI.UUID(),value:v,text:v,times:1,isParent:!1,checked:!0,halfCheck:!1}})}}),BI.ListTreeValueChooserInsertCombo=BI.inherit(BI.AbstractListTreeValueChooser,{_defaultConfig:function(){return BI.extend(BI.ListTreeValueChooserInsertCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-list-tree-value-chooser-insert-combo",width:200,height:24,items:null,itemsCreator:BI.emptyFn})},_init:function(){BI.ListTreeValueChooserInsertCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;BI.isNotNull(o.items)&&this._initData(o.items),this.combo=BI.createWidget({type:"bi.multi_tree_list_combo",element:this,text:o.text,value:o.value,watermark:o.watermark,allowInsertValue:o.allowInsertValue,allowEdit:o.allowEdit,itemsCreator:BI.bind(this._itemsCreator,this),valueFormatter:BI.bind(this._valueFormatter,this),width:o.width,height:o.height,listeners:[{eventName:BI.MultiTreeListCombo.EVENT_FOCUS,action:function(){self.fireEvent(BI.ListTreeValueChooserInsertCombo.EVENT_FOCUS)}},{eventName:BI.MultiTreeListCombo.EVENT_BLUR,action:function(){self.fireEvent(BI.ListTreeValueChooserInsertCombo.EVENT_BLUR)}},{eventName:BI.MultiTreeListCombo.EVENT_STOP,action:function(){self.fireEvent(BI.ListTreeValueChooserInsertCombo.EVENT_STOP)}},{eventName:BI.MultiTreeListCombo.EVENT_CLICK_ITEM,action:function(){self.fireEvent(BI.ListTreeValueChooserInsertCombo.EVENT_CLICK_ITEM)}},{eventName:BI.MultiTreeListCombo.EVENT_SEARCHING,action:function(){self.fireEvent(BI.ListTreeValueChooserInsertCombo.EVENT_SEARCHING)}},{eventName:BI.MultiTreeListCombo.EVENT_CONFIRM,action:function(){self.fireEvent(BI.ListTreeValueChooserInsertCombo.EVENT_CONFIRM)}}]})},setValue:function(v){this.combo.setValue(v)},getValue:function(){return this.combo.getValue()},populate:function(items){this._initData(items),this.combo.populate.apply(this.combo,arguments)}}),BI.ListTreeValueChooserInsertCombo.EVENT_FOCUS="EVENT_FOCUS",BI.ListTreeValueChooserInsertCombo.EVENT_BLUR="EVENT_BLUR",BI.ListTreeValueChooserInsertCombo.EVENT_STOP="EVENT_STOP",BI.ListTreeValueChooserInsertCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.ListTreeValueChooserInsertCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.ListTreeValueChooserInsertCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.list_tree_value_chooser_insert_combo",BI.ListTreeValueChooserInsertCombo),BI.TreeValueChooserInsertCombo=BI.inherit(BI.AbstractTreeValueChooser,{_defaultConfig:function(){return BI.extend(BI.TreeValueChooserInsertCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-tree-value-chooser-insert-combo",width:200,height:24,items:null,itemsCreator:BI.emptyFn})},_init:function(){BI.TreeValueChooserInsertCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;BI.isNotNull(o.items)&&this._initData(o.items),this.combo=BI.createWidget({type:"bi.multi_tree_insert_combo",allowEdit:o.allowEdit,text:o.text,value:o.value,watermark:o.watermark,element:this,itemsCreator:BI.bind(this._itemsCreator,this),valueFormatter:BI.bind(this._valueFormatter,this),width:o.width,height:o.height,listeners:[{eventName:BI.MultiTreeInsertCombo.EVENT_FOCUS,action:function(){self.fireEvent(BI.TreeValueChooserCombo.EVENT_FOCUS)}},{eventName:BI.MultiTreeInsertCombo.EVENT_BLUR,action:function(){self.fireEvent(BI.TreeValueChooserCombo.EVENT_BLUR)}},{eventName:BI.MultiTreeInsertCombo.EVENT_STOP,action:function(){self.fireEvent(BI.TreeValueChooserInsertCombo.EVENT_STOP)}},{eventName:BI.MultiTreeInsertCombo.EVENT_CLICK_ITEM,action:function(){self.fireEvent(BI.TreeValueChooserInsertCombo.EVENT_CLICK_ITEM)}},{eventName:BI.MultiTreeInsertCombo.EVENT_SEARCHING,action:function(){self.fireEvent(BI.TreeValueChooserInsertCombo.EVENT_SEARCHING)}},{eventName:BI.MultiTreeInsertCombo.EVENT_CONFIRM,action:function(){self.fireEvent(BI.TreeValueChooserInsertCombo.EVENT_CONFIRM)}}]})},setValue:function(v){this.combo.setValue(v)},getValue:function(){return this.combo.getValue()},populate:function(items){this._initData(items),this.combo.populate.apply(this.combo,arguments)}}),BI.TreeValueChooserInsertCombo.EVENT_FOCUS="EVENT_FOCUS",BI.TreeValueChooserInsertCombo.EVENT_BLUR="EVENT_BLUR",BI.TreeValueChooserInsertCombo.EVENT_STOP="EVENT_STOP",BI.TreeValueChooserInsertCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.TreeValueChooserInsertCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.TreeValueChooserInsertCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.tree_value_chooser_insert_combo",BI.TreeValueChooserInsertCombo),BI.TreeValueChooserCombo=BI.inherit(BI.AbstractTreeValueChooser,{_defaultConfig:function(){return BI.extend(BI.TreeValueChooserCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-tree-value-chooser-combo",width:200,height:24,items:null,itemsCreator:BI.emptyFn})},_init:function(){BI.TreeValueChooserCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;BI.isNotNull(o.items)&&this._initData(o.items),this.combo=BI.createWidget({type:"bi.multi_tree_combo",text:o.text,allowEdit:o.allowEdit,value:o.value,watermark:o.watermark,element:this,itemsCreator:BI.bind(this._itemsCreator,this),valueFormatter:BI.bind(this._valueFormatter,this),width:o.width,height:o.height,listeners:[{eventName:BI.MultiTreeCombo.EVENT_FOCUS,action:function(){self.fireEvent(BI.TreeValueChooserCombo.EVENT_FOCUS)}},{eventName:BI.MultiTreeCombo.EVENT_BLUR,action:function(){self.fireEvent(BI.TreeValueChooserCombo.EVENT_BLUR)}},{eventName:BI.MultiTreeCombo.EVENT_STOP,action:function(){self.fireEvent(BI.TreeValueChooserCombo.EVENT_STOP)}},{eventName:BI.MultiTreeCombo.EVENT_CLICK_ITEM,action:function(){self.fireEvent(BI.TreeValueChooserCombo.EVENT_CLICK_ITEM)}},{eventName:BI.MultiTreeCombo.EVENT_SEARCHING,action:function(){self.fireEvent(BI.TreeValueChooserCombo.EVENT_SEARCHING)}},{eventName:BI.MultiTreeCombo.EVENT_CONFIRM,action:function(){self.fireEvent(BI.TreeValueChooserCombo.EVENT_CONFIRM)}}]})},setValue:function(v){this.combo.setValue(v)},getValue:function(){return this.combo.getValue()},populate:function(items){this._initData(items),this.combo.populate.apply(this.combo,arguments)}}),BI.TreeValueChooserCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.TreeValueChooserCombo.EVENT_FOCUS="EVENT_FOCUS",BI.TreeValueChooserCombo.EVENT_BLUR="EVENT_BLUR",BI.TreeValueChooserCombo.EVENT_STOP="EVENT_STOP",BI.TreeValueChooserCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.TreeValueChooserCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.shortcut("bi.tree_value_chooser_combo",BI.TreeValueChooserCombo),BI.TreeValueChooserPane=BI.inherit(BI.AbstractTreeValueChooser,{_defaultConfig:function(){return BI.extend(BI.TreeValueChooserPane.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-tree-value-chooser-pane",items:null,itemsCreator:BI.emptyFn})},_init:function(){BI.TreeValueChooserPane.superclass._init.apply(this,arguments);var self=this,o=this.options;this.pane=BI.createWidget({type:"bi.multi_select_tree",element:this,itemsCreator:BI.bind(this._itemsCreator,this)}),this.pane.on(BI.MultiSelectTree.EVENT_CHANGE,function(){self.fireEvent(BI.TreeValueChooserPane.EVENT_CHANGE)}),BI.isNotNull(o.items)&&(this._initData(o.items),this.populate())},setSelectedValue:function(v){this.pane.setSelectedValue(v)},setValue:function(v){this.pane.setValue(v)},getValue:function(){return this.pane.getValue()},populate:function(){this.pane.populate.apply(this.pane,arguments)}}),BI.TreeValueChooserPane.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.tree_value_chooser_pane",BI.TreeValueChooserPane),BI.AbstractValueChooser=BI.inherit(BI.Widget,{_const:{perPage:100},_defaultConfig:function(){return BI.extend(BI.AbstractValueChooser.superclass._defaultConfig.apply(this,arguments),{items:null,itemsCreator:BI.emptyFn,cache:!0})},_valueFormatter:function(v){var text=v;return BI.isNotNull(this.items)&&BI.some(this.items,function(i,item){if(item.value===v||item.value+""===v)return text=item.text,!0}),text},_getItemsByTimes:function(items,times){for(var res=[],i=(times-1)*this._const.perPage;items[i]&&i<times*this._const.perPage;i++)res.push(items[i]);return res},_hasNextByTimes:function(items,times){return times*this._const.perPage<items.length},_itemsCreator:function(options,callback){function call(items){var keywords=(options.keywords||[]).slice(),resultItems=items;if(BI.isNotEmptyArray(keywords)&&(resultItems=[],BI.each(keywords,function(i,kw){var search=BI.Func.getSearchResult(items,kw);resultItems=resultItems.concat(search.match).concat(search.find)}),resultItems=BI.uniq(resultItems)),options.selectedValues){var filter=BI.makeObject(options.selectedValues,!0);resultItems=BI.filter(resultItems,function(i,ob){return!filter[ob.value]})}return options.type===BI.MultiSelectCombo.REQ_GET_ALL_DATA?void callback({items:resultItems}):options.type===BI.MultiSelectCombo.REQ_GET_DATA_LENGTH?void callback({count:resultItems.length}):void callback({items:self._getItemsByTimes(resultItems,options.times),hasNext:self._hasNextByTimes(resultItems,options.times)})}var self=this,o=this.options;o.cache&&this.items?call(this.items):o.itemsCreator({},function(items){self.items=items,call(items)})}}),BI.ValueChooserInsertCombo=BI.inherit(BI.AbstractValueChooser,{_defaultConfig:function(){return BI.extend(BI.ValueChooserInsertCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-value-chooser-insert-combo",width:200,height:24,items:null,itemsCreator:BI.emptyFn,cache:!0})},_init:function(){BI.ValueChooserInsertCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;BI.isNotNull(o.items)&&(this.items=o.items),this.combo=BI.createWidget({type:"bi.multi_select_insert_combo",element:this,allowEdit:o.allowEdit,text:o.text,value:o.value,itemsCreator:BI.bind(this._itemsCreator,this),valueFormatter:BI.bind(this._valueFormatter,this),width:o.width,height:o.height,listeners:[{eventName:BI.MultiSelectCombo.EVENT_FOCUS,action:function(){self.fireEvent(BI.ValueChooserInsertCombo.EVENT_FOCUS)}},{eventName:BI.MultiSelectCombo.EVENT_BLUR,action:function(){self.fireEvent(BI.ValueChooserInsertCombo.EVENT_BLUR)}},{eventName:BI.MultiSelectCombo.EVENT_STOP,action:function(){self.fireEvent(BI.ValueChooserInsertCombo.EVENT_STOP)}},{eventName:BI.MultiSelectCombo.EVENT_CLICK_ITEM,action:function(){self.fireEvent(BI.ValueChooserInsertCombo.EVENT_CLICK_ITEM)}},{eventName:BI.MultiSelectCombo.EVENT_SEARCHING,action:function(){self.fireEvent(BI.ValueChooserInsertCombo.EVENT_SEARCHING)}},{eventName:BI.MultiSelectCombo.EVENT_CONFIRM,action:function(){self.fireEvent(BI.ValueChooserInsertCombo.EVENT_CONFIRM)}}]})},setValue:function(v){this.combo.setValue(v)},getValue:function(){var val=this.combo.getValue()||{};return{type:val.type,value:val.value}},populate:function(items){this.items=items,this.combo.populate.apply(this,arguments)}}),BI.ValueChooserInsertCombo.EVENT_BLUR="EVENT_BLUR",BI.ValueChooserInsertCombo.EVENT_FOCUS="EVENT_FOCUS",BI.ValueChooserInsertCombo.EVENT_STOP="EVENT_STOP",BI.ValueChooserInsertCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.ValueChooserInsertCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.ValueChooserInsertCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.value_chooser_insert_combo",BI.ValueChooserInsertCombo),BI.ValueChooserCombo=BI.inherit(BI.AbstractValueChooser,{_defaultConfig:function(){return BI.extend(BI.ValueChooserCombo.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-value-chooser-combo",width:200,height:24,items:null,itemsCreator:BI.emptyFn,cache:!0})},_init:function(){BI.ValueChooserCombo.superclass._init.apply(this,arguments);var self=this,o=this.options;BI.isNotNull(o.items)&&(this.items=o.items),this.combo=BI.createWidget({type:"bi.multi_select_combo",element:this,allowEdit:o.allowEdit,text:o.text,value:o.value,itemsCreator:BI.bind(this._itemsCreator,this),valueFormatter:BI.bind(this._valueFormatter,this),width:o.width,height:o.height,listeners:[{eventName:BI.MultiSelectCombo.EVENT_FOCUS,action:function(){self.fireEvent(BI.ValueChooserCombo.EVENT_FOCUS)}},{eventName:BI.MultiSelectCombo.EVENT_BLUR,action:function(){self.fireEvent(BI.ValueChooserCombo.EVENT_BLUR)}},{eventName:BI.MultiSelectCombo.EVENT_STOP,action:function(){self.fireEvent(BI.ValueChooserCombo.EVENT_STOP)}},{eventName:BI.MultiSelectCombo.EVENT_CLICK_ITEM,action:function(){self.fireEvent(BI.ValueChooserCombo.EVENT_CLICK_ITEM)}},{eventName:BI.MultiSelectCombo.EVENT_SEARCHING,action:function(){self.fireEvent(BI.ValueChooserCombo.EVENT_SEARCHING)}},{eventName:BI.MultiSelectCombo.EVENT_CONFIRM,action:function(){self.fireEvent(BI.ValueChooserCombo.EVENT_CONFIRM)}}]})},setValue:function(v){this.combo.setValue(v)},getValue:function(){var val=this.combo.getValue()||{};return{type:val.type,value:val.value}},populate:function(items){this.items=items,this.combo.populate.apply(this,arguments)}}),BI.ValueChooserCombo.EVENT_BLUR="EVENT_BLUR",BI.ValueChooserCombo.EVENT_FOCUS="EVENT_FOCUS",BI.ValueChooserCombo.EVENT_STOP="EVENT_STOP",BI.ValueChooserCombo.EVENT_SEARCHING="EVENT_SEARCHING",BI.ValueChooserCombo.EVENT_CLICK_ITEM="EVENT_CLICK_ITEM",BI.ValueChooserCombo.EVENT_CONFIRM="EVENT_CONFIRM",BI.shortcut("bi.value_chooser_combo",BI.ValueChooserCombo),BI.ValueChooserPane=BI.inherit(BI.AbstractValueChooser,{_defaultConfig:function(){return BI.extend(BI.ValueChooserPane.superclass._defaultConfig.apply(this,arguments),{baseCls:"bi-value-chooser-pane",items:null,itemsCreator:BI.emptyFn,cache:!0})},_init:function(){BI.ValueChooserPane.superclass._init.apply(this,arguments);var self=this,o=this.options;this.list=BI.createWidget({type:"bi.multi_select_list",element:this,value:o.value,itemsCreator:BI.bind(this._itemsCreator,this),valueFormatter:BI.bind(this._valueFormatter,this)}),this.list.on(BI.MultiSelectList.EVENT_CHANGE,function(){self.fireEvent(BI.ValueChooserPane.EVENT_CHANGE)}),BI.isNotNull(o.items)&&(this.items=o.items,this.list.populate())},setValue:function(v){this.list.setValue(v)},getValue:function(){var val=this.list.getValue()||{};return{type:val.type,value:val.value}},populate:function(items){items&&(this.items=items),this.list.populate.apply(this.list,arguments)}}),BI.ValueChooserPane.EVENT_CHANGE="EVENT_CHANGE",BI.shortcut("bi.value_chooser_pane",BI.ValueChooserPane),function(){function initWatch(vm,watch){vm._watchers||(vm._watchers=[]);for(var key in watch){var handler=watch[key];if(BI.isArray(handler))for(var i=0;i<handler.length;i++)vm._watchers.push(createWatcher(vm,key,handler[i]));else vm._watchers.push(createWatcher(vm,key,handler))}}function createWatcher(vm,keyOrFn,handler){return Fix.watch(vm.store,keyOrFn,_.bind(handler,vm),{store:vm.store})}function pushTarget(_target){target&&targetStack.push(target),Fix.Model.target=target=_target;
}function popTarget(){Fix.Model.target=target=targetStack.pop()}function pushContext(_context){context&&contextStack.push(context),Fix.Model.context=context=_context}function popContext(){Fix.Model.context=context=contextStack.pop()}function findStore(widget){if(null!=target)return target;widget=widget||context;for(var p=widget;p&&!(p instanceof Fix.Model||p.store||p.__cacheStore);)p=p._parent||p.options&&p.options.element;return p?p instanceof Fix.Model?widget.__cacheStore=p:(widget.__cacheStore=p.store||p.__cacheStore,p.__cacheStore||p.store):void 0}function createStore(){var needPop=!1;if(_global.Fix&&this._store){var store=findStore(this.options.context||this.options.element);store&&(pushTarget(store),needPop=!0),this.store=this._store(),this.store&&(this.store._widget=this),needPop&&popTarget(),needPop=!1,pushTarget(this.store),this.store instanceof Fix.Model?this.model=this.store.model:this.model=this.store,needPop=!0}return needPop}var target=null,targetStack=[],context=null,contextStack=[],oldWatch=Fix.watch;Fix.watch=function(model,expOrFn,cb,options){return BI.isPlainObject(cb)&&(options=cb,cb=cb.handler),"string"==typeof cb&&(cb=model[cb]),oldWatch.call(this,model,expOrFn,function(){options&&options.store&&pushTarget(options.store);var res=cb.apply(this,arguments);return options&&options.store&&popTarget(),res},options)};var _create=BI.createWidget;BI.createWidget=function(item,options,context){var pushed=!1;BI.isWidget(options)?(pushContext(options),pushed=!0):null!=context&&(pushContext(context),pushed=!0);var result=_create.apply(this,arguments);return pushed&&popContext(),result},_.each(["populate","addItems","prependItems"],function(name){var old=BI.Loader.prototype[name];BI.Loader.prototype[name]=function(){pushContext(this);var result=old.apply(this,arguments);return popContext(),result}}),BI.Widget.prototype._initRender=function(){this.beforeInit?(this.__asking=!0,this.beforeInit(BI.bind(function(){this.model&&this.model.$vm&&this.model.$vm.$digest(),this._render()},this)),this.__asking===!0&&(this.__async=!0)):this._render()};var _init=BI.Widget.prototype._init;BI.Widget.prototype._init=function(){var self=this,needPop=createStore.call(this);_init.apply(this,arguments),needPop&&popTarget()};var _render=BI.Widget.prototype._render;BI.Widget.prototype._render=function(){var needPop=!1;_global.Fix&&this._store&&(needPop=!0,pushTarget(this.store),initWatch(this,this.watch)),_render.apply(this,arguments),needPop&&popTarget()};var unMount=BI.Widget.prototype.__d;BI.Widget.prototype.__d=function(){unMount.apply(this,arguments),this.store&&BI.isFunction(this.store.destroy)&&this.store.destroy(),BI.each(this._watchers,function(i,unwatches){unwatches=BI.isArray(unwatches)?unwatches:[unwatches],BI.each(unwatches,function(j,unwatch){unwatch()})}),this._watchers&&(this._watchers=[]),this.store&&(this.store._parent&&(this.store._parent=null),this.store._widget&&(this.store._widget=null),this.store=null),delete this.__cacheStore},_.each(["_mount"],function(name){var old=BI.Widget.prototype[name];old&&(BI.Widget.prototype[name]=function(){this.store&&pushTarget(this.store);try{var res=old.apply(this,arguments)}catch(e){console.error(e)}return this.store&&popTarget(),res})});var additionFunc=function(){BI.nextTick(function(){Fix&&Fix.refreshAll&&Fix.refreshAll()})};if($(document).ajaxComplete(additionFunc),BI.history){var navigate=BI.history.navigate;BI.history.navigate=function(){navigate.apply(this,arguments),BI.defer(function(){additionFunc()},200)};var back=window.history.back;window.history.back=function(){back.apply(this,arguments),BI.defer(function(){additionFunc()},200)}}if(BI.Router){var execute=BI.Router.prototype.execute;BI.Router.prototype.execute=function(){execute.apply(this,arguments),additionFunc()}}_.each(["each","map","reduce","reduceRight","find","filter","reject","every","all","some","any","max","min","sortBy","groupBy","indexBy","countBy","partition","keys","allKeys","values","pairs","invert","mapObject","findKey","pick","omit","tap"],function(name){var old=BI[name];BI[name]=function(obj,fn,context){return"function"==typeof fn?old(obj,function(key,value){if(!(key in Fix.$$skipArray))return fn.apply(this,arguments)},context):old.apply(this,arguments)}}),BI.isEmpty=function(ob){return BI.isPlainObject(ob)&&ob.__ob__?0===BI.keys(ob).length:_.isEmpty(ob)},BI.keys=function(ob){for(var keys=_.keys(ob),nKeys=[],i=0;i<keys.length;i++)keys[i]in Fix.$$skipArray||nKeys.push(keys[i]);return nKeys},BI.values=function(ob){for(var keys=BI.keys(obj),length=keys.length,values=[],i=0;i<length;i++)values[i]=obj[keys[i]];return values},BI.extend=function(){var args=Array.prototype.slice.call(arguments);if(args.length<1)return{};for(var object=args[0],i=1;i<args.length;)BI.each(args[i],function(key,v){object[key]=v}),i++;return object},BI.size=function(ob){return BI.isPlainObject(ob)&&ob.__ob__?BI.keys(ob).length:_.size(ob)},BI.isEmptyObject=function(ob){return 0===BI.size(ob)},BI.deepClone=function(ob){return Fix.toJSON(ob)},Fix.set=function(obj,k,v){try{obj&&(obj[k]=v)}catch(e){}finally{return _.cloneDeep(obj)}},Fix.del=function(obj,k){try{delete obj[k]}catch(e){}finally{return _.cloneDeep(obj)}},BI.watch=Fix.watch}(),function(){var Events={on:function(name,callback,context){if(!eventsApi(this,"on",name,[callback,context])||!callback)return this;this._events||(this._events={});var events=this._events[name]||(this._events[name]=[]);return events.push({callback:callback,context:context,ctx:context||this}),this},once:function(name,callback,context){if(!eventsApi(this,"once",name,[callback,context])||!callback)return this;var self=this,once=_.once(function(){self.off(name,once),callback.apply(this,arguments)});return once._callback=callback,this.on(name,once,context)},off:function(name,callback,context){if(!this._events||!eventsApi(this,"off",name,[callback,context]))return this;if(!name&&!callback&&!context)return this._events=void 0,this;for(var names=name?[name]:_.keys(this._events),i=0,length=names.length;i<length;i++){name=names[i];var events=this._events[name];if(events)if(callback||context){for(var remaining=[],j=0,k=events.length;j<k;j++){var event=events[j];(callback&&callback!==event.callback&&callback!==event.callback._callback||context&&context!==event.context)&&remaining.push(event)}remaining.length?this._events[name]=remaining:delete this._events[name]}else delete this._events[name]}return this},un:function(){this.off.apply(this,arguments)},trigger:function(name){if(!this._events)return this;var args=slice.call(arguments,1);if(!eventsApi(this,"trigger",name,args))return this;var events=this._events[name],allEvents=this._events.all;return events&&triggerEvents(events,args),allEvents&&triggerEvents(allEvents,arguments),this},fireEvent:function(){this.trigger.apply(this,arguments)},listenTo:function(obj,name,callback){var listeningTo=this._listeningTo||(this._listeningTo={}),id=obj._listenId||(obj._listenId=_.uniqueId("l"));return listeningTo[id]=obj,callback||"object"!=typeof name||(callback=this),obj.on(name,callback,this),this},listenToOnce:function(obj,name,callback){if("object"==typeof name){for(var event in name)this.listenToOnce(obj,event,name[event]);return this}if(eventSplitter.test(name)){for(var names=name.split(eventSplitter),i=0,length=names.length;i<length;i++)this.listenToOnce(obj,names[i],callback);return this}if(!callback)return this;var once=_.once(function(){this.stopListening(obj,name,once),callback.apply(this,arguments)});return once._callback=callback,this.listenTo(obj,name,once)},stopListening:function(obj,name,callback){var listeningTo=this._listeningTo;if(!listeningTo)return this;var remove=!name&&!callback;callback||"object"!=typeof name||(callback=this),obj&&((listeningTo={})[obj._listenId]=obj);for(var id in listeningTo)obj=listeningTo[id],obj.off(name,callback,this),(remove||_.isEmpty(obj._events))&&delete this._listeningTo[id];return this}},eventSplitter=/\s+/,eventsApi=function(obj,action,name,rest){if(!name)return!0;if("object"==typeof name){for(var key in name)obj[action].apply(obj,[key,name[key]].concat(rest));return!1}if(eventSplitter.test(name)){for(var names=name.split(eventSplitter),i=0,length=names.length;i<length;i++)obj[action].apply(obj,[names[i]].concat(rest));return!1}return!0},triggerEvents=function(events,args){var ev,i=-1,l=events.length,a1=args[0],a2=args[1],a3=args[2];switch(args.length){case 0:for(;++i<l;)(ev=events[i]).callback.call(ev.ctx);return;case 1:for(;++i<l;)(ev=events[i]).callback.call(ev.ctx,a1);return;case 2:for(;++i<l;)(ev=events[i]).callback.call(ev.ctx,a1,a2);return;case 3:for(;++i<l;)(ev=events[i]).callback.call(ev.ctx,a1,a2,a3);return;default:for(;++i<l;)(ev=events[i]).callback.apply(ev.ctx,args);return}},Router=BI.Router=function(options){options||(options={}),options.routes&&(this.routes=options.routes),this._bindRoutes(),this._init.apply(this,arguments)},optionalParam=/\((.*?)\)/g,namedParam=/(\(\?)?:\w+/g,splatParam=/\*\w+/g,escapeRegExp=/[\-{}\[\]+?.,\\\^$|#\s]/g;_.extend(Router.prototype,Events,{_init:function(){},route:function(route,name,callback){_.isRegExp(route)||(route=this._routeToRegExp(route)),_.isFunction(name)&&(callback=name,name=""),callback||(callback=this[name]);var router=this;return BI.history.route(route,function(fragment){var args=router._extractParameters(route,fragment);router.execute(callback,args,name)!==!1&&(router.trigger.apply(router,["route:"+name].concat(args)),router.trigger("route",name,args),BI.history.trigger("route",router,name,args))}),this},execute:function(callback,args,name){callback&&callback.apply(this,args)},navigate:function(fragment,options){return BI.history.navigate(fragment,options),this},_bindRoutes:function(){if(this.routes){this.routes=_.result(this,"routes");for(var route,routes=_.keys(this.routes);null!=(route=routes.pop());)this.route(route,this.routes[route])}},_routeToRegExp:function(route){return route=route.replace(escapeRegExp,"\\$&").replace(optionalParam,"(?:$1)?").replace(namedParam,function(match,optional){return optional?match:"([^/?]+)"}).replace(splatParam,"([^?]*?)"),new RegExp("^"+route+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(route,fragment){var params=route.exec(fragment).slice(1);return _.map(params,function(param,i){return i===params.length-1?param||null:param?decodeURIComponent(param):null})}});var History=function(){this.handlers=[],this.checkUrl=_.bind(this.checkUrl,this),"undefined"!=typeof window&&(this.location=_global.location,this.history=_global.history)},routeStripper=/^[#\/]|\s+$/g,rootStripper=/^\/+|\/+$/g,pathStripper=/#.*$/;History.started=!1,_.extend(History.prototype,Events,{interval:50,atRoot:function(){var path=this.location.pathname.replace(/[^\/]$/,"$&/");return path===this.root&&!this.getSearch()},getSearch:function(){var match=this.location.href.replace(/#.*/,"").match(/\?.+/);return match?match[0]:""},getHash:function(window){var match=(window||this).location.href.match(/#(.*)$/);return match?match[1]:""},getPath:function(){var path=decodeURI(this.location.pathname+this.getSearch()),root=this.root.slice(0,-1);return path.indexOf(root)||(path=path.slice(root.length)),"/"===path.charAt(0)?path.slice(1):path},getFragment:function(fragment){return null==fragment&&(fragment=this._hasPushState||!this._wantsHashChange?this.getPath():this.getHash()),fragment.replace(routeStripper,"")},start:function(options){if(History.started)throw new Error("BI.history has already been started");if(History.started=!0,this.options=_.extend({root:"/"},this.options,options),this.root=this.options.root,this._wantsHashChange=this.options.hashChange!==!1,this._hasHashChange="onhashchange"in window,this._wantsPushState=!!this.options.pushState,this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState),this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(rootStripper,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var root=this.root.slice(0,-1)||"/";return this.location.replace(root+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&(!this._wantsPushState||!this._hasPushState)){var iframe=document.createElement("iframe");iframe.src="javascript:0",iframe.style.display="none",iframe.tabIndex=-1;var body=document.body;this.iframe=body.insertBefore(iframe,body.firstChild).contentWindow,this.iframe.document.open().close(),this.iframe.location.hash="#"+this.fragment}var addEventListener=_global.addEventListener||function(eventName,listener){return attachEvent("on"+eventName,listener)};if(this._hasPushState?addEventListener("popstate",this.checkUrl,!1):this._wantsHashChange&&this._hasHashChange&&!this.iframe?addEventListener("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var removeEventListener=_global.removeEventListener||function(eventName,listener){return detachEvent("on"+eventName,listener)};this._hasPushState?removeEventListener("popstate",this.checkUrl,!1):this._wantsHashChange&&this._hasHashChange&&!this.iframe&&removeEventListener("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe.frameElement),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),History.started=!1},route:function(route,callback){this.handlers.unshift({route:route,callback:callback})},checkUrl:function(e){var current=this.getFragment();return current===this.fragment&&this.iframe&&(current=this.getHash(this.iframe)),current!==this.fragment&&(this.iframe&&this.navigate(current),void this.loadUrl())},loadUrl:function(fragment){return fragment=this.fragment=this.getFragment(fragment),_.some(this.handlers,function(handler){if(handler.route.test(fragment))return handler.callback(fragment),!0})},navigate:function(fragment,options){if(!History.started)return!1;options&&options!==!0||(options={trigger:!!options}),fragment=this.getFragment(fragment||"");var root=this.root;""!==fragment&&"?"!==fragment.charAt(0)||(root=root.slice(0,-1)||"/");var url=root+fragment;if(fragment=decodeURI(fragment.replace(pathStripper,"")),this.fragment!==fragment){if(this.fragment=fragment,this._hasPushState)this.history[options.replace?"replaceState":"pushState"]({},document.title,url);else{if(!this._wantsHashChange)return this.location.assign(url);this._updateHash(this.location,fragment,options.replace),this.iframe&&fragment!==this.getHash(this.iframe)&&(options.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,fragment,options.replace))}return options.trigger?this.loadUrl(fragment):void 0}},_updateHash:function(location,fragment,replace){if(replace){var href=location.href.replace(/(javascript:|#).*$/,"");location.replace(href+"#"+fragment)}else location.hash="#"+fragment}}),BI.history=new History}(),BI.i18n={"BI-Multi_Date_Quarter_End":"季度末","BI-Multi_Date_Month_Begin":"月初","BI-Multi_Date_YMD":"年月日","BI-Custom_Color":"自定义颜色","BI-Numerical_Interval_Input_Data":"请输入数值","BI-Please_Input_Natural_Number":"请输入非负整数","BI-No_More_Data":"无更多数据","BI-Basic_Altogether":"共","BI-Basic_Sunday":"星期日","BI-Widget_Background_Colour":"组件背景","BI-Color_Picker_Error_Text":"请输入0~255的正整数","BI-Multi_Date_Month":"月","BI-No_Selected_Item":"没有可选项","BI-Multi_Date_Year_Begin":"年初","BI-Quarter_1":"第1季度","BI-Quarter_2":"第2季度","BI-Quarter_3":"第3季度","BI-Quarter_4":"第4季度","BI-Multi_Date_Year_Next":"年后","BI-Multi_Date_Month_Prev":"个月前","BI-Month_Trigger_Error_Text":"请输入1~12的正整数","BI-Less_And_Equal":"小于等于","BI-Year_Trigger_Invalid_Text":"请输入有效时间","BI-Multi_Date_Week_Next":"周后","BI-Font_Size":"字号","BI-Basic_Total":"共","BI-Already_Selected":"已选择","BI-Formula_Insert":"插入","BI-Select_All":"全选","BI-Basic_Tuesday":"星期二","BI-Multi_Date_Month_End":"月末","BI-Load_More":"点击加载更多数据","BI-Basic_September":"九月","BI-Current_Is_Last_Page":"当前已是最后一页","BI-Basic_Auto":"自动","BI-Basic_Count":"个","BI-Basic_Value":"值","BI-Basic_Unrestricted":"无限制","BI-Quarter_Trigger_Error_Text":"请输入1~4的正整数","BI-Basic_More":"更多","BI-Basic_Wednesday":"星期三","BI-Basic_Bold":"加粗","BI-Basic_Simple_Saturday":"六","BI-Multi_Date_Month_Next":"个月后","BI-Basic_March":"三月","BI-Current_Is_First_Page":"当前已是第一页","BI-Basic_Thursday":"星期四","BI-Basic_Prompt":"提示","BI-Multi_Date_Today":"今天","BI-Multi_Date_Quarter_Prev":"个季度前","BI-Row_Header":"行表头","BI-Date_Trigger_Error_Text":"日期格式示例:2015-3-11","BI-Basic_Cancel":"取消","BI-Basic_January":"一月","BI-Basic_June":"六月","BI-Basic_July":"七月","BI-Basic_April":"四月","BI-Multi_Date_Quarter_Begin":"季度初","BI-Multi_Date_Week":"周","BI-Click_Blank_To_Select":'点击"空格键"选中完全匹配项',"BI-Basic_August":"八月","BI-Word_Align_Left":"文字居左","BI-Basic_November":"十一月","BI-Font_Colour":"字体颜色","BI-Multi_Date_Day_Prev":"天前","BI-Select_Part":"部分选择","BI-Multi_Date_Day_Next":"天后","BI-Less_Than":"小于","BI-Basic_February":"二月","BI-Multi_Date_Year":"年","BI-Number_Index":"序号","BI-Multi_Date_Week_Prev":"周前","BI-Next_Page":"下一页","BI-Right_Page":"向右翻页","BI-Numerical_Interval_Signal_Value":"前后值相等,请将操作符改为“≤”","BI-Basic_December":"十二月","BI-Basic_Saturday":"星期六","BI-Basic_Simple_Wednesday":"三","BI-Multi_Date_Quarter_Next":"个季度后","BI-Basic_October":"十月","BI-Basic_Simple_Friday":"五","BI-Basic_Save":"保存","BI-Numerical_Interval_Number_Value":"请保证前面的数值小于/等于后面的数值","BI-Previous_Page":"上一页","BI-No_Select":"搜索结果为空","BI-Basic_Clears":"清空","BI-Created_By_Me":"我创建的","BI-Basic_Simple_Tuesday":"二","BI-Word_Align_Right":"文字居右","BI-Summary_Values":"汇总","BI-Basic_Clear":"清除","BI-Upload_File_Size_Error":"文件大小不支持","BI-Up_Page":"向上翻页","BI-Basic_Simple_Sunday":"日","BI-Multi_Date_Relative_Current_Time":"相对当前时间","BI-Selected_Data":"已选数据:","BI-Multi_Date_Quarter":"季度","BI-Check_Selected":"查看已选","BI-Basic_Search":"搜索","BI-Basic_May":"五月","BI-Continue_Select":"继续选择","BI-Please_Input_Positive_Integer":"请输入正整数","BI-Upload_File_Type_Error":"文件类型不支持","BI-Upload_File_Error":"文件上传失败","BI-Basic_Friday":"星期五","BI-Down_Page":"向下翻页","BI-Basic_Monday":"星期一","BI-Left_Page":"向左翻页","BI-Transparent_Color":"透明","BI-Basic_Simple_Monday":"一","BI-Multi_Date_Year_End":"年末","BI-Time_Interval_Error_Text":"请保证开始时间早于/等于结束时间","BI-Basic_Time":"时间","BI-Basic_OK":"确定","BI-Basic_Sure":"确定","BI-Basic_Simple_Thursday":"四","BI-Multi_Date_Year_Prev":"年前","BI-Tiao_Data":"条数据","BI-Basic_Italic":"斜体","BI-Basic_Dynamic_Title":"动态时间","BI-Basic_Year":"年","BI-Basic_Single_Quarter":"季","BI-Basic_Month":"月","BI-Basic_Week":"周","BI-Basic_Day":"天","BI-Basic_Work_Day":"工作日","BI-Basic_Front":"前","BI-Basic_Behind":"后","BI-Basic_Empty":"空","BI-Basic_Month_End":"月末","BI-Basic_Month_Begin":"月初","BI-Basic_Year_End":"年末","BI-Basic_Year_Begin":"年初","BI-Basic_Quarter_End":"季末","BI-Basic_Quarter_Begin":"季初","BI-Basic_Week_End":"周末","BI-Basic_Week_Begin":"周初","BI-Basic_Current_Day":"当天","BI-Basic_Begin_Start":"初","BI-Basic_End_Stop":"末","BI-Basic_Current_Year":"今年","BI-Basic_Year_Fen":"年份","BI-Basic_Current_Month":"本月","BI-Basic_Current_Quarter":"本季度","BI-Basic_Year_Month":"年月","BI-Basic_Year_Quarter":"年季度","BI-Basic_Input_Can_Not_Null":"输入框不能为空","BI-Basic_Date_Time_Error_Text":"日期格式示例:2015-3-11 00:00:00","BI-Basic_Input_From_To_Number":"请输入{R1}的数值","BI-Basic_Or":"或","BI-Basic_And":"且","BI-Conf_Add_Formula":"添加公式","BI-Conf_Add_Condition":"添加条件","BI-Conf_Formula_And":"且公式条件","BI-Conf_Formula_Or":"或公式条件","BI-Conf_Condition_And":"且条件","BI-Conf_Condition_Or":"或条件","BI-Microsoft_YaHei":"微软雅黑","BI-Apple_Light":"苹方-light","BI-Font_Family":"字体","BI-Basic_Please_Input_Content":"请输入内容","BI-Word_Align_Center":"文字居中","BI-Basic_Please_Enter_Number_Between":"请输入{R1}-{R2}的值","BI-More_Than":"大于","BI-More_And_Equal":"大于等于","BI-Please_Enter_SQL":"请输入SQL","BI-Basic_Click_To_Add_Text":'+点击新增"{R1}"',"BI-Basic_Please_Select":"请选择","BI-Basic_Font_Color":"文字颜色","BI-Basic_Background_Color":"背景色","BI-Basic_Underline":"下划线","BI-Basic_Param_Month":"{R1}月","BI-Basic_Param_Day":"{R1}日","BI-Basic_Param_Quarter":"{R1}季度","BI-Basic_Param_Week_Count":"第{R1}周","BI-Basic_Param_Hour":"{R1}时","BI-Basic_Param_Minute":"{R1}分","BI-Basic_Param_Second":"{R1}秒","BI-Basic_Param_Year":"{R1}年","BI-Basic_Date_Day":"日","BI-Basic_Hour_Sin":"时","BI-Basic_Seconds":"秒","BI-Basic_Minute":"分","BI-Basic_Wan":"万","BI-Basic_Million":"百万","BI-Basic_Billion":"亿","BI-Basic_Quarter":"季度","BI-Basic_No_Select":"不选","BI-Basic_Now":"此刻"};
!function(r){var n={};function o(e){if(n[e])return n[e].exports;var t=n[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=n,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)o.d(r,n,function(e){return t[e]}.bind(null,n));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=141)}({141:function(e,t,r){e.exports=r(142)},142:function(e,t,r){"use strict";var n=function o(e){return e&&e.__esModule?e:{"default":e}}(r(143));BI.extend(BI,n["default"])},143:function(e,t,r){"use strict";function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=void 0;var n={Decorators:function c(e){if(e&&e.__esModule)return e;var t=i();if(t&&t.has(e))return t.get(e);var r={};if(null!=e){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var u=n?Object.getOwnPropertyDescriptor(e,o):null;u&&(u.get||u.set)?Object.defineProperty(r,o,u):r[o]=e[o]}}r["default"]=e,t&&t.set(e,r);return r}(r(144))};t["default"]=n},144:function(e,t,r){"use strict";function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){e.prototype=Object.create(t.prototype),function i(e,t){for(var r=Object.getOwnPropertyNames(t),n=0;n<r.length;n++){var o=r[n],u=Object.getOwnPropertyDescriptor(t,o);u&&u.configurable&&e[o]===undefined&&Object.defineProperty(e,o,u)}return e}(e.prototype.constructor=e,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.shortcut=function o(){return function(e){BI.shortcut(e.xtype,e)}},t.model=function f(){return function(e){BI.model(e.xtype,e)}},t.store=function l(r){var n=1<arguments.length&&arguments[1]!==undefined?arguments[1]:{};return function(e){return function(e){function t(){return e.apply(this,arguments)||this}return c(t,e),t.prototype._store=function(){var e=n.props?n.props.apply(this):undefined;return BI.Models.getModel(r.xtype,e)},t}(e)}},t.Model=void 0;var n=function(o){function e(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return i(u(e=o.call.apply(o,[this].concat(r))||this),"model",void 0),i(u(e),"store",void 0),i(u(e),"context",void 0),i(u(e),"actions",void 0),i(u(e),"childContext",void 0),i(u(e),"TYPE",void 0),i(u(e),"computed",void 0),e}return c(e,o),e.prototype.state=function(){return{}},e}(Fix.Model);t.Model=n}});