/** * Modal zur Anzeige von blockierenden Aufgabe/Freifeldern * * Modal wird angezeigt wenn beim Verschieben von Wiedervorlagen (auf eine andere Stage) * die zugeodneten Aufgaben oder Freifelder nicht die Anforderungen erfüllen. */ var ResubmissionBlockingItemsModal = (function ($) { "use strict"; var me = { storage: { $modal: null, data: null, displayEditButton: true }, /** * @param {Object} data * @param {Boolean} displayEditButton "Wiedervorlage bearbeiten"-Button in Modal anzeigen? */ show: function (data, displayEditButton) { if (typeof displayEditButton === 'boolean') { me.storage.displayEditButton = displayEditButton; } me.storage.data = data; me.storage.$modal = me.createModal(); me.storage.$modal.dialog('open'); }, /** */ hide: function () { if (me.storage.$modal === null) { return; } me.storage.$modal.dialog('close'); }, /** * @return {jQuery} */ createModal: function () { var $prevModal = $('#resubmissiontask-blocking-items-modal'); if ($prevModal.length > 0) { $prevModal.remove(); } var data = me.storage.data; var $modal = $('
').attr('id', 'resubmissiontask-blocking-items-modal').appendTo('body').hide(); var content = ''; if (data.blocking.type === 'change-stage') { content = '

Die Wiedervorlage "' + data.resubmission.title + '" kann nicht '; content += 'in die Stage "' + data.stage.title + '" verschoben werden, weil '; content += 'folgende Element blockieren:

'; } if (data.blocking.type === 'create-resubmission') { content = '

Die Wiedervorlage kann nicht in der Stage "' + data.stage.title + '" '; content += 'angelegt werden, weil folgende Element blockieren:

'; } if (data.blocking.type === 'update-resubmission') { content = '

Die Wiedervorlage kann nicht in der Stage "' + data.stage.title + '" '; content += 'gespeichert werden, weil folgende Element blockieren:

'; } content += ''; $modal.html(content); var modalTitle = data.blocking.hasOwnProperty('title') ? data.blocking.title : 'Speichern nicht möglich'; var modalButtons = [{ text: 'OK', click: function () { $modal.dialog('close'); } }]; if ( me.storage.displayEditButton === true && me.storage.data.resubmission.id > 0 // Neue Wiedervorlage ) { modalButtons.unshift({ text: 'Wiedervorlage bearbeiten', click: function () { EditWiedervorlage(me.storage.data.resubmission.id); $modal.dialog('close'); } }); } $modal.dialog({ modal: true, bgiframe: true, minWidth: 420, autoOpen: false, closeOnEscape: false, title: modalTitle, buttons: modalButtons }); return $modal; } }; return { show: me.show, hide: me.hide }; })(jQuery);