11import { filter , fromEvent , sampleTime , Subscription } from 'rxjs' ;
22import { IgxQueryBuilderTreeComponent } from './query-builder-tree.component' ;
3- import { ElementRef , Inject , Injectable } from '@angular/core' ;
3+ import { ElementRef , Injectable } from '@angular/core' ;
44import { ExpressionGroupItem , ExpressionItem , ExpressionOperandItem , QueryBuilderSelectors } from './query-builder.common' ;
55import { IgxChipComponent } from '../chips/chip.component' ;
66
@@ -10,19 +10,12 @@ const Z_INDEX_TO_SET = 10010; //overlay z-index is 10005
1010/** @hidden @internal */
1111@Injectable ( )
1212export class IgxQueryBuilderDragService {
13- constructor (
14- @Inject ( IgxQueryBuilderTreeComponent )
15- private _queryBuilderTreeComponent : IgxQueryBuilderTreeComponent ,
16- private _queryBuilderTreeComponentElRef : ElementRef ,
17- @Inject ( IgxQueryBuilderTreeComponent )
18- private _deleteExpression : ( expressionItem : ExpressionItem ) => void ,
19- @Inject ( IgxQueryBuilderTreeComponent )
20- private _focusChipAfterDrag : ( index : number ) => void ,
21- ) { }
22-
13+
2314 /** The ExpressionItem that's actually the drop ghost's content */
2415 public dropGhostExpression : ExpressionItem ;
2516 public isKeyboardDrag : boolean ;
17+ private _queryBuilderTreeComponent : IgxQueryBuilderTreeComponent ;
18+ private _queryBuilderTreeComponentElRef : ElementRef ;
2619 private _sourceExpressionItem : ExpressionItem ;
2720 private _sourceElement : HTMLElement ;
2821 private _targetExpressionItem : ExpressionItem ;
@@ -51,6 +44,12 @@ export class IgxQueryBuilderDragService {
5144 return this . _queryBuilderTreeComponentElRef . nativeElement . querySelector ( `.${ QueryBuilderSelectors . FILTER_TREE } ` ) ;
5245 }
5346
47+
48+ public register ( tree : IgxQueryBuilderTreeComponent , el : ElementRef ) {
49+ this . _queryBuilderTreeComponent = tree ;
50+ this . _queryBuilderTreeComponentElRef = el ;
51+ }
52+
5453 /** When chip is picked up for dragging
5554 *
5655 * @param sourceDragElement The HTML element of the chip that's been dragged
@@ -179,10 +178,10 @@ export class IgxQueryBuilderDragService {
179178 const [ dropLocationIndex , _ ] = this . countChipsBeforeDropLocation ( this . _queryBuilderTreeComponent . rootGroup ) ;
180179
181180 //Delete from old place
182- this . _deleteExpression ( this . _sourceExpressionItem ) ;
181+ this . _queryBuilderTreeComponent . deleteItem ( this . _sourceExpressionItem ) ;
183182 this . dropGhostExpression = null ;
184183
185- this . _focusChipAfterDrag ( dropLocationIndex ) ;
184+ this . _queryBuilderTreeComponent . focusChipAfterDrag ( dropLocationIndex ) ;
186185
187186 this . resetDragAndDrop ( true ) ;
188187
0 commit comments