Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
// This file is part of Moodle - http://moodle.org/
2
//
3
// Moodle is free software: you can redistribute it and/or modify
4
// it under the terms of the GNU General Public License as published by
5
// the Free Software Foundation, either version 3 of the License, or
6
// (at your option) any later version.
7
//
8
// Moodle is distributed in the hope that it will be useful,
9
// but WITHOUT ANY WARRANTY; without even the implied warranty of
10
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
// GNU General Public License for more details.
12
//
13
// You should have received a copy of the GNU General Public License
14
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
15
 
16
/**
17
 * Module to get the scale values.
18
 *
19
 * @module     tool_lp/scalevalues
20
 * @copyright  2016 Serge Gauthier
21
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
22
 */
23
define(['jquery', 'core/ajax'], function($, ajax) {
24
    var localCache = [];
25
 
26
    return {
27
 
28
        /**
29
         * Return a promise object that will be resolved into a string eventually (maybe immediately).
30
         *
31
         * @method get_values
32
         * @param {Number} scaleid The scale id
33
         * @return [] {Promise}
34
         */
35
        // eslint-disable-next-line camelcase
36
        get_values: function(scaleid) {
37
 
38
            var deferred = $.Deferred();
39
 
40
            if (typeof localCache[scaleid] === 'undefined') {
41
                ajax.call([{
42
                    methodname: 'core_competency_get_scale_values',
43
                    args: {scaleid: scaleid},
44
                    done: function(scaleinfo) {
45
                        localCache[scaleid] = scaleinfo;
46
                        deferred.resolve(scaleinfo);
47
                    },
48
                    fail: (deferred.reject)
49
                }]);
50
            } else {
51
                deferred.resolve(localCache[scaleid]);
52
            }
53
 
54
            return deferred.promise();
55
        }
56
    };
57
});