diff options
Diffstat (limited to 'resources/assets/javascripts')
| -rw-r--r-- | resources/assets/javascripts/bootstrap/admission.js | 19 | ||||
| -rw-r--r-- | resources/assets/javascripts/entry-admission.js | 1 | ||||
| -rw-r--r-- | resources/assets/javascripts/entry-base.js | 1 | ||||
| -rw-r--r-- | resources/assets/javascripts/lib/admission.js | 172 | ||||
| -rw-r--r-- | resources/assets/javascripts/studip-ui.js | 4 |
5 files changed, 5 insertions, 192 deletions
diff --git a/resources/assets/javascripts/bootstrap/admission.js b/resources/assets/javascripts/bootstrap/admission.js index c04ff24..2fff6cf 100644 --- a/resources/assets/javascripts/bootstrap/admission.js +++ b/resources/assets/javascripts/bootstrap/admission.js @@ -22,32 +22,15 @@ STUDIP.ready(function () { components[ruleType] = result.default; STUDIP.Vue.load().then(({ createApp }) => { - createApp({ - el: container, - components: components - }); + createApp({components}).mount(container); }); }); } }); - $(document).on('change', 'tr.course input', function() { - STUDIP.Admission.toggleNotSavedAlert(); - }); - $('a.userlist-delete-user').on('click', function() { $(this).closest('tr').remove(); return false; }); - - $('#courseset-form .autosave').on('click', () => { - STUDIP.Admission.autosaveCourseset(); - }); - - STUDIP.ready(() => { - $('#toggle-date-link').on('click', () => { - $('#admissionrule-valid-date').toggleClass('hidden-js'); - }); - }); }); diff --git a/resources/assets/javascripts/entry-admission.js b/resources/assets/javascripts/entry-admission.js deleted file mode 100644 index 5454d08..0000000 --- a/resources/assets/javascripts/entry-admission.js +++ /dev/null @@ -1 +0,0 @@ -import "./bootstrap/admission.js" diff --git a/resources/assets/javascripts/entry-base.js b/resources/assets/javascripts/entry-base.js index 2210471..db3d1f6 100644 --- a/resources/assets/javascripts/entry-base.js +++ b/resources/assets/javascripts/entry-base.js @@ -78,6 +78,7 @@ import "./bootstrap/oer.js" import "./bootstrap/courseware.js" import "./bootstrap/external_pages.js" import "./bootstrap/vips.js" +import "./bootstrap/admission.js" import "./mvv_course_wizard.js" import "./mvv.js" diff --git a/resources/assets/javascripts/lib/admission.js b/resources/assets/javascripts/lib/admission.js index 8c0413a..c735cb2 100644 --- a/resources/assets/javascripts/lib/admission.js +++ b/resources/assets/javascripts/lib/admission.js @@ -2,7 +2,6 @@ * Anmeldeverfahren und -sets * ------------------------------------------------------------------------ */ import { $gettext } from './gettext'; -import Dialog from './dialog.js'; const Admission = { @@ -46,143 +45,6 @@ const Admission = { return false; }, - configureRule: function(ruleType, targetUrl, ruleId) { - var urlparts = targetUrl.split('?'); - targetUrl = urlparts[0] + '/' + ruleType; - if (urlparts[1]) { - targetUrl += '?' + urlparts[1]; - } - - Dialog.fromURL(targetUrl, { - method: 'post', - size: 'auto', - title: $gettext('Anmelderegel konfigurieren'), - id: 'configurerule', - data: { ruleId: ruleId, rules: _.map($('#rules input[name="rules[]"]'), 'value') } - }); - - return false; - }, - - selectRuleType: function(source) { - Dialog.fromURL(source, { - title: $gettext('Anmelderegel konfigurieren'), - size: 'auto', - data: { rules: _.map($('#rules input[name="rules[]"]'), 'value') }, - method: 'post', - id: 'configurerule' - }); - return false; - }, - - saveRule: function(ruleId, targetId, targetUrl) { - if ($('#action').val() !== 'cancel') { - $.ajax({ - type: 'post', - url: targetUrl, - data: $('#ruleform').serialize(), - dataType: 'html', - success: function(data) { - if (data !== '') { - var result = ''; - if ($('#norules').length > 0) { - $('#norules').remove(); - $('#' + targetId).prepend('<div id="rulelist"></div>'); - } - result += data; - if ($('#rule_' + ruleId).length !== 0) { - $('#rule_' + ruleId).replaceWith(result); - } else { - $('#rulelist').append(result); - } - } - }, - error: function(jqXHR, textStatus, errorThrown) { - alert('Status: ' + textStatus + '\nError: ' + errorThrown); - } - }); - } - Admission.closeDialog('configurerule'); - Admission.toggleNotSavedAlert(); - return false; - }, - - removeRule: function(targetId, containerId) { - var parent = $('#' + targetId).parent(); - $('#' + targetId).remove(); - if (parent.children('div').length === 0) { - parent.remove(); - var norules = $gettext('Sie haben noch keine Anmelderegeln festgelegt.'); - $('#' + containerId).prepend('<span id="norules">' + '<i>' + norules + '</i></span>'); - } - Admission.toggleNotSavedAlert(); - }, - - toggleRuleDescription: function(targetId) { - $('#' + targetId).toggle(); - return false; - }, - - toggleDetails: function(arrowId, detailId) { - var oldSrc = $('#' + arrowId).attr('src'); - var newSrc = $('#' + arrowId).attr('rel'); - $('#' + arrowId).attr('src', newSrc); - $('#' + arrowId).attr('rel', oldSrc); - $('#' + detailId).slideToggle(); - return false; - }, - - /** - * - * @param String ruleId The rule to save. - * @param String errorTarget Target element ID where error messages will be - * shown. - * @param String validateUrl URL to call for validation. - * @param String savedTarget Target element ID where the saved rule will be - * displayed. - * @param String saveUrl URL to save the rule. - */ - checkAndSaveRule: function(ruleId, errorTarget, validateUrl, savedTarget, saveUrl) { - if (Admission.validateRuleConfig(errorTarget, validateUrl)) { - Admission.saveRule(ruleId, savedTarget, saveUrl); - Dialog.close({ id: 'configurerule' }); - } - return false; - }, - - validateRuleConfig: function(containerId, targetUrl) { - var valid = true; - var error = $.ajax({ - type: 'post', - async: false, - url: targetUrl, - data: $('#ruleform').serialize(), - dataType: 'html', - - error: function(jqXHR, textStatus, errorThrown) { - alert('Status: ' + textStatus + '\nError: ' + errorThrown); - } - }).responseText; - error = error.replace(/(\r\n|\n|\r)/gm, ''); - if ($.trim(error) != '') { - $('#' + containerId).html(error); - valid = false; - } - return valid; - }, - - removeUserFromUserlist: function(userId) { - var parent = $('#user_' + userId).parent(); - $('#user_' + userId).remove(); - if (parent.children('li').length === 0) { - var nousers = $gettext('Sie haben noch niemanden hinzugefügt.'); - $(parent) - .parent() - .append('<span id="nousers">' + '<i>' + nousers + '</i></span>'); - } - return false; - }, - updateInstitutes: function(elementId, instURL, courseURL, mode) { if (elementId !== '') { var query = ''; @@ -208,26 +70,6 @@ const Admission = { } }, - checkRuleActivation: function(target) { - var form = $('#' + target); - var globalActivation = form.find('input[name=enabled]'); - if (globalActivation.prop('checked')) { - $('#activation').show(); - if (form.find('input[name=activated]:checked').val() === 'studip') { - $('#institutes_activation').hide(); - } else { - $('#institutes_activation').show(); - } - } else { - $('#activation').hide(); - $('#institutes_activation').hide(); - } - }, - - closeDialog: function(elementId) { - $('#' + elementId).remove(); - }, - checkUncheckAll: function(inputName, mode) { switch (mode) { case 'check': @@ -251,20 +93,6 @@ const Admission = { toggleNotSavedAlert: function() { $('.hidden-alert').show(); - }, - - autosaveCourseset: function() { - $.post({ - url: $('#courseset-form').attr('action'), - data: $('#courseset-form').serialize() + '&submit=1', - dataType: 'html', - success: function() { - $('.hidden-alert').hide(); - }, - error: function(jqXHR, textStatus, errorThrown) { - alert('Status: ' + textStatus + '\nError: ' + errorThrown); - } - }); } }; diff --git a/resources/assets/javascripts/studip-ui.js b/resources/assets/javascripts/studip-ui.js index d6483f3..f563b31 100644 --- a/resources/assets/javascripts/studip-ui.js +++ b/resources/assets/javascripts/studip-ui.js @@ -11,7 +11,9 @@ import RestrictedDatesHelper from './lib/RestrictedDatesHelper'; $.widget( "ui.dialog", $.ui.dialog, { _allowInteraction: function( event ) { - return hasParentWhich(isCKBodyWrapper)(event.target) || this._super( event ); + return hasParentWhich(isCKBodyWrapper)(event.target) + || event.target.closest('.studip-dialog') !== null + || this._super( event ); }, }); |
