Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 1441
Línea 31... Línea 31...
31
define(['tool_moodlenet/validator',
31
define(['tool_moodlenet/validator',
32
        'tool_moodlenet/selectors',
32
        'tool_moodlenet/selectors',
33
        'core/loadingicon',
33
        'core/loadingicon',
34
        'core/templates',
34
        'core/templates',
35
        'core/notification',
35
        'core/notification',
36
        'jquery'],
36
        'jquery',
-
 
37
        'theme_boost/bootstrap/carousel',
-
 
38
        'core/normalise'],
37
    function(Validator,
39
    function(Validator,
38
             Selectors,
40
             Selectors,
39
             LoadingIcon,
41
             LoadingIcon,
40
             Templates,
42
             Templates,
41
             Notification,
43
             Notification,
42
             $) {
44
             $,
-
 
45
             Carousel,
-
 
46
             Normalise) {
Línea 43... Línea 47...
43
 
47
 
44
    /**
48
    /**
45
     * Add the event listeners to our form.
49
     * Add the event listeners to our form.
46
     *
50
     *
Línea 76... Línea 80...
76
                            input.classList.add('is-invalid');
80
                            input.classList.add('is-invalid');
77
                            validationArea.innerText = result.message;
81
                            validationArea.innerText = result.message;
78
                            validationArea.classList.add('text-danger');
82
                            validationArea.classList.add('text-danger');
79
                        }
83
                        }
80
                        return;
84
                        return;
81
                }).catch();
85
                }).catch(Notification.exception);
82
            }
86
            }
83
        });
87
        });
84
    };
88
    };
Línea 85... Línea 89...
85
 
89
 
86
    /**
90
    /**
87
     * Given a user wishes to see the MoodleNet profile url form transition them there.
91
     * Given a user wishes to see the MoodleNet profile url form transition them there.
88
     *
92
     *
89
     * @method chooserNavigateToMnet
93
     * @method chooserNavigateToMnet
90
     * @param {HTMLElement} showMoodleNet The chooser's area for ment
94
     * @param {HTMLElement} showMoodleNet The chooser's area for ment
91
     * @param {Object} footerData Our footer object to render out
95
     * @param {Object} footerData Our footer object to render out
92
     * @param {jQuery} carousel Our carousel instance to manage
96
     * @param {Element} carousel Our carousel instance to manage
93
     * @param {jQuery} modal Our modal instance to manage
97
     * @param {jQuery} modal Our modal instance to manage
94
     */
98
     */
95
    var chooserNavigateToMnet = function(showMoodleNet, footerData, carousel, modal) {
99
    var chooserNavigateToMnet = function(showMoodleNet, footerData, carousel, modal) {
Línea 114... Línea 118...
114
 
118
 
115
        // We apply our handlers in here to minimise plugin dependency in the Chooser.
119
        // We apply our handlers in here to minimise plugin dependency in the Chooser.
Línea 116... Línea 120...
116
        registerListenerEvents(showMoodleNet);
120
        registerListenerEvents(showMoodleNet);
117
 
121
 
118
        // Move to the next slide, and resolve the transition promise when it's done.
122
        // Move to the next slide, and resolve the transition promise when it's done.
119
        carousel.one('slid.bs.carousel', function() {
123
        carousel.addEventListener('slid.bs.carousel', function() {
120
            transitionPromiseResolver();
124
            transitionPromiseResolver();
121
        });
125
        }, {once: true});
122
        // Trigger the transition between 'pages'.
126
        // Trigger the transition between 'pages'.
123
        carousel.carousel(2);
127
        Carousel.getInstance(carousel).to(2);
Línea 124... Línea 128...
124
        modal.setFooter(Templates.render('tool_moodlenet/chooser_footer_close_mnet', {}));
128
        modal.setFooter(Templates.render('tool_moodlenet/chooser_footer_close_mnet', {}));
125
    };
129
    };
126
 
130
 
127
    /**
131
    /**
128
     * Given a user no longer wishes to see the MoodleNet profile url form transition them from there.
132
     * Given a user no longer wishes to see the MoodleNet profile url form transition them from there.
129
     *
133
     *
130
     * @method chooserNavigateFromMnet
134
     * @method chooserNavigateFromMnet
131
     * @param {jQuery} carousel Our carousel instance to manage
135
     * @param {Element} carousel Our carousel instance to manage
132
     * @param {jQuery} modal Our modal instance to manage
136
     * @param {jQuery} modal Our modal instance to manage
133
     * @param {Object} footerData Our footer object to render out
137
     * @param {Object} footerData Our footer object to render out
134
     */
138
     */
135
    var chooserNavigateFromMnet = function(carousel, modal, footerData) {
139
    var chooserNavigateFromMnet = function(carousel, modal, footerData) {
136
        // Trigger the transition between 'pages'.
140
        // Trigger the transition between 'pages'.
Línea 137... Línea 141...
137
        carousel.carousel(0);
141
        Carousel.getInstance(carousel).to(0);
138
        modal.setFooter(footerData.customfootertemplate);
142
        modal.setFooter(footerData.customfootertemplate);
Línea 144... Línea 148...
144
         * @param {Event} e The event being triggered.
148
         * @param {Event} e The event being triggered.
145
         * @param {Object} footerData The data generated from the exporter.
149
         * @param {Object} footerData The data generated from the exporter.
146
         * @param {Object} modal The chooser modal.
150
         * @param {Object} modal The chooser modal.
147
         */
151
         */
148
    var footerClickListener = function(e, footerData, modal) {
152
    var footerClickListener = function(e, footerData, modal) {
-
 
153
        const modalBody = Normalise.getFirst(modal.getBody());
149
        if (e.target.matches(Selectors.action.showMoodleNet) || e.target.closest(Selectors.action.showMoodleNet)) {
154
        if (e.target.matches(Selectors.action.showMoodleNet) || e.target.closest(Selectors.action.showMoodleNet)) {
150
            e.preventDefault();
155
            e.preventDefault();
151
            const carousel = $(modal.getBody()[0].querySelector(Selectors.region.carousel));
156
            const carousel = modalBody.querySelector(Selectors.region.carousel);
152
            const showMoodleNet = carousel.find(Selectors.region.moodleNet)[0];
157
            const showMoodleNet = carousel.querySelector(Selectors.region.moodleNet);
Línea 153... Línea 158...
153
 
158
 
154
            chooserNavigateToMnet(showMoodleNet, footerData, carousel, modal);
159
            chooserNavigateToMnet(showMoodleNet, footerData, carousel, modal);
155
        }
160
        }
156
        // From the help screen go back to the module overview.
161
        // From the help screen go back to the module overview.
157
        if (e.target.matches(Selectors.action.closeOption)) {
162
        if (e.target.matches(Selectors.action.closeOption)) {
Línea 158... Línea 163...
158
            const carousel = $(modal.getBody()[0].querySelector(Selectors.region.carousel));
163
            const carousel = modalBody.querySelector(Selectors.region.carousel);
159
 
164
 
160
            chooserNavigateFromMnet(carousel, modal, footerData);
165
            chooserNavigateFromMnet(carousel, modal, footerData);