From 5e97c7e72b38151e74f9035a5d46e7036f4c3494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Sat, 5 Jan 2019 16:43:10 +0100 Subject: [PATCH] manager: manually calculate table contents position on MSIE (#29253) --- chrono/manager/static/js/chrono.manager.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/chrono/manager/static/js/chrono.manager.js b/chrono/manager/static/js/chrono.manager.js index 13c05f0e..86978425 100644 --- a/chrono/manager/static/js/chrono.manager.js +++ b/chrono/manager/static/js/chrono.manager.js @@ -15,4 +15,20 @@ $(function() { } return false; }); + + if (window.navigator.userAgent.indexOf('MSIE') > 0 || window.navigator.userAgent.match(/Trident.*rv\:11\./)) { + // IE doesn't support percentage units inside table cells so we have to go + // over all
s and convert the values to pixels. + var td_height = $('table.agenda-table tbody td').height(); + $('table.agenda-table tbody td div').each(function(idx, elem) { + var parsed_height = $(elem).attr('style').match(/height: ([0-9]+)%/)[1]; + $(elem).css('height', (parseInt(parsed_height) * td_height / 100) + 'px'); + var parsed_top = $(elem).attr('style').match(/top: ([0-9]+)%/)[1]; + $(elem).css('top', (parseInt(parsed_top) * td_height / 100) + 'px'); + var parsed_min_height = $(elem).attr('style').match(/min-height: ([0-9]+)%/); + if (parsed_min_height) { + $(elem).css('min-height', (parseInt(parsed_min_height[1]) * td_height / 100) + 'px'); + } + }); + } });