Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
{"version":3,"file":"parentcompetency_form.min.js","sources":["../src/parentcompetency_form.js"],"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 * Handle selecting parent competency in competency form.\n *\n * @module     tool_lp/parentcompetency_form\n * @copyright  2015 Issam Taboubi <issam.taboubi@umontreal.ca>\n * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine(['jquery', 'core/ajax', 'core/str', 'tool_lp/competencypicker', 'core/templates', 'core/notification'],\n    function($, ajax, Str, Picker, Templates, Notification) {\n\n    /**\n     * Parent Competency Form object.\n     * @param {String} buttonSelector The parent competency button selector.\n     * @param {String} inputHiddenSelector The hidden input field selector.\n     * @param {String} staticElementSelector The static element displaying the parent competency.\n     * @param {Number} frameworkId The competency framework ID.\n     * @param {Number} pageContextId The page context ID.\n     */\n    var ParentCompetencyForm = function(buttonSelector,\n                                        inputHiddenSelector,\n                                        staticElementSelector,\n                                        frameworkId,\n                                        pageContextId) {\n        this.buttonSelector = buttonSelector;\n        this.inputHiddenSelector = inputHiddenSelector;\n        this.staticElementSelector = staticElementSelector;\n        this.frameworkId = frameworkId;\n        this.pageContextId = pageContextId;\n\n        // Register the events.\n        this.registerEvents();\n    };\n\n    /** @var {String} The parent competency button selector. */\n    ParentCompetencyForm.prototype.buttonSelector = null;\n    /** @var {String} The hidden input field selector. */\n    ParentCompetencyForm.prototype.inputHiddenSelector = null;\n    /** @var {String} The static element displaying the parent competency. */\n    ParentCompetencyForm.prototype.staticElementSelector = null;\n    /** @var {Number} The competency framework ID. */\n    ParentCompetencyForm.prototype.frameworkId = null;\n    /** @var {Number} The page context ID. */\n    ParentCompetencyForm.prototype.pageContextId = null;\n\n    /**\n     * Set the parent competency in the competency form.\n     *\n     * @param {Object} data Data containing selected competency.\n     * @method setParent\n     */\n    ParentCompetencyForm.prototype.setParent = function(data) {\n        var self = this;\n\n        if (data.competencyId !== 0) {\n            ajax.call([\n                {methodname: 'core_competency_read_competency', args: {\n                    id: data.competencyId\n                }}\n            ])[0].done(function(competency) {\n                $(self.staticElementSelector).html(competency.shortname);\n                $(self.inputHiddenSelector).val(competency.id);\n            }).fail(Notification.exception);\n        } else {\n            // Root of competency framework selected.\n            Str.get_string('competencyframeworkroot', 'tool_lp').then(function(rootframework) {\n                $(self.staticElementSelector).html(rootframework);\n                $(self.inputHiddenSelector).val(data.competencyId);\n                return;\n            }).fail(Notification.exception);\n        }\n    };\n\n    /**\n     * Register the events of parent competency button click.\n     *\n     * @method registerEvents\n     */\n    ParentCompetencyForm.prototype.registerEvents = function() {\n        var self = this;\n\n        // Event on edit parent button.\n        $(self.buttonSelector).on('click', function(e) {\n            e.preventDefault();\n\n            var picker = new Picker(self.pageContextId, self.frameworkId, 'self', false);\n\n            // Override the render method to make framework selectable.\n            picker._render = function() {\n                var self = this;\n                return self._preRender().then(function() {\n                    var context = {\n                        competencies: self._competencies,\n                        framework: self._getFramework(self._frameworkId),\n                        frameworks: self._frameworks,\n                        search: self._searchText,\n                        singleFramework: self._singleFramework,\n                    };\n\n                    return Templates.render('tool_lp/competency_picker_competencyform', context);\n                });\n            };\n\n            // On selected competency.\n            picker.on('save', function(e, data) {\n                self.setParent(data);\n            });\n\n            picker.display();\n        });\n    };\n\n    return {\n\n        /**\n         * Main initialisation.\n         * @param {String} buttonSelector The parent competency button selector.\n         * @param {String} inputSelector The hidden input field selector.\n         * @param {String} staticElementSelector The static element displaying the parent competency.\n         * @param {Number} frameworkId The competency framework ID.\n         * @param {Number} pageContextId The page context ID.\n         * @method init\n         */\n        init: function(buttonSelector,\n                        inputSelector,\n                        staticElementSelector,\n                        frameworkId,\n                        pageContextId) {\n            // Create instance.\n            new ParentCompetencyForm(buttonSelector,\n                                    inputSelector,\n                                    staticElementSelector,\n                                    frameworkId,\n                                    pageContextId);\n        }\n    };\n});\n"],"names":["define","$","ajax","Str","Picker","Templates","Notification","ParentCompetencyForm","buttonSelector","inputHiddenSelector","staticElementSelector","frameworkId","pageContextId","registerEvents","prototype","setParent","data","self","this","competencyId","call","methodname","args","id","done","competency","html","shortname","val","fail","exception","get_string","then","rootframework","on","e","preventDefault","picker","_render","_preRender","context","competencies","_competencies","framework","_getFramework","_frameworkId","frameworks","_frameworks","search","_searchText","singleFramework","_singleFramework","render","display","init","inputSelector"],"mappings":";;;;;;;AAsBAA,uCAAO,CAAC,SAAU,YAAa,WAAY,2BAA4B,iBAAkB,sBACrF,SAASC,EAAGC,KAAMC,IAAKC,OAAQC,UAAWC,kBAUtCC,qBAAuB,SAASC,eACAC,oBACAC,sBACAC,YACAC,oBAC3BJ,eAAiBA,oBACjBC,oBAAsBA,yBACtBC,sBAAwBA,2BACxBC,YAAcA,iBACdC,cAAgBA,mBAGhBC,yBAITN,qBAAqBO,UAAUN,eAAiB,KAEhDD,qBAAqBO,UAAUL,oBAAsB,KAErDF,qBAAqBO,UAAUJ,sBAAwB,KAEvDH,qBAAqBO,UAAUH,YAAc,KAE7CJ,qBAAqBO,UAAUF,cAAgB,KAQ/CL,qBAAqBO,UAAUC,UAAY,SAASC,UAC5CC,KAAOC,KAEe,IAAtBF,KAAKG,aACLjB,KAAKkB,KAAK,CACN,CAACC,WAAY,kCAAmCC,KAAM,CAClDC,GAAIP,KAAKG,iBAEd,GAAGK,MAAK,SAASC,YAChBxB,EAAEgB,KAAKP,uBAAuBgB,KAAKD,WAAWE,WAC9C1B,EAAEgB,KAAKR,qBAAqBmB,IAAIH,WAAWF,OAC5CM,KAAKvB,aAAawB,WAGrB3B,IAAI4B,WAAW,0BAA2B,WAAWC,MAAK,SAASC,eAC/DhC,EAAEgB,KAAKP,uBAAuBgB,KAAKO,eACnChC,EAAEgB,KAAKR,qBAAqBmB,IAAIZ,KAAKG,iBAEtCU,KAAKvB,aAAawB,YAS7BvB,qBAAqBO,UAAUD,eAAiB,eACxCI,KAAOC,KAGXjB,EAAEgB,KAAKT,gBAAgB0B,GAAG,SAAS,SAASC,GACxCA,EAAEC,qBAEEC,OAAS,IAAIjC,OAAOa,KAAKL,cAAeK,KAAKN,YAAa,QAAQ,GAGtE0B,OAAOC,QAAU,eACTrB,KAAOC,YACJD,KAAKsB,aAAaP,MAAK,eACtBQ,QAAU,CACVC,aAAcxB,KAAKyB,cACnBC,UAAW1B,KAAK2B,cAAc3B,KAAK4B,cACnCC,WAAY7B,KAAK8B,YACjBC,OAAQ/B,KAAKgC,YACbC,gBAAiBjC,KAAKkC,yBAGnB9C,UAAU+C,OAAO,2CAA4CZ,aAK5EH,OAAOH,GAAG,QAAQ,SAASC,EAAGnB,MAC1BC,KAAKF,UAAUC,SAGnBqB,OAAOgB,cAIR,CAWHC,KAAM,SAAS9C,eACC+C,cACA7C,sBACAC,YACAC,mBAERL,qBAAqBC,eACD+C,cACA7C,sBACAC,YACAC"}