Как лучше всего «выключить» веб-страницу из другой части приложения? - PullRequest
1 голос
/ 21 октября 2008

У нас есть веб-приложение, которое управляет инвентарем для нашей группы поддержки компьютеров. Одна из вещей, для которой мы будем использовать это, - это использовать карту «Компьютеры, используемые в настоящее время» для наших больших компьютерных лабораторий, чтобы пользователи могли легче находить открытый компьютер (лаборатория в нашей главной библиотеке насчитывает около 150 компьютеров). Изображение, используемое для фона отображения этой страницы, управляется через административную часть приложения, а также взаимосвязи между тем, какие станции находятся в лаборатории и где они расположены.

Мы хотели бы сделать так, чтобы администраторы могли «отключить» отображение страницы карты для каждого местоположения при обновлении карты в административном интерфейсе. Моя идея состоит в том, чтобы расширить таблицу, которая содержит данные о местоположении, чтобы указать, доступно ли это местоположение для отображения карты, и проверять это при обновлении карты. Если проверка показывает, что карта не должна отображаться, на странице будет отображаться подходящее сообщение вместо отображения изображения карты и данных наложения «в использовании».

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

Страница карты будет периодически обновляться (по одному каждые 2 минуты) через AJAX, передавая URL-адрес изображения для использования и данные наложения (позиции таблицы и количество компьютеров, доступных на каждом). Я думаю, что когда страница обнаруживает переход от «не отображать» к «отображать», она обновляет страницу через HTTP GET.

1 Ответ

2 голосов
/ 21 октября 2008

Это не должно быть трудно сделать с помощью опроса, так как есть небольшое количество пользователей, проверяющих доступность компьютера. Вы можете опрашивать несколько раз в минуту, не перегружая сервер.

Я бы использовал карту с кучей абсолютно позиционных DIV, наложенных на карту, представляющую каждый компьютер. Фон каждого DIV будет либо «доступным», либо «недоступным» изображением. Затем вы могли бы просто выпустить немного JavaScript в своем ответе Ajax, чтобы добавить / удалить имена классов из каждого DIV, представляющего его текущее состояние. Изменение имени класса изменит фоновое изображение для DIV.

Вы можете отобразить «загрузочный» счетчик, пока статус редактируется администратором (это будет просто другое имя класса).

...