Fix experiment table due date initialization [SCI-7649] (#4730)

* Fix experiment table due date initialization [SCI-7649]

* Fix due date overflow [SCI-7649]
This commit is contained in:
ajugo 2023-01-05 11:14:34 +01:00 committed by GitHub
parent 2ea5000ea5
commit 194c519a9b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 4 deletions

View file

@ -66,8 +66,8 @@ var ExperimnetTable = {
},
initDueDatePicker: function(data) {
// eslint-disable-next-line no-unused-vars
$.each(data, (id, _) => {
let element = `#calendarDueDate${id}`;
$.each(data, (_, row) => {
let element = `#calendarDueDate${row.id}`;
let dueDateContainer = $(element).closest('#dueDateContainer');
let dateText = $(element).closest('.date-text');
let clearDate = $(element).closest('.datetime-container').find('.clear-date');
@ -95,6 +95,15 @@ var ExperimnetTable = {
});
$(element).on('dp.show', function() {
var datePicker = $('.bootstrap-datetimepicker-widget.dropdown-menu')[0];
// show full datepicker menu for due date
if (datePicker.getBoundingClientRect().bottom > window.innerHeight) {
datePicker.scrollIntoView(false);
} else if (datePicker.getBoundingClientRect().top < 0) {
datePicker.scrollIntoView();
}
dateText.attr('data-original-title', '').tooltip('hide');
if (dueDateContainer.find('.due-date-label').data('due-date')) {
clearDate.addClass('open');

View file

@ -6,12 +6,17 @@
ev.stopPropagation();
let dt = $(this);
let options = { ignoreReadonly: true };
if (dt.data('DateTimePicker')) {
dt.data('DateTimePicker').destroy();
}
dt.datetimepicker({ ignoreReadonly: true });
if (dt.data('positioningVertical')) {
options.widgetPositioning = { vertical: dt.data('positioningVertical') };
}
dt.datetimepicker(options);
dt.data('DateTimePicker').show();
});

View file

@ -380,7 +380,6 @@
top: 0;
visibility: hidden;
width: 16px;
z-index: 999;
&.open {
visibility: visible;

View file

@ -21,6 +21,7 @@
data-date-locale="<%= I18n.locale %>"
data-date-use-current="false"
data-date-orientation="left"
data-positioning-vertical="bottom"
value="<%= my_module.due_date ? l(my_module.due_date, format: :full) : '' %>"/>
</div>
<div class="fas fa-times-circle clear-date"