| 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);
|