Редактор электронных таблиц — Компоненты

Оглавление

Редактор электронных таблиц HTML5 состоит из нескольких компонентов, которые объединяются в единую систему. Здесь мы описываем цель и роль каждого из них.

Индекс.html

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

Помимо определения пользовательского интерфейса, сюда подключаются все серверные службы с использованием технологий JSF. Когда пользователь взаимодействует с пользовательским интерфейсом, события и данные передаются туда-сюда между службами и пользователем для выполнения наших задач, например экспорта электронных таблиц.

Он имеет две основные области интересов.

Лента

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

Лист

Лист — это строки и столбцы. При щелчке по ячейкам лента обновляется соответствующим образом без отправки запросов на сервер, поскольку все данные, необходимые ленте, прикрепляются к каждой ячейке. Лента также отслеживает выбранную ячейку, строку и столбец, когда пользователь перемещается по листу.

Каждая ячейка имеет собственный встроенный редактор, который становится видимым, когда ячейка находится в режиме редактирования.

Вид рабочего листа

Это внутренний компонент JSF с областью видимости, отвечающий за управление динамическим содержимым пользовательского интерфейса, описанным в index.html. Он имеет обработчики событий для запросов Ajax, которые запускаются, когда пользователь взаимодействует с пользовательским интерфейсом.

WorkbookService

WorkbookService — это серверный компонент JSF с областью представления. Он работает как сервисный компонент и загружает и выгружает электронную таблицу с помощью других сервисов. Он имеет следующие конечные точки:

в этом

в этом являетсяPostConstruct метод, который выполняется сразу после завершения создания объекта сервером приложений Java. Он проверяетURL в карте параметров запроса и загружает соответствующую электронную таблицу из заданного места, если это возможно.

разрушать

Он несет ответственность за очистку всех приобретенных ресурсов, когда они больше не требуются.

LoaderService

Он создает экземпляры электронных таблиц и хранит их в памяти до тех пор, пока они необходимы.

CellsService

CellsService управляет кешем строк, столбцов, ячеек, форматированием и структурой листов.