Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Скрипт предназначен для отрисовки схемы мест (к примеру, http://tickets.championat.ru/order:154;place:20810), выбора мест и передачи данных на сервер. Данные передаются посредством AJAX.

Скрипту предоставляется виджет (

или любой другой) фиксированной высоты и произвольной ширины. Слева и справа необходимо отрисовать номера рядов. В центральной части отрисовывается схема в виде легко различимых прямоугольников с номерами мест.

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

Каждое место имеет одно из следующих состояний: неизвестно (''), свободно

('f'), забронировано мной ('m'), забронировано ('b'), продано ('s'). Каждое

состояние отмечается своим цветом.

Возможны следующие варианты выбора места:

-- щелчок по свободному месту выбирает его;

-- щелчок по номеру ряда выбирает все свободные места ряда;

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

Повторный щелчок по месту снимает выделение. Щелчок по номеру ряда, в котором выбраны все доступные места, также снимает выделение со всех мест.

После каждого действия выбора скрипт отправляет сообщение на сервер.

Внизу скрипта необходимо поместить мини-карту, на которой маленькими, но

различимыми прямоугольниками отрисовать схему сектора в той же цветовой гамме с тем же смыслом. Рамка на мини-карте показывает изображаемую область. Щелчок по мини-карте смещает центр видимой части сектора в указанную точку.

Необходимы две версии скрипта. Облегченная версия просто изображает сектор и позволяет по нему перемещаться. Полнофункциональная версия реализует все вышеописанное.

2. Протоколы.

Для взамодействия с сектором необходимо использовать AJAX. Данные передаются в обе стороны в нотации JSON.

2.1. Запрос конфигурации сектора:

POST /ajax/sector--config/

Ответ приходит в виде словаря: { row-id: [ [seat-id, ''], ...], ... }.

row-id, seat-id --- целые числа.

2.2. Запрос информации о секторе:

POST /ajax/sector--info/

Ответ приходит в виде словаря: { row-id: [ [seat-id, status], ...], ... }.

row-id, seat-id --- целые числа, status --- одно из вышеописанных

состояний '', 'f', 'm', 'b', 's'.

2.3. Бронирование:

POST /ajax/book

Входные данные: список [ [row-id, seat-id], ... ].

Ответ приходит в виде словаря: { row-id: [ [seat-id, status], ...], ... }.

Смысл и типы переменных как в запросах выше.

Ответ содержит информацию только об отправленных местах.

2.4. Разбронирование:

POST /ajax/unbook

Входные и выходные данные см. в 2.3.

16 лет назад
GEREM
38 лет
19 лет в сервисе
Была
11 лет назад

Выбранный исполнитель

alexeibs
Алексей 
38 лет
18 лет в сервисе
Был
13 лет назад
16 лет назад
$60
2 дня
Михали - ответственный, грамотный заказчик. Точно знает, чего хочет, платит вовремя. С такими людьми приятно работать. Буду рад на дальнейшему сотрудничеству.

Заявки фрилансеров

alexeibs
Алексей 
38 лет
18 лет в сервисе
Был
13 лет назад
16 лет назад