AUI.add("uea-asset-categories-selector",function(h){var l=h.Lang,q=l.String,u=h.Object,p=l.emptyFn,n=h.Component.create({ATTRS:{curEntries:{setter:function(a){l.isString(a)&&(a=a.split("_CATEGORY_"));return a},value:[]},curEntryIds:{setter:function(a){l.isString(a)&&(a=a.split(","));return a},value:[]},label:{validator:"_isValidString",value:'Select'},labelNode:{setter:function(a){return h.one(a)||h.Attribute.INVALID_VALUE},value:null},maxEntries:{validator:l.isNumber,value:-1},
moreResultsLabel:{validator:"_isValidString",value:'Load\x20More\x20Results'},singleSelect:{validator:l.isBoolean,value:!1},title:{validator:"_isValidString",value:'Select\x20Categories'},vocabularyGroupDescriptiveNames:{setter:function(a){l.isString(a)&&a&&(a=a.split(","));return a},value:[]},vocabularyGroupIds:{setter:function(a){l.isString(a)&&a&&(a=a.split(","));return a},value:[]},vocabularyIds:{setter:function(a){l.isString(a)&&a&&(a=a.split(","));return a},
value:[]}},EXTENDS:Liferay.AssetTagsSelector,NAME:"categoriesselector",prototype:{TREEVIEWS:{},UI_EVENTS:{},renderUI:function(){n.superclass.constructor.superclass.renderUI.apply(this,arguments);this._renderIcons();this.inputContainer.addClass("hide-accessible");this._applyARIARoles()},bindUI:function(){n.superclass.bindUI.apply(this,arguments)},syncUI:function(){var a=this;n.superclass.constructor.superclass.syncUI.apply(a,arguments);var b=a.get("matchKey");a.entries.getKey=function(d){return d.categoryId};
var c=a.get("curEntries");a.get("curEntryIds").forEach(function(d,f){var e={categoryId:d};e[b]=c[f];e.value=q.unescapeHTML(e.value);a.entries.add(e)})},_afterTBLFocusedChange:p,_applyARIARoles:function(){var a=this.get("boundingBox"),b=this.get("labelNode");b&&(a.attr("aria-labelledby",b.attr("id")),b.attr("for",a.attr("id")))},_bindTagsSelector:p,_clearEntries:function(){var a=this.entries;a.each(h.fn("removeAt",a,0))},_formatJSONResult:function(a){var b=this,c=[],d="check";b.get("singleSelect")&&
(d="radio");a.forEach(function(f,e){var g=!1,k="category"+f.categoryId;-1<b.entries.findIndexBy("categoryId",f.categoryId)&&(g=!0);g={after:{checkedChange:h.bind("_onCheckedChange",b)},checked:g,id:k,label:q.escapeHTML(f.titleCurrentValue),leaf:!f.hasChildren,paginator:b._getPaginatorConfig(f),type:d};c.push(g)});return c},_formatRequestData:function(a,b,c){var d={};d.p_auth=Liferay.authToken;d.scopeGroupId=a;a=this._getTreeNodeAssetId(c);c=this._getTreeNodeAssetType(c);l.isValue(a)&&("category"==
c?(d.categoryId=a,b&&(d.vocabularyId=b)):d.vocabularyId=a);return d},_getEntries:function(a,b){this.get("portalModelResource");this.get("vocabularyIds");var c=Liferay.PortletURL.createResourceURL();c.setResourceId("/assetvocabulary/get-vocabularies");c.setParameter("p_p_id","com_worth_uea_common_categories_taglib_CategorySelectorInteractionsPortlet");$.ajax({url:c.toString(),dataType:"JSON",success:function(d){b(d.vocabularies)}})},_getPaginatorConfig:function(a){var b={offsetParam:"start"},c=this.get("maxEntries");
0<c?(b.limit=c,b.moreResultsLabel=this.get("moreResultsLabel"),b.total=a.childrenCount):(b.end=-1,b.start=-1);return b},_getTreeNodeAssetId:function(a){return(a=a.get("id").match(/(\d+)$/))?a[1]:null},_getTreeNodeAssetType:function(a){return(a=a.get("id").match(/^(vocabulary|category)/))?a[1]:null},_initSearch:p,_initSearchFocus:function(){var a=this._popup,b=this.get("vocabularyGroupIds"),c=this.get("vocabularyIds"),d=this._searchResultsNode;if(!d){this._searchResultsNode=d=h.Node.create('\x3cdiv class\x3d"lfr-categories-selector-search-results"\x3e\x3c/div\x3e');
var f=h.bind("_processSearchResults",this,d),e=h.debounce(this._searchCategories,350,this);a.searchField.on("keyup",function(k){k.isNavKey()||e(k,d,c,b,f)});if(this.get("singleSelect")){var g=h.bind("_onSelectChange",this);a.entriesNode.delegate("change",g,"input[type\x3dradio]")}}a.entriesNode.append(d);this._searchBuffer=[]},_isValidString:function(a){return l.isString(a)&&a.length},_onBoundingBoxClick:p,_onCheckboxCheck:function(a){var b=a.currentTarget;h.instanceOf(b,h.Node)?(a=b.attr("data-categoryId"),
b=b.val()):(a=this._getTreeNodeAssetId(b),b=b.get("label"));var c=this.get("matchKey");a={categoryId:a};a[c]=b;a.value=q.unescapeHTML(a.value);this.entries.add(a)},_onCheckboxClick:function(a){var b="_onCheckboxUncheck";a.currentTarget.attr("checked")&&(b="_onCheckboxCheck");this[b](a)},_onCheckboxUncheck:function(a){a=a.currentTarget;a=h.instanceOf(a,h.Node)?a.attr("data-categoryId"):this._getTreeNodeAssetId(a);this.entries.removeKey(a)},_onCheckedChange:function(a){a.newVal?(this.get("singleSelect")&&
this._clearEntries(),this._onCheckboxCheck(a)):this._onCheckboxUncheck(a)},_onSelectChange:function(a){this._clearEntries();this._onCheckboxCheck(a)},_processSearchResults:function(a,b){var c=this,d=c._searchBuffer;d.length=0;var f=b.categories;if(f&&0<f.length){var e="checkbox";c.get("singleSelect")&&(e="radio");var g=h.guid();f.forEach(function(k,m){k.checked=-1<c.entries.findIndexBy("categoryId",k.categoryId)?' checked\x3d"checked" ':"";k.inputName=g;k.type=e;d.push(l.sub('\x3clabel title\x3d"{titleCurrentValue}"\x3e\x3cspan class\x3d"lfr-categories-selector-category-name" title\x3d"{titleCurrentValue}"\x3e\x3cinput data-categoryId\x3d"{categoryId}" data-vocabularyid\x3d"{vocabularyId}" name\x3d"{inputName}" type\x3d"{type}" value\x3d"{titleCurrentValue}" {checked} /\x3e{titleCurrentValue}\x3c/span\x3e\x3cspan class\x3d"lfr-categories-selector-search-results-path" title\x3d"{path}"\x3e{path}\x3c/span\x3e\x3c/label\x3e',
k))})}else f=l.sub('\x3cdiv class\x3d"lfr-categories-message"\x3e{0}\x3c/div\x3e',['No\x20categories\x20were\x20found\x2e']),d.push(f);a.removeClass("loading-animation");a.html(d.join(""))},_renderIcons:function(){var a=this.get("contentBox");this.icons=(new h.Toolbar({children:[{label:this.get("label"),on:{click:h.bind("_showSelectPopup",this)},title:this.get("title")}]})).render(a);a=this.icons.get("boundingBox");this.entryHolder.placeAfter(a)},_searchCategories:function(a,b,c,d,f){var e=
a.currentTarget.val().trim();if(this._searchValue=e)b.empty(),b.addClass("loading-animation"),a=Liferay.PortletURL.createResourceURL(),a.setResourceId("/assetcategory/search-categories"),a.setParameter("p_p_id","com_worth_uea_common_categories_taglib_CategorySelectorInteractionsPortlet"),a.setParameter("searchValue",e),$.ajax({url:a.toString(),dataType:"JSON",success:function(g){f(g)}});b.toggle(!!e);u.each(this.TREEVIEWS,function(g,k){g.toggle(!e)})},_showPopup:function(a){Liferay.Util.getTop().AUI().use("aui-tree");
n.superclass._showPopup.apply(this,arguments)},_showSelectPopup:function(a){var b=this;b._showPopup(a);var c=b._popup;c.titleNode.html('Categories');c.entriesNode.addClass("lfr-categories-selector-list");a=b.get("className");b._getEntries(a,function(d){var f=b._searchResultsNode,e=b._searchValue;f&&(f.removeClass("loading-animation"),f.toggle(!!e));c.entriesNode.all(".tree-view, .loading-animation").remove(!0);d?d.forEach(b._vocabulariesIterator,b):(c.entriesNode.empty(),c.entriesNode.append("You are not a member of any group that can publish news or events."));
h.each(b.TREEVIEWS,function(g,k){g.toggle(!e);g.expandAll()})});b._bindSearchHandle&&b._bindSearchHandle.detach();b._bindSearchHandle=c.searchField.once("focus",b._initSearchFocus,b)},_vocabulariesIterator:function(a,b){var c=this,d=c.get("vocabularyGroupDescriptiveNames"),f=c._popup,e=a.vocabularyId,g=a.titleCurrentValue;if(a.groupId==themeDisplay.getCompanyGroupId())g+=" ("+'Global'+")";else if(0<d.length){var k=c.get("vocabularyGroupIds");(d=d[k.indexOf(a.groupId)])&&(g+=
" ("+d+")")}g={alwaysShowHitArea:!0,id:"vocabulary"+e,label:g,leaf:!1,paginator:c._getPaginatorConfig(a),type:"io"};if(!_.isEmpty(c.TREEVIEWS))for(var m in c.TREEVIEWS)d=c.TREEVIEWS[m],k=d.get("children"),k&&k.length&&!k[0].hasChildNodes()||(d.destroy(),delete c.TREEVIEWS[m]);m=Liferay.PortletURL.createResourceURL();m.setResourceId("/assetcategories/get-categories");m.setParameter("p_p_id","com_worth_uea_common_categories_taglib_CategorySelectorInteractionsPortlet");m.setParameter("vocabularyId",
e);c.TREEVIEWS[e]=(new h.TreeView({children:[g],io:{cfg:{on:{success:function(r){r=c.TREEVIEWS;var t=r[e],s=t.get("children");s&&s.length&&s[0].hasChildNodes()||(t.destroy(),delete r[e])}}},formatter:h.bind("_formatJSONResult",c),url:m.toString()}})).render(f.entriesNode)}}});Liferay.UeaAssetCategoriesSelector=n},"",{requires:["aui-tree","liferay-asset-tags-selector"]});
(function(){var b=function(){var a;if(a=document.querySelector(".form-group.has-error .control-label"))a=a.clientHeight||0,window.scrollBy(0,-a);Liferay.ControlMenu&&(a=Liferay.ControlMenu._namespace+"ControlMenu",a=document.getElementById(a))&&(a=a.offsetHeight||0,window.scrollBy(0,-a))};Liferay.on("form:registered",function(a){a.form&&a.form.formValidator&&AUI().Do.after(b,a.form.formValidator,"focusInvalidField")})})();
