| Current Path : /home/lejardintz/www/media/foundry/3.1/scripts/ |
| Current File : /home/lejardintz/www/media/foundry/3.1/scripts/textboxlist.min.js |
!function(){var moduleFactory=function($){var module=this;$.require().script("autosize.input","scrollTo").done(function(){var exports=function(){var KEYCODE={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,ENTER:13,ESCAPE:27,LEFT:37,RIGHT:39,SPACE:32,TAB:9,UP:38};$.template("textboxlist/item",'<div class="textboxlist-item" data-textboxlist-item><span class="textboxlist-itemContent" data-textboxlist-itemContent>[%== html %]</span><div class="textboxlist-itemRemoveButton" data-textboxlist-itemRemoveButton><i class="ies-cancel-2"></i></a></div>'),$.template("textboxlist/itemContent",'[%= title %]<input type="hidden" name="[%= name %]" value="[%= id %]"/>'),$.Controller("Textboxlist",{pluginName:"textboxlist",hostname:"textboxlist",defaultOptions:{view:{item:"textboxlist/item",itemContent:"textboxlist/itemContent"},plugin:{},name:"items[]",unique:!0,caseSensitive:!1,max:null,filterItem:null,"{item}":"[data-textboxlist-item]","{itemContent}":"[data-textboxlist-itemContent]","{itemRemoveButton}":"[data-textboxlist-itemRemoveButton]","{textField}":"[data-textboxlist-textField]"}},function(self){return{init:function(){var textField=self.textField();
textField.autosizeInput(),textField.data("placeholderText",textField.attr("placeholder"));var name=textField.data("textboxlistName");name&&(self.options.name=name),self.item().each(function(){var item=$(this),itemContent=item.find(self.itemContent.selector);self.createItem({id:item.data("id")||function(){var id=$.uid("item-");return item.data("id",id),id}(),title:item.data("title")||$.trim(itemContent.text()),html:itemContent.html()})}),(self.options.plugin.autocomplete||self.element.data("query"))&&self.addPlugin("autocomplete"),self.on("keypress",self.textField(),function(event){return event.keyCode==KEYCODE.ENTER?event.preventDefault():void 0
})},setLayout:function(){var textField=self.textField(),placeholderText=textField.data("placeholderText");self.item().length>0&&(placeholderText=""),textField.attr("placeholder",placeholderText).data("autosizeInputInstance").update()},enable:function(){self.element.removeClass("disabled"),self.textField().enabled(!0)},disable:function(){self.element.addClass("disabled"),self.textField().disabled(!0)},items:{},itemsByTitle:{},getItemKey:function(title){return self.options.caseSensitive?title:title.toLowerCase()
},filterItem:function(item){var options=self.options,filterItem=options.filterItem;$.isFunction(filterItem)&&(item=filterItem.call(self,item));var items=self.itemsByTitle;if($.isString(item)&&""!==item){var title=item,key=self.getItemKey(title);item=items.hasOwnProperty(key)?self.itemsByTitle[key]:{id:$.uid("item-"),title:title,key:self.getItemKey(title)}}return item.name=item.name||self.options.name,item.html=item.html||self.view.itemContent(!0,item),item},createItem:function(item){item.key=self.getItemKey(item.title),self.items[item.id]=item,self.itemsByTitle[item.key]=item
},deleteItem:function(id){var item=self.items[id];delete self.items[id];var key=self.options.caseSensitive?item.title:item.title.toLowerCase();delete self.itemsByTitle[key]},addItem:function(item){if(item){var options=self.options,max=options.max;if(!(null!==max&&self.item().length>=max)&&(item=self.filterItem(item),$.isPlainObject(item))){var itemEl,existingItemEl=self.item().filterBy("id",item.id);return options.unique&&existingItemEl.length>0&&(itemEl=existingItemEl),itemEl||(itemEl=self.view.item(item).addClass(item.className||"").attr("data-id",item.id)),self.createItem(item),itemEl.insertBefore(self.textField()),self.trigger("addItem",[item]),item
}}},removeItem:function(id){var item=self.items[id];self.item().filterBy("id",id).remove(),self.deleteItem(id),self.trigger("removeItem",[item])},clearItems:function(){self.item().each(function(){self.removeItem($(this).data("id"))})},getAddedItems:function(){var addedItems=[];return self.item().each(function(){var item=$(this),id=item.data("id");addedItems.push(self.items[id])}),addedItems},"{self} addItem":function(){self.setLayout()},"{self} removeItem":function(){self.setLayout()},"{itemRemoveButton} click":function(button){var item=button.parents(self.item.selector);
self.removeItem(item.data("id"))},"{textField} keydown":function(textField,event){var keyCode=event.keyCode;textField.data("realEnterKey",keyCode==KEYCODE.ENTER)},"{textField} keypress":function(textField,event){var keydownIsEnter=textField.data("realEnterKey"),keypressIsEnter=event.keyCode==KEYCODE.ENTER;textField.data("realEnterKey",keydownIsEnter&&keypressIsEnter);var keyword=$.trim(self.textField().val());switch(event.keyCode){case KEYCODE.ENTER:if(textField.data("realEnterKey")){var event=self.trigger("useItem",[keyword]),item=event.item;
if(void 0===item&&(item=keyword),item===!1||null===item)return;self.addItem(item),textField.val("")}}},"{textField} keyup":function(textField,event){var item=$.trim(self.textField().val()),canRemoveItemUsingBackspace="canRemoveItemUsingBackspace";switch(event.keyCode){case KEYCODE.BACKSPACE:if(""===item)if(self[canRemoveItemUsingBackspace]){var prevItem=textField.prev(self.item.selector);prevItem.length>0&&self.removeItem(prevItem.data("id"))}else self[canRemoveItemUsingBackspace]=!0;break;default:self[canRemoveItemUsingBackspace]=!1
}},"{self} click":function(el,event){var textField=self.textField();textField.is(event.target)||textField.focus()},"{textField} focusin":function(){self.activated||(self.activated=!0,self.trigger("textboxlistActivate"))},"{self} mousedown":function(){self.focusing=!0},"{self} mouseup":function(){self.focusing=!1},"{self} focusout":function(){self.focusing||(self.activated=!1,self.deactivateTimer=setTimeout(function(){self.activated||self.trigger("textboxlistDeactivate")},1))}}}),$(document).on("click.textboxlist.data-api","[data-textboxlist]",function(){$(this).addController($.Controller.TextboxList).textField().focus()
}).on("focus.textboxlist.data-api","[data-textboxlist] [data-textboxlist-textField]",function(){$(this).parents("[data-textboxlist]").addController($.Controller.TextboxList)}),$.template("textboxlist/menu",'<div class="textboxlist-autocomplete" data-textboxlist-autocomplete><div class="textboxlist-autocomplete-inner" data-textboxlist-autocomplete-viewport><div class="textboxlist-autocomplete-loading" data-textboxlist-autocomplete-loading></div><div class="textboxlist-autocomplete-empty" data-textboxlist-autocomplete-empty></div><ul class="textboxlist-menu" data-textboxlist-menu></ul></div></div>'),$.template("textboxlist/menuItem",'<li class="textboxlist-menuItem" data-textboxlist-menuItem>[%== html %]</li>'),$.template("textboxlist/loadingHint",'<i class="textboxlist-autocomplete-loading-indicator"></i>'),$.template("textboxlist/emptyHint",'<span class="textboxlist-autocomplete-empty-text">No items found.</span>'),$.Controller("Textboxlist.Autocomplete",{defaultOptions:{view:{menu:"textboxlist/menu",menuItem:"textboxlist/menuItem",loadingHint:"textboxlist/loadingHint",emptyHint:"textboxlist/emptyHint"},cache:!0,minLength:1,limit:10,highlight:!0,caseSensitive:!1,exclusive:!1,query:null,position:{my:"left top",at:"left bottom",collision:"none"},filterItem:null,showEmptyHint:!1,showLoadingHint:!1,"{menu}":"[data-textboxlist-menu]","{menuItem}":"[data-textboxlist-menuItem]","{viewport}":"[data-textboxlist-autocomplete-viewport]","{loadingHint}":"[data-textboxlist-autocomplete-loading]","{emptyHint}":"[data-textboxlist-autocomplete-empty]"}},function(self){return{init:function(){if(!self.element.data(self.Class.fullName))return self.destroy(),self.view.menu().appendTo("body").data(self.Class.fullName,!0).addController(self.Class,self.options),void 0;
var textboxlist=self.textboxlist;textboxlist.autocomplete=self,textboxlist.pluginInstances.autocomplete=self,self.options.position.of=self.textboxlist.element,self.initQuery(),self.view.loadingHint().appendTo(self.loadingHint()),self.view.emptyHint().appendTo(self.emptyHint()),self.element.detach()},initQuery:function(){var query=self.options.query||self.textboxlist.element.data("query");if($.isUrl(query)){var url=query;return self.query=function(keyword){return $.ajax(url+keyword)},void 0}if($.isFunction(query)){var func=query;
return self.query=function(keyword){return func.call(self,keyword)},void 0}if($.isArray(query)){var dataset=query;return self.query=function(keyword){var task=$.Deferred(),keyword=keyword.toLowerCase();return setTimeout(function(){var result=$.grep(dataset,function(item){return item.title.toLowerCase().indexOf(keyword)>-1});task.resolve(result)},0),task},void 0}},setLayout:function(){self.hidden||self.element.css({opacity:1,width:self.textboxlist.element.outerWidth()}).position(self.options.position)},"{window} resize":$.debounce(function(){self.element.css("opacity",0),self.setLayout()
},250),"{window} scroll":$.debounce(function(){self.element.css("opacity",0),self.setLayout()},250),"{window} dialogTransitionStart":function(){self.hidden=!0,self.element.css("opacity",0)},"{window} dialogTransitionEnd":function(){self.hidden=!1,self.setLayout()},show:function(){clearTimeout(self.sleep),self.element.appendTo("body").show(),self.hidden=!1,self.setLayout()},hide:function(){self.element.hide();var menuItem=self.menuItem(),activeMenuItem=menuItem.filter(".active");activeMenuItem.length>0&&(self.lastItem={keyword:$.trim(self.textboxlist.textField().val()),item:activeMenuItem.data("item")}),menuItem.removeClass("active"),self.render.reset(),self.hidden=!0,clearTimeout(self.sleep),self.sleep=setTimeout(function(){self.element.detach()
},3e3)},queries:{},populated:!1,populate:function(keyword){self.populated=!1;var element=self.element,options=self.options;element.removeClass("loading empty"),options.showLoadingHint&&self.hide();var event=self.trigger("populateKeyword",[keyword]);event.keyword&&(keyword=event.keyword);var key=options.caseSensitive?keyword:keyword.toLowerCase(),query=self.queries[key],newQuery=!$.isDeferred(query)||!self.options.cache,runQuery=function(){options.showLoadingHint&&(element.addClass("loading"),self.show()),(newQuery||!newQuery&&"rejected"==query.state())&&(query=self.queries[key]=self.query(keyword)),query.done(self.render(function(items){return[items,keyword]
})).fail(function(){self.hide()}).always(function(){element.removeClass("loading")}),self.trigger("queryKeyword",[query,keyword])};newQuery?(clearTimeout(self.queryTask),self.queryTask=setTimeout(runQuery,250)):runQuery()},populateTask:null,populateFromTextField:function(){clearTimeout(self.populateTask),self.populateTask=setTimeout(function(){var textField=self.textboxlist.textField(),keyword=$.trim(textField.val());""===keyword||keyword.length<self.options.minLength?self.hide():self.populate(keyword)},1)},render:$.Enqueue(function(items,keyword){$.isArray(items)||(items=[]);
var textboxlist=self.textboxlist,autocomplete=self,element=self.element,options=self.options,menu=self.menu();if(items.length<1)return options.showEmptyHint?(menu.empty(),element.addClass("empty"),textboxlist.trigger("renderMenu",[menu,autocomplete,textboxlist]),self.show()):self.hide(),void 0;element.removeClass("empty"),options.cache&&menu.data("keyword")===keyword||(menu.empty(),$.each(items,function(i,item){textboxlist.trigger("filterItem",[item,autocomplete,textboxlist]);var filterItem=options.filterItem;
if($.isFunction(filterItem)&&(item=filterItem.call(self,item,keyword)),$.isPlainObject(item)&&!item.discard){var html=item.menuHtml||item.title;self.view.menuItem({html:html}).addClass(item.className||"").data("item",item).appendTo(menu)}}),menu.data("keyword",keyword));var menuItems=self.menuItem();return textboxlist.trigger("filterMenu",[menu,menuItems,autocomplete,textboxlist]),menuItems.filter(":not(.hidden)").length<1&&(element.addClass("empty"),!options.showEmptyHint)?self.hide():(options.exclusive&&self.menuItem(":not(.hidden):first").addClass("active"),textboxlist.trigger("renderMenu",[menu,autocomplete,textboxlist]),self.show(),void 0)
}),"{textboxlist.textField} keydown":function(textField,event){clearTimeout(self.sleep);var activeMenuItem=self.menuItem(".active:not(.hidden)");switch(activeMenuItem.length<1&&(activeMenuItem=!1),self.textboxlist.textField(),event.keyCode){case KEYCODE.UP:self.menuItem().removeClass("active"),activeMenuItem?activeMenuItem.prev(self.menuItem.selector+":not(.hidden)").addClass("active"):self.menuItem(":not(.hidden):last").addClass("active"),event.preventDefault();break;case KEYCODE.DOWN:self.menuItem().removeClass("active"),activeMenuItem?activeMenuItem.next(self.menuItem.selector+":not(.hidden)").addClass("active"):self.menuItem(":not(.hidden):first").addClass("active"),event.preventDefault();
break;case KEYCODE.ESCAPE:self.hide();break;case KEYCODE.ENTER:break;default:self.populateFromTextField()}var activeMenuItem=self.menuItem(".active:not(.hidden)");activeMenuItem.length<1||self.viewport().scrollIntoView(activeMenuItem)},"{textboxlist} textboxlistActivate":function(){self.populateFromTextField()},"{textboxlist} textboxlistDeactivate":function(){setTimeout(function(){self.hide()},150)},"{textboxlist} destroyed":function(){self.element.remove()},"{textboxlist} useItem":function(textField,event,keyword){var exclusive=self.options.exclusive;
if(exclusive&&(event.item=!1),self.hidden){var lastItem=self.lastItem;return exclusive&&lastItem&&lastItem.keyword==keyword&&(event.item=lastItem.item),void 0}var activeMenuItem=self.menuItem(".active");if(activeMenuItem.length>0){var item=activeMenuItem.data("item");event.item=item}self.hide()},"{menuItem} mousedown":function(){self.textboxlist.focusing=!0},"{menuItem} mouseup":function(){self.textboxlist.focusing=!1},"{menuItem} click":function(menuItem){self.hide();var item=menuItem.data("item");self.textboxlist.addItem(item);
var textField=self.textboxlist.textField().val("");setTimeout(function(){textField.focus()},150)},"{menuItem} mouseover":function(menuItem){self.menuItem().removeClass("active"),menuItem.addClass("active")},"{menuItem} mouseout":function(){self.menuItem().removeClass("active")}}})};exports(),module.resolveWith(exports)})};FD31.module("textboxlist",moduleFactory)}();