X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/admin/tool/lp/amd/src
home
/
cbholdings
/
pasukulu
/
admin
/
tool
/
lp
/
amd
/
src
/
π
..
π
actionselector.js
(6.08 KB)
π
competencies.js
(13.4 KB)
π
competency_outcomes.js
(2.76 KB)
π
competency_plan_navigation.js
(2.84 KB)
π
competency_rule.js
(4.56 KB)
π
competency_rule_all.js
(1.64 KB)
π
competency_rule_points.js
(5.74 KB)
π
competencyactions.js
(31.19 KB)
π
competencydialogue.js
(5.57 KB)
π
competencypicker.js
(15.34 KB)
π
competencypicker_user_plans.js
(7.18 KB)
π
competencyruleconfig.js
(14.63 KB)
π
competencytree.js
(9.21 KB)
π
course_competency_settings.js
(5.1 KB)
π
dialogue.js
(4.22 KB)
π
dragdrop-reorder.js
(3.94 KB)
π
event_base.js
(1.72 KB)
π
evidence_delete.js
(3.47 KB)
π
form-user-selector.js
(3.04 KB)
π
form_competency_element.js
(4.58 KB)
π
frameworkactions.js
(5.86 KB)
π
frameworks_datasource.js
(3.2 KB)
π
grade_dialogue.js
(4.24 KB)
π
grade_user_competency_inline.js
(5.46 KB)
π
menubar.js
(29.26 KB)
π
module_navigation.js
(2.19 KB)
π
parentcompetency_form.js
(5.99 KB)
π
planactions.js
(19.75 KB)
π
scaleconfig.js
(8.21 KB)
π
scalevalues.js
(1.9 KB)
π
templateactions.js
(7.08 KB)
π
tree.js
(19.8 KB)
π
user_competency_course_navigation.js
(3.31 KB)
π
user_competency_info.js
(4.4 KB)
π
user_competency_plan_popup.js
(4.87 KB)
π
user_competency_workflow.js
(9.06 KB)
π
user_evidence_actions.js
(13.74 KB)
Editing: competency_rule_points.js
// This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Competency rule points module. * * @module tool_lp/competency_rule_points * @copyright 2015 FrΓ©dΓ©ric Massart - FMCorz.net * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ define(['jquery', 'core/str', 'core/templates', 'tool_lp/competency_rule', ], function($, Str, Templates, RuleBase) { /** * Competency rule points class. */ var Rule = function() { RuleBase.apply(this, arguments); }; Rule.prototype = Object.create(RuleBase.prototype); /** @property {Node} Reference to the container in which the template was included. */ Rule.prototype._container = null; /** @property {Boolean} Whether or not the template was included. */ Rule.prototype._templateLoaded = false; /** * The config established by this rule. * * @return {String} * @method getConfig */ Rule.prototype.getConfig = function() { return JSON.stringify({ base: { points: this._getRequiredPoints(), }, competencies: this._getCompetenciesConfig() }); }; /** * Gathers the input provided by the user for competencies. * * @return {Array} Containing id, points and required. * @method _getCompetenciesConfig * @protected */ Rule.prototype._getCompetenciesConfig = function() { var competencies = []; this._container.find('[data-competency]').each(function() { var node = $(this), id = node.data('competency'), points = parseInt(node.find('[name="points"]').val(), 10), required = node.find('[name="required"]').prop('checked'); competencies.push({ id: id, points: points, required: required ? 1 : 0 }); }); return competencies; }; /** * Fetches the required points set by the user. * * @return {Number} * @method _getRequiredPoints * @protected */ Rule.prototype._getRequiredPoints = function() { return parseInt(this._container.find('[name="requiredpoints"]').val() || 1, 10); }; /** * Return the type of the module. * * @return {String} * @method getType */ Rule.prototype.getType = function() { return 'core_competency\\competency_rule_points'; }; /** * Callback to inject the template. * * @param {Node} container Node to inject in. * @return {Promise} Resolved when done. * @method injectTemplate */ Rule.prototype.injectTemplate = function(container) { var self = this, children = this._tree.getChildren(this._competency.id), context, config = { base: {points: 2}, competencies: [] }; this._templateLoaded = false; // Only pre-load the configuration when the competency is using this rule. if (self._competency.ruletype == self.getType()) { try { config = JSON.parse(self._competency.ruleconfig); } catch (e) { // eslint-disable-line no-empty } } context = { requiredpoints: (config && config.base) ? config.base.points : 2, competency: self._competency, children: [] }; $.each(children, function(index, child) { var competency = { id: child.id, shortname: child.shortname, required: false, points: 0 }; if (config) { $.each(config.competencies, function(index, comp) { if (comp.id == competency.id) { competency.required = comp.required ? true : false; competency.points = comp.points; } }); } context.children.push(competency); }); return Templates.render('tool_lp/competency_rule_points', context).then(function(html) { self._container = container; container.html(html); container.find('input').change(function() { self._triggerChange(); }); // We're done, let's trigger a change. self._templateLoaded = true; self._triggerChange(); return; }); }; /** * Whether or not the current config is valid. * * @return {Boolean} * @method isValid */ Rule.prototype.isValid = function() { if (!this._templateLoaded) { return false; } var required = this._getRequiredPoints(), max = 0, valid = true; $.each(this._getCompetenciesConfig(), function(index, competency) { if (competency.points < 0) { valid = false; } max += competency.points; }); valid = valid && max >= required; return valid; }; return Rule; });
Upload File
Create Folder