Задача [#4915]: Улучшение работы с несколькими файлами (загрузка)

Формулировка проблемы: для того, чтобы загрузить N документов в систему с компьютера пользователя через браузер, необходимо выполнить действий:

1 + ((N × 5) − 1) + 1 + X

нажать кнопку «Выбрать файл», выбрать 1 файл с помощью браузерного диалога, нажать ОК в браузерном диалоге … дождаться загрузки файла..., ввести имя файла в системе, для следующего файла добавляется нажатие на кнопку «Добавить другой файл» (остальные действия — ввод X метаданных, X >= 0 + проверка сведений). Соответственно, необходимо довести количество действий при загрузке файлов в систему до минимума и привести диалог загрузки к общему стилю системы.

Решение: переделать диалог загрузки файлов, оставив там только одну кнопку «Добавить файлы», которая будет вызывать браузерный диалог выбора файлов с возможностью мультивыбора файлов. При выборе сразу более 1-го файла выбранные файлы добавляются в диалог загрузки файлов блоками (с возможностью удаления блока). В блоке можно увидеть оригинальное имя файла и ввести имя файла в системе. Для того, чтобы добавить ещё файлов, следует повторно нажать на кнопку «Добавить файлы».

Примечание: не все веб-браузеры поддерживают диалог мультивыбора для открытия (загрузки) файлов. В этом печальном случае диалог загрузки файлов в систему должен вести себя по-старому, т. е. как в итерации 19.

Определить разное поведение для диалога загрузки файлов:

Кроме этого, при вызове действия «Загрузить файл» из любого модуля, где оно присутствует, необходимо сразу же открывать диалог выбора файлов с мультивыбором, и только после этого отображать первый шаг мастера (где можно отредактировать уже имена уже выбранных файлов и добавить ещё файлов/удалить файлы к загрузке).

Макет дизайна:

Рисунок 513. Диалог загрузки файлов с мультивыбором

Диалог загрузки файлов с мультивыбором