{"version":3,"sources":["node_modules/nodebb-plugin-composer-default/static/lib/composer/categoryList.js"],"names":["define","categorySelector","taskbar","categoryList","selector","init","postContainer","postData","listContainer","find","length","on","toggleDropDirection","socket","emit","err","categories","app","alertError","message","_map","reduce","memo","cur","cid","forEach","category","disabledClass","$","name","translateText","appendTo","updateTaskbar","parseAndTranslate","pullRight","html","append","selectedCategory","hasOwnProperty","changeCategory","selectCategory","getSelectedCategory","addClass","text","this","removeClass","selectedCid","attr","toggleClass","outerHeight","window","height","getSelectedCid","uuid","update","image","backgroundImage","background-color","bgColor","icon","slice","require","tags","onChangeCategory"],"mappings":"AACA,aAIAA,OAAO,yBAA0B,mBAAoB,WAAY,SAASC,EAAkBC,GAC3F,IAAIC,KAEJ,IAAIC,EAEJD,EAAaE,KAAO,SAASC,EAAeC,GAC3C,IAAIC,EAAgBF,EAAcG,KAAK,4BACvC,IAAKD,EAAcE,OAAQ,CAC1B,OAGDJ,EAAcK,GAAG,yBAA0B,WAC1CC,EAAoBN,KAGrBO,OAAOC,KAAK,6CAA+C,SAASC,EAAKC,GACxE,GAAID,EAAK,CACR,OAAOE,IAAIC,WAAWH,EAAII,SAG3BhB,EAAaiB,KAAOJ,EAAWK,OAAO,SAAUC,EAAMC,GACrDD,EAAKC,EAAIC,KAAOD,EAChB,OAAOD,OAGRN,EAAWS,QAAQ,SAAUC,GAC5B,IAAKA,EAASC,cAAe,CAC5BC,EAAE,iBAAmBF,EAASF,IAAM,KAAOE,EAASG,KAAO,SAASC,cAAcJ,EAASG,MAAME,SAASH,EAAE,0BAI9GzB,EAAa6B,cAAc1B,EAAeC,GAE1CU,IAAIgB,kBAAkB,8BACrBjB,WAAYA,EACZkB,UAAW,OACT,SAAUC,GACZ3B,EAAc4B,OAAOD,GACrB/B,EAAWH,EAAiBI,KAAKG,EAAcC,KAAK,mCAAoC,SAAU4B,GACjG,GAAI9B,EAAS+B,eAAe,OAAQ,CACnCC,EAAejC,EAAeC,EAAU8B,EAAiBb,QAI3D,GAAIjB,EAASiB,IAAK,CACjBpB,EAASoC,eAAejC,EAASiB,KAGlC,IAAIa,EAAmBjC,EAASqC,sBAEhCb,EAAE,kBAAkBE,cAAcO,EAAmBA,EAAiBR,KAAO,wCAC7ED,EAAE,sBAAsBnB,KAAK,gBAAkBF,EAASiB,IAAM,MAAMkB,SAAS,UAE7E9B,EAAoBN,OAKtBsB,EAAE,sBAAsBjB,GAAG,QAAS,KAAM,WACzCiB,EAAE,kBAAkBe,KAAKf,EAAEgB,MAAMD,QACjCf,EAAE,sBAAsBiB,YAAY,QACpCjB,EAAE,yBAAyBiB,YAAY,UACvCjB,EAAEgB,MAAMF,SAAS,UACjB,IAAII,EAAclB,EAAEgB,MAAMG,KAAK,YAC/B3C,EAASoC,eAAeM,GACxB,GAAIvC,EAAS+B,eAAe,OAAQ,CACnCC,EAAejC,EAAeC,EAAUuC,OAK3C,SAASlC,EAAoBN,GAC5BA,EAAcG,KAAK,4DAA4DuC,YAAY,SAAU1C,EAAc2C,cAAgBrB,EAAEsB,QAAQC,SAAW,GAGzJhD,EAAaiD,eAAiB,WAC7B,IAAIf,EACJ,GAAIjC,EAAU,CACbiC,EAAmBjC,EAASqC,sBAE7B,OAAOJ,EAAmBA,EAAiBb,IAAM,GAGlDrB,EAAa6B,cAAgB,SAAU1B,EAAeC,GACrD,IAAI8C,EAAO/C,EAAcyC,KAAK,aAC9B,IAAIrB,EAAWvB,EAAaiB,KAAKb,EAASiB,KAC1C,GAAIE,EAAU,CACbxB,EAAQoD,OAAO,WAAYD,GAC1BE,MAAO7B,EAAS8B,gBAChBC,mBAAoB/B,EAASgC,QAC7BC,KAAMjC,EAASiC,KAAKC,MAAM,OAK7B,SAASrB,EAAejC,EAAeC,EAAUiB,GAChDjB,EAASiB,IAAMA,EAEfqC,SAAS,iBAAkB,SAAUC,GACpCA,EAAKC,iBAAiBzD,EAAeC,EAAUiB,KAGhDrB,EAAa6B,cAAc1B,EAAeC,GAG3C,OAAOJ","file":"node_modules/nodebb-plugin-composer-default/static/lib/composer/categoryList.js","sourcesContent":["\r\n'use strict';\r\n\r\n/*globals define, socket, app*/\r\n\r\ndefine('composer/categoryList', ['categorySelector', 'taskbar'], function(categorySelector, taskbar) {\r\n\tvar categoryList = {};\r\n\r\n\tvar selector;\r\n\r\n\tcategoryList.init = function(postContainer, postData) {\r\n\t\tvar listContainer = postContainer.find('.category-list-container');\r\n\t\tif (!listContainer.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tpostContainer.on('action:composer.resize', function () {\r\n\t\t\ttoggleDropDirection(postContainer);\r\n\t\t});\r\n\r\n\t\tsocket.emit('plugins.composer.getCategoriesForSelect', {}, function(err, categories) {\r\n\t\t\tif (err) {\r\n\t\t\t\treturn app.alertError(err.message);\r\n\t\t\t}\r\n\t\t\t// Save hash for queries\r\n\t\t\tcategoryList._map = categories.reduce(function (memo, cur) {\r\n\t\t\t\tmemo[cur.cid] = cur;\r\n\t\t\t\treturn memo;\r\n\t\t\t}, {});\r\n\r\n\t\t\tcategories.forEach(function (category) {\r\n\t\t\t\tif (!category.disabledClass) {\r\n\t\t\t\t\t$('
  • ' + category.name + '
  • ').translateText(category.name).appendTo($('.category-selector'));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tcategoryList.updateTaskbar(postContainer, postData);\r\n\r\n\t\t\tapp.parseAndTranslate('partials/category-selector', {\r\n\t\t\t\tcategories: categories,\r\n\t\t\t\tpullRight: false,\r\n\t\t\t}, function (html) {\r\n\t\t\t\tlistContainer.append(html);\r\n\t\t\t\tselector = categorySelector.init(listContainer.find('[component=\"category-selector\"]'), function (selectedCategory) {\r\n\t\t\t\t\tif (postData.hasOwnProperty('cid')) {\r\n\t\t\t\t\t\tchangeCategory(postContainer, postData, selectedCategory.cid);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (postData.cid) {\r\n\t\t\t\t\tselector.selectCategory(postData.cid);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar selectedCategory = selector.getSelectedCategory();\r\n\r\n\t\t\t\t$('.category-name').translateText(selectedCategory ? selectedCategory.name : '[[modules:composer.select_category]]');\r\n\t\t\t\t$('.category-selector').find('li[data-cid=\"' + postData.cid + '\"]').addClass('active');\r\n\r\n\t\t\t\ttoggleDropDirection(postContainer);\r\n\t\t\t});\r\n\t\t});\r\n\r\n\r\n\t\t$('.category-selector').on('click', 'li', function() {\r\n\t\t\t$('.category-name').text($(this).text());\r\n\t\t\t$('.category-selector').removeClass('open');\r\n\t\t\t$('.category-selector li').removeClass('active');\r\n\t\t\t$(this).addClass('active');\r\n\t\t\tvar selectedCid = $(this).attr('data-cid');\r\n\t\t\tselector.selectCategory(selectedCid);\r\n\t\t\tif (postData.hasOwnProperty('cid')) {\r\n\t\t\t\tchangeCategory(postContainer, postData, selectedCid);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tfunction toggleDropDirection(postContainer) {\r\n\t\tpostContainer.find('.category-list-container [component=\"category-selector\"]').toggleClass('dropup', postContainer.outerHeight() < $(window).height() / 2);\r\n\t}\r\n\r\n\tcategoryList.getSelectedCid = function () {\r\n\t\tvar selectedCategory;\r\n\t\tif (selector) {\r\n\t\t\tselectedCategory = selector.getSelectedCategory();\r\n\t\t}\r\n\t\treturn selectedCategory ? selectedCategory.cid : 0;\r\n\t};\r\n\r\n\tcategoryList.updateTaskbar = function (postContainer, postData) {\r\n\t\tvar uuid = postContainer.attr('data-uuid');\r\n\t\tvar category = categoryList._map[postData.cid];\r\n\t\tif (category) {\r\n\t\t\ttaskbar.update('composer', uuid, {\r\n\t\t\t\timage: category.backgroundImage,\r\n\t\t\t\t'background-color': category.bgColor,\r\n\t\t\t\ticon: category.icon.slice(3),\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tfunction changeCategory(postContainer, postData, cid) {\r\n\t\tpostData.cid = cid;\r\n\r\n\t\trequire(['composer/tags'], function (tags) {\r\n\t\t\ttags.onChangeCategory(postContainer, postData, cid);\r\n\t\t});\r\n\r\n\t\tcategoryList.updateTaskbar(postContainer, postData);\r\n\t}\r\n\r\n\treturn categoryList;\r\n});\r\n"]}