Sindbad~EG File Manager
define("core/emoji/picker",["exports","core/localstorage","core/emoji/data","core/utils","core/str","core/templates"],(function(_exports,_localstorage,EmojiData,_utils,_str,_templates){var obj;function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _typeof(obj){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}(arr)||function(iter){if("undefined"!=typeof Symbol&&null!=iter[Symbol.iterator]||null!=iter["@@iterator"])return Array.from(iter)}(arr)||_unsupportedIterableToArray(arr)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _slicedToArray(arr,i){return function(arr){if(Array.isArray(arr))return arr}(arr)||function(arr,i){var _i=null==arr?null:"undefined"!=typeof Symbol&&arr[Symbol.iterator]||arr["@@iterator"];if(null==_i)return;var _s,_e,_arr=[],_n=!0,_d=!1;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||_unsupportedIterableToArray(arr,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _unsupportedIterableToArray(o,minLen){if(o){if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return"Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(o):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,minLen):void 0}}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))}}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter((function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable}))),keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach((function(key){_defineProperty(target,key,source[key])})):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach((function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))}))}return target}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_localstorage=(obj=_localstorage)&&obj.__esModule?obj:{default:obj},EmojiData=function(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule)return obj;if(null===obj||"object"!==_typeof(obj)&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}newObj.default=obj,cache&&cache.set(obj,newObj);return newObj}(EmojiData);var _ref,_ref2,_ref7,_ref8,ROW_TYPE_EMOJI=0,ROW_TYPE_HEADER=1,SELECTORS_CATEGORY_SELECTOR='[data-action="show-category"]',SELECTORS_EMOJIS_CONTAINER='[data-region="emojis-container"]',SELECTORS_EMOJI_PREVIEW='[data-region="emoji-preview"]',SELECTORS_EMOJI_SHORT_NAME='[data-region="emoji-short-name"]',SELECTORS_ROW_CONTAINER='[data-region="row-container"]',SELECTORS_SEARCH_INPUT='[data-region="search-input"]',SELECTORS_SEARCH_RESULTS_CONTAINER='[data-region="search-results-container"]',createRowDataForCategory=function(categoryName,categoryDisplayName,emojis,totalRowCount){var rowData=[];rowData.push({index:totalRowCount+rowData.length,type:ROW_TYPE_HEADER,data:{name:categoryName,displayName:categoryDisplayName}});for(var i=0;i<emojis.length;i+=7){var rowEmojis=emojis.slice(i,i+7);rowData.push({index:totalRowCount+rowData.length,type:ROW_TYPE_EMOJI,data:rowEmojis})}return rowData},addIndexesToRowData=function(rowData){return rowData.map((function(data,index){return _objectSpread(_objectSpread({},data),{},{index:index})}))},getCategoryScrollPositionsFromRowData=function(rowData){return rowData.reduce((function(carry,row,index){return row.type===ROW_TYPE_HEADER&&(carry[row.data.name]=40*index),carry}),{})},createHeaderRow=(_ref=_asyncToGenerator(regeneratorRuntime.mark((function _callee(rowIndex,name){var context,html,temp;return regeneratorRuntime.wrap((function(_context){for(;;)switch(_context.prev=_context.next){case 0:return context={index:rowIndex,text:name},_context.next=3,(0,_templates.render)("core/emoji/header_row",context);case 3:return html=_context.sent,(temp=document.createElement("div")).innerHTML=html,_context.abrupt("return",temp.firstChild);case 7:case"end":return _context.stop()}}),_callee)}))),function(_x,_x2){return _ref.apply(this,arguments)}),createEmojiRow=(_ref2=_asyncToGenerator(regeneratorRuntime.mark((function _callee2(rowIndex,emojis){var context,html,temp;return regeneratorRuntime.wrap((function(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:return context={index:rowIndex,emojis:emojis.map((function(emojiData){var charCodes=emojiData.unified.split("-").map((function(code){return"0x".concat(code)})),emojiText=String.fromCodePoint.apply(null,charCodes);return{shortnames:":".concat(emojiData.shortnames.join(": :"),":"),unified:emojiData.unified,text:emojiText,spacer:!1}})),spacers:Array(7-emojis.length).fill(!0)},_context2.next=3,(0,_templates.render)("core/emoji/emoji_row",context);case 3:return html=_context2.sent,(temp=document.createElement("div")).innerHTML=html,_context2.abrupt("return",temp.firstChild);case 7:case"end":return _context2.stop()}}),_callee2)}))),function(_x3,_x4){return _ref2.apply(this,arguments)}),isEmojiElement=function(element){return null!==element.getAttribute("data-short-names")},findCategorySelectorFromElement=function findCategorySelectorFromElement(element){return element?"show-category"===element.getAttribute("data-action")?element:findCategorySelectorFromElement(element.parentElement):null},getCategorySelectorByCategoryName=function(root,name){return root.querySelector('[data-category="'.concat(name,'"]'))},getCategoryByScrollPosition=function(root,position,categoryScrollPositions){var positions=[];for(var _categoryName in position<0&&(position=0),categoryScrollPositions){var categoryPosition=categoryScrollPositions[_categoryName];positions.push([categoryPosition,_categoryName])}positions.sort((function(_ref3,_ref4){var a=_slicedToArray(_ref3,1)[0],b=_slicedToArray(_ref4,1)[0];return a<b?-1:a>b?1:0}));var _positions$reduce=positions.reduce((function(carry,candidate){var _candidate=_slicedToArray(candidate,2),categoryPosition=_candidate[0],categoryName=_candidate[1];return categoryPosition<=position?(carry.categoryName=categoryName,carry.previousPosition=carry.currentPosition,carry.currentPosition=position):null===carry.nextPosition&&(carry.nextPosition=categoryPosition),carry}),{categoryName:null,currentPosition:null,previousPosition:null,nextPosition:null}),categoryName=_positions$reduce.categoryName,previousPosition=_positions$reduce.previousPosition,nextPosition=_positions$reduce.nextPosition;return[getCategorySelectorByCategoryName(root,categoryName),previousPosition,nextPosition]},getRecentEmojis=function(){var storedData=_localstorage.default.get("moodle-recent-emojis");return storedData?JSON.parse(storedData):[]},addRecentEmoji=function(rowData,recentEmojiRowCount,newEmoji){var categoryName=rowData[0].data.name,categoryDisplayName=rowData[0].data.displayName,recentEmojis=getRecentEmojis(),newRecentEmojis=[newEmoji].concat(_toConsumableArray(recentEmojis.filter((function(emoji){return emoji.unified!=newEmoji.unified}))));newRecentEmojis=newRecentEmojis.slice(0,21);var newRecentEmojiRowData=createRowDataForCategory(categoryName,categoryDisplayName,newRecentEmojis);return function(recentEmojis){_localstorage.default.set("moodle-recent-emojis",JSON.stringify(recentEmojis))}(newRecentEmojis),[addIndexesToRowData(newRecentEmojiRowData.concat(rowData.slice(recentEmojiRowCount))),newRecentEmojiRowData.length]},getRowsToRender=function(scrollPosition,visibleRowCount,rowData){var minVisibleRow=scrollPosition>40?Math.floor(scrollPosition/40):0,start=minVisibleRow>=5?minVisibleRow-5:minVisibleRow,end=minVisibleRow+visibleRowCount+5;return rowData.slice(start,end)},createRowElement=(_ref7=_asyncToGenerator(regeneratorRuntime.mark((function _callee3(rowData){var row;return regeneratorRuntime.wrap((function(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:if(row=null,rowData.type!==ROW_TYPE_HEADER){_context3.next=7;break}return _context3.next=4,createHeaderRow(rowData.index,rowData.data.displayName);case 4:row=_context3.sent,_context3.next=10;break;case 7:return _context3.next=9,createEmojiRow(rowData.index,rowData.data);case 9:row=_context3.sent;case 10:return row.style.position="absolute",row.style.left=0,row.style.right=0,row.style.top="".concat(40*rowData.index,"px"),_context3.abrupt("return",row);case 15:case"end":return _context3.stop()}}),_callee3)}))),function(_x5){return _ref7.apply(this,arguments)}),doRowsMatch=function(a,b){if(a.index!==b.index)return!1;if(a.type!==b.type)return!1;if(_typeof(a.data)!=_typeof(b.data))return!1;if(a.type===ROW_TYPE_HEADER)return a.data.name===b.data.name;if(a.data.length!==b.data.length)return!1;for(var i=0;i<a.data.length;i++)if(a.data[i].unified!=b.data[i].unified)return!1;return!0},renderRows=(_ref8=_asyncToGenerator(regeneratorRuntime.mark((function _callee4(rowContainer,currentRows,nextRows){var toAdd,toKeep,toRemove,toRemoveElements;return regeneratorRuntime.wrap((function(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:return toAdd=nextRows.filter((function(nextRow){return!currentRows.some((function(currentRow){return doRowsMatch(currentRow,nextRow)}))})),toKeep=currentRows.filter((function(currentRow){return nextRows.some((function(nextRow){return doRowsMatch(currentRow,nextRow)}))})),toRemove=currentRows.filter((function(currentRow){return!nextRows.some((function(nextRow){return doRowsMatch(currentRow,nextRow)}))})),toRemoveElements=toRemove.map((function(rowData){return rowContainer.querySelectorAll('[data-row="'.concat(rowData.index,'"]'))})),_context4.next=6,Promise.all(toAdd.map((function(rowData){return createRowElement(rowData)})));case 6:_context4.sent.forEach((function(row,index){for(var rowData=toAdd[index],nextRowIndex=null,i=0;i<toKeep.length;i++)if(toKeep[i].index>rowData.index){nextRowIndex=i;break}if(null!==nextRowIndex){var nextRowData=toKeep[nextRowIndex],nextRowNode=rowContainer.querySelector('[data-row="'.concat(nextRowData.index,'"]'));rowContainer.insertBefore(row,nextRowNode),toKeep.splice(nextRowIndex,0,toKeep)}else toKeep.push(rowData),rowContainer.appendChild(row)})),toRemoveElements.forEach((function(rows){for(var i=0;i<rows.length;i++){var row=rows[i];rowContainer.removeChild(row)}}));case 9:case"end":return _context4.stop()}}),_callee4)}))),function(_x6,_x7,_x8){return _ref8.apply(this,arguments)}),generateRenderRowsAtPositionFunction=function(rowContainer){var _ref9,currentRows=[],nextRows=[],rowCount=0,isRendering=!1,renderNextRows=(_ref9=_asyncToGenerator(regeneratorRuntime.mark((function _callee5(){var nextRowsToRender;return regeneratorRuntime.wrap((function(_context5){for(;;)switch(_context5.prev=_context5.next){case 0:if(nextRows.length){_context5.next=2;break}return _context5.abrupt("return");case 2:if(!isRendering){_context5.next=4;break}return _context5.abrupt("return");case 4:return isRendering=!0,nextRowsToRender=nextRows.slice(),nextRows=[],_context5.next=9,renderRows(rowContainer,currentRows,nextRowsToRender);case 9:currentRows=nextRowsToRender,isRendering=!1,renderNextRows();case 12:case"end":return _context5.stop()}}),_callee5)}))),function(){return _ref9.apply(this,arguments)});return function(scrollPosition,rowData){var rowLimit=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;nextRows=getRowsToRender(scrollPosition,rowLimit,rowData),renderNextRows(),rowCount!==rowData.length&&(rowContainer.style.height="".concat(40*rowData.length,"px")),rowCount=rowData.length}},showSearchResults=function(emojiContainer,searchResultsContainer){searchResultsContainer.classList.remove("hidden"),emojiContainer.classList.add("hidden")},clearSearch=function(emojiContainer,searchResultsContainer,searchInput){searchResultsContainer.classList.add("hidden"),emojiContainer.classList.remove("hidden"),searchInput.value=""},getHandleMouseEnter=function(emojiPreview,emojiShortName){return function(e){var target=e.target;isEmojiElement(target)&&(emojiShortName.textContent=target.getAttribute("data-short-names"),emojiPreview.textContent=target.textContent)}},getHandleMouseLeave=function(emojiPreview,emojiShortName){return function(e){var target=e.target;isEmojiElement(target)&&(emojiShortName.textContent="",emojiPreview.textContent="")}},getHandleScroll=function(root,currentVisibleRowScrollPosition,emojiContainer,initialCategoryScrollPositions,renderAtPosition){var _getCategoryByScrollP2=_slicedToArray(getCategoryByScrollPosition(root,emojiContainer.scrollTop,initialCategoryScrollPositions),3),currentCategoryElement=_getCategoryByScrollP2[0],previousCategoryPosition=_getCategoryByScrollP2[1],nextCategoryPosition=_getCategoryByScrollP2[2];return function(categoryScrollPositions,rowData){var newScrollPosition=emojiContainer.scrollTop,updateRenderRows=newScrollPosition<currentVisibleRowScrollPosition-40||newScrollPosition>currentVisibleRowScrollPosition+40;if(newScrollPosition>=nextCategoryPosition||newScrollPosition<previousCategoryPosition){var _getCategoryByScrollP4=_slicedToArray(getCategoryByScrollPosition(root,newScrollPosition,categoryScrollPositions),3);currentCategoryElement=_getCategoryByScrollP4[0],previousCategoryPosition=_getCategoryByScrollP4[1],nextCategoryPosition=_getCategoryByScrollP4[2],function(root,element){for(var allCategorySelectors=root.querySelectorAll(SELECTORS_CATEGORY_SELECTOR),i=0;i<allCategorySelectors.length;i++)allCategorySelectors[i].classList.remove("selected");element.classList.add("selected")}(root,currentCategoryElement)}updateRenderRows&&requestAnimationFrame((function(){renderAtPosition(newScrollPosition,rowData),currentVisibleRowScrollPosition=newScrollPosition}))}},registerEventListeners=function(root,emojiContainer,renderAtPosition,currentVisibleRowScrollPosition,selectCallback,categoryScrollPositions,rowData,recentEmojiRowCount){var searchInput=root.querySelector(SELECTORS_SEARCH_INPUT),searchResultsContainer=root.querySelector(SELECTORS_SEARCH_RESULTS_CONTAINER),emojiPreview=root.querySelector(SELECTORS_EMOJI_PREVIEW),emojiShortName=root.querySelector(SELECTORS_EMOJI_SHORT_NAME),clickHandler=function(recentEmojiRowCount,emojiContainer,searchResultsContainer,searchInput,selectCallback,renderAtPosition){return function(e,rowData,categoryScrollPositions){var target=e.target,newRowData=rowData,newCategoryScrollPositions=categoryScrollPositions;if(clearSearch(emojiContainer,searchResultsContainer,searchInput),isEmojiElement(target)){var emojiData={unified:target.getAttribute("data-unified"),shortnames:target.getAttribute("data-short-names").replace(/:/g,"").split(" ")},currentScrollTop=emojiContainer.scrollTop,isRecentEmojiRowVisible=null!==emojiContainer.querySelector('[data-row="'.concat(recentEmojiRowCount-1,'"]')),_addRecentEmoji2=_slicedToArray(addRecentEmoji(rowData,recentEmojiRowCount,emojiData),2);return newRowData=_addRecentEmoji2[0],recentEmojiRowCount=_addRecentEmoji2[1],newCategoryScrollPositions=getCategoryScrollPositionsFromRowData(newRowData),isRecentEmojiRowVisible&&renderAtPosition(currentScrollTop,newRowData),selectCallback(target.textContent),[newRowData,newCategoryScrollPositions]}var categorySelector=findCategorySelectorFromElement(target);if(categorySelector){var position=categoryScrollPositions[categorySelector.getAttribute("data-category")];emojiContainer.scrollTop=position}return[newRowData,newCategoryScrollPositions]}}(recentEmojiRowCount,emojiContainer,searchResultsContainer,searchInput,selectCallback,renderAtPosition),scrollHandler=getHandleScroll(root,currentVisibleRowScrollPosition,emojiContainer,categoryScrollPositions,renderAtPosition),searchHandler=function(searchInput,searchResultsContainer,emojiContainer){var rowContainer=searchResultsContainer.querySelector(SELECTORS_ROW_CONTAINER),renderSearchResultsAtPosition=generateRenderRowsAtPositionFunction(rowContainer);return searchResultsContainer.appendChild(rowContainer),_asyncToGenerator(regeneratorRuntime.mark((function _callee6(){var searchTerm,matchingEmojis,searchResultsString,rowData;return regeneratorRuntime.wrap((function(_context6){for(;;)switch(_context6.prev=_context6.next){case 0:if(!(searchTerm=searchInput.value.toLowerCase())){_context6.next=11;break}return showSearchResults(emojiContainer,searchResultsContainer),matchingEmojis=Object.keys(EmojiData.byShortName).reduce((function(carry,shortName){return shortName.includes(searchTerm)&&carry.push({shortnames:[shortName],unified:EmojiData.byShortName[shortName]}),carry}),[]),_context6.next=6,(0,_str.get_string)("searchresults","core");case 6:searchResultsString=_context6.sent,rowData=createRowDataForCategory(searchResultsString,searchResultsString,matchingEmojis,0),renderSearchResultsAtPosition(0,rowData,rowData.length),_context6.next=12;break;case 11:clearSearch(emojiContainer,searchResultsContainer,searchInput);case 12:case"end":return _context6.stop()}}),_callee6)})))}(searchInput,searchResultsContainer,emojiContainer);root.addEventListener("focus",getHandleMouseEnter(emojiPreview,emojiShortName),!0),root.addEventListener("blur",getHandleMouseLeave(emojiPreview,emojiShortName),!0),root.addEventListener("mouseenter",getHandleMouseEnter(emojiPreview,emojiShortName),!0),root.addEventListener("mouseleave",getHandleMouseLeave(emojiPreview,emojiShortName),!0),root.addEventListener("click",(function(e){var _clickHandler2=_slicedToArray(clickHandler(e,rowData,categoryScrollPositions),2);rowData=_clickHandler2[0],categoryScrollPositions=_clickHandler2[1]})),emojiContainer.addEventListener("scroll",(0,_utils.throttle)((function(){return scrollHandler(categoryScrollPositions,rowData)}),50)),searchInput.addEventListener("input",(0,_utils.debounce)(searchHandler,200))};return _exports.default=function(root,selectCallback){var emojiContainer=root.querySelector(SELECTORS_EMOJIS_CONTAINER),rowContainer=emojiContainer.querySelector(SELECTORS_ROW_CONTAINER),allData=[{name:"Recent",emojis:getRecentEmojis()}].concat(_toConsumableArray(EmojiData.byCategory)),rowData=[],recentEmojiRowCount=0;allData.forEach((function(category){var categoryDisplayName=getCategorySelectorByCategoryName(root,category.name).title,categoryRowData=createRowDataForCategory(category.name,categoryDisplayName,category.emojis,rowData.length);"Recent"===category.name&&(recentEmojiRowCount=categoryRowData.length),rowData=rowData.concat(categoryRowData)})),rowData=addIndexesToRowData(rowData);var categoryScrollPositions=getCategoryScrollPositionsFromRowData(rowData),renderAtPosition=generateRenderRowsAtPositionFunction(rowContainer);renderAtPosition(0,rowData),registerEventListeners(root,emojiContainer,renderAtPosition,0,selectCallback,categoryScrollPositions,rowData,recentEmojiRowCount)},_exports.default}));
//# sourceMappingURL=picker.min.js.map
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists