armisa-models
Version:
models of armisa!
20 lines (16 loc) • 560 B
text/typescript
import { MainStateManager } from "./MainStateManager";
type IClipboard = { key: string, data: any[] };
export class Clipboarding {
constructor(
public mainStateManager: MainStateManager,
) { }
private data: IClipboard[] = [];
public copy = <ROW>(key: string, rows: ROW[]) => {
this.data.push({ key, data: rows });
return true;
}
public past = <ROW>(key: string): ROW[] | undefined => {
const filter = this.data.filter(i => i.key === key);
return filter.pop()?.data;
}
}