Proyectos de Subversion Moodle

Rev

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

define("qbank_managecategories/categorylist",["exports","core/reactive","core/templates","core/str","qbank_managecategories/categorymanager"],(function(_exports,_reactive,_templates,_str,_categorymanager){var obj;Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_templates=(obj=_templates)&&obj.__esModule?obj:{default:obj};class _default extends _reactive.BaseComponent{create(descriptor){this.name=descriptor.element.id,this.selectors={CATEGORY_LIST:".qbank_managecategories-categorylist",CATEGORY_ITEM:".qbank_managecategories-item[data-categoryid]",CATEGORY_CONTENTS:".qbank_managecategories-item > .container",CATEGORY_DETAILS:".qbank_managecategories-details",CATEGORY_NO_DRAGHANDLE:".qbank_managecategories-item[data-categoryid]:not(.draghandle)",CATEGORY_ID:id=>"#category-".concat(id)},this.classes={DROP_TARGET_BEFORE:"qbank_managecategories-droptarget-before",DROP_TARGET:"qbank_managecategories-droptarget",NO_BOTTOM_PADDING:"pb-0"},this.ids={CATEGORY:id=>"category-".concat(id)}}stateReady(){this.dragdrop=new _reactive.DragDrop(this)}destroy(){void 0!==this.dragdrop&&(this.dragdrop.unregister(),this.dragdrop=void 0)}static init(target,selectors){return new this({element:document.querySelector(target),selectors:selectors,reactive:_categorymanager.categorymanager})}validateDropData(){return!0}showDropZone(dropData,event){const dropTarget=this.getElement();return!dropTarget.closest(this.selectors.CATEGORY_ID(dropData.id))&&(this.getInsertBefore(event,dropTarget)?(dropTarget.classList.add(this.classes.DROP_TARGET_BEFORE),dropTarget.classList.remove(this.classes.DROP_TARGET)):(dropTarget.classList.add(this.classes.DROP_TARGET),dropTarget.classList.remove(this.classes.DROP_TARGET_BEFORE)),!0)}hideDropZone(dropData,event){const dropTarget=event.target.closest(this.selectors.CATEGORY_LIST);dropTarget.classList.remove(this.classes.DROP_TARGET_BEFORE),dropTarget.classList.remove(this.classes.DROP_TARGET)}getInsertBefore(event,dropTarget){return event.clientY-dropTarget.getBoundingClientRect().top<dropTarget.clientHeight/2}drop(dropData,event){var _precedingSibling;const dropTarget=event.target.closest(this.selectors.CATEGORY_LIST);if(!dropTarget)return;if(dropTarget.closest(this.selectors.CATEGORY_ID(dropData.id)))return;if(!document.getElementById(this.ids.CATEGORY(dropData.id)))return;const targetParentId=dropTarget.dataset.categoryid;let precedingSibling;precedingSibling=this.getInsertBefore(event,dropTarget)?null:dropTarget.lastElementChild,_categorymanager.categorymanager.moveCategory(dropData.id,targetParentId,null===(_precedingSibling=precedingSibling)||void 0===_precedingSibling?void 0:_precedingSibling.dataset.categoryid)}getWatchers(){return[{watch:"categoryLists[".concat(this.element.dataset.categoryid,"].childCount:updated"),handler:this.checkEmptyList},{watch:"categories:created",handler:this.addCategory}]}async checkEmptyList(_ref){let{element:element}=_ref;if(0===element.childCount){const categoryItem=this.getElement().closest(this.selectors.CATEGORY_ITEM),{html:html,js:js}=await _templates.default.renderForPromise("qbank_managecategories/newchild",{categoryid:this.getElement().dataset.categoryid,tooltip:(0,_str.getString)("newchild","qbank_managecategories",categoryItem.dataset.categoryname)}),activityNameArea=categoryItem.querySelector(this.selectors.CATEGORY_DETAILS);await _templates.default.appendNodeContents(activityNameArea,html,js),this.element.closest(this.selectors.CATEGORY_CONTENTS).classList.remove(this.classes.NO_BOTTOM_PADDING),this.remove()}}async addCategory(_ref2){let{element:element}=_ref2;if(element.parent!==this.getElement().dataset.categoryid)return;const{html:html,js:js}=await _templates.default.renderForPromise("qbank_managecategories/category",element.templatecontext);_templates.default.appendNodeContents(this.getElement(),html,js);const noDragHandle=this.getElement(this.selectors.CATEGORY_NO_DRAGHANDLE);noDragHandle&&this.reactive.dispatch("showDragHandle",noDragHandle.dataset.categoryid)}}return _exports.default=_default,_exports.default}));

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