alfa-laboratory / core-components

Alfa-Bank UI library
https://digital.alfabank.ru
139 stars 44 forks source link

FileUploadItem: onDownload или onDownloadClick #926

Open MaksimAliakhnovich opened 2 years ago

MaksimAliakhnovich commented 2 years ago

Описание

Кейс: надо повесить метрику на скачивание. для этого надо передать downloadLink и onDownload, при этом в самом onDownload нужно повесить вызов метрики и накрутить скачивание, так как onDownload внутри использует preventDefault и если просто повесить метрику - скачивания не будет.

выглядит это не очень.

предложение: добавить отдельно onDownloadClick или что-то вроде этого, или чтобы была возможность отключать preventDefault, чтобы можно было и свою реализацию сделать и оставить дефолтную. как пример у вас есть Link с onClick, там ничего не блокируется

Stage - 0

reme3d2y commented 2 years ago

Я не могу вспомнить, почему там внутри preventDefault.

https://github.com/alfa-laboratory/core-components/blob/master/packages/file-upload-item/src/Component.tsx#L135

@SiebenSieben @dmitrsavk @EGNKupava есть мысли?

reme3d2y commented 2 years ago

Кажется что preventDefault нужен только если downloadLink пустой и обработчик загрузки какой-то внешний, а в остальных случаях надо просто переходить по ссылке.

@dmitrsavk ты же вроде разбирался с загрузкой файлов?