Получи случайную криптовалюту за регистрацию!

​[ ФИКС БЛОКОВ В РЕДАКТОРЕ ПОЛЕЙ ИЛИ В АНКЕТАХ ] Привет, до | Бородатый тех. спец

[ ФИКС БЛОКОВ В РЕДАКТОРЕ ПОЛЕЙ ИЛИ В АНКЕТАХ ]

Привет, дорогой читатель бородатого блога

#скрипты

Редактируя дополнительные поля по пользователям в проекте, где их больше 30 штук, меня выбесила ситуация, что правый блок в редакторе остается на самом вверху страницы и не идет за мной

Написал скрипт, который это исправляет. Все подробности в видео ниже

=====================

САМ СКРИПТ

// ФИКС БЛОКОВ В РЕДАКТОРЕ ПОЛЕЙ ИЛИ В АНКЕТАХ
window.addEventListener('DOMContentLoaded', () => {
const ChangeFieldsSettingsEditorCSS = () => {
// Определяем текущий адрес у пользователя
const currentURLPage = window.location.pathname;

// Определяем страницы, на которых будет работать скрипт
const workPagesList = [
// Страница создания дополнительных полей
'/pl/logic/context/custom-fields',
// Страница редактирования анкеты
'/user/control/survey/update/id/',
// Страница создания целей
'/pl/teach/goal',
];

// Проверяем будет ли работать скрипт на текущей странице
const checkWorkPages = workPagesList.find((item) => {
return currentURLPage.indexOf(item) !== -1;
});
// Если значение не определено, то скрипт не работает
if (checkWorkPages === undefined) return;

// Определяем главный блок на GetCourse
const mainBox = document.querySelector('.gc-main-content');
if (!mainBox) return;

// Определяем классы для сотрудников школы
const employeeСlass = ['gc-user-teacher', 'gc-user-admin'];
// Проверяем сотрудник ли на странице
const checkEmployeeСlass = employeeСlass.find((item) =>
mainBox.classList.contains(item)
);
// Если нашел ученика, то скрипт не работает
if (checkEmployeeСlass === undefined) return;

// Редактируем кнопку с полями
const buttonFields = document.querySelector('.control-buttons');
if (buttonFields) {
buttonFields.style.cssText += 'position: sticky; top: 10px; z-index: 99';
}

// Редактируем правый блок с настройками поля
const FieldSettingsEditor = document.querySelector(
'.field-settings-editor'
);
if (FieldSettingsEditor) {
FieldSettingsEditor.style.cssText += 'position: sticky; top: 10px;';
}
};
ChangeFieldsSettingsEditorCSS();
});

=====================

Если будут идеи по улучшению или исправлению ошибок в скрипте, то обязательно пиши в комментарии к посту