Proyectos de Subversion Moodle

Rev

Autoría | Ultima modificación | Ver Log |

define("mod_forum/discussion_nested_v2",["exports","jquery","core/auto_rows","core/custom_interaction_events","core_form/changechecker","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,FormChangeChecker,_notification,_templates,_discussion,_inpage_reply,_lock_toggle,_favourite_toggle,_pin_toggle,_selectors,_subscription_toggle){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 _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
/**
   * Module for viewing a discussion in nested v2 view.
   *
   * @module mod_forum/discussion_nested_v2
   * @copyright  2019 Ryan Wyllie <ryan@moodle.com>
   * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
   */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),FormChangeChecker=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}(FormChangeChecker),_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);const getPostContainer=element=>element.closest(_selectors.default.post.post),getPostContainerById=(element,id)=>element.find("".concat(_selectors.default.post.post,"[data-post-id=").concat(id,"]")),getPostContentContainer=postContainer=>postContainer.children().not(_selectors.default.post.repliesContainer).find(_selectors.default.post.forumCoreContent),getInPageReplyContainer=postContainer=>postContainer.children().filter(_selectors.default.post.inpageReplyContainer),getInPageReplyForm=postContainer=>getInPageReplyContainer(postContainer).find(_selectors.default.post.inpageReplyContent),getInPageReplyCreateButton=postContainer=>getPostContentContainer(postContainer).find(_selectors.default.post.inpageReplyCreateButton),getRepliesVisibilityToggleContainer=postContainer=>postContainer.children(_selectors.default.post.repliesVisibilityToggleContainer),getRepliesContainer=postContainer=>postContainer.children(_selectors.default.post.repliesContainer),hasReplies=postContainer=>getRepliesContainer(postContainer).children().length>0,getShowRepliesButton=replyVisibilityToggleContainer=>replyVisibilityToggleContainer.find(_selectors.default.post.showReplies),getHideRepliesButton=replyVisibilityToggleContainer=>replyVisibilityToggleContainer.find(_selectors.default.post.hideReplies),repliesVisible=postContainer=>getRepliesContainer(postContainer).is(":visible"),showReplies=function(postContainer){let postIdToSee=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const 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:()=>{if(postIdToSee){const postContainerToSee=getPostContainerById(repliesContainer,postIdToSee);postContainerToSee.length&&postContainerToSee[0].scrollIntoView()}}}).css("display","none").fadeIn(150)},hideReplies=postContainer=>{const 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)};let showInPageReplyForm=null;const hideInPageReplyForm=function(postContainer){let postIdToSee=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const 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:()=>{inPageReplyCreateButton.fadeIn(150)}}).fadeOut(200)},hasInPageReplyForm=inPageReplyContainer=>inPageReplyContainer.find(_selectors.default.post.inpageReplyContent).length>0,renderInPageReplyTemplate=(additionalTemplateContext,button,postContainer)=>{const postContentContainer=getPostContentContainer(postContainer),currentSubject=postContentContainer.find(_selectors.default.post.forumSubject).text(),currentAuthorName=postContentContainer.find(_selectors.default.post.authorName).text(),context={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=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,((e,data)=>{data.originalEvent.preventDefault();const postContainer=getPostContainer((0,_jquery.default)(e.currentTarget));showInPageReplyForm(postContainer)})),root.on(_custom_interaction_events.default.events.activate,_selectors.default.post.inpageReplyCancelButton,((e,data)=>{data.originalEvent.preventDefault();const postContainer=getPostContainer((0,_jquery.default)(e.currentTarget));hideInPageReplyForm(postContainer)})),root.on(_custom_interaction_events.default.events.activate,_selectors.default.post.showReplies,((e,data)=>{data.originalEvent.preventDefault();const postContainer=getPostContainer((0,_jquery.default)(e.target));showReplies(postContainer)})),root.on(_custom_interaction_events.default.events.activate,_selectors.default.post.hideReplies,((e,data)=>{data.originalEvent.preventDefault();const postContainer=getPostContainer((0,_jquery.default)(e.target));hideReplies(postContainer)})),root.on(_inpage_reply.default.EVENTS.POST_CREATED,_selectors.default.post.inpageSubmitBtn,((e,newPostId)=>{const currentTarget=(0,_jquery.default)(e.currentTarget),postContainer=getPostContainer(currentTarget),postContainers=currentTarget.parents(_selectors.default.post.post);hideInPageReplyForm(postContainer,newPostId),postContainers.each(((index,container)=>{(postContainer=>{getRepliesVisibilityToggleContainer(postContainer).find(_selectors.default.post.replyCount).each(((index,element)=>{const currentCount=parseInt(element.innerText,10);element.innerText=currentCount+1}))})((0,_jquery.default)(container))}))}))};_exports.init=(root,context)=>{var additionalTemplateContext;additionalTemplateContext=context,showInPageReplyForm=async postContainer=>{const inPageReplyContainer=getInPageReplyContainer(postContainer),repliesVisibilityToggleContainer=getRepliesVisibilityToggleContainer(postContainer),inPageReplyCreateButton=getInPageReplyCreateButton(postContainer);if(!hasInPageReplyForm(inPageReplyContainer)){try{const html=await renderInPageReplyTemplate(additionalTemplateContext,inPageReplyCreateButton,postContainer);_templates.default.appendNodeContents(inPageReplyContainer,html,"")}catch(e){_notification.default.exception(e)}FormChangeChecker.watchForm(postContainer[0].querySelector("form"))}inPageReplyCreateButton.fadeOut(150,(()=>{const inPageReplyForm=getInPageReplyForm(postContainer);inPageReplyForm.slideDown({duration:150,queue:!1,complete:()=>{inPageReplyForm.find("textarea").focus()}}).css("display","none").fadeIn(150),repliesVisibilityToggleContainer.length&&hasReplies(postContainer)&&(repliesVisibilityToggleContainer.fadeIn(150),hideReplies(postContainer))}))},registerEventListeners(root),_discussion.default.init(root),_inpage_reply.default.init(root);const discussionToolsContainer=root.find(_selectors.default.discussion.tools);_lock_toggle.default.init(discussionToolsContainer,!1),_favourite_toggle.default.init(discussionToolsContainer,!1,((toggleElement,response)=>{const newTargetState=response.userstate.favourited?0:1;return toggleElement.data("targetstate",newTargetState)})),_pin_toggle.default.init(discussionToolsContainer,!1,((toggleElement,response)=>{const newTargetState=response.pinned?0:1;return toggleElement.data("targetstate",newTargetState)})),_subscription_toggle.default.init(discussionToolsContainer,!1,((toggleElement,response)=>{const newTargetState=response.userstate.subscribed?0:1;toggleElement.data("targetstate",newTargetState)}))}}));

//# sourceMappingURL=discussion_nested_v2.min.js.map