После открытия главной страницы приложение находится в: просмотра папки. На странице выводится название папки (либа! либо Trash) и таблица со списком сообщений, указывается и оби ла сообщений (рис. 9.2). В приложении AjaxMail, выполненном] Gmail, нет заголовков колонок таблицы, поскольку пользоват привыкли видеть в списке имя отправителя, тему сообщения и;Как видите, в списке сообщений нет флажков - элементов,1 но присутствующих в других приложениях. Они не были pea по той простой причине, что сообщение в AjaxMail можно тс лить. Место элементов-флажков занимают изображения красно тика, щелкнув по которому, можно удалить сообщение (пер его в корзину). При переходе в папку Trash изображение ярлыка i ется на зеленую стрелку, щелчком по которой можно восстало общение из корзины (переместить его обратно в папку Inbox) (рас!
Внешний вид отображаемых папок отличается только ярль мимо прочего, каждое сообщение может снабжаться дополш индикатором наличия вложения, который появляется рядом с* сообщения. Этот ярлык выводится, только если сообщение: жения, в противном случае он будет скрыт.
Рядом с названием папки может появляться надпись «loading-грузка). Она появляется в момент, когда серверу отправляется;
и скрывается по его завершении. Во время выполнения запроса все ос¬тальные действия блокируются во избежание наложения запросов друг на друга.
Код HTML режима просмотра папки довольно прост, потому что большая часть элементов создается в результате работы программного кода JavaScript и зависит от данных, полученных с сервера:
аИ="Предыдущая страница" id="imgPrev" />
аи="Следующая страница" id="imgNext" />
Входящие 3arpy3Ka
"0" id="tblMain">
ctable border="0" cellpadding="0";cellspacing
"subject"x/td>
"date" nowrap="nowrap"x/td>
г B: данной папке нет сообщений.
,
Ц
В этом фрагменте надо прежде всего обратить внимание на то,' ти в каждом элементе определен атрибут id. Любой элемент, к i му придется позже обращаться из кода JavaScript с помощью i getElementByldQ, должен иметь уникальный идентификатор, мер, элемент с идентификатором hFolderTitle содержит назва ки, которое определяется кодом JavaScript после получения , Поскольку это будет происходить достаточно часто, код Ja\ должен как-то ссылаться на этот элемент. Аналогично элеме FolderStatus, содержащий надпись с сообщением о том, что грузка, должен иметь уникальный идентификатор, чтобы это i ние можно было вывести или скрыть в соответствующие моме мени. В элементе spnltems будет выводиться информация о кс сообщений в папке. Самая сложная часть здесь - это таблица ] которая будет содержать список сообщений.
Внутри таблицы имеется элемент , содержащий две одну с именем trTemplate и другую с именем trNoMessages. Эти1 играют для программного кода JavaScript роль шаблонов пря ( нии новых строк. Поскольку строки с таким форматом будут i зоваться очень часто, быстрее и эффективнее создавать шаблонных строк и заполнять их необходимой информацией, в этой же главе мы покажем, как это делается. А пока вам дс знать, что ни одна из этих строк не будет видна на экране.
Элемент содержит единственную скрытую строку. Она« для установки начальных размеров таблицы. Без этой строки i изначально будет неправильно отображать таблицу из-за нехв формации о ее структуре. С помощью же данной строки броузер i достаточно сведений, чтобы корректно отобразить последующие