Proyectos de Subversion Moodle

Rev

Rev 1 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

define("core_reportbuilder/local/editor/sorting",["exports","core/inplace_editable","core/notification","core/pending","core/pubsub","core/sortable_list","core/str","core/toast","core_reportbuilder/local/selectors","core_reportbuilder/local/repository/sorting","core/templates","core/event_dispatcher","core_reportbuilder/local/events"],(function(_exports,_inplace_editable,_notification,_pending,_pubsub,_sortable_list,_str,_toast,reportSelectors,_sorting,_templates,_event_dispatcher,reportEvents){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 _interopRequireWildcard(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]}return newObj.default=obj,cache&&cache.set(obj,newObj),newObj}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_notification=_interopRequireDefault(_notification),_pending=_interopRequireDefault(_pending),_sortable_list=_interopRequireDefault(_sortable_list),reportSelectors=_interopRequireWildcard(reportSelectors),_templates=_interopRequireDefault(_templates),reportEvents=_interopRequireWildcard(reportEvents);const SORTORDER_ASCENDING=4,SORTORDER_DESCENDING=3,reloadSettingsSortingRegion=context=>{const pendingPromise=new _pending.default("core_reportbuilder/sorting:reload"),settingsSortingRegion=document.querySelector(reportSelectors.regions.settingsSorting);return _templates.default.renderForPromise("core_reportbuilder/local/settings/sorting",{sorting:context}).then((_ref=>{let{html:html,js:js}=_ref;return _templates.default.replaceNode(settingsSortingRegion,html,js),pendingPromise.resolve()}))},updateSorting=(reportElement,element,sortenabled,sortdirection)=>{const columnSortContainer=element.closest(reportSelectors.regions.activeColumnSort),{columnSortId:columnSortId,columnSortName:columnSortName}=columnSortContainer.dataset;return(0,_sorting.toggleColumnSorting)(reportElement.dataset.reportId,columnSortId,sortenabled,sortdirection).then(reloadSettingsSortingRegion).then((()=>(0,_str.getString)("columnsortupdated","core_reportbuilder",columnSortName))).then(_toast.add).then((()=>((0,_event_dispatcher.dispatchEvent)(reportEvents.tableReload,{},reportElement),null)))};_exports.init=initialized=>{if(initialized)return;(0,_pubsub.subscribe)(reportEvents.publish.reportColumnsUpdated,(data=>reloadSettingsSortingRegion(data).catch(_notification.default.exception))),document.addEventListener("click",(event=>{const toggleSorting=event.target.closest(reportSelectors.actions.reportToggleColumnSort);if(toggleSorting){event.preventDefault();const pendingPromise=new _pending.default("core_reportbuilder/sorting:toggle"),reportElement=toggleSorting.closest(reportSelectors.regions.report),columnSortContainer=toggleSorting.closest(reportSelectors.regions.activeColumnSort),sortdirection=parseInt(columnSortContainer.dataset.columnSortDirection);updateSorting(reportElement,toggleSorting,toggleSorting.checked,sortdirection).then((()=>{const toggleSortingElement=document.getElementById(toggleSorting.id);return null==toggleSortingElement||toggleSortingElement.focus(),pendingPromise.resolve()})).catch(_notification.default.exception)}const toggleSortDirection=event.target.closest(reportSelectors.actions.reportToggleColumnSortDirection);if(toggleSortDirection){event.preventDefault();const pendingPromise=new _pending.default("core_reportbuilder/sorting:direction"),reportElement=toggleSortDirection.closest(reportSelectors.regions.report),columnSortContainer=toggleSortDirection.closest(reportSelectors.regions.activeColumnSort),toggleSorting=columnSortContainer.querySelector(reportSelectors.actions.reportToggleColumnSort);let sortdirection=parseInt(columnSortContainer.dataset.columnSortDirection);sortdirection===SORTORDER_ASCENDING?sortdirection=SORTORDER_DESCENDING:sortdirection===SORTORDER_DESCENDING&&(sortdirection=SORTORDER_ASCENDING),updateSorting(reportElement,toggleSortDirection,toggleSorting.checked,sortdirection).then((()=>{const toggleSortDirectionElement=document.getElementById(toggleSortDirection.id);return null==toggleSortDirectionElement||toggleSortDirectionElement.focus(),pendingPromise.resolve()})).catch(_notification.default.exception)}}));const columnsSortingSelector="".concat(reportSelectors.regions.settingsSorting," ul");new _sortable_list.default(columnsSortingSelector,{isHorizontal:!1}).getElementName=element=>Promise.resolve(element.data("columnSortName")),document.addEventListener(_sortable_list.default.EVENTS.elementDrop,(event=>{const toggleSortOrder=event.target.closest("".concat(columnsSortingSelector," ").concat(reportSelectors.regions.activeColumnSort));if(toggleSortOrder&&event.detail.positionChanged){const pendingPromise=new _pending.default("core_reportbuilder/sorting:reorder"),reportElement=toggleSortOrder.closest(reportSelectors.regions.report),{columnSortId:columnSortId,columnSortPosition:columnSortPosition,columnSortName:columnSortName}=toggleSortOrder.dataset;let targetColumnSortPosition=event.detail.targetNextElement.data("columnSortPosition")||event.detail.element.siblings().length+2;targetColumnSortPosition>columnSortPosition&&targetColumnSortPosition--;const reorderPromise=(0,_sorting.reorderColumnSorting)(reportElement.dataset.reportId,columnSortId,targetColumnSortPosition);Promise.all([reorderPromise,new Promise((resolve=>setTimeout(resolve,1e3)))]).then((_ref2=>{let[data]=_ref2;return reloadSettingsSortingRegion(data)})).then((()=>(0,_str.getString)("columnsortupdated","core_reportbuilder",columnSortName))).then(_toast.add).then((()=>((0,_event_dispatcher.dispatchEvent)(reportEvents.tableReload,{},reportElement),pendingPromise.resolve()))).catch(_notification.default.exception)}}))}}));

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