MDL-50308 tool_lp: Big javascript cleanup

This includes:
* Move all JS modules from lib/amd to admin/tool/lp/amd
* Add all jsdocs
* fix all jshint warnings
* Rewrite the actionmenu wrapper to a real amd module
This commit is contained in:
Damyon Wiese 2015-05-14 13:35:38 +08:00 committed by Frederic Massart
parent d629323f72
commit 7e8d4dac9b
41 changed files with 1805 additions and 398 deletions

View file

@ -0,0 +1,72 @@
YUI.add('moodle-tool_lp-dragdrop-reorder', function (Y, NAME) {
/**
* Simple drag and drop.
*
* Used when we just want a list of things that can be re-ordered by dragging.
*
* @class M.tool_lp.dragdrop_reorder
* @constructor
* @extends M.core.dragdrop
*/
var DRAGREORDER = function() {
DRAGREORDER.superclass.constructor.apply(this, arguments);
};
var CSS = {
EDITINGMOVE: 'editing_move',
ICONCLASS: 'iconsmall'
};
Y.extend(DRAGREORDER, M.core.dragdrop, {
initializer: function(args) {
if (Y.one('.' + args.parentNodeClass).all('.' + args.dragHandleInsertClass).size() <= 1) {
// We can't re-order when there is only one item.
return;
}
// Set group for parent class
this.groups = [args.group];
this.samenodeclass = args.sameNodeClass;
this.parentnodeclass = args.parentNodeClass;
this.draghandleinsertclass = args.dragHandleInsertClass;
this.draghandle = this.get_drag_handle(args.dragHandleText,
CSS.EDITINGMOVE, CSS.ICONCLASS, true);
this.samenodelabel = args.sameNodeLabel;
this.parentnodelabel = args.parentNodeLabel;
this.callback = args.callback;
var delegate = new Y.DD.Delegate({
container: '.' + args.parentNodeClass,
nodes: '.' + args.sameNodeClass,
target: true,
handles: ['.' + CSS.EDITINGMOVE],
dragConfig: {groups: this.groups}
});
delegate.dd.plug(Y.Plugin.DDProxy);
Y.one('.' + args.parentNodeClass)
.all('.' + args.dragHandleInsertClass)
.each(
function (node) {
node.insert(this.draghandle.cloneNode(true));
} , 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(params) {
new DRAGREORDER(params);
};
}, '@VERSION@', {"requires": ["moodle-core-dragdrop"]});

View file

@ -0,0 +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"]});

View file

@ -0,0 +1,72 @@
YUI.add('moodle-tool_lp-dragdrop-reorder', function (Y, NAME) {
/**
* Simple drag and drop.
*
* Used when we just want a list of things that can be re-ordered by dragging.
*
* @class M.tool_lp.dragdrop_reorder
* @constructor
* @extends M.core.dragdrop
*/
var DRAGREORDER = function() {
DRAGREORDER.superclass.constructor.apply(this, arguments);
};
var CSS = {
EDITINGMOVE: 'editing_move',
ICONCLASS: 'iconsmall'
};
Y.extend(DRAGREORDER, M.core.dragdrop, {
initializer: function(args) {
if (Y.one('.' + args.parentNodeClass).all('.' + args.dragHandleInsertClass).size() <= 1) {
// We can't re-order when there is only one item.
return;
}
// Set group for parent class
this.groups = [args.group];
this.samenodeclass = args.sameNodeClass;
this.parentnodeclass = args.parentNodeClass;
this.draghandleinsertclass = args.dragHandleInsertClass;
this.draghandle = this.get_drag_handle(args.dragHandleText,
CSS.EDITINGMOVE, CSS.ICONCLASS, true);
this.samenodelabel = args.sameNodeLabel;
this.parentnodelabel = args.parentNodeLabel;
this.callback = args.callback;
var delegate = new Y.DD.Delegate({
container: '.' + args.parentNodeClass,
nodes: '.' + args.sameNodeClass,
target: true,
handles: ['.' + CSS.EDITINGMOVE],
dragConfig: {groups: this.groups}
});
delegate.dd.plug(Y.Plugin.DDProxy);
Y.one('.' + args.parentNodeClass)
.all('.' + args.dragHandleInsertClass)
.each(
function (node) {
node.insert(this.draghandle.cloneNode(true));
} , 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(params) {
new DRAGREORDER(params);
};
}, '@VERSION@', {"requires": ["moodle-core-dragdrop"]});