Skip to content

Commit ef47ca8

Browse files
Rogerio-Fialhoalinelariguet
authored andcommitted
feat(upload): permite que o componente aceite drag and drop
Adicionada a funcionalidade de drag and drop ao componente. Fixes DTHFUI-653
1 parent 0bfa5f3 commit ef47ca8

22 files changed

+2372
-1071
lines changed

projects/ui/src/lib/components/po-field/po-field.module.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,12 @@ import { PoSelectOptionTemplateDirective } from './po-select/po-select-option-te
3939
import { PoSwitchComponent } from './po-switch/po-switch.component';
4040
import { PoTextareaComponent } from './po-textarea/po-textarea.component';
4141
import { PoUploadComponent } from './po-upload/po-upload.component';
42+
import { PoUploadDragDropComponent } from './po-upload/po-upload-drag-drop/po-upload-drag-drop.component';
43+
import { PoUploadDragDropDirective } from './po-upload/po-upload-drag-drop/po-upload-drag-drop.directive';
44+
import {
45+
PoUploadDragDropAreaOverlayComponent
46+
} from './po-upload/po-upload-drag-drop/po-upload-drag-drop-area-overlay/po-upload-drag-drop-area-overlay.component';
47+
import { PoUploadDragDropAreaComponent } from './po-upload/po-upload-drag-drop/po-upload-drag-drop-area/po-upload-drag-drop-area.component';
4248
import { PoUrlComponent } from './po-url/po-url.component';
4349

4450
/**
@@ -113,6 +119,10 @@ import { PoUrlComponent } from './po-url/po-url.component';
113119
PoSwitchComponent,
114120
PoTextareaComponent,
115121
PoUploadComponent,
122+
PoUploadDragDropComponent,
123+
PoUploadDragDropDirective,
124+
PoUploadDragDropAreaOverlayComponent,
125+
PoUploadDragDropAreaComponent,
116126
PoUrlComponent
117127
],
118128
providers: [],
Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,40 @@
1-
/**
2-
* @usedBy PoUploadComponent
3-
*
4-
* @description
5-
*
6-
* Interface para definição das literais usadas no `po-upload`.
7-
*/
8-
export interface PoUploadLiterals {
9-
10-
/** Texto exibido no label para cancelar o envio. */
11-
cancel?: string;
12-
13-
/** Texto exibido no label para excluir o arquivo. */
14-
deleteFile?: string;
15-
16-
/** Texto exibido no label do botão de seleção dos arquivos. */
17-
selectFile?: string;
18-
19-
/** Texto exibido no label do botão para iniciar o envio dos arquivos. */
20-
startSending?: string;
21-
22-
/** Texto exibido no label para tentar novamente. */
23-
tryAgain?: string;
24-
25-
}
1+
/**
2+
* @usedBy PoUploadComponent
3+
*
4+
* @description
5+
*
6+
* Interface para definição das literais usadas no `po-upload`.
7+
*/
8+
export interface PoUploadLiterals {
9+
10+
/** Texto exibido no label para cancelar o envio. */
11+
cancel?: string;
12+
13+
/** Texto exibido no label para excluir o arquivo. */
14+
deleteFile?: string;
15+
16+
/** Texto exibido na área onde podem ser arrastados os arquivos ao utilizar a opção de *dragDrop*. */
17+
dragFilesHere?: string;
18+
19+
/** Texto exibido na área onde podem ser arrastados os arquivos ao utilizar a opção de *dragDrop*. */
20+
dropFilesHere?: string;
21+
22+
/** Texto exibido caso o usuário arrastar um arquivo para um local inválido ao utilizar a opção de *dragDrop*. */
23+
invalidDropArea?: string;
24+
25+
/** Texto exibido no label do botão de seleção dos arquivos. */
26+
selectFile?: string;
27+
28+
/**
29+
* Texto utilizado para indicar a possibilidade de seleção de arquivos na área onde podem ser arrastados os arquivos
30+
* ao utilizar a opção de *dragDrop*.
31+
*/
32+
selectFilesOnComputer?: string;
33+
34+
/** Texto exibido no label do botão para iniciar o envio dos arquivos. */
35+
startSending?: string;
36+
37+
/** Texto exibido no label para tentar novamente. */
38+
tryAgain?: string;
39+
40+
}

projects/ui/src/lib/components/po-field/po-upload/po-upload-base.component.spec.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ describe('PoUploadBaseComponent:', () => {
9090
expect(component.allowedExtensions).toBe('');
9191
});
9292

93-
describe('Methods: ', () => {
93+
describe('Methods:', () => {
9494

9595
let file: PoUploadFile;
9696

@@ -410,7 +410,19 @@ describe('PoUploadBaseComponent:', () => {
410410

411411
});
412412

413-
describe('Properties: ', () => {
413+
describe('Properties:', () => {
414+
415+
it('p-drag-drop: should set `dragDrop` with valid values', () => {
416+
const validValues = ['', true, 1, [], {}, 'true'];
417+
418+
expectPropertiesValues(component, 'dragDrop', validValues, true);
419+
});
420+
421+
it('p-drag-drop: should set `dragDrop` to false with invalid values', () => {
422+
const invalidValues = [null, undefined, NaN, false, 0, 'false', 'teste'];
423+
424+
expectPropertiesValues(component, 'dragDrop', invalidValues, false);
425+
});
414426

415427
it('formField: should set `formField` with valid values', () => {
416428
const validValues = ['upload', 'files', 'portfolio'];

0 commit comments

Comments
 (0)