File: /var/www/html/dls/mod/forum/amd/build/discussion_nested_v2.min.js
define("mod_forum/discussion_nested_v2",["exports","jquery","core/auto_rows","core/custom_interaction_events","core/notification","core/templates","mod_forum/discussion","mod_forum/inpage_reply","mod_forum/lock_toggle","mod_forum/favourite_toggle","mod_forum/pin_toggle","mod_forum/selectors","mod_forum/subscription_toggle"],(function(_exports,_jquery,_auto_rows,_custom_interaction_events,_notification,_templates,_discussion,_inpage_reply,_lock_toggle,_favourite_toggle,_pin_toggle,_selectors,_subscription_toggle){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_jquery=_interopRequireDefault(_jquery),_auto_rows=_interopRequireDefault(_auto_rows),_custom_interaction_events=_interopRequireDefault(_custom_interaction_events),_notification=_interopRequireDefault(_notification),_templates=_interopRequireDefault(_templates),_discussion=_interopRequireDefault(_discussion),_inpage_reply=_interopRequireDefault(_inpage_reply),_lock_toggle=_interopRequireDefault(_lock_toggle),_favourite_toggle=_interopRequireDefault(_favourite_toggle),_pin_toggle=_interopRequireDefault(_pin_toggle),_selectors=_interopRequireDefault(_selectors),_subscription_toggle=_interopRequireDefault(_subscription_toggle);var _systemImportTransformerGlobalIdentifier="undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:{};function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}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 _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}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)}var getPostContainer=function(element){return element.closest(_selectors.default.post.post)},getPostContainerById=function(element,id){return element.find("".concat(_selectors.default.post.post,"[data-post-id=").concat(id,"]"))},getPostContentContainer=function(postContainer){return postContainer.children().not(_selectors.default.post.repliesContainer).find(_selectors.default.post.forumCoreContent)},getInPageReplyContainer=function(postContainer){return postContainer.children().filter(_selectors.default.post.inpageReplyContainer)},getInPageReplyForm=function(postContainer){return getInPageReplyContainer(postContainer).find(_selectors.default.post.inpageReplyContent)},getInPageReplyCreateButton=function(postContainer){return getPostContentContainer(postContainer).find(_selectors.default.post.inpageReplyCreateButton)},getRepliesVisibilityToggleContainer=function(postContainer){return postContainer.children(_selectors.default.post.repliesVisibilityToggleContainer)},getRepliesContainer=function(postContainer){return postContainer.children(_selectors.default.post.repliesContainer)},hasReplies=function(postContainer){return getRepliesContainer(postContainer).children().length>0},getShowRepliesButton=function(replyVisibilityToggleContainer){return replyVisibilityToggleContainer.find(_selectors.default.post.showReplies)},getHideRepliesButton=function(replyVisibilityToggleContainer){return replyVisibilityToggleContainer.find(_selectors.default.post.hideReplies)},repliesVisible=function(postContainer){return getRepliesContainer(postContainer).is(":visible")},showReplies=function(postContainer){var postIdToSee=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,repliesContainer=getRepliesContainer(postContainer),replyVisibilityToggleContainer=getRepliesVisibilityToggleContainer(postContainer),showButton=getShowRepliesButton(replyVisibilityToggleContainer),hideButton=getHideRepliesButton(replyVisibilityToggleContainer);showButton.addClass("hidden"),hideButton.removeClass("hidden"),repliesContainer.slideDown({duration:150,queue:!1,complete:function(){if(postIdToSee){var postContainerToSee=getPostContainerById(repliesContainer,postIdToSee);postContainerToSee.length&&postContainerToSee[0].scrollIntoView()}}}).css("display","none").fadeIn(150)},hideReplies=function(postContainer){var repliesContainer=getRepliesContainer(postContainer),replyVisibilityToggleContainer=getRepliesVisibilityToggleContainer(postContainer),showButton=getShowRepliesButton(replyVisibilityToggleContainer),hideButton=getHideRepliesButton(replyVisibilityToggleContainer);showButton.removeClass("hidden"),hideButton.addClass("hidden"),repliesContainer.slideUp({duration:150,queue:!1}).fadeOut(150)},showInPageReplyForm=null,buildShowInPageReplyFormFunction=function(additionalTemplateContext){return fn=regeneratorRuntime.mark((function _callee(postContainer){var inPageReplyContainer,repliesVisibilityToggleContainer,inPageReplyCreateButton,html;return regeneratorRuntime.wrap((function(_context){for(;;)switch(_context.prev=_context.next){case 0:if(inPageReplyContainer=getInPageReplyContainer(postContainer),repliesVisibilityToggleContainer=getRepliesVisibilityToggleContainer(postContainer),inPageReplyCreateButton=getInPageReplyCreateButton(postContainer),hasInPageReplyForm(inPageReplyContainer)){_context.next=15;break}return _context.prev=4,_context.next=7,renderInPageReplyTemplate(additionalTemplateContext,inPageReplyCreateButton,postContainer);case 7:html=_context.sent,_templates.default.appendNodeContents(inPageReplyContainer,html,""),_context.next=14;break;case 11:_context.prev=11,_context.t0=_context.catch(4),_notification.default.exception(_context.t0);case 14:("function"==typeof _systemImportTransformerGlobalIdentifier.define&&_systemImportTransformerGlobalIdentifier.define.amd?new Promise((function(resolve,reject){_systemImportTransformerGlobalIdentifier.require(["core/yui"],resolve,reject)})):"undefined"!=typeof module&&module.exports&&"undefined"!=typeof require||"undefined"!=typeof module&&module.component&&_systemImportTransformerGlobalIdentifier.require&&"component"===_systemImportTransformerGlobalIdentifier.require.loader?Promise.resolve(require("core/yui")):Promise.resolve(_systemImportTransformerGlobalIdentifier["core/yui"])).then((function(Y){return new Promise((function(resolve){Y.use("moodle-core-formchangechecker",(function(Y){resolve(Y)}))}))})).then((function(Y){return M.core_formchangechecker.init({formid:Y.one(postContainer[0].querySelector("form")).generateID()}),Y})).catch();case 15:inPageReplyCreateButton.fadeOut(150,(function(){var inPageReplyForm=getInPageReplyForm(postContainer);inPageReplyForm.slideDown({duration:150,queue:!1,complete:function(){inPageReplyForm.find("textarea").focus()}}).css("display","none").fadeIn(150),repliesVisibilityToggleContainer.length&&hasReplies(postContainer)&&(repliesVisibilityToggleContainer.fadeIn(150),hideReplies(postContainer))}));case 16:case"end":return _context.stop()}}),_callee,null,[[4,11]])})),_ref=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(_x){return _ref.apply(this,arguments)};var fn,_ref},hideInPageReplyForm=function(postContainer){var postIdToSee=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,inPageReplyForm=getInPageReplyForm(postContainer),inPageReplyCreateButton=getInPageReplyCreateButton(postContainer),repliesVisibilityToggleContainer=getRepliesVisibilityToggleContainer(postContainer);repliesVisibilityToggleContainer.length&&hasReplies(postContainer)&&(repliesVisibilityToggleContainer.fadeOut(150),repliesVisible(postContainer)||showReplies(postContainer,postIdToSee)),inPageReplyForm.slideUp({duration:150,queue:!1,complete:function(){inPageReplyCreateButton.fadeIn(150)}}).fadeOut(200)},hasInPageReplyForm=function(inPageReplyContainer){return inPageReplyContainer.find(_selectors.default.post.inpageReplyContent).length>0},renderInPageReplyTemplate=function(additionalTemplateContext,button,postContainer){var postContentContainer=getPostContentContainer(postContainer),currentSubject=postContentContainer.find(_selectors.default.post.forumSubject).text(),currentAuthorName=postContentContainer.find(_selectors.default.post.authorName).text(),context=function(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}({postid:postContainer.data("post-id"),reply_url:button.attr("data-href"),sesskey:M.cfg.sesskey,parentsubject:currentSubject,parentauthorname:currentAuthorName,canreplyprivately:button.data("can-reply-privately"),postformat:_inpage_reply.default.CONTENT_FORMATS.MOODLE},additionalTemplateContext);return _templates.default.render("mod_forum/inpage_reply_v2",context)},registerEventListeners=function(root){_custom_interaction_events.default.define(root,[_custom_interaction_events.default.events.activate]),_auto_rows.default.init(root),root.on(_custom_interaction_events.default.events.activate,_selectors.default.post.inpageReplyCreateButton,(function(e,data){data.originalEvent.preventDefault();var postContainer=getPostContainer((0,_jquery.default)(e.currentTarget));showInPageReplyForm(postContainer)})),root.on(_custom_interaction_events.default.events.activate,_selectors.default.post.inpageReplyCancelButton,(function(e,data){data.originalEvent.preventDefault();var postContainer=getPostContainer((0,_jquery.default)(e.currentTarget));hideInPageReplyForm(postContainer)})),root.on(_custom_interaction_events.default.events.activate,_selectors.default.post.showReplies,(function(e,data){data.originalEvent.preventDefault();var postContainer=getPostContainer((0,_jquery.default)(e.target));showReplies(postContainer)})),root.on(_custom_interaction_events.default.events.activate,_selectors.default.post.hideReplies,(function(e,data){data.originalEvent.preventDefault();var postContainer=getPostContainer((0,_jquery.default)(e.target));hideReplies(postContainer)})),root.on(_inpage_reply.default.EVENTS.POST_CREATED,_selectors.default.post.inpageSubmitBtn,(function(e,newPostId){var currentTarget=(0,_jquery.default)(e.currentTarget),postContainer=getPostContainer(currentTarget),postContainers=currentTarget.parents(_selectors.default.post.post);hideInPageReplyForm(postContainer,newPostId),postContainers.each((function(index,container){!function(postContainer){getRepliesVisibilityToggleContainer(postContainer).find(_selectors.default.post.replyCount).each((function(index,element){var currentCount=parseInt(element.innerText,10);element.innerText=currentCount+1}))}((0,_jquery.default)(container))}))}))};_exports.init=function(root,context){showInPageReplyForm=buildShowInPageReplyFormFunction(context),registerEventListeners(root),_discussion.default.init(root),_inpage_reply.default.init(root);var discussionToolsContainer=root.find(_selectors.default.discussion.tools);_lock_toggle.default.init(discussionToolsContainer,!1),_favourite_toggle.default.init(discussionToolsContainer,!1,(function(toggleElement,response){var newTargetState=response.userstate.favourited?0:1;return toggleElement.data("targetstate",newTargetState)})),_pin_toggle.default.init(discussionToolsContainer,!1,(function(toggleElement,response){var newTargetState=response.pinned?0:1;return toggleElement.data("targetstate",newTargetState)})),_subscription_toggle.default.init(discussionToolsContainer,!1,(function(toggleElement,response){var newTargetState=response.userstate.subscribed?0:1;toggleElement.data("targetstate",newTargetState)}))}}));
//# sourceMappingURL=discussion_nested_v2.min.js.map