Особенности обновления до версии 3.12
При обновлении платформы необходимо учитывать следующие особенности:
В версии 3.12 теперь не используется контейнер proxy-3. Все необходимые настройки проксирования следует производить для контейнера reverse-proxy.
В версии 3.12 была иправлена проблема с неправильным форматом отображения даты в текстовом виджете. Если раньше даты отображались как "2018-03-01T00:00:00Z", то сейчас они выводятся в виде "2018-03-01 00:00:00". Это нужно учитывать, если было применено форматирование через JS код.
Важно: Произошли изменения в структуре объекта w
и влиянии на structuredClone
в кастомном коде виджета:
В последнем обновлении в объекте
w
появились новые свойства, содержащие функции (например,w.xAxis.labels
,w.yAxis.labels
и другие).Если ваш код использует
structuredClone
для копирования объектов внутриw
, обратите внимание, чтоstructuredClone
не поддерживает клонирование объектов с функциями. Это может привести к ошибкам или некорректному поведению вашего кода.
Что делать?
Проверить код – убедитесь, что
structuredClone
не применяется к объектам внутриw
, содержащим функции.Использовать альтернативные методы клонирования, например:
JSON-подход (если объект не содержит сложных структур):
const clone = JSON.parse(JSON.stringify(w.someObject));
Глубокое копирование с помощью библиотеки
lodash
:const clone = cloneDeep(w.someObject);
Реализация собственного метода клонирования с обработкой функций.
Удаление свойства с функцией перед клонированием. Например:
w.xAxis.labels.formatter = undefined; let xAxisDeepClone = structuredClone(w.xAxis); w.xAxis.labels.formatter = xAxisLabelsFormatter; xAxisDeepClone.labels.formatter = xAxisLabelsFormatter;
Если у вас возникли сложности с этим изменением, рекомендуем адаптировать код в соответствии с новыми условиями.
Смотрите также
Нужна дополнительная помощь?