UNPKG

@angular/cdk

Version:

Angular Material Component Development Kit

34 lines (31 loc) 1.27 kB
import { _ViewRepeaterOperation } from './_recycle-view-repeater-strategy-chunk.mjs'; class _DisposeViewRepeaterStrategy { applyChanges(changes, viewContainerRef, itemContextFactory, itemValueResolver, itemViewChanged) { changes.forEachOperation((record, adjustedPreviousIndex, currentIndex) => { let view; let operation; if (record.previousIndex == null) { const insertContext = itemContextFactory(record, adjustedPreviousIndex, currentIndex); view = viewContainerRef.createEmbeddedView(insertContext.templateRef, insertContext.context, insertContext.index); operation = _ViewRepeaterOperation.INSERTED; } else if (currentIndex == null) { viewContainerRef.remove(adjustedPreviousIndex); operation = _ViewRepeaterOperation.REMOVED; } else { view = viewContainerRef.get(adjustedPreviousIndex); viewContainerRef.move(view, currentIndex); operation = _ViewRepeaterOperation.MOVED; } if (itemViewChanged) { itemViewChanged({ context: view?.context, operation, record }); } }); } detach() {} } export { _DisposeViewRepeaterStrategy }; //# sourceMappingURL=_dispose-view-repeater-strategy-chunk.mjs.map