Proyectos de Subversion Moodle

Rev

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

YUI.add("moodle-core-blocks",function(d,e){var o,a,r="/lib/ajax/blocks.php",g="block",l="block-region",s="block_adminblock",n="editing_move",h="header",c="region-content",t="skip-block",p="skip-block-to",_="page-my-index",b="region-main",f="blocks-moving",u={DRAGHANDLE:"."+h+" .commands .moodle-core-dragdrop-draghandle"},i=function(){i.superclass.constructor.apply(this,arguments)};d.extend(i,M.core.dragdrop,{skipnodetop:null,skipnodebottom:null,dragsourceregion:null,initializer:function(){var e,o,t,i;if(this.groups=["block"],this.samenodeclass=g,this.parentnodeclass=c,0<(e=d.Node.all("body#"+_+" #"+b+" > ."+c)).size()&&((e=e.item(0)).addClass(l),e.set("id",c),e.one("div").addClass(c)),0===(e=d.Node.all("div."+l)).size())return!1;e.size()!==this.get("regions").length&&(o=d.Node.create("<div></div>").addClass(l),t=d.Node.create("<div></div>").addClass(c),o.appendChild(t),t=e.filter("#region-pre"),i=e.filter("#region-post"),0===t.size()&&1===i.size()?(o.setAttrs({id:"region-pre"}),i.item(0).insert(o,"before"),e.unshift(o)):0===i.size()&&1===t.size()&&(o.setAttrs({id:"region-post"}),t.item(0).insert(o,"after"),e.push(o))),e.each(function(e){var o;new d.DD.Drop({node:e.one("div."+c),groups:this.groups,padding:"40 240 40 240"}),(o=new d.DD.Delegate({container:e,nodes:"."+g,target:!0,handles:[u.DRAGHANDLE],invalid:".block-hider-hide, .block-hider-show, .moveto",dragConfig:{groups:this.groups}})).dd.plug(d.Plugin.DDProxy,{moveOnEnd:!1}),o.dd.plug(d.Plugin.DDWinScroll),e.all("."+g).each(function(e){var o=e.one("a."+n);o&&(o.replace(this.get_drag_handle(o.getAttribute("title"),"","iconsmall",!0)),e.one(u.DRAGHANDLE).setStyle("cursor","move"))},this)},this)},get_block_id:function(e){return Number(e.get("id").replace(/inst/i,""))},get_block_region:function(e){e=e.ancestor("div."+l).get("id").replace(/region-/i,"");return-1===d.Array.indexOf(this.get("regions"),e)?(window.right_to_left()&&("post"===e?e="pre":"pre"===e&&(e="post")),"side-"+e):e},get_region_id:function(e){return e.get("id").replace(/region-/i,"")},drag_start:function(e){e=e.target;this.dragsourceregion=e.get("node").ancestor("div."+l),e.get("node").previous()&&e.get("node").previous().hasClass(t)&&(this.skipnodetop=e.get("node").previous()),e.get("node").next()&&e.get("node").next().hasClass(p)&&(this.skipnodebottom=e.get("node").next()),d.one("body").addClass(f)},drop_over:function(e){var o,t=e.drag.get("node"),e=e.drop.get("node");if(e.hasClass(this.parentnodeclass)&&e.one("."+s)&&e.one("."+s).next("."+g)&&e.prepend(t),this.dragsourceregion.contains(e))return!1;t=d.one("body"),o=this.get_region_id(this.dragsourceregion),t.hasClass("side-"+o+"-only")&&t.removeClass("side-"+o+"-only"),o=this.get_region_id(e.ancestor("div."+l)),0===this.dragsourceregion.all("."+g).size()&&this.dragsourceregion.get("id").match(/(region-pre|region-post)/i)&&(t.hasClass("side-"+o+"-only")||t.addClass("side-"+o+"-only"))},drag_end:function(){this.skipnodetop=null,this.skipnodebottom=null,this.dragsourceregion=null,d.one("body").removeClass(f)},drag_dropmiss:function(e){this.drop_hit(e)},drop_hit:function(i){var n,e=i.drag,e=e.get("node"),o=i.drop.get("node");e.previous()&&e.previous().hasClass(t)&&e.insert(e.previous(),"after"),this.skipnodetop&&e.insert(this.skipnodetop,"before"),this.skipnodebottom&&e.insert(this.skipnodebottom,"after"),n=M.util.add_lightbox(d,e),o={sesskey:M.cfg.sesskey,pagehash:this.get("pagehash"),action:"move",bui_moveid:this.get_block_id(e),bui_newregion:this.get_block_region(o)},this.get("cmid")&&(o.cmid=this.get("cmid")),e.next("."+this.samenodeclass)&&!e.next("."+this.samenodeclass).hasClass(s)&&(o.bui_beforeid=this.get_block_id(e.next("."+this.samenodeclass))),d.io(M.cfg.wwwroot+r,{method:"POST",data:o,on:{start:function(){n.show()},success:function(e,o){window.setTimeout(function(){n.hide()},250);try{var t=d.JSON.parse(o.responseText);t.error&&new M.core.ajaxException(t)}catch(i){}},failure:function(e,o){this.ajax_failure(o),n.hide()}},context:this})}},{NAME:"core-blocks-dragdrop",ATTRS:{pagehash:{value:null},regions:{value:null}}}),M.core=M.core||{},M.core.blockdraganddrop=M.core.blockdraganddrop||{},M.core.blockdraganddrop._isusingnewblocksmethod=null,M.core.blockdraganddrop.is_using_blocks_render_method=function(){var e,o;return null===this._isusingnewblocksmethod&&(e=d.all(".block-region[data-blockregion]").size(),o=d.all(".block-region").size(),this._isusingnewblocksmethod=o===e),this._isusingnewblocksmethod},M.core.blockdraganddrop.init=function(e){new(this.is_using_blocks_render_method()?o:i)(e)},M.core_blocks=M.core_blocks||{},M.core_blocks.init_dragdrop=function(e){M.core.blockdraganddrop.init(e)},(o=function(){o.superclass.constructor.apply(this,arguments)}).prototype={skipnodetop:null,skipnodebottom:null,regionobjects:{},initializer:function(){var e,o,t,i,n,s=this.get("regions"),r=0;for(r in this.groups=["block"],this.samenodeclass=g,this.parentnodeclass=l,this.detectkeyboarddirection=!0,0<(n=d.Node.all("body#"+_+" #"+b+" > ."+c)).size()&&((n=n.item(0)).addClass(l),n.set("id",c),n.one("div").addClass(c)),s)i=s[r],t=d.one("#block-region-"+i),o=new a({manager:this,region:i,node:t}),this.regionobjects[i]=o,new d.DD.Drop({node:o.get_droptarget(),groups:this.groups,padding:"40 240 40 240"}),(i=new d.DD.Delegate({container:o.get_droptarget(),nodes:"."+g,target:!0,handles:[u.DRAGHANDLE],invalid:".block-hider-hide, .block-hider-show, .moveto, .block_fake",dragConfig:{groups:this.groups}})).dd.plug(d.Plugin.DDProxy,{moveOnEnd:!1}),null!==t&&(e=t.ancestor(".drag-container",!0))?i.dd.plug(d.Plugin.DDNodeScroll,{node:e}):i.dd.plug(d.Plugin.DDWinScroll),d.DD.DDM.on("ddm:start",this.enable_all_regions,this),o.change_block_move_icons(this)},get_block_id:function(e){return Number(e.get("id").replace(/inst/i,""))},get_block_region:function(e){return(e=e.test("[data-blockregion]")?e:e.ancestor("[data-blockregion]")).getData("blockregion")},get_region_object:function(e){return this.regionobjects[this.get_block_region(e)]},
enable_all_regions:function(){var e,o=d.DD.DDM.activeDrag.get("groups");if(o&&-1!==d.Array.indexOf(o,"block"))for(e in this.regionobjects)this.regionobjects.hasOwnProperty(e)&&this.regionobjects[e].enable()},disable_regions_if_required:function(){var e=0;for(e in this.regionobjects)this.regionobjects[e].disable_if_required()},drag_start:function(e){e=e.target;e.get("node").previous()&&e.get("node").previous().hasClass(t)&&(this.skipnodetop=e.get("node").previous()),e.get("node").next()&&e.get("node").next().hasClass(p)&&(this.skipnodebottom=e.get("node").next())},dragOver:function(e){var o=e.drop.get("node").ancestor(".drag-container",!0);if(o){if(e.drag[d.Plugin.DDNodeScroll]){if(e.drag[d.Plugin.DDNodeScroll].get("node")===o)return;e.drag.unplug(d.Plugin.DDNodeScroll)}e.drag.plug(d.Plugin.DDNodeScroll,{node:o})}},drop_over:function(e){var o=e.drag.get("node"),e=e.drop.get("node");e.hasClass(c)&&e.one("."+s)&&e.one("."+s).next("."+g)&&e.prepend(o)},drop_end:function(){this.skipnodetop=null,this.skipnodebottom=null,this.disable_regions_if_required()},drag_dropmiss:function(e){this.drop_hit(e)},drop_hit:function(i){var n,e=i.drag.get("node"),o=i.drop.get("node");e.previous()&&e.previous().hasClass(t)&&e.insert(e.previous(),"after"),this.skipnodetop&&e.insert(this.skipnodetop,"before"),this.skipnodebottom&&e.insert(this.skipnodebottom,"after"),n=M.util.add_lightbox(d,e),o={sesskey:M.cfg.sesskey,pagehash:this.get("pagehash"),action:"move",bui_moveid:this.get_block_id(e),bui_newregion:this.get_block_region(o)},this.get("cmid")&&(o.cmid=this.get("cmid")),e.next("."+g)&&!e.next("."+g).hasClass(s)&&(o.bui_beforeid=this.get_block_id(e.next("."+g))),d.io(M.cfg.wwwroot+r,{method:"POST",data:o,on:{start:function(){n.show()},success:function(e,o){window.setTimeout(function(){n.hide()},250);try{var t=d.JSON.parse(o.responseText);t.error&&new M.core.ajaxException(t)}catch(i){}},failure:function(e,o){this.ajax_failure(o),n.hide()},complete:function(){this.disable_regions_if_required()}},context:this})}},d.extend(o,M.core.dragdrop,o.prototype,{NAME:"core-blocks-dragdrop-manager",ATTRS:{pagehash:{value:null},regions:{value:[]}}}),(a=function(){a.superclass.constructor.apply(this,arguments)}).prototype={initializer:function(){var e=this.get("node"),e=e||this.create_and_add_node(),o=d.one("body"),e=0<e.all("."+g).size(),t=this.get_has_region_class();this.set("hasblocks",e),o.hasClass(t)||o.addClass(t),o.addClass(e?this.get_used_region_class():this.get_empty_region_class()),o.removeClass(e?this.get_empty_region_class():this.get_used_region_class())},create_and_add_node:function(){var e,o=d.Node.create,t=this.get("region"),o=o('<div id="block-region-'+t+'" data-droptarget="1"></div>').addClass(l).setData("blockregion",t),i=this.get("manager").get("regions"),n=!1,s=!1,r=!1;for(e in i)i[e].match(/(pre|left)/)?n=i[e]:i[e].match(/(post|right)/)&&(s=i[e]);return!1!==n&&!1!==s&&(t===n?(t=d.one("#block-region-"+s))&&(t.insert(o,"before"),r=!0):(t=d.one("#block-region-"+n))&&(t.insert(o,"after"),r=!0)),!1===r&&d.one("body").append(o),this.set("node",o),o},change_block_move_icons:function(o){var t;this.get("node").all("."+g+" a."+n).each(function(e){e.setStyle("cursor","move"),(t=o.get_drag_handle(e.getAttribute("title"),"","icon",!0)).setAttribute("role","menuitem"),e.replace(t)})},get_has_region_class:function(){return"has-region-"+this.get("region")},get_empty_region_class:function(){return"empty-region-"+this.get("region")},get_used_region_class:function(){return"used-region-"+this.get("region")},get_droptarget:function(){var e=this.get("node");return e.test('[data-droptarget="1"]')?e:e.one('[data-droptarget="1"]')},enable:function(){d.one("body").addClass(this.get_used_region_class()).removeClass(this.get_empty_region_class())},disable_if_required:function(){0===this.get("node").all("."+g).size()&&d.one("body").addClass(this.get_empty_region_class()).removeClass(this.get_used_region_class())}},d.extend(a,d.Base,a.prototype,{NAME:"core-blocks-dragdrop-blockregion",ATTRS:{manager:{writeOnce:"initOnly",validator:function(e){return d.Lang.isObject(e)&&e instanceof o}},region:{writeOnce:"initOnly",validator:function(e){return d.Lang.isString(e)}},node:{validator:function(e){return d.Lang.isObject(e)||d.Lang.isNull(e)}},hasblocks:{value:!1,validator:function(e){return d.Lang.isBoolean(e)}}}})},"@VERSION@",{requires:["base","node","io","dom","dd","dd-scroll","moodle-core-dragdrop","moodle-core-notification"]});