Your IP : 216.73.216.95


Current Path : /var/www/ljmtc/cbt/admin/tool/analytics/amd/build/
Upload File :
Current File : /var/www/ljmtc/cbt/admin/tool/analytics/amd/build/model.min.js.map

{"version":3,"sources":["../src/model.js"],"names":["define","$","Str","log","Notification","ModalFactory","ModalEvents","Templates","actionsList","clear","title","key","component","body","getModelName","actionItem","wrap","closest","length","attr","error","confirmAction","actionId","actionType","on","ev","preventDefault","a","currentTarget","reqStrings","param","stringsPromise","get_strings","modalPromise","create","type","types","SAVE_CANCEL","when","then","strings","modal","setTitle","setBody","setSaveButtonText","getRoot","save","window","location","href","show","fail","exception","selectEvaluationOptions","trainedOnlyExternally","timeSplittingMethods","bodyPromise","render","trainedexternally","timesplittingmethods","JSON","parse","hidden","destroy","bind","evaluationMode","val","timeSplittingMethod","selectExportOptions","isTrained","exportOption","is"],"mappings":"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","sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle 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// Moodle 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 * AMD module for model actions confirmation.\n *\n * @module     tool_analytics/model\n * @copyright  2017 David Monllao\n * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine(['jquery', 'core/str', 'core/log', 'core/notification', 'core/modal_factory', 'core/modal_events', 'core/templates'],\n    function($, Str, log, Notification, ModalFactory, ModalEvents, Templates) {\n\n    /**\n     * List of actions that require confirmation and confirmation message.\n     */\n    var actionsList = {\n        clear: {\n            title: {\n                key: 'clearpredictions',\n                component: 'tool_analytics'\n            }, body: {\n                key: 'clearmodelpredictions',\n                component: 'tool_analytics'\n            }\n\n        },\n        'delete': {\n            title: {\n                key: 'delete',\n                component: 'tool_analytics'\n            }, body: {\n                key: 'deletemodelconfirmation',\n                component: 'tool_analytics'\n            }\n        }\n    };\n\n    /**\n     * Returns the model name.\n     *\n     * @param {Object} actionItem The action item DOM node.\n     * @return {String}\n     */\n    var getModelName = function(actionItem) {\n        var wrap = $(actionItem).closest('[data-model-name]');\n\n        if (wrap.length) {\n            return wrap.attr('data-model-name');\n\n        } else {\n            log.error('Unexpected DOM error - unable to obtain the model name');\n            return '';\n        }\n    };\n\n    /** @alias module:tool_analytics/model */\n    return {\n\n        /**\n         * Displays a confirm modal window before executing the action.\n         *\n         * @param {String} actionId\n         * @param {String} actionType\n         */\n        confirmAction: function(actionId, actionType) {\n            $('[data-action-id=\"' + actionId + '\"]').on('click', function(ev) {\n                ev.preventDefault();\n\n                var a = $(ev.currentTarget);\n\n                if (typeof actionsList[actionType] === \"undefined\") {\n                    log.error('Action \"' + actionType + '\" is not allowed.');\n                    return;\n                }\n\n                var reqStrings = [\n                    actionsList[actionType].title,\n                    actionsList[actionType].body\n                ];\n                reqStrings[1].param = getModelName(a);\n\n                var stringsPromise = Str.get_strings(reqStrings);\n                var modalPromise = ModalFactory.create({type: ModalFactory.types.SAVE_CANCEL});\n\n                $.when(stringsPromise, modalPromise).then(function(strings, modal) {\n                    modal.setTitle(strings[0]);\n                    modal.setBody(strings[1]);\n                    modal.setSaveButtonText(strings[0]);\n                    modal.getRoot().on(ModalEvents.save, function() {\n                        window.location.href = a.attr('href');\n                    });\n                    modal.show();\n                    return modal;\n                }).fail(Notification.exception);\n            });\n        },\n\n        /**\n         * Displays evaluation mode and time-splitting method choices.\n         *\n         * @param  {String}  actionId\n         * @param  {Boolean} trainedOnlyExternally\n         */\n        selectEvaluationOptions: function(actionId, trainedOnlyExternally) {\n            $('[data-action-id=\"' + actionId + '\"]').on('click', function(ev) {\n                ev.preventDefault();\n\n                var a = $(ev.currentTarget);\n\n                var timeSplittingMethods = $(this).attr('data-timesplitting-methods');\n\n                var stringsPromise = Str.get_strings([\n                    {\n                        key: 'evaluatemodel',\n                        component: 'tool_analytics'\n                    }, {\n                        key: 'evaluate',\n                        component: 'tool_analytics'\n                    }\n                ]);\n                var modalPromise = ModalFactory.create({type: ModalFactory.types.SAVE_CANCEL});\n                var bodyPromise = Templates.render('tool_analytics/evaluation_options', {\n                    trainedexternally: trainedOnlyExternally,\n                    timesplittingmethods: JSON.parse(timeSplittingMethods)\n                });\n\n                $.when(stringsPromise, modalPromise).then(function(strings, modal) {\n\n\n                    modal.getRoot().on(ModalEvents.hidden, modal.destroy.bind(modal));\n\n                    modal.setTitle(strings[0]);\n                    modal.setSaveButtonText(strings[1]);\n                    modal.setBody(bodyPromise);\n\n                    modal.getRoot().on(ModalEvents.save, function() {\n\n                        // Evaluation mode.\n                        var evaluationMode = $(\"input[name='evaluationmode']:checked\").val();\n                        if (evaluationMode == 'trainedmodel') {\n                            a.attr('href', a.attr('href') + '&mode=trainedmodel');\n                        }\n\n                        // Selected time-splitting id.\n                        var timeSplittingMethod = $(\"#id-evaluation-timesplitting\").val();\n                        a.attr('href', a.attr('href') + '&timesplitting=' + timeSplittingMethod);\n\n                        window.location.href = a.attr('href');\n                        return;\n                    });\n\n                    modal.show();\n                    return modal;\n                }).fail(Notification.exception);\n            });\n        },\n\n        /**\n         * Displays export options.\n         *\n         * We have two main options: export training data and export configuration.\n         * The 2nd option has an extra option: include the trained algorithm weights.\n         *\n         * @param  {String}  actionId\n         * @param  {Boolean} isTrained\n         */\n        selectExportOptions: function(actionId, isTrained) {\n            $('[data-action-id=\"' + actionId + '\"]').on('click', function(ev) {\n                ev.preventDefault();\n\n                var a = $(ev.currentTarget);\n\n                if (!isTrained) {\n                    // Export the model configuration if the model is not trained. We can't export anything else.\n                    a.attr('href', a.attr('href') + '&action=exportmodel&includeweights=0');\n                    window.location.href = a.attr('href');\n                    return;\n                }\n\n                var stringsPromise = Str.get_strings([\n                    {\n                        key: 'export',\n                        component: 'tool_analytics'\n                    }\n                ]);\n                var modalPromise = ModalFactory.create({type: ModalFactory.types.SAVE_CANCEL});\n                var bodyPromise = Templates.render('tool_analytics/export_options', {});\n\n                $.when(stringsPromise, modalPromise).then(function(strings, modal) {\n\n                    modal.getRoot().on(ModalEvents.hidden, modal.destroy.bind(modal));\n\n                    modal.setTitle(strings[0]);\n                    modal.setSaveButtonText(strings[0]);\n                    modal.setBody(bodyPromise);\n\n                    modal.getRoot().on(ModalEvents.save, function() {\n\n                        var exportOption = $(\"input[name='exportoption']:checked\").val();\n\n                        if (exportOption == 'exportdata') {\n                            a.attr('href', a.attr('href') + '&action=exportdata');\n\n                        } else {\n                            a.attr('href', a.attr('href') + '&action=exportmodel');\n                            if ($(\"#id-includeweights\").is(':checked')) {\n                                a.attr('href', a.attr('href') + '&includeweights=1');\n                            } else {\n                                a.attr('href', a.attr('href') + '&includeweights=0');\n                            }\n                        }\n\n                        window.location.href = a.attr('href');\n                        return;\n                    });\n\n                    modal.show();\n                    return modal;\n                }).fail(Notification.exception);\n            });\n        }\n    };\n});\n"],"file":"model.min.js"}