View file upload/js/xenforo/title_prefix.js

File size: 4.25Kb
/*
 * XenForo title_prefix.min.js
 * Copyright 2010-2019 XenForo Ltd.
 * Released under the XenForo License Agreement: http://xenforo.com/license-agreement
 */
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,h,e){a instanceof String&&(a=String(a));for(var g=a.length,b=0;b<g;b++){var w=a[b];if(h.call(e,w,b,a))return{i:b,v:w}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,h,e){a!=Array.prototype&&a!=Object.prototype&&(a[h]=e.value)};
$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,h,e,g){if(h){e=$jscomp.global;a=a.split(".");for(g=0;g<a.length-1;g++){var b=a[g];b in e||(e[b]={});e=e[b]}a=a[a.length-1];g=e[a];h=h(g);h!=g&&null!=h&&$jscomp.defineProperty(e,a,{configurable:!0,writable:!0,value:h})}};
$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,e){return $jscomp.findInternal(this,a,e).v}},"es6","es3");
!function(a,h,e,g){XenForo.TitlePrefix=function(b){function g(d){var k,c=b.val();b.find("option, optgroup").not("[value=0]").empty().remove();a.each(d,function(c,d){c=d.prefix_group_id;k=0!=c?a("<optgroup />").attr("label",d.title).appendTo(b):b;a.each(d.prefixes,function(c,b){c=b.prefix_id;a("<option />").attr("value",c).data("css",b.css).text(b.title).appendTo(k)})});x(n);var y=p;setTimeout(function(){var a=b.find("option[value="+y+"]");1>a.length&&(a=b.find("option[value=0]"));q(a.data("link"),
!0)},0);b.val(c).trigger("change")}function r(b){if(f.length){var d=l.innerWidth()-10;f.siblings().not(f).each(function(){var c=a(this).css("position");"absolute"!=c&&"fixed"!=c&&(d-=a(this).outerWidth(!0))});130>d?(f.css("width","100%"),l.addClass("blockInput")):(f.css("width",d),l.removeClass("blockInput"))}}function q(a,k){if(f.length){var c=a.data("option");a.closest("ul.PrefixMenu").find("li.PrefixOption, li.PrefixGroup").removeClass("selected");if(c instanceof jQuery){0!=c.val()&&a.closest("li.PrefixOption").addClass("selected");
var d=a.closest("li.PrefixGroup");d.length&&0==d.find("li.PrefixOption").not(".selected").length&&d.addClass("selected");m.data("css")&&m.removeClass(m.data("css"));m.addClass(c.data("css")).data("css",c.data("css")).find("span.prefixText").text(c.text());p=c.val();console.info("set prefix %s",p);b.val(p).trigger("change")}r();b.trigger({type:"XFSetPrefix",link:a});k||f.get(0).select()}}function t(b,k){var c=a(b),d=a('<a href="javascript:" />').data("option",c).text(c.text()).addClass(c.data("css")).click(function(a){q(d)});
k.append(a("<li />").addClass("PrefixOption").append(d));c.data("link",d);b.selected&&setTimeout(function(){q(d,!0)},0)}function z(){if(f.length)return n=a('<ul class="Menu PrefixMenu secondaryContent" />'),x(n),a('<div class="Popup PrefixPopup"></div>').append(m).append(n)}function x(d){f.length&&(d.empty(),b.children("optgroup").each(function(b,c){b=a(c);c=a("<li />").addClass("PrefixGroup").appendTo(d);a("<h3 />").text(b.attr("label")).appendTo(c);var e=a("<ul />").appendTo(c);b.children("option").each(function(a,
b){t(b,e)})}),b.children("option:not([value=0])").each(function(a,b){t(b,d)}),b.children("option[value=0]").each(function(a,b){t(b,d)}))}var A=a(b.data("container")),f=a(b.data("textbox")),m=a('<span rel="Menu"><span class="prefixText"></span></span>').addClass("prefix noPrefix").data("css","prefix noPrefix"),n=null,u=a(b.data("nodecontrol")),p=0,v={};u.length&&b.data("prefixurl")&&u.change(function(a){var d=u.val(),c=b.data("prefixurl"),e=null;v[d]?g(v[d]):c&&setTimeout(function(){e&&e.abort();e=
XenForo.ajax(c,{node_id:d},function(a,b){e=null;if(XenForo.hasResponseError(a))return!1;a.prefixGroups&&(v[d]=a.prefixGroups,g(a.prefixGroups))})},0)});if(f.length){A.hide();var l=a("<div />").addClass("textCtrlWrap").addClass(f.attr("class")).insertBefore(f).append(f);l.prepend(z());f.bind({focus:function(a){l.addClass("Focus")},blur:function(a){l.removeClass("Focus")}});a(e).bind("XenForoActivationComplete OverlayOpened TitlePrefixRecalc",r);a(h).on("resize",r)}};XenForo.register("select.TitlePrefix",
"XenForo.TitlePrefix")}(jQuery,this,document);