1.7 KiB
1.7 KiB
Менеджер окон
[importance 5]
Эта задача является продолжением задачи .
Предусмотрите возможность создавать несколько окон. При этом то, которое получает фокус, становится выше всех.
Общее управление окнами должен осуществлять объект WindowManager
.
Синтаксис:
WindowManager.setTemplate(html-шаблон для окон);
WindowManager.addWindow({ // создаёт окно по шаблону с заголовком
title: "Чат с Петей" // и показывает его
});
WindowManager.addWindow({ // ещё одно окно
title: "Чат с Машей"
});
Демо в ифрейме: [iframe src="solution" height=300 border=1]
- Окна перекрывают друг-друга по `z-index`. Максимальный `z-index` должен быть ограничен: от 1 до количества окон.
- Информация от окна к менеджеру передаётся через события.
- Инкапсуляция: `WindowManager` использует объект `DraggableWindow`, но не лезет в DOM окна. Обработчики -- только на объект.
В качестве исходного документа можно взять решение предыдущей задачи. Скорее всего, класс DraggableWindow
понадобиться немного изменить, добавить события.