Merge branch 'MDL-53293-master' of git://github.com/andrewnicols/moodle

This commit is contained in:
Dan Poltawski
2016-05-11 10:00:50 +01:00
10 changed files with 111 additions and 39 deletions
+1 -1
View File
@@ -1 +1 @@
define(["core/str","core/yui"],function(a,b){var c=function(a){var b=a.drag.get("node"),c=a.drop.get("node");this.callback(b.getDOMNode(),c.getDOMNode())};return{dragdrop:function(d,e,f,g,h,i,j,k){a.get_strings([{key:"emptydragdropregion",component:"moodle"},{key:"movecontent",component:"moodle"},{key:"tocontent",component:"moodle"}]).done(function(){b.use("moodle-tool_lp-dragdrop-reorder",function(){var a={callback:k};M.tool_lp.dragdrop_reorder({group:d,dragHandleText:e,sameNodeText:f,parentNodeText:g,sameNodeClass:h,parentNodeClass:i,dragHandleInsertClass:j,callback:b.bind(c,a)})})})}}});
define(["core/str","core/yui"],function(a,b){var c=null,d=function(a){var b=a.drag.get("node"),c=a.drop.get("node");this.callback(b.getDOMNode(),c.getDOMNode())};return{dragdrop:function(e,f,g,h,i,j,k,l){a.get_strings([{key:"emptydragdropregion",component:"moodle"},{key:"movecontent",component:"moodle"},{key:"tocontent",component:"moodle"}]).done(function(){b.use("moodle-tool_lp-dragdrop-reorder",function(){var a={callback:l};c&&c.destroy(),c=M.tool_lp.dragdrop_reorder({group:e,dragHandleText:f,sameNodeText:g,parentNodeText:h,sameNodeClass:i,parentNodeClass:j,dragHandleInsertClass:k,callback:b.bind(d,a)})})})}}});
+11 -2
View File
@@ -22,9 +22,15 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define(['core/str', 'core/yui'], function(str, Y) {
// Private variables and functions.
/**
* Store the current instance of the core drag drop.
*
* @property dragDropInstance M.tool_lp.dragdrop_reorder
*/
var dragDropInstance = null;
/**
* Translate the drophit event from YUI
* into simple drag and drop nodes.
@@ -70,7 +76,10 @@ define(['core/str', 'core/yui'], function(str, Y) {
var context = {
callback: callback
};
M.tool_lp.dragdrop_reorder({
if (dragDropInstance) {
dragDropInstance.destroy();
}
dragDropInstance = M.tool_lp.dragdrop_reorder({
group: group,
dragHandleText: dragHandleText,
sameNodeText: sameNodeText,
@@ -65,7 +65,7 @@ Y.extend(DRAGREORDER, M.core.dragdrop, {
M.tool_lp = M.tool_lp || {};
M.tool_lp.dragdrop_reorder = function(params) {
new DRAGREORDER(params);
return new DRAGREORDER(params);
};
@@ -1 +1 @@
YUI.add("moodle-tool_lp-dragdrop-reorder",function(e,t){var n=function(){n.superclass.constructor.apply(this,arguments)},r={EDITINGMOVE:"editing_move",ICONCLASS:"iconsmall"};e.extend(n,M.core.dragdrop,{initializer:function(t){if(e.one("."+t.parentNodeClass).all("."+t.dragHandleInsertClass).size()<=1)return;this.groups=[t.group],this.samenodeclass=t.sameNodeClass,this.parentnodeclass=t.parentNodeClass,this.draghandleinsertclass=t.dragHandleInsertClass,this.draghandle=this.get_drag_handle(t.dragHandleText,r.EDITINGMOVE,r.ICONCLASS,!0),this.samenodelabel=t.sameNodeLabel,this.parentnodelabel=t.parentNodeLabel,this.callback=t.callback;var n=new e.DD.Delegate({container:"."+t.parentNodeClass,nodes:"."+t.sameNodeClass,target:!0,handles:["."+r.EDITINGMOVE],dragConfig:{groups:this.groups}});n.dd.plug(e.Plugin.DDProxy),e.one("."+t.parentNodeClass).all("."+t.dragHandleInsertClass).each(function(e){e.insert(this.draghandle.cloneNode(!0))},this)},drop_hit:function(e){this.callback(e)}},{NAME:"tool_lp-dragdrop-reorder",ATTRS:{}}),M.tool_lp=M.tool_lp||{},M.tool_lp.dragdrop_reorder=function(e){new n(e)}},"@VERSION@",{requires:["moodle-core-dragdrop"]});
YUI.add("moodle-tool_lp-dragdrop-reorder",function(e,t){var n=function(){n.superclass.constructor.apply(this,arguments)},r={EDITINGMOVE:"editing_move",ICONCLASS:"iconsmall"};e.extend(n,M.core.dragdrop,{initializer:function(t){if(e.one("."+t.parentNodeClass).all("."+t.dragHandleInsertClass).size()<=1)return;this.groups=[t.group],this.samenodeclass=t.sameNodeClass,this.parentnodeclass=t.parentNodeClass,this.draghandleinsertclass=t.dragHandleInsertClass,this.draghandle=this.get_drag_handle(t.dragHandleText,r.EDITINGMOVE,r.ICONCLASS,!0),this.samenodelabel=t.sameNodeLabel,this.parentnodelabel=t.parentNodeLabel,this.callback=t.callback;var n=new e.DD.Delegate({container:"."+t.parentNodeClass,nodes:"."+t.sameNodeClass,target:!0,handles:["."+r.EDITINGMOVE],dragConfig:{groups:this.groups}});n.dd.plug(e.Plugin.DDProxy),e.one("."+t.parentNodeClass).all("."+t.dragHandleInsertClass).each(function(e){e.insert(this.draghandle.cloneNode(!0))},this)},drop_hit:function(e){this.callback(e)}},{NAME:"tool_lp-dragdrop-reorder",ATTRS:{}}),M.tool_lp=M.tool_lp||{},M.tool_lp.dragdrop_reorder=function(e){return new n(e)}},"@VERSION@",{requires:["moodle-core-dragdrop"]});
@@ -65,7 +65,7 @@ Y.extend(DRAGREORDER, M.core.dragdrop, {
M.tool_lp = M.tool_lp || {};
M.tool_lp.dragdrop_reorder = function(params) {
new DRAGREORDER(params);
return new DRAGREORDER(params);
};
@@ -63,5 +63,5 @@ Y.extend(DRAGREORDER, M.core.dragdrop, {
M.tool_lp = M.tool_lp || {};
M.tool_lp.dragdrop_reorder = function(params) {
new DRAGREORDER(params);
return new DRAGREORDER(params);
};
@@ -100,6 +100,15 @@ Y.extend(DRAGDROP, Y.Base, {
*/
lastdroptarget: null,
/**
* Listeners.
*
* @property listeners
* @type Array
* @default null
*/
listeners: null,
/**
* The initializer which sets up the move action.
*
@@ -107,31 +116,43 @@ Y.extend(DRAGDROP, Y.Base, {
* @protected
*/
initializer: function() {
this.listeners = [];
// Listen for all drag:start events.
Y.DD.DDM.on('drag:start', this.global_drag_start, this);
this.listeners.push(Y.DD.DDM.on('drag:start', this.global_drag_start, this));
// Listen for all drag:end events.
Y.DD.DDM.on('drag:end', this.global_drag_end, this);
this.listeners.push(Y.DD.DDM.on('drag:end', this.global_drag_end, this));
// Listen for all drag:drag events.
Y.DD.DDM.on('drag:drag', this.global_drag_drag, this);
this.listeners.push(Y.DD.DDM.on('drag:drag', this.global_drag_drag, this));
// Listen for all drop:over events.
Y.DD.DDM.on('drop:over', this.global_drop_over, this);
this.listeners.push(Y.DD.DDM.on('drop:over', this.global_drop_over, this));
// Listen for all drop:hit events.
Y.DD.DDM.on('drop:hit', this.global_drop_hit, this);
this.listeners.push(Y.DD.DDM.on('drop:hit', this.global_drop_hit, this));
// Listen for all drop:miss events.
Y.DD.DDM.on('drag:dropmiss', this.global_drag_dropmiss, this);
this.listeners.push(Y.DD.DDM.on('drag:dropmiss', this.global_drag_dropmiss, this));
// Add keybaord listeners for accessible drag/drop
Y.one(Y.config.doc.body).delegate('key', this.global_keydown,
'down:32, enter, esc', '.' + MOVEICON.cssclass, this);
this.listeners.push(Y.one(Y.config.doc.body).delegate('key', this.global_keydown,
'down:32, enter, esc', '.' + MOVEICON.cssclass, this));
// Make the accessible drag/drop respond to a single click.
Y.one(Y.config.doc.body).delegate('click', this.global_keydown,
'.' + MOVEICON.cssclass , this);
this.listeners.push(Y.one(Y.config.doc.body).delegate('click', this.global_keydown,
'.' + MOVEICON.cssclass , this));
},
/**
* The destructor to shut down the instance of the dragdrop system.
*
* @method destructor
* @protected
*/
destructor: function() {
new Y.EventHandle(this.listeners).detach();
},
/**
File diff suppressed because one or more lines are too long
+31 -10
View File
@@ -100,6 +100,15 @@ Y.extend(DRAGDROP, Y.Base, {
*/
lastdroptarget: null,
/**
* Listeners.
*
* @property listeners
* @type Array
* @default null
*/
listeners: null,
/**
* The initializer which sets up the move action.
*
@@ -107,31 +116,43 @@ Y.extend(DRAGDROP, Y.Base, {
* @protected
*/
initializer: function() {
this.listeners = [];
// Listen for all drag:start events.
Y.DD.DDM.on('drag:start', this.global_drag_start, this);
this.listeners.push(Y.DD.DDM.on('drag:start', this.global_drag_start, this));
// Listen for all drag:end events.
Y.DD.DDM.on('drag:end', this.global_drag_end, this);
this.listeners.push(Y.DD.DDM.on('drag:end', this.global_drag_end, this));
// Listen for all drag:drag events.
Y.DD.DDM.on('drag:drag', this.global_drag_drag, this);
this.listeners.push(Y.DD.DDM.on('drag:drag', this.global_drag_drag, this));
// Listen for all drop:over events.
Y.DD.DDM.on('drop:over', this.global_drop_over, this);
this.listeners.push(Y.DD.DDM.on('drop:over', this.global_drop_over, this));
// Listen for all drop:hit events.
Y.DD.DDM.on('drop:hit', this.global_drop_hit, this);
this.listeners.push(Y.DD.DDM.on('drop:hit', this.global_drop_hit, this));
// Listen for all drop:miss events.
Y.DD.DDM.on('drag:dropmiss', this.global_drag_dropmiss, this);
this.listeners.push(Y.DD.DDM.on('drag:dropmiss', this.global_drag_dropmiss, this));
// Add keybaord listeners for accessible drag/drop
Y.one(Y.config.doc.body).delegate('key', this.global_keydown,
'down:32, enter, esc', '.' + MOVEICON.cssclass, this);
this.listeners.push(Y.one(Y.config.doc.body).delegate('key', this.global_keydown,
'down:32, enter, esc', '.' + MOVEICON.cssclass, this));
// Make the accessible drag/drop respond to a single click.
Y.one(Y.config.doc.body).delegate('click', this.global_keydown,
'.' + MOVEICON.cssclass , this);
this.listeners.push(Y.one(Y.config.doc.body).delegate('click', this.global_keydown,
'.' + MOVEICON.cssclass , this));
},
/**
* The destructor to shut down the instance of the dragdrop system.
*
* @method destructor
* @protected
*/
destructor: function() {
new Y.EventHandle(this.listeners).detach();
},
/**
+31 -10
View File
@@ -98,6 +98,15 @@ Y.extend(DRAGDROP, Y.Base, {
*/
lastdroptarget: null,
/**
* Listeners.
*
* @property listeners
* @type Array
* @default null
*/
listeners: null,
/**
* The initializer which sets up the move action.
*
@@ -105,31 +114,43 @@ Y.extend(DRAGDROP, Y.Base, {
* @protected
*/
initializer: function() {
this.listeners = [];
// Listen for all drag:start events.
Y.DD.DDM.on('drag:start', this.global_drag_start, this);
this.listeners.push(Y.DD.DDM.on('drag:start', this.global_drag_start, this));
// Listen for all drag:end events.
Y.DD.DDM.on('drag:end', this.global_drag_end, this);
this.listeners.push(Y.DD.DDM.on('drag:end', this.global_drag_end, this));
// Listen for all drag:drag events.
Y.DD.DDM.on('drag:drag', this.global_drag_drag, this);
this.listeners.push(Y.DD.DDM.on('drag:drag', this.global_drag_drag, this));
// Listen for all drop:over events.
Y.DD.DDM.on('drop:over', this.global_drop_over, this);
this.listeners.push(Y.DD.DDM.on('drop:over', this.global_drop_over, this));
// Listen for all drop:hit events.
Y.DD.DDM.on('drop:hit', this.global_drop_hit, this);
this.listeners.push(Y.DD.DDM.on('drop:hit', this.global_drop_hit, this));
// Listen for all drop:miss events.
Y.DD.DDM.on('drag:dropmiss', this.global_drag_dropmiss, this);
this.listeners.push(Y.DD.DDM.on('drag:dropmiss', this.global_drag_dropmiss, this));
// Add keybaord listeners for accessible drag/drop
Y.one(Y.config.doc.body).delegate('key', this.global_keydown,
'down:32, enter, esc', '.' + MOVEICON.cssclass, this);
this.listeners.push(Y.one(Y.config.doc.body).delegate('key', this.global_keydown,
'down:32, enter, esc', '.' + MOVEICON.cssclass, this));
// Make the accessible drag/drop respond to a single click.
Y.one(Y.config.doc.body).delegate('click', this.global_keydown,
'.' + MOVEICON.cssclass , this);
this.listeners.push(Y.one(Y.config.doc.body).delegate('click', this.global_keydown,
'.' + MOVEICON.cssclass , this));
},
/**
* The destructor to shut down the instance of the dragdrop system.
*
* @method destructor
* @protected
*/
destructor: function() {
new Y.EventHandle(this.listeners).detach();
},
/**