@angular/cdk
Version:
Angular Material Component Development Kit
34 lines (31 loc) • 1.27 kB
JavaScript
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