Datatables - Firefox - Проблема с полосой прокрутки в браузере - PullRequest
0 голосов
/ 14 апреля 2020

У меня проблема, которая появляется только в Firefox. У меня есть bootstrap tabview - В каждой вкладке есть разные таблицы данных.

(в Chrome): если я изменю вкладки и сделаю другую таблицу видимой, все в порядке https://imgur.com/O80dpkb

(в Firefox): если Я переключаюсь между вкладками, на которых не активирована ни одна полоса прокрутки браузера, но все в порядке, но если я переключаюсь между вкладкой, на которой не активна ни одна полоса прокрутки, и тем, где полоса прокрутки активна, это происходит: https://imgur.com/YL2khx1

Это мой код для таблицы:

<table id="ticketdata-erstelltetickets" class="table table-bordered table-hover" style="width:100%">
                            <thead>
                                <tr>

                                    <th width="50px"><a class="btn btn-primary btn-sm pt-2 pb-2" id="hidethead"
                                            target="objektnr"><i class="mdi mdi-filter m-2"></i></a></th>
                                    <th data-priority="2" width="100px">Ticket Nr</th>
                                    <th>Titel</th>
                                    <th class="type">Typ</th>
                                    <th>Für</th>
                                    <th>Priorität</th>
                                    <th>Bereich</th>
                                    <th>Alter</th>
                                    <th>Status</th>
                                    <th>Fortschritt</th>
                                </tr>
                            </thead>

                            <tbody>
                            </tbody>

                        </table>

Скрипт:

$(document).ready(function () {
                var data = {{ erstellte_tickets|raw }};

                var table = $('#ticketdata-erstelltetickets').DataTable({
                    data: data,
                    responsive: 'true',
                    columns: [
                        {
                            data: null,
                            sortable: false,
                            render: function (data, type, full, meta) {                                                            // /'+full.id+'/' + full.creator + '
                                return '<a class="btn btn-primary btn-sm btn-rounded pt-2 pb-2" href="{{ app.request.getBaseURL() }}/ticketdetail/' + full.id + '/"><i class="mdi mdi-open-in-new m-2"></i></a>'
                            },
                            width: '32px'
                        },
                        { data: "ticketid" },
                        { data: "title" },
                        {
                            data: "type",
                            name: "type",
                            className: "type",
                            render: {
                                display: function (data, type, full) {
                                    if (data == "error") {
                                        return '<span class="mdi mdi-close-octagon mdi-24px" style="color:red"></span>';
                                    } else if (data == "request") {
                                        return '<span class="mdi mdi-file-check mdi-24px" style="color:rgb(255, 180, 80)"></span>';
                                    } else {
                                        return '<span class="mdi mdi-lightbulb-on mdi-24px" style="color:#6e6ed0"></span>';
                                    }
                                }
                            },
                            width: '40px'
                        },
                        {
                            data: "assigned_to",
                            name: "assigned_to",
                            className: "assigned_to",
                        },
                        { 
                            data: "priority",
                            name: "priority",
                            className: "priority",
                            render: {
                                display: function (data, type, full) {
                                    if (data == "hoch") {
                                        return '<span class="mdi mdi-comment-alert mdi-24px" style="color:red"></span><span class="mdi mdi-comment-alert mdi-24px" style="color:red"></span><span class="mdi mdi-comment-alert mdi-24px" style="color:red"></span>';
                                    } else if(data == "mittel") {
                                        return '<span class="mdi mdi-comment-alert mdi-24px" style="color:orange"></span><span class="mdi mdi-comment-alert mdi-24px" style="color:orange"></span>';
                                    } else {
                                        return '<span class="mdi mdi-comment-alert mdi-24px" style="color:green"></span>';
                                    }
                                }
                            },
                            width: '80px'
                        },
                        { 
                            data: "department",
                            name: "department",
                            className: "department",
                            render: {
                                display: function (data, type, full) {
                                    var output = 'kein Bereichsname';
                                    if(data == null || data == "") {
                                        output = 'kein Bereichsname';
                                        return output;
                                    } else {
                                        for(i = 0; i <= fid.length; i++){
                                            if (data == fid[i]) {
                                                output = fidname[i];
                                                return output;
                                            }

                                        }
                                    }

                                }
                            }
                        },
                        {
                            data: "created_on",
                            render: function (d) {
                                var time = moment(d);

                                var eventdate = moment(d);
                                var todaydate = moment();

                                var eventtime = moment(time);
                                var todaytime = moment();

                                if(todaydate.diff(eventdate, 'days') == "0"){

                                    if(todaytime.diff(eventtime, 'hours') == "0") {

                                        return todaytime.diff(eventtime, 'minutes') + " Min";

                                    } else {

                                        const min = todaytime.diff(eventtime, 'minutes') - (todaytime.diff(eventtime, 'hours') * 60);
                                        return todaytime.diff(eventtime, 'hours') + " Std " + min + " Min";
                                    }

                                } else if (todaydate.diff(eventdate, 'days') == "1") {

                                    return todaydate.diff(eventdate, 'days') + " Tag";     

                                } else {

                                    return todaydate.diff(eventdate, 'days') + " Tage";
                                }

                            },
                            width: '100px',
                        },
                        {
                            data: "status",
                            name: "status",
                            width: '105px',
                        },
                        { 
                            data: "fortschritt",
                            name: "fortschritt",
                            width: '90px', 
                        } 
                    ],
                    order: [[1, "asc"]],
                    language: {
                        "url": "/js/German.json"
                    },
                    "processing": true,
                    autoWidth: false,
                    //width: '100%',

                    orderCellsTop: true,
                    fixedHeader: true,
                });

У меня также есть функция щелчка для каждой вкладки с columns.adjust, которая также исправляет некоторые проводные поведения с show / скрыть таблицы

$('#pills-ideensammlung-tab').click(function() {

        var table = $('#ticketdata-ideensammlung').DataTable();

        table.columns.adjust();
    });

Проблема появляется только в Firefox сейчас .. и только если я переключаюсь на таблицу, где активна полоса прокрутки браузера.

Я думал, что что-то всегда показывает полоса прокрутки в браузере с CSS

overflow-y: scroll;

, но это не работает в Firefox ...

Что я должен сделать, чтобы избавиться от этой проблемы? Ваша помощь будет высоко ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...