wishthis/semantic/dist/components/dropdown.min.js

11 lines
57 KiB
JavaScript
Raw Normal View History

2022-01-13 13:00:31 +00:00
/*
* # Fomantic UI - 2.8.8
* https://github.com/fomantic/Fomantic-UI
* http://fomantic-ui.com/
*
* Copyright 2022 Contributors
* Released under the MIT license
* http://opensource.org/licenses/MIT
*
*/
2022-02-23 21:46:34 +00:00
!function(te,ne,ie,ae){"use strict";te.isFunction=te.isFunction||function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},ne=void 0!==ne&&ne.Math==Math?ne:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")(),te.fn.dropdown=function(B){var K,W=te(this),Q=te(ie),Y=W.selector||"",$="ontouchstart"in ie.documentElement,X=$?"touchstart":"click",G=(new Date).getTime(),J=[],Z=B,_="string"==typeof Z,ee=[].slice.call(arguments,1);return W.each(function(n){var d,e,i,a,s,o,r,c,u,v=te.isPlainObject(B)?te.extend(!0,{},te.fn.dropdown.settings,B):te.extend({},te.fn.dropdown.settings),m=v.className,C=v.message,y=v.fields,x=v.keys,h=v.metadata,S=v.namespace,A=v.regExp,f=v.selector,T=v.error,L=v.templates,t="."+S,I="module-"+S,g=te(this),D=te(v.context),k=g.find(f.text),O=g.find(f.search),q=g.find(f.sizer),l=g.find(f.input),R=g.find(f.icon),V=g.find(f.clearIcon),E=0<g.prev().find(f.text).length?g.prev().find(f.text):g.prev(),p=g.children(f.menu),b=p.find(f.item),M=v.hideDividers?b.parent().children(f.divider):te(),z=!1,F=!1,P=!1,N=!1,H=this,j=!1,U=g.data(I),w={initialize:function(){w.debug("Initializing dropdown",v),w.is.alreadySetup()?w.setup.reference():(v.ignoreDiacritics&&!String.prototype.normalize&&(v.ignoreDiacritics=!1,w.error(T.noNormalize,H)),w.setup.layout(),v.values&&(w.set.initialLoad(),w.change.values(v.values),w.remove.initialLoad()),w.refreshData(),w.save.defaults(),w.restore.selected(),w.create.id(),w.bind.events(),w.observeChanges(),w.instantiate())},instantiate:function(){w.verbose("Storing instance of dropdown",w),U=w,g.data(I,w)},destroy:function(){w.verbose("Destroying previous dropdown",g),w.remove.tabbable(),w.remove.active(),p.transition("stop all"),p.removeClass(m.visible).addClass(m.hidden),g.off(t).removeData(I),p.off(t),Q.off(s),w.disconnect.menuObserver(),w.disconnect.selectObserver(),w.disconnect.classObserver()},observeChanges:function(){"MutationObserver"in ne&&(r=new MutationObserver(w.event.select.mutation),c=new MutationObserver(w.event.menu.mutation),u=new MutationObserver(w.event.class.mutation),w.debug("Setting up mutation observer",r,c,u),w.observe.select(),w.observe.menu(),w.observe.class())},disconnect:{menuObserver:function(){c&&c.disconnect()},selectObserver:function(){r&&r.disconnect()},classObserver:function(){u&&u.disconnect()}},observe:{select:function(){w.has.input()&&r&&r.observe(g[0],{childList:!0,subtree:!0})},menu:function(){w.has.menu()&&c&&c.observe(p[0],{childList:!0,subtree:!0})},class:function(){w.has.search()&&u&&u.observe(g[0],{attributes:!0})}},create:{id:function(){o=(Math.random().toString(16)+"000000000").substr(2,8),s="."+o,w.verbose("Creating unique id for element",o)},userChoice:function(e){var n,i;return!!(e=e||w.get.userValues())&&(e=Array.isArray(e)?e:[e],te.each(e,function(e,t){!1===w.get.item(t)&&(i=v.templates.addition(w.add.variables(C.addResult,t)),i=te("<div />").html(i).attr("data-"+h.value,t).attr("data-"+h.text,t).addClass(m.addition).addClass(m.item),v.hideAdditions&&i.addClass(m.hidden),n=n===ae?i:n.add(i),w.verbose("Creating user choices for value",t,i))}),n)},userLabels:function(e){var t=w.get.userValues();t&&(w.debug("Adding user labels",t),te.each(t,function(e,t){w.verbose("Adding custom user value"),w.add.label(t,t)}))},menu:function(){p=te("<div />").addClass(m.menu).appendTo(g)},sizer:function(){q=te("<span />").addClass(m.sizer).insertAfter(O)}},search:function(e){e=e!==ae?e:w.get.query(),w.verbose("Searching for query",e),!1===v.fireOnInit&&w.is.initialLoad()?w.verbose("Skipping callback on initial load",v.onSearch):w.has.minCharacters(e)&&!1!==v.onSearch.call(H,e)?w.filter(e):w.hide(null,!0)},select:{firstUnfiltered:function(){w.verbose("Selecting first non-filtered element"),w.remove.selectedItem(),b.not(f.unselectable).not(f.addition+f.hidden).eq(0).addClass(m.selected)},nextAvailable:function(e){var t=(e=e.eq(0)).nextAll(f.item).not(f.unselectable).eq(0),e=e.prevAll(f.item).not(f.unselectable).eq(0);0<t.length?(w.verbose("Moving selection to",t),t.addClass(m.selected)):(w.verbose("Moving selection to",e),e.addClass