правка визуальных багов
This commit is contained in:
@@ -56,6 +56,7 @@ const LESSON_TYPE_LIMITS = [
|
||||
startWeekInputId: 'schedule-rule-practice-start-week'
|
||||
}
|
||||
];
|
||||
const LESSON_TYPE_ORDER = new Map(LESSON_TYPE_LIMITS.map((config, index) => [config.key, index]));
|
||||
|
||||
export async function initSchedule() {
|
||||
const ruleForm = document.getElementById('schedule-rule-form');
|
||||
@@ -186,6 +187,7 @@ export async function initSchedule() {
|
||||
api.get('/api/lesson-types'),
|
||||
api.get('/api/subgroups')
|
||||
]);
|
||||
lessonTypes = sortLessonTypes(lessonTypes);
|
||||
populateSubjectSelects();
|
||||
}
|
||||
|
||||
@@ -1022,6 +1024,15 @@ export async function initSchedule() {
|
||||
return { value: lessonType.id, label: lessonType.name || lessonType.lessonType || `ID ${lessonType.id}` };
|
||||
}
|
||||
|
||||
function sortLessonTypes(items) {
|
||||
return [...items].sort((first, second) => {
|
||||
const firstOrder = LESSON_TYPE_ORDER.get(lessonTypeKey(first)) ?? LESSON_TYPE_ORDER.size;
|
||||
const secondOrder = LESSON_TYPE_ORDER.get(lessonTypeKey(second)) ?? LESSON_TYPE_ORDER.size;
|
||||
return firstOrder - secondOrder
|
||||
|| naturalCompare(first.name || first.lessonType, second.name || second.lessonType);
|
||||
});
|
||||
}
|
||||
|
||||
function lessonTypeKeyById(lessonTypeId) {
|
||||
const lessonType = lessonTypes.find(item => String(item.id) === String(lessonTypeId));
|
||||
return lessonType ? lessonTypeKey(lessonType) : null;
|
||||
|
||||
Reference in New Issue
Block a user