PageSourceSearch

https://www.fluentu.com/public/js/old-b764d85265dd33c5cc0f8cdb38faa0d1/tkn-dropdown.js

js fluentu.com collected 2026-09-24 08:32:24 UTC 5,284 bytes, 1 lines download raw bytes

1$.tknDropDown=function(t){this.init(t)},$.tknDropDown.prototype=$.extend(!0,{},$.tknEventsInterface.prototype,{events:{changed:[]},before:void 0,selectedData:void 0,params:{container:"",item:"",listWidth:148,float:"left",needRefresh:!0,useDelegate:!1,positionOf:"",collision:"flip flip",scroll:{active:!1,listMinHeight:0,listHeightPadding:0}},selectors:{},init:function(t){void 0!==t&&(this.params=$.extend(!0,{},this.params,t)),this.selectors={container:this.params.container,current:this.params.container+" .current",list:this.params.container+" .list",scrollableListContainer:this.params.container+" .list-scrollable",item:this.params.item||this.params.container+" .list span",arrow:this.params.container+" .expand-arrow",allLists:".expanded-select-button .list"},$(this.selectors.container).size()&&($(this.selectors.container).on("click.tknDropDown",bind(this,this.onButtonClick)),this.params.useDelegate?$(this.selectors.container).on("click.tknDropDown",this.params.item||".list span",bind(this,this.onItemClick)):$(this.selectors.item).on("click.tknDropDown",bind(this,this.onItemClick)),$(document).on("click.tknDropDown",bind(this,this.onDocumentClick)),$(window).on("resize.tknDropDown",bind(this,this.fit)),t=$(this.params.container+" .current").first().html(),this.refreshListsValues(),this.params.needRefresh||$(this.params.container+" .current").first().html(t),this.params.scroll.active)&&$(this.selectors.list).css("overflow-y","hidden")},destroy:function(){$(this.selectors.container).off("click.tknDropDown"),$(this.selectors.item).off("click.tknDropDown"),$(document).off("click.tknDropDown"),$(window).off("resize.tknDropDown")},fit:function(t){var e,s,i=$(this.selectors.list);i.size()&&(t&&(e=$(t.target).closest(this.selectors.container)),(e=t&&e&&e.size()?e:$(this.selectors.container)).position(),e.height(),t=e.outerWidth(),void 0!==this.params.listWidth&&0!==this.params.listWidth?i.width(this.params.listWidth):i.css({"min-width":t}),this.params.positionOf?(s=$(this.params.positionOf),i.css("position","fixed")):s=e,i.position({of:s,my:this.params.float+" top",at:this.params.float+" bottom",collision:this.params.collision}),this.params.scroll.active)&&this.addScroll()},addScroll:function(){var t=$(this.selectors.scrollableListContainer),e=document.documentElement.clientHeight,s=t[0].getBoundingClientRect(),i=tknVerticalScrollbarStyled.prototype.calculateTotalHeight(t);e<s.top+i&&(i=s.height-(s.bottom-e)-this.params.scroll.listHeightPadding),t.css({"max-height":i,"min-height":this.params.scroll.listMinHeight}),t.tknScroll()},onButtonClick:function(t){if($(this.selectors.container).is(".disabled"))return!1;t.preventDefault(),t.stopPropagation(),this.toggleListView(t)},onItemClick:function(t){if(t.stopPropagation(),$(t.target).is("a")||t.preventDefault(),$(t.target).is(".disabled"))return!1;this.selectItemFromList(t.target)},toggleListView:function(t){var e=$(t.target).closest(this.selectors.container);$(e).addClass("active").find(".list").is(":visible")?this.hideAllLists():(this.hideAllLists(),$(e).addClass("active").find(".list").show(),this.fit(t))},refreshListsValues:function(){var t=$(this.selectors.item),e="",s="";t.each(function(){void 0!==$(this)&&$(this).hasClass("active")&&(e=$(this).attr("data-value"),s=$(this).html())}),""!==e&&""!==s&&$(this.selectors.container).attr("data-value",e).find(".current").removeClass("empty").html(s)},selectItemFromList:function(t,e){null==e&&(e=!0),this.before=$(this.selectors.container).data("value");var s=$(t).closest(".expanded-select-button"),i=($(s).find("span").removeClass("active"),{value:$(t).closest("span").attr("data-value"),name:$(t).closest("span").html(),data:$.extend({},$(t).closest("span").data())});s.hasClass("image js-controll-select")||s.hasClass("js-controll-select")||($(t).addClass("active"),s.attr("data-value",i.value).find(".current").removeClass("empty").html(i.name)),this.selectedData=i,this.hideAllLists(),e&&this.fire("changed",i)},hideAllLists:function(){$(".expanded-select-button").removeClass("active"),$(this.selectors.allLists).hide()},disableDropdown:function(){$(this.selectors.container).addClass("disabled"),$(this.selectors.item).removeClass("active")},enableDropdown:function(){$(this.selectors.container).removeClass("disabled")},onDocumentClick:function(t){this.hideAllLists()},onWindowResizing:function(){this.fit()},getActiveValue:function(t){return t=t||"value",$(this.selectors.item+".active").data(t)},getActiveData:function(t){return t?$(this.selectors.item+".active").data(t):$.extend({},$(this.selectors.item+".active").data())},getActiveItem:function(){return $(this.selectors.item+".active")},setActiveItem:function(t,e){t=$(this.selectors.item).filter('[data-value="'+t+'"]');this.selectItemFromList(t,!e)},unsetActiveItem:function(t){$(this.selectors.item).filter('[data-value="'+t+'"]').removeClass("active")},disableItem:function(t){$(this.selectors.item).filter('[data-value="'+t+'"]').addClass("disabled")},enableItem:function(t){$(this.selectors.item).filter('[data-value="'+t+'"]').removeClass("disabled")},addItemToList:function(t,e,s){if(!$(this.selectors.item).filter('[data-value="'+e+'"]').size()){var i,a={"data-value":e};for(i in s)a["data-"+i]=s[i];e=$("<span />",a);e.text(t),$(this.selectors.list).append(e)}}});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.