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/administration.min.js.map

{"version":3,"sources":["../src/administration.js"],"names":["define","$","templates","ajax","str","murl","notif","log","Administration","cmid","filter","filterall","globalsize","prototype","renamegroup","e","info","preventDefault","stopPropagation","context","requests","target","closest","node","grpid","data","button","field","prevAll","text","infoNode","fadeOut","attr","fadeIn","focus","select","on","which","call","methodname","args","groupid","name","val","fail","exception","remove","then","result","error","render","html","hide","find","prepend","window","setTimeout","message","off","status","unbind","resizegroup","instance","strings","helpNode","resizehelp","parseInt","size","newvalue","togglegroup","slideUp","promise","done","length","get_strings","s","url","relativeUrl","link","sortlistcontainer","viewparams","prop","usesize","templatepromise","toggleClass","firstinactive","parents","first","lastactive","last","detach","insertBefore","insertAfter","newnode","addClass","replaceWith","removeClass","css","slideDown","deletegroup","hasClass","confirm","title","yes","no","fetchNotifications","initializer","debug","key","component","resizedata","ex"],"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 group administration (rename, resize, toggle and deletion)\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/administration\n  */\ndefine(['jquery', 'core/templates', 'core/ajax', 'core/str', 'core/url', 'core/notification', 'core/log'], function($, templates,\n        ajax, str, murl, notif, log) {\n\n    /**\n     * @constructor\n     * @alias module:mod_grouptool/administration\n     */\n    var Administration = function() {\n        this.cmid = 0;\n        this.filter = null;\n        this.filterall = null;\n        this.globalsize = 3;\n    };\n\n    /**\n     * Rename 1 moodle group via AJAX request.\n     *\n     * @param {Event} e Event object\n     */\n    Administration.prototype.renamegroup = function(e) {\n        log.info('Rename Group!', 'grouptool');\n        e.preventDefault();\n        e.stopPropagation();\n\n        var context = {};\n        var requests = [];\n\n        // Get group id!\n        var target = $(e.target).closest('[data-rename]');\n        var node = target.closest('tr');\n        var grpid = node.data('id');\n\n        var button = target;\n        var field = button.prevAll('input[type=hidden]');\n        var text = button.prevAll('span.text');\n        var infoNode = '';\n        button.fadeOut(600);\n        field.fadeOut(600);\n        text.fadeOut(600, function() {\n            field.attr('type', 'text');\n            field.fadeIn(600);\n            field.focus();\n            field.select();\n        });\n        field.on('keydown', null, e.data, function(e) {\n            if (e.which === 13 || e.which === 27) {\n                e.preventDefault();\n                e.stopPropagation();\n            }\n\n            if (e.which === 13) { // Enter!\n                requests = ajax.call([{\n                    methodname: 'mod_grouptool_rename_group',\n                    args: {cmid: e.data.cmid, groupid: grpid, name: field.val()},\n                    fail: notif.exception\n                }]);\n                if (infoNode) {\n                    infoNode.fadeOut(600);\n                    infoNode.remove();\n                }\n                requests[0].then(function(result) {\n                    if (result.error) {\n                        context = {\n                            'message': result.error\n                        };\n                        templates.render('core/notification_error', context).then(function(html) {\n                            infoNode = $(html);\n                            infoNode.hide();\n                            node.find('.grpname div').prepend(infoNode);\n                            infoNode.fadeIn(600);\n                            // Remove after 60 seconds automatically!\n                            window.setTimeout(function() {\n                                infoNode.fadeOut(600, function() {\n                                    infoNode.remove();\n                                });\n                            }, 60 * 1000);\n\n                            return this;\n                        }).fail(notif.exception);\n                    } else {\n                        context = {\n                            'message': result.message\n                        };\n                        templates.render('core/notification_success', context).then(function() {\n\n                            text.html(field.val());\n                            field.fadeOut(600, function() {\n                                field.attr('value', field.val());\n                                field.attr('type', 'hidden');\n                                text.fadeIn(600);\n                                button.fadeIn(600);\n                            });\n                            field.off('keydown');\n\n                            return this;\n                        }).fail(notif.exception);\n\n                        log.info(\"AJAX Call to rename group \" + grpid + \" successfull\\n\" + status, \"grouptool\");\n                    }\n\n                    return this;\n                }).fail(notif.exception);\n\n            } else if (e.which === 27) { // Escape!\n                field.fadeOut(600, function() {\n                    text.hide();\n                    field.attr('type', 'hidden');\n                    field.val(text.html());\n                    field.attr('value', text.html());\n                    text.fadeIn(600);\n                    button.fadeIn(600);\n                });\n                if (infoNode) {\n                    infoNode.fadeOut(600, function() {\n                        infoNode.remove();\n                    });\n                }\n                field.unbind('key');\n            }\n        });\n    };\n\n    /**\n     * Change maximum group size of 1 moodle group via AJAX request.\n     *\n     * @param {Event} e Event object\n     */\n    Administration.prototype.resizegroup = function(e) {\n        log.info('Resize Group!', 'grouptool');\n        e.preventDefault();\n        e.stopPropagation();\n\n        // Get group id!\n        var target = $(e.target).closest('[data-resize]');\n        var node = target.closest('tr');\n        var grpid = node.data('id');\n\n        var cmid = e.data.instance.cmid;\n\n        var strings = e.data.strings;\n        var globalsize = e.data.globalsize;\n\n        var button = target;\n        var field = button.prevAll('input[type=hidden]');\n        var text = button.prevAll('span.text');\n        var infoNode = '';\n        var helpNode = '';\n\n        var context = {};\n        var requests = [];\n\n        button.fadeOut(600);\n        field.fadeOut(600);\n        text.fadeOut(600, function() {\n            field.attr('type', 'text');\n            field.fadeIn(600);\n            field.focus();\n            field.select();\n            var context = {\n                'message': strings.resizehelp\n            };\n            templates.render('core/notification_info', context).then(function(html) {\n                helpNode = $(html);\n                helpNode.hide();\n                node.find('.size div').prepend(helpNode);\n                helpNode.fadeIn(600);\n\n                return this;\n            }).fail(notif.exception);\n        });\n        field.on('keydown', null, null, function(e) {\n            if (e.which === 13 || e.which === 27) {\n                e.preventDefault();\n                e.stopPropagation();\n            }\n\n            if (e.which === 13) { // Enter!\n                requests = ajax.call([{\n                    methodname: 'mod_grouptool_resize_group',\n                    args: {cmid: parseInt(cmid), groupid: grpid, size: field.val()},\n                    fail: notif.exception\n                }]);\n                if (infoNode) {\n                    infoNode.fadeOut(600);\n                    infoNode.remove();\n                }\n                if (helpNode) {\n                    helpNode.fadeOut(600);\n                    helpNode.remove();\n                }\n                requests[0].then(function(result) {\n                    if (result.error) {\n                        context = {\n                            'message': result.error\n                        };\n                        templates.render('core/notification_error', context).then(function(html) {\n                            infoNode = $(html);\n                            infoNode.hide();\n                            node.find('.size div').prepend(infoNode);\n                            infoNode.fadeIn(600);\n                            // Remove after 60 seconds automatically!\n                            window.setTimeout(function() {\n                                infoNode.fadeOut(600, function() {\n                                    infoNode.remove();\n                                });\n                            }, 60 * 1000);\n\n                            return this;\n                        }).fail(notif.exception);\n                    } else {\n                        context = {\n                            'message': result.message\n                        };\n                        templates.render('core/notification_success', context).then(function(html) {\n                            infoNode = $(html);\n                            infoNode.hide();\n                            node.find('.size div').prepend(infoNode);\n                            infoNode.fadeIn(600);\n                            var newvalue = field.val();\n                            if (newvalue === '') {\n                                text.html(globalsize + '*');\n                            } else {\n                                text.html(newvalue);\n                            }\n                            field.fadeOut(600, function() {\n                                field.attr('value', field.val());\n                                field.attr('type', 'hidden');\n                                text.fadeIn(600);\n                                button.fadeIn(600);\n                                field.off('keydown');\n                            });\n                            window.setTimeout(function() {\n                                infoNode.fadeOut(600, function() {\n                                    infoNode.remove();\n                                });\n                            }, 5 * 1000);\n\n                            return this;\n                        }).fail(notif.exception);\n                    }\n                    log.info(\"AJAX Call to resize group \" + grpid + \" successfull\\n\" + status, \"grouptool\");\n\n                    return this;\n                }).fail(notif.exception);\n\n            } else if (e.which === 27) { // Escape!\n                field.fadeOut(600, function() {\n                    text.hide();\n                    field.attr('type', 'hidden');\n                    field.attr('value', text.html());\n                    field.val(text.html());\n                    text.fadeIn(600);\n                    button.fadeIn(600);\n                });\n                if (infoNode) {\n                    infoNode.fadeOut(600, function() {\n                        infoNode.remove();\n                    });\n                }\n                if (helpNode) {\n                    helpNode.fadeOut(600, function() {\n                        infoNode.remove();\n                    });\n                }\n                field.unbind('key');\n            }\n        });\n    };\n\n    /**\n     * Toggle 1 group (active/inactive) and change symbol or remove the HTML node respectively.\n     *\n     * @param {Event} e Event object\n     */\n    Administration.prototype.togglegroup = function(e) {\n        e.preventDefault();\n        e.stopPropagation();\n\n        var requests = [];\n        var context = {};\n\n        var target = $(e.target).closest(\"[data-toggle]\");\n\n        var node = target.closest('tr');\n\n        var grpid = node.data('id');\n\n        log.info('TOGGLE GROUP ' + grpid, \"grouptool\");\n\n        var status = node.data('status');\n\n        if (status === 1 || status === true) {\n            // Set inactive (via AJAX Request)!\n            log.info('DEACTIVATE GROUP ' + grpid + '!', \"grouptool\");\n\n            requests = ajax.call([{\n                methodname: 'mod_grouptool_deactivate_group',\n                args: {cmid: e.data.cmid, groupid: grpid},\n                fail: notif.exception\n            }]);\n            requests[0].then(function(result) {\n                if (result.error) {\n                    var text = \"AJAX Call to deactivate group \" + grpid + \" successfull but error occured:\\n\";\n                    log.info(text + result.error + \"\\n\" + status, \"grouptool\");\n                } else {\n                    if (e.data.filter === 'active') {\n                        node.find('td div').slideUp(600).promise().done(function() {\n                            node.remove();\n                            if (!$('div.sortlist_container tr').length) {\n                                /* TODO: instead we could just switch to filter all via JS/AJAX i.e. render mustache template\n                                 * for all groups sortlist! */\n                                var stringstofetch = [{'key': 'nogroupsactive', 'component': 'mod_grouptool'},\n                                                      {'key': 'nogroupschoose', 'component': 'mod_grouptool'}];\n                                str.get_strings(stringstofetch).done(function(s) {\n                                    var url = murl.relativeUrl('/mod/grouptool/view.php', {\n                                        'id': e.data.cmid,\n                                        'tab': 'group_administration',\n                                        'filter': e.data.filterall\n                                    });\n                                    var link = \"<a href=\\\"\" + url + \"\\\">\" + s[2] + \"</a>\";\n                                    var context = {\n                                        'message': s[0] + link\n                                    };\n                                    var sortlistcontainer = $('div.sortlist_container');\n                                    sortlistcontainer.fadeOut(600, function() {\n                                        templates.render('core/notification_info', context).then(function(html) {\n                                            sortlistcontainer.html(html);\n                                            sortlistcontainer.fadeIn(600);\n\n                                            return this;\n                                        }).fail(notif.exception);\n                                    });\n                                }).fail(notif.exception);\n                            }\n                        }).fail(notif.exception);\n                    } else {\n                        // Render the element again and display it!\n                        var viewparams = {\n                            'id': e.data.cmid,\n                            'tab': 'administration'\n                        };\n                        context = {\n                            \"status\": false,\n                            \"missing\": false,\n                            \"groupings\": target.closest('tr').data('groupings'),\n                            \"id\": grpid,\n                            \"checked\": target.closest('tr').find('input[type=checkbox]').prop('checked'),\n                            \"name\": target.closest('tr').data('name'),\n                            \"pageurl\": murl.relativeUrl(\"/mod/grouptool/view.php\", viewparams, false),\n                            \"order\": target.closest('tr').data('order'),\n                            \"usesize\": !!e.data.usesize,\n                            \"size\": target.closest('tr').data('size')\n                        };\n                        var templatepromise = templates.render('mod_grouptool/sortlist_entry', context);\n                        // This will call the function to load and render our template.\n                        node.toggleClass('slidup');\n                        node.find('td div').slideUp(600).promise().done(function() {\n                            templatepromise.then(function(html) {\n                                var firstinactive = node.parents('table').find('tr[data-status=0], tr[data-status=false]').first();\n                                var lastactive = node.parents('table').find('tr[data-status=1], tr[data-status=true]').last();\n                                if (firstinactive.length) {\n                                    node.detach();\n                                    node.insertBefore(firstinactive);\n                                } else if (lastactive.length) {\n                                    node.detach();\n                                    node.insertAfter(lastactive);\n                                }\n                                var newnode = $(html);\n                                newnode.addClass('slidup');\n                                newnode.find('td div').slideUp(0);\n                                node.replaceWith(newnode);\n                                newnode.find('[data-drag]').removeClass('js_invisible').css('cursor', 'pointer');\n                                newnode.toggleClass('slidup');\n                                newnode.find('td div').slideDown(600);\n                                node = newnode;\n\n                                return this;\n                            }).fail(notif.exception);\n                        }).fail(notif.exception);\n                    }\n                    log.info(\"AJAX Call to deactivate group \" + grpid + \" successfull\\n\" + result.message + \"\\n\" + status,\n                        \"grouptool\");\n                }\n\n                return this;\n            }).fail(notif.exception);\n        } else if (status === 0 || status === false) {\n            // Set active (via AJAX Request)!\n            log.info('ACTIVATE GROUP ' + grpid + '!', \"grouptool\");\n\n            requests = ajax.call([{\n                methodname: 'mod_grouptool_activate_group',\n                args: {cmid: e.data.cmid, groupid: grpid},\n                fail: notif.exception\n            }]);\n            requests[0].then(function(result) {\n                if (result.error) {\n                    var text = \"AJAX Call to activate group \" + grpid + \" successfull but error occured:\\n\";\n                    log.info(text + result.error + \"\\n\" + status, \"grouptool\");\n                } else {\n                    if (e.data.filter === 'inactive') {\n                        // If showing only inactive remove from list!\n                        node.find('td div').slideUp(600).promise().done(function() {\n                            node.remove();\n                            if (!$('div.sortlist_container tr').length) {\n                                /* TODO: instead we could just switch to filter all via JS/AJAX i.e. render mustache template\n                                 * for all groups sortlist! */\n                                var stringstofetch = [\n                                    {'key': 'nogroupsinactive', 'component': 'mod_grouptool'},\n                                    {'key': 'nogroupschoose', 'component': 'mod_grouptool'}\n                                ];\n                                str.get_strings(stringstofetch).done(function(s) {\n                                    var url = murl.relativeUrl('/mod/grouptool/view.php', {\n                                        'id': e.data.cmid,\n                                        'tab': 'group_administration',\n                                        'filter': e.data.filterall\n                                    });\n                                    var link = \"<a href=\\\"\" + url + \"\\\">\" + s[2] + \"</a>\";\n                                    context = {\n                                        'message': s[0] + link\n                                    };\n                                    var sortlistcontainer = $('div.sortlist_container');\n                                    sortlistcontainer.fadeOut(600, function() {\n                                        templates.render('core/notification_info', context).then(function(html) {\n                                            sortlistcontainer.html(html);\n                                            sortlistcontainer.fadeIn(600);\n\n                                            return this;\n                                        }).fail(notif.exception);\n                                    });\n                                }).fail(notif.exception);\n                            }\n                        });\n                    } else {\n                        // Replace sortlist entry!\n                        var viewparams = {\n                            'id': e.data.cmid,\n                            'tab': 'administration'\n                        };\n                        // This will call the function to load and render our template.\n                        context = {\n                            \"status\": true,\n                            \"missing\": false,\n                            \"groupings\": node.data('groupings'),\n                            \"id\": grpid,\n                            \"checked\": node.find('input[type=checkbox]').prop('checked'),\n                            \"name\": node.data('name'),\n                            \"pageurl\": murl.relativeUrl(\"/mod/grouptool/view.php\", viewparams, false),\n                            \"order\": node.data('order'),\n                            \"usesize\": !!e.data.usesize,\n                            \"size\": node.data('size')\n                        };\n                        var templatepromise = templates.render('mod_grouptool/sortlist_entry', context);\n                        node.toggleClass('slidup');\n                        target.closest('tr').find('td div').slideUp(600).promise().done(function() {\n                            templatepromise.then(function(html) {\n                                var firstinactive = node.parents('table').find('tr[data-status=0], tr[data-status=false]').first();\n                                var lastactive = node.parents('table').find('tr[data-status=1], tr[data-status=true]').last();\n                                if (lastactive.length) {\n                                    node.detach();\n                                    node.insertAfter(lastactive);\n                                } else if (firstinactive.length) {\n                                    node.detach();\n                                    node.insertBefore(firstinactive);\n                                }\n                                var newnode = $(html);\n                                newnode.addClass('slidup');\n                                newnode.find('td div').slideUp(0);\n                                node.replaceWith(newnode);\n                                newnode.find('[data-drag]').removeClass('js_invisible').css('cursor', 'pointer');\n                                newnode.toggleClass('slidup');\n                                newnode.find('td div').slideDown(600);\n                                node = newnode;\n\n                                return this;\n                            }).fail(notif.exception);\n                        }).fail(notif.exception);\n                    }\n                    log.info(\"AJAX Call to activate group \" + grpid + \" successfull\\n\" + result.message, \"grouptool\");\n                }\n\n                return this;\n            }).fail(notif.exception);\n        } else {\n            // Error!\n            log.error('Group with id ' + grpid + ' must have either status 1 or 0!', \"grouptool\");\n        }\n    };\n\n    /**\n     * Delete one moodle group via AJAX request.\n     *\n     * @param {Event} e Event object\n     */\n    Administration.prototype.deletegroup = function(e) {\n        e.preventDefault();\n        e.stopPropagation();\n\n        if ($(e.target).closest('[data-delete]').hasClass('disabled')) {\n            return;\n        }\n\n        // Get group id!\n        var target = $(e.target).closest('[data-delete]');\n\n        var node = target.closest('tr');\n\n        var grpid = node.data('id');\n\n        var strings = e.data.strings;\n\n        notif.confirm(strings.title, strings.confirm, strings.yes, strings.no, function() {\n            if (!grpid) {\n                log.info('No Group ID!', 'grouptool');\n                return;\n            }\n\n            log.info('DELETE GROUP ' + grpid + '!', \"grouptool\");\n\n            var requests = ajax.call([{\n                methodname: 'mod_grouptool_delete_group',\n                args: {cmid: e.data.cmid, groupid: grpid},\n                fail: notif.exception\n            }]);\n            requests[0].then(function(result) {\n                // So now the group's maybe recreated by grouptool instances set to do so, show notifications!\n                notif.fetchNotifications();\n                if (!result.error) {\n                    // Success, remove the corresponding table entry...\n                    node.find('td div').slideUp(600).promise().done(function() {\n                        node.remove();\n                    });\n                } else {\n                    notif.exception(result.error);\n                }\n                log.info(\"AJAX Call to delete group \" + grpid + \" successfull\\n\" + status, \"grouptool\");\n\n                return this;\n            }).fail(notif.exception);\n        });\n    };\n\n    var instance = new Administration();\n\n    /**\n     * Initialize the JS (save params and attach event handler).\n     *\n     * @param {int} cmid\n     * @param {string} filter\n     * @param {int} filterall\n     * @param {int} globalsize\n     * @param {int} usesize\n     */\n    instance.initializer = function(cmid, filter, filterall, globalsize, usesize) {\n\n        this.cmid = cmid;\n        this.filter = filter;\n        this.filterall = filterall;\n        this.globalsize = globalsize;\n        this.usesize = usesize;\n\n        log.info('Initialize Grouptool group administration', \"grouptool\");\n        $('.path-mod-grouptool').on('click', 'tr[data-id] a[data-rename]', this, this.renamegroup);\n        log.debug(\"Init edit size button\", \"grouptool\");\n        str.get_strings([{key: 'ajax_edit_size_help', component: 'mod_grouptool'}]).done(function(s) {\n            var strings = {resizehelp: s[0]};\n            log.debug(\"String successfully retrieved: \" + s, \"grouptool\");\n            var resizedata = {instance: instance, strings: strings, globalsize: instance.globalsize};\n            $('.path-mod-grouptool').on('click', 'tr[data-id] a[data-resize]', resizedata, instance.resizegroup);\n        }).fail(function(ex) {\n            log.error(\"Error while retrieving string: \" + ex, \"grouptool\");\n        });\n        var stringstofetch = [\n            {key: 'confirm_delete_title', component: 'mod_grouptool'},\n            {key: 'confirm_delete', component: 'mod_grouptool'},\n            {key: 'yes', component: 'moodle'},\n            {key: 'no', component: 'moodle'}\n        ];\n        str.get_strings(stringstofetch).done(function(s) {\n            log.info(\"Strings successfully retrieved: \" + s, \"grouptool\");\n            var strings = {title: s[0], confirm: s[1], yes: s[2], no: s[3]};\n            $('.path-mod-grouptool .mod_grouptool_sortlist').on('click', 'tr[data-id] a[data-delete]',\n                    {cmid: instance.cmid, strings: strings}, instance.deletegroup);\n        }).fail(function(ex) {\n            log.error(\"Error while retrieving strings: \" + ex, \"grouptool\");\n        });\n        $('.path-mod-grouptool .mod_grouptool_sortlist').on('click', 'tr[data-id] a[data-toggle]', this, this.togglegroup);\n    };\n\n    return instance;\n});\n"],"file":"administration.min.js"}