Ext js 7.0 Заголовки календаря не выровнены по столбцам - PullRequest
1 голос
/ 28 апреля 2020

Используя компонент Calendar в Ext js 7.0, мы заметили, что ячейки заголовка не совпадали со своими столбцами, если язык был установлен на голландский:

calendar

При проверке исходного кода я нашел место, где эти значения добавляются в ячейку html; В Ext.calendar.header.Base в функции setHeaderText существует следующий код:

var me = this,
            D = Ext.Date,
            value = me.getValue(),
            format = me.getFormat(),
            domFormat = me.domFormat,
            cells = me.cells,
            len = cells.length,
            useDates = me.useDates,
            cell, i;

        if (!value) {
            return;
        }

        value = D.clone(value);

        for (i = 0; i < len; ++i) {
            cell = cells[i];

            if (useDates) {
                cell.setAttribute('data-date', D.format(value, domFormat));
            }

            cell.setAttribute('data-day', value.getDay());
            cell.innerHTML = D.format(value, format);
            value = D.add(value, D.DAY, 1);
        }

Внутренний Html устанавливается путем форматирования объекта Date (D), что приводит к 3 символам этого день. Если вы измените это, просто установив значение в 4 символа, например, cell.inner HTML = 'Test', заголовки будут точно выровнены:

Test

Но по какой-то причине это не работает при использовании значения D.format. Если у кого-то есть идея, что является причиной этого, я хотел бы услышать.

Кажется, я не могу проверить, что это не так на другом языке, по какой-то причине мои пакеты больше не могут быть загружены.

1 Ответ

1 голос
/ 28 апреля 2020

Вы можете установить (или исправить) локализацию переопределить константы локализации. Календарь использует Ext.Date.dayNames и Ext.Date.getShortDayName().

Список всех констант вы можете увидеть в пакете локализации .

Пример скрипки

...