Skip to content

Commit

Permalink
feat(upload): adiciona o parâmetro extractData no evento p-upload
Browse files Browse the repository at this point in the history
Adiciona a propriedade `extractData` no evento `p-upload` e  nesta
propriedade pode ser informado algum dado solicitado pela API que
não possa estar no objeto `data`, assim o conteúdo será extraído do
objeto e enviado como parâmetro.

Fixes #1395
  • Loading branch information
wsteixeira committed Sep 21, 2022
1 parent e50742f commit 756b641
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -215,12 +215,19 @@ export abstract class PoUploadBaseComponent implements ControlValueAccessor, Val
*
* Função que será executada no momento de realizar o envio do arquivo,
* onde será possível adicionar informações ao parâmetro que será enviado na requisição.
* É passado por parâmetro um objeto com o arquivo e a propiedade data nesta propriedade pode ser informado algum dado,
* que será enviado em conjunto com o arquivo na requisição, por exemplo:
* É passado por parâmetro um objeto com o arquivo e as propiedades data e extractParams,
* que serão enviadas em conjunto com o arquivo na requisição, por exemplo:
*
* > data, nesta propriedade pode ser informado algum dado
* ```
* event.data = {id: 'id do usuario'};
* ```
* > extractParams, nesta propriedade pode ser informado algum dado solicitado pela API
* > que não possa estar no objeto `data`, assim o conteúdo sará extraído do objeto e
* > enviado como parâmetro
* ```
* event.extractParams = {id: 'id do usuario'};
* ```
*/
@Output('p-upload') onUpload: EventEmitter<any> = new EventEmitter<any>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ export class PoUploadBaseService {
const filesLength = files.length;
const uploadEvent: any = {
data: {},
extractParams: {},
file: null
};

Expand All @@ -56,6 +57,10 @@ export class PoUploadBaseService {
uploadEvent['file'] = file;
tOnUpload.emit(uploadEvent);

Object.keys(uploadEvent.extractParams).forEach(key => {
formData.append(key, uploadEvent.extractParams[key]);
});

formData.append('data', JSON.stringify(uploadEvent.data));
}

Expand Down

0 comments on commit 756b641

Please sign in to comment.