ng-sortablejs
Version:
29 lines (20 loc) • 701 B
text/typescript
import { SortablejsBinding } from './sortablejs-binding';
import {SortableData} from './sortablejs.directive';
export class SortablejsBindings {
bindings: SortablejsBinding[];
constructor(bindingTargets: SortableData[]) {
this.bindings = bindingTargets.map(target => new SortablejsBinding(target));
}
injectIntoEvery(index: number, items: any[]) {
this.bindings.forEach((b, i) => b.insert(index, items[i]));
}
getFromEvery(index: number) {
return this.bindings.map(b => b.get(index));
}
extractFromEvery(index: number) {
return this.bindings.map(b => b.remove(index));
}
get provided() {
return !!this.bindings.length;
}
}