@@ -5,11 +5,6 @@ import {SharedModule,PrimeTemplate} from '../common/shared';
5
5
import { DomHandler } from '../dom/domhandler' ;
6
6
import { ObjectUtils } from '../utils/objectutils' ;
7
7
8
- enum ListType {
9
- SOURCE = 0 ,
10
- TARGET = 1
11
- }
12
-
13
8
@Component ( {
14
9
selector : 'p-pickList' ,
15
10
template : `
@@ -25,22 +20,22 @@ enum ListType {
25
20
<div class="ui-picklist-listwrapper ui-picklist-source-wrapper" [ngClass]="{'ui-picklist-listwrapper-nocontrols':!showSourceControls}">
26
21
<div class="ui-picklist-caption ui-widget-header ui-corner-tl ui-corner-tr" *ngIf="sourceHeader">{{sourceHeader}}</div>
27
22
<div class="ui-picklist-filter-container ui-widget-content" *ngIf="filterBy">
28
- <input type="text" role="textbox" (keyup)="onFilter($event,source,listType.SOURCE )" class="ui-picklist-filter ui-inputtext ui-widget ui-state-default ui-corner-all" [disabled]="disabled" [attr.placeholder]="sourceFilterPlaceholder">
23
+ <input type="text" role="textbox" (keyup)="onFilter($event,source,-1 )" class="ui-picklist-filter ui-inputtext ui-widget ui-state-default ui-corner-all" [disabled]="disabled" [attr.placeholder]="sourceFilterPlaceholder">
29
24
<span class="fa fa-search"></span>
30
25
</div>
31
- <ul #sourcelist class="ui-widget-content ui-picklist-list ui-picklist-source ui-corner-bottom" [ngStyle]="sourceStyle" (dragover)="onListMouseMove($event,listType.SOURCE )">
26
+ <ul #sourcelist class="ui-widget-content ui-picklist-list ui-picklist-source ui-corner-bottom" [ngStyle]="sourceStyle" (dragover)="onListMouseMove($event,-1 )">
32
27
<li class="ui-picklist-droppoint-empty" *ngIf="dragdrop && source && source.length == 0"
33
- (dragover)="onEmptyListDragOver($event, listType.SOURCE )" (drop)="onEmptyListDrop($event, listType.SOURCE )"></li>
28
+ (dragover)="onEmptyListDragOver($event, -1 )" (drop)="onEmptyListDrop($event, -1 )"></li>
34
29
<ng-template ngFor let-item [ngForOf]="source" let-i="index" let-l="last">
35
- <li class="ui-picklist-droppoint" *ngIf="dragdrop" (dragover)="onDragOver($event, i, listType.SOURCE )" (drop)="onDrop($event, i, listType.SOURCE )" (dragleave)="onDragLeave($event, listType.SOURCE )"
36
- [ngClass]="{'ui-state-highlight': (i === dragOverItemIndexSource)}" [style.display]="isItemVisible(item, listType.SOURCE ) ? 'block' : 'none'"></li>
30
+ <li class="ui-picklist-droppoint" *ngIf="dragdrop" (dragover)="onDragOver($event, i, -1 )" (drop)="onDrop($event, i, -1 )" (dragleave)="onDragLeave($event, -1 )"
31
+ [ngClass]="{'ui-state-highlight': (i === dragOverItemIndexSource)}" [style.display]="isItemVisible(item, -1 ) ? 'block' : 'none'"></li>
37
32
<li [ngClass]="{'ui-picklist-item':true,'ui-state-highlight':isSelected(item,selectedItemsSource)}"
38
33
(click)="onItemClick($event,item,selectedItemsSource)" (touchend)="onItemTouchEnd($event)"
39
- [style.display]="isItemVisible(item, listType.SOURCE ) ? 'block' : 'none'"
40
- [draggable]="dragdrop" (dragstart)="onDragStart($event, i, listType.SOURCE )" (dragend)="onDragEnd($event)">
34
+ [style.display]="isItemVisible(item, -1 ) ? 'block' : 'none'"
35
+ [draggable]="dragdrop" (dragstart)="onDragStart($event, i, -1 )" (dragend)="onDragEnd($event)">
41
36
<ng-template [pTemplateWrapper]="itemTemplate" [item]="item"></ng-template>
42
37
</li>
43
- <li class="ui-picklist-droppoint" *ngIf="dragdrop&&l" (dragover)="onDragOver($event, i + 1, listType.SOURCE )" (drop)="onDrop($event, i + 1, listType.SOURCE )" (dragleave)="onDragLeave($event, listType.SOURCE )"
38
+ <li class="ui-picklist-droppoint" *ngIf="dragdrop&&l" (dragover)="onDragOver($event, i + 1, -1 )" (drop)="onDrop($event, i + 1, -1 )" (dragleave)="onDragLeave($event, -1 )"
44
39
[ngClass]="{'ui-state-highlight': (i + 1 === dragOverItemIndexSource)}"></li>
45
40
</ng-template>
46
41
</ul>
@@ -56,22 +51,22 @@ enum ListType {
56
51
<div class="ui-picklist-listwrapper ui-picklist-target-wrapper" [ngClass]="{'ui-picklist-listwrapper-nocontrols':!showTargetControls}">
57
52
<div class="ui-picklist-caption ui-widget-header ui-corner-tl ui-corner-tr" *ngIf="targetHeader">{{targetHeader}}</div>
58
53
<div class="ui-picklist-filter-container ui-widget-content" *ngIf="filterBy">
59
- <input type="text" role="textbox" (keyup)="onFilter($event,target,listType.TARGET )" class="ui-picklist-filter ui-inputtext ui-widget ui-state-default ui-corner-all" [disabled]="disabled" [attr.placeholder]="targetFilterPlaceholder">
54
+ <input type="text" role="textbox" (keyup)="onFilter($event,target,1 )" class="ui-picklist-filter ui-inputtext ui-widget ui-state-default ui-corner-all" [disabled]="disabled" [attr.placeholder]="targetFilterPlaceholder">
60
55
<span class="fa fa-search"></span>
61
56
</div>
62
- <ul #targetlist class="ui-widget-content ui-picklist-list ui-picklist-target ui-corner-bottom" [ngStyle]="targetStyle" (dragover)="onListMouseMove($event,listType.TARGET )">
57
+ <ul #targetlist class="ui-widget-content ui-picklist-list ui-picklist-target ui-corner-bottom" [ngStyle]="targetStyle" (dragover)="onListMouseMove($event,1 )">
63
58
<li class="ui-picklist-droppoint-empty" *ngIf="dragdrop && target && target.length == 0"
64
- (dragover)="onEmptyListDragOver($event, listType.TARGET )" (drop)="onEmptyListDrop($event, listType.TARGET )"></li>
59
+ (dragover)="onEmptyListDragOver($event, 1 )" (drop)="onEmptyListDrop($event, 1 )"></li>
65
60
<ng-template ngFor let-item [ngForOf]="target" let-i="index" let-l="last">
66
- <li class="ui-picklist-droppoint" *ngIf="dragdrop" (dragover)="onDragOver($event, i, listType.TARGET )" (drop)="onDrop($event, i, listType.TARGET )" (dragleave)="onDragLeave($event, listType.TARGET )"
67
- [ngClass]="{'ui-state-highlight': (i === dragOverItemIndexTarget)}" [style.display]="isItemVisible(item, listType.TARGET ) ? 'block' : 'none'"></li>
61
+ <li class="ui-picklist-droppoint" *ngIf="dragdrop" (dragover)="onDragOver($event, i, 1 )" (drop)="onDrop($event, i, 1 )" (dragleave)="onDragLeave($event, 1 )"
62
+ [ngClass]="{'ui-state-highlight': (i === dragOverItemIndexTarget)}" [style.display]="isItemVisible(item, 1 ) ? 'block' : 'none'"></li>
68
63
<li [ngClass]="{'ui-picklist-item':true,'ui-state-highlight':isSelected(item,selectedItemsTarget)}"
69
64
(click)="onItemClick($event,item,selectedItemsTarget)" (touchend)="onItemTouchEnd($event)"
70
- [style.display]="isItemVisible(item, listType.TARGET ) ? 'block' : 'none'"
71
- [draggable]="dragdrop" (dragstart)="onDragStart($event, i, listType.TARGET )" (dragend)="onDragEnd($event)">
65
+ [style.display]="isItemVisible(item, 1 ) ? 'block' : 'none'"
66
+ [draggable]="dragdrop" (dragstart)="onDragStart($event, i, 1 )" (dragend)="onDragEnd($event)">
72
67
<ng-template [pTemplateWrapper]="itemTemplate" [item]="item"></ng-template>
73
68
</li>
74
- <li class="ui-picklist-droppoint" *ngIf="dragdrop&&l" (dragover)="onDragOver($event, i + 1, listType.TARGET )" (drop)="onDrop($event, i + 1, listType.TARGET )" (dragleave)="onDragLeave($event, listType.TARGET )"
69
+ <li class="ui-picklist-droppoint" *ngIf="dragdrop&&l" (dragover)="onDragOver($event, i + 1, 1 )" (drop)="onDrop($event, i + 1, 1 )" (dragleave)="onDragLeave($event, 1 )"
75
70
[ngClass]="{'ui-state-highlight': (i + 1 === dragOverItemIndexTarget)}"></li>
76
71
</ng-template>
77
72
</ul>
@@ -147,9 +142,7 @@ export class PickList implements AfterViewChecked,AfterContentInit {
147
142
public visibleOptionsSource : any [ ] ;
148
143
149
144
public visibleOptionsTarget : any [ ] ;
150
-
151
- public listType = ListType ;
152
-
145
+
153
146
selectedItemsSource : any [ ] = [ ] ;
154
147
155
148
selectedItemsTarget : any [ ] = [ ] ;
@@ -176,9 +169,9 @@ export class PickList implements AfterViewChecked,AfterContentInit {
176
169
177
170
filterValueTarget : string ;
178
171
179
- fromListType : ListType ;
172
+ fromListType : number ;
180
173
181
- toListType : ListType ;
174
+ toListType : number ;
182
175
183
176
constructor ( public el : ElementRef , public domHandler : DomHandler , public objectUtils : ObjectUtils ) { }
184
177
@@ -242,28 +235,28 @@ export class PickList implements AfterViewChecked,AfterContentInit {
242
235
this . itemTouched = false ;
243
236
}
244
237
245
- onFilter ( event : KeyboardEvent , data : any [ ] , listType : ListType ) {
238
+ onFilter ( event : KeyboardEvent , data : any [ ] , listType : number ) {
246
239
let query = ( < HTMLInputElement > event . target ) . value . trim ( ) . toLowerCase ( ) ;
247
240
248
- if ( listType === ListType . SOURCE )
241
+ if ( listType === - 1 )
249
242
this . filterValueSource = query ;
250
243
else
251
244
this . filterValueTarget = query ;
252
245
253
246
this . activateFilter ( data , listType ) ;
254
247
}
255
248
256
- activateFilter ( data : any [ ] , listType : ListType ) {
249
+ activateFilter ( data : any [ ] , listType : number ) {
257
250
let searchFields = this . filterBy . split ( ',' ) ;
258
251
259
- if ( listType === ListType . SOURCE )
252
+ if ( listType === - 1 )
260
253
this . visibleOptionsSource = this . objectUtils . filter ( data , searchFields , this . filterValueSource ) ;
261
254
else
262
255
this . visibleOptionsTarget = this . objectUtils . filter ( data , searchFields , this . filterValueTarget ) ;
263
256
}
264
257
265
- isItemVisible ( item : any , listType : ListType ) : boolean {
266
- if ( listType == ListType . SOURCE )
258
+ isItemVisible ( item : any , listType : number ) : boolean {
259
+ if ( listType == - 1 )
267
260
return this . isVisibleInList ( this . visibleOptionsSource , item , this . filterValueSource ) ;
268
261
else
269
262
return this . isVisibleInList ( this . visibleOptionsTarget , item , this . filterValueTarget ) ;
@@ -466,10 +459,10 @@ export class PickList implements AfterViewChecked,AfterContentInit {
466
459
return index ;
467
460
}
468
461
469
- onDragStart ( event : DragEvent , index : number , listType : ListType ) {
462
+ onDragStart ( event : DragEvent , index : number , listType : number ) {
470
463
this . dragging = true ;
471
464
this . fromListType = listType ;
472
- if ( listType === ListType . SOURCE )
465
+ if ( listType === - 1 )
473
466
this . draggedItemIndexSource = index ;
474
467
else
475
468
this . draggedItemIndexTarget = index ;
@@ -480,37 +473,37 @@ export class PickList implements AfterViewChecked,AfterContentInit {
480
473
}
481
474
}
482
475
483
- onDragOver ( event : DragEvent , index : number , listType : ListType ) {
484
- if ( listType == ListType . SOURCE ) {
485
- if ( this . draggedItemIndexSource !== index && this . draggedItemIndexSource + 1 !== index || ( this . fromListType === ListType . TARGET ) ) {
476
+ onDragOver ( event : DragEvent , index : number , listType : number ) {
477
+ if ( listType == - 1 ) {
478
+ if ( this . draggedItemIndexSource !== index && this . draggedItemIndexSource + 1 !== index || ( this . fromListType === 1 ) ) {
486
479
this . dragOverItemIndexSource = index ;
487
480
event . preventDefault ( ) ;
488
481
}
489
482
}
490
483
else {
491
- if ( this . draggedItemIndexTarget !== index && this . draggedItemIndexTarget + 1 !== index || ( this . fromListType === ListType . SOURCE ) ) {
484
+ if ( this . draggedItemIndexTarget !== index && this . draggedItemIndexTarget + 1 !== index || ( this . fromListType === - 1 ) ) {
492
485
this . dragOverItemIndexTarget = index ;
493
486
event . preventDefault ( ) ;
494
487
}
495
488
}
496
489
}
497
490
498
- onDragLeave ( event : DragEvent , listType : ListType ) {
491
+ onDragLeave ( event : DragEvent , listType : number ) {
499
492
this . dragOverItemIndexSource = null ;
500
493
this . dragOverItemIndexTarget = null ;
501
494
}
502
495
503
- onDrop ( event : DragEvent , index : number , listType : ListType ) {
504
- if ( listType === ListType . SOURCE ) {
505
- if ( this . fromListType === ListType . TARGET )
496
+ onDrop ( event : DragEvent , index : number , listType : number ) {
497
+ if ( listType === - 1 ) {
498
+ if ( this . fromListType === 1 )
506
499
this . insert ( this . draggedItemIndexTarget , this . target , index , this . source ) ;
507
500
else
508
501
this . objectUtils . reorderArray ( this . source , this . draggedItemIndexSource , ( this . draggedItemIndexSource > index ) ? index : ( index === 0 ) ? 0 : index - 1 ) ;
509
502
510
503
this . dragOverItemIndexSource = null ;
511
504
}
512
505
else {
513
- if ( this . fromListType === ListType . SOURCE )
506
+ if ( this . fromListType === - 1 )
514
507
this . insert ( this . draggedItemIndexSource , this . source , index , this . target ) ;
515
508
else
516
509
this . objectUtils . reorderArray ( this . target , this . draggedItemIndexTarget , ( this . draggedItemIndexTarget > index ) ? index : ( index === 0 ) ? 0 : index - 1 ) ;
@@ -525,16 +518,16 @@ export class PickList implements AfterViewChecked,AfterContentInit {
525
518
this . dragging = false ;
526
519
}
527
520
528
- onEmptyListDrop ( event : DragEvent , listType : ListType ) {
529
- if ( listType === ListType . SOURCE )
521
+ onEmptyListDrop ( event : DragEvent , listType : number ) {
522
+ if ( listType === - 1 )
530
523
this . insert ( this . draggedItemIndexTarget , this . target , null , this . source ) ;
531
524
else
532
525
this . insert ( this . draggedItemIndexSource , this . source , null , this . target ) ;
533
526
534
527
event . preventDefault ( ) ;
535
528
}
536
529
537
- onEmptyListDragOver ( event : DragEvent , listType : ListType ) {
530
+ onEmptyListDragOver ( event : DragEvent , listType : number ) {
538
531
event . preventDefault ( ) ;
539
532
}
540
533
@@ -545,7 +538,7 @@ export class PickList implements AfterViewChecked,AfterContentInit {
545
538
toList . splice ( toIndex , 0 , fromList . splice ( fromIndex , 1 ) [ 0 ] ) ;
546
539
}
547
540
548
- onListMouseMove ( event : MouseEvent , listType : ListType ) {
541
+ onListMouseMove ( event : MouseEvent , listType : number ) {
549
542
if ( this . dragging ) {
550
543
let moveListType = ( listType == 0 ? this . listViewSourceChild : this . listViewTargetChild ) ;
551
544
let offsetY = moveListType . nativeElement . getBoundingClientRect ( ) . top + document . body . scrollTop ;
0 commit comments