function ensureProjectDetailsModalOnBody() { var modalEl = document.getElementById('projectDetailsModal'); if (modalEl && modalEl.parentElement !== document.body) { document.body.appendChild(modalEl); } } $('#projectDetailsModal').on('show.bs.modal', function () { ensureProjectDetailsModalOnBody(); document.body.classList.add('project-details-modal-active'); }); $(document).on('click', '.details-modal-trigger', function(e) { if ($(e.target).closest('.pms-scheme-name-chevron').length) { return; } e.preventDefault(); var $t = $(this); var modalId = $t.data('modal-id'); if (modalId !== 'projectDetailsModal') return; var detailsUrl = $t.data('details-url'); var name = window.pmsReadEntityName ? window.pmsReadEntityName($t, 'Scheme') : ($t.attr('data-entity-name') || 'Scheme'); var projectId = $t.data('entity-id'); var $titleSpan = $('#' + modalId + '-title-name'); $titleSpan.text(name); var $modalTitle = $titleSpan.closest('.modal-title'); if (!$modalTitle.find('.scheme-title-text').length) { $modalTitle.contents().wrapAll(''); $modalTitle.append(''); $modalTitle.on('click', '.scheme-title-toggle', function() { var $h5 = $(this).closest('.modal-title'); var $icon = $(this).find('i'); if ($h5.hasClass('scheme-title-expanded')) { $h5.removeClass('scheme-title-expanded'); $icon.removeClass('fa-angle-up').addClass('fa-angle-down'); $(this).attr('title', 'View all'); } else { $h5.addClass('scheme-title-expanded'); $icon.removeClass('fa-angle-down').addClass('fa-angle-up'); $(this).attr('title', 'Collapse'); } }); } $modalTitle.removeClass('scheme-title-expanded'); $modalTitle.find('.scheme-title-toggle i').removeClass('fa-angle-up').addClass('fa-angle-down'); $modalTitle.find('.scheme-title-toggle').attr('title', 'View all'); $('#projectDetailsModal-project-id').val(projectId); $('#projectDetailsModal-create-pc').data('project-id', projectId); var $pc = $('#projectDetailsModal-create-pc'); if ($pc.length) $pc.attr('href', '