Your IP : 216.73.216.95


Current Path : /var/www/ljmtc/cbt/mod/grouptool/amd/build/
Upload File :
Current File : /var/www/ljmtc/cbt/mod/grouptool/amd/build/sortlist.min.js.map

{"version":3,"sources":["../src/sortlist.js"],"names":["define","$","jqui","ajax","templates","str","log","notif","Sortlist","cmid","prototype","updateCheckboxes","e","newstate","selector","each","idx","current","val","checkboxes","preventDefault","prop","info","dragStartHandler","ui","helper","find","css","dragEndHandler","neworderparams","sortlistEntries","first","last","index","attr","data","push","groupid","order","requests","call","methodname","args","fail","exception","then","result","context","template","autoFadeOut","error","message","status","render","html","infoNode","hide","before","slideDown","window","setTimeout","slideUp","remove","moveDown","target","nodeA","closest","nodeB","next","thisOrder","otherOrder","stopPropagation","a","b","after","clone","replaceWith","moveUp","prev","instance","initializer","sortable","containment","cursor","delay","handle","items","opacity","axis","start","stop","dragnodes","removeClass","sortlistnode","on","checkboxControlsAction","require","toggle","select","enable","get"],"mappings":"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","sourcesContent":["// This file is part of mod_grouptool for Moodle - http://moodle.org/\n//\n// It is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// It is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Javascript for sortable groups-list\n *\n * @package   mod_grouptool\n * @author    Philipp Hager\n * @copyright 2014 Academic Moodle Cooperation {@link http://www.academic-moodle-cooperation.org}\n * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\n /**\n  * @module mod_grouptool/sortlist\n  */\ndefine(['jquery', 'jqueryui', 'core/ajax', 'core/templates', 'core/str', 'core/log', 'core/notification'], function($, jqui, ajax,\n        templates, str, log, notif) {\n\n    /**\n     * @constructor\n     * @alias module:mod_grouptool/sortlist\n     */\n    var Sortlist = function() {\n        this.cmid = 0;\n    };\n\n    /**\n     * Change the checked checkboxes due to action in checkbox-controller!\n     *\n     * @param {Event} e Event object\n     * @param {string} newstate select|deselect|toggle\n     */\n    Sortlist.prototype.updateCheckboxes = function(e, newstate) {\n\n        var selector = '';\n\n        // Get all selected groupids and construct selector!\n        $('select[name=\"classes[]\"] option:selected').each(function(idx, current) {\n            if (selector !== '') {\n                selector += ', ';\n            }\n            selector += '.class' + $(current).val();\n        });\n        var checkboxes = $(selector);\n\n        e.preventDefault();\n\n        switch (newstate) {\n            case 'select': // Check!\n                checkboxes.prop('checked', true);\n                break;\n            case 'deselect': // Uncheck!\n                checkboxes.prop('checked', false);\n                break;\n            case 'toggle':\n                checkboxes.each(function(idx, current) {\n                    if ($(current).prop('checked')) {\n                        $(current).prop('checked', false);\n                    } else {\n                        $(current).prop('checked', true);\n                    }\n                });\n                break;\n            default:\n                log.info('Undefined new checkbox state!', 'grouptool');\n                break;\n        }\n    };\n\n    /**\n     * Start of dragging!\n     *\n     * @param {Event} e Event object\n     * @param {object} ui Jquery UI instance\n     */\n    Sortlist.prototype.dragStartHandler = function(e, ui) {\n        // Get our drag object!\n        var helper = ui.helper;\n\n        helper.find('a[data-movedown], a[data-moveup]').css('visibility', 'visible');\n    };\n\n    /**\n     * End of drag!\n     *\n     * @param {Event} e Event object\n     */\n    Sortlist.prototype.dragEndHandler = function(e) {\n        // Set the hidden fields containing the sort order new!\n        var neworderparams = [];\n\n        var sortlistEntries = $('.mod_grouptool_sortlist_body .mod_grouptool_sortlist_entry');\n        sortlistEntries.find('a[data-movedown], a[data-moveup]').css('visibility', 'visible');\n        sortlistEntries.first().find('a[data-moveup]').css('visibility', 'hidden');\n        sortlistEntries.last().find('a[data-movedown]').css('visibility', 'hidden');\n\n        sortlistEntries.each(function(index) {\n            // Using attr here, to have updated values seen in the HTML too!\n            $(this).attr('order', index + 1);\n            $(this).find('input[name=\"order[' + $(this).data('id') + ']\"]').val(index + 1);\n\n            // Add new order to new order params!\n            neworderparams.push({\n                groupid: $(this).data('id'),\n                order: index + 1\n            });\n        });\n\n        if (neworderparams !== '') {\n            var requests = ajax.call([{\n                methodname: 'mod_grouptool_reorder_groups',\n                args: {cmid: e.data.cmid, order: neworderparams},\n                fail: notif.exception\n            }]);\n            requests[0].then(function(result) {\n                var context = {\n                    'message': '',\n                    'extraclasses': 'infonode'\n                };\n                var template = 'core/notification_success';\n                var autoFadeOut = 5 * 1000;\n\n                if (result.error) {\n                    template = 'core/notification_error';\n                    context.message = result.error;\n                    autoFadeOut = 60 * 1000;\n                    log.info(\"AJAX Call to reorder groups successfull\\nError ocured:\" + result.error + \"\\n\" + status, \"grouptool\");\n                    templates.render(template, context).then(function(html) {\n                        var infoNode = $(html);\n                        infoNode.hide(0);\n                        $('table.drag_list').before(infoNode);\n                        infoNode.slideDown(600, function() {\n                            window.setTimeout(function() {\n                                infoNode.slideUp(600, function() {\n                                    infoNode.remove();\n                                });\n                            }, autoFadeOut);\n                        });\n\n                        return this;\n                    }).fail(notif.exception);\n                } else {\n                    context.message = result.message;\n                    log.info(\"AJAX Call to reorder groups successfull\\n\" + result.message + \"\\n\" + status, \"grouptool\");\n                }\n\n\n                return this;\n            }).fail(notif.exception);\n        }\n    };\n\n    /**\n     * Move the element 1 position down!\n     *\n     * @param {Event} e Event object\n     */\n    Sortlist.prototype.moveDown = function(e) {\n        // Swap sort-order-values!\n        var target = $(e.target);\n        var nodeA = target.closest('.mod_grouptool_sortlist_entry');\n        var nodeB = target.closest('.mod_grouptool_sortlist_entry').next('.mod_grouptool_sortlist_entry');\n        var thisOrder = nodeA.data('order');\n        var otherOrder = nodeB.data('order');\n\n        // Stop the button from submitting!\n        e.preventDefault();\n        e.stopPropagation();\n\n        var requests = ajax.call([{\n            methodname: 'mod_grouptool_swap_groups',\n            args: {cmid: e.data.cmid, a: nodeA.data('id'), b: nodeB.data('id')},\n            fail: notif.exception\n        }]);\n        requests[0].then(function(result) {\n            if (result.error) {\n                notif.exception(result.error);\n            } else {\n                // Swap list-elements!\n                nodeB.after(nodeA.clone(true));\n                nodeA.replaceWith(nodeB);\n\n                nodeA.data('order', otherOrder);\n                nodeA.find('input[name=\"order[' + nodeA.data('id') + ']\"]').val(otherOrder);\n                nodeB.data('order', thisOrder);\n                nodeB.find('input[name=\"order[' + nodeB.data('id') + ']\"]').val(thisOrder);\n                log.info(result.message);\n            }\n\n            return this;\n        }).fail(notif.exception);\n    };\n\n    /**\n     * Move the element 1 position up!\n     *\n     * @param {Event} e Event object\n     */\n    Sortlist.prototype.moveUp = function(e) {\n        // Swap sort-order-values!\n        var target = $(e.target);\n        var nodeA = target.closest('.mod_grouptool_sortlist_entry');\n        var nodeB = target.closest('.mod_grouptool_sortlist_entry').prev('.mod_grouptool_sortlist_entry');\n\n        var thisOrder = nodeA.data('order');\n        var otherOrder = nodeB.data('order');\n\n        // Stop the button from submitting!\n        e.preventDefault();\n        e.stopPropagation();\n\n        var requests = ajax.call([{\n            methodname: 'mod_grouptool_swap_groups',\n            args: {cmid: e.data.cmid, a: nodeA.data('id'), b: nodeB.data('id')},\n            fail: notif.exception\n        }]);\n        requests[0].then(function(result) {\n            if (result.error) {\n                notif.exception(result.error);\n            } else {\n                // Swap list-elements!\n                nodeB.before(nodeA.clone(true));\n                nodeA.replaceWith(nodeB);\n\n                nodeA.data('order', otherOrder);\n                nodeA.find('input[name=\"order[' + nodeA.data('id') + ']\"]').val(otherOrder);\n                nodeB.data('order', thisOrder);\n                nodeB.find('input[name=\"order[' + nodeB.data('id') + ']\"]').val(thisOrder);\n                log.info(result.message);\n            }\n\n            return this;\n        }).fail(notif.exception);\n    };\n\n    var instance = new Sortlist();\n\n    /**\n     * Initializer\n     *\n     * @param {int} cmid\n     */\n    instance.initializer = function(cmid) {\n\n        instance.cmid = cmid;\n\n        log.info('Initialize Grouptool sortlist', 'grouptool');\n        $('.path-mod-grouptool .mod_grouptool_sortlist .mod_grouptool_sortlist_body').sortable({\n            containment: '.mod_grouptool_sortlist .mod_grouptool_sortlist_body',\n            cursor: 'move',\n            delay: 150,\n            handle: '[data-drag]',\n            items: ' .mod_grouptool_sortlist_entry',\n            opacity: 0.5,\n            helper: 'clone',\n            axis: 'y',\n            start: instance.dragStartHandler,\n            stop: function(e) {\n                e.data = instance;\n                instance.dragEndHandler(e);\n            }\n        });\n        // Enable the drag-symbols when JS is enabled :)!\n        var dragnodes = $('.path-mod-grouptool .mod_grouptool_sortlist tr[data-id] [data-drag]');\n        $('.path-mod-grouptool .mod_grouptool_sortlist tr .js_invisible').removeClass('js_invisible');\n        dragnodes.removeClass('js_invisible');\n        dragnodes.css('cursor', 'pointer');\n\n        // Add JS-Eventhandler for each move-up/down-button-click (=images)!\n        var sortlistnode = $('.path-mod-grouptool .mod_grouptool_sortlist');\n        sortlistnode.on('click', 'tr[data-id] a[data-movedown]', this, instance.moveDown);\n        sortlistnode.on('click', 'tr[data-id] a[data-moveup]', this, instance.moveUp);\n\n        // Enhanced checkbox-controller functionality!\n        var checkboxControlsAction = $('button[name=\"do_class_action\"]');\n        if (checkboxControlsAction) {\n            require(['mod_grouptool/multiseltoggle'], function(toggle) {\n                var select = $('select[name=\"classes[]\"]');\n                toggle.enable(select.get()[0]);\n            });\n            checkboxControlsAction.on('click', function(e) {\n                // Get the new state and continue!\n                var newstate = '';\n                $('input[name=\"class_action\"]').each(function(idx, current) {\n                    if ($(current).prop('checked') === true) {\n                        newstate = $(current).val();\n                        log.info('Update checkboxes \\'' + newstate + '\\'!');\n                        instance.updateCheckboxes(e, newstate);\n                    }\n                });\n\n            });\n        } else {\n            log.info('No sortlist controller found!', 'grouptool');\n        }\n\n        // Action button to select all!\n        $('.simple_select_all').on('click', function(e) {\n            log.info('Bind select-all handler!', 'grouptool');\n            e.preventDefault();\n            e.stopPropagation();\n\n            $('.class0').prop('checked', true);\n        });\n\n        // Action button to select none!\n        $('.simple_select_none').on('click', function(e) {\n            log.info('Bind deselect-all handler!', 'grouptool');\n            e.preventDefault();\n            e.stopPropagation();\n\n            $('.class0').prop('checked', false);\n        });\n    };\n\n    return instance;\n});\n"],"file":"sortlist.min.js"}