UNPKG

ngx-smart-spreadsheet

Version:

Lightweight spreadsheet module for Angular

41 lines 5.43 kB
class Range { constructor(r1, c1, r2, c2) { this.r1 = r1; this.c1 = c1; this.r2 = r2; this.c2 = c2; } calc(row, col) { if (row < this.r1) { this.r1 = row; } if (row > this.r2) { this.r2 = row; } if (col < this.c1) { this.c1 = col; } if (col > this.c2) { this.c2 = col; } } includes(row, col) { return (row >= this.r1 && row <= this.r2) && (col >= this.c1 && col <= this.c2); } equals(range) { return this.r1 === range.r1 && this.c1 === range.c1 && this.r2 === range.r2 && this.c2 === range.c2; } static of(row, col, row2 = row, col2 = col) { return new Range(row, col, row2, col2); } static marge(a1, a2) { const r1 = a1.r < a2.r ? a1.r : a2.r; const r2 = a1.r > a2.r ? a1.r : a2.r; const c1 = a1.c < a2.c ? a1.c : a2.c; const c2 = a1.c > a2.c ? a1.c : a2.c; return new Range(r1, c1, r2, c2); } } export default Range; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnQtc3ByZWFkc2hlZXQvc3JjL2xpYi9tb2RlbC9yYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLEtBQUs7SUFDUCxZQUNXLEVBQVUsRUFDVixFQUFVLEVBQ1YsRUFBVSxFQUNWLEVBQVU7UUFIVixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixPQUFFLEdBQUYsRUFBRSxDQUFRO0lBQ2pCLENBQUM7SUFFRSxJQUFJLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDaEMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQztJQUVNLFFBQVEsQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUNwQyxPQUFPLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFFLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUM7ZUFDbEMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUN4RyxDQUFDO0lBRU0sTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLE9BQWUsR0FBRyxFQUFFLE9BQWUsR0FBRztRQUM3RSxPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQVUsRUFBRSxFQUFVO1FBQ3RDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxPQUFPLElBQUksS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDSjtBQUVELGVBQWUsS0FBSyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEFuY2hvciBmcm9tIFwiLi9hbmNob3JcIjtcblxuY2xhc3MgUmFuZ2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgcjE6IG51bWJlcixcbiAgICAgICAgcHVibGljIGMxOiBudW1iZXIsXG4gICAgICAgIHB1YmxpYyByMjogbnVtYmVyLFxuICAgICAgICBwdWJsaWMgYzI6IG51bWJlclxuICAgICkgeyB9XG5cbiAgICBwdWJsaWMgY2FsYyhyb3c6IG51bWJlciwgY29sOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHJvdyA8IHRoaXMucjEpIHtcbiAgICAgICAgICAgIHRoaXMucjEgPSByb3c7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJvdyA+IHRoaXMucjIpIHtcbiAgICAgICAgICAgIHRoaXMucjIgPSByb3c7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbCA8IHRoaXMuYzEpIHtcbiAgICAgICAgICAgIHRoaXMuYzEgPSBjb2w7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbCA+IHRoaXMuYzIpIHtcbiAgICAgICAgICAgIHRoaXMuYzIgPSBjb2w7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaW5jbHVkZXMocm93OiBudW1iZXIsIGNvbDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAocm93ID49IHRoaXMucjEgJiYgcm93IDw9IHRoaXMucjIpXG4gICAgICAgICAgICAmJiAoY29sID49IHRoaXMuYzEgJiYgY29sIDw9IHRoaXMuYzIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlcXVhbHMocmFuZ2U6IFJhbmdlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnIxID09PSByYW5nZS5yMSAmJiB0aGlzLmMxID09PSByYW5nZS5jMSAmJiB0aGlzLnIyID09PSByYW5nZS5yMiAmJiB0aGlzLmMyID09PSByYW5nZS5jMjtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIG9mKHJvdzogbnVtYmVyLCBjb2w6IG51bWJlciwgcm93MjogbnVtYmVyID0gcm93LCBjb2wyOiBudW1iZXIgPSBjb2wpOiBSYW5nZSB7XG4gICAgICAgIHJldHVybiBuZXcgUmFuZ2Uocm93LCBjb2wsIHJvdzIsIGNvbDIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbWFyZ2UoYTE6IEFuY2hvciwgYTI6IEFuY2hvcik6IFJhbmdlIHtcbiAgICAgICAgY29uc3QgcjEgPSBhMS5yIDwgYTIuciA/IGExLnIgOiBhMi5yO1xuICAgICAgICBjb25zdCByMiA9IGExLnIgPiBhMi5yID8gYTEuciA6IGEyLnI7XG4gICAgICAgIGNvbnN0IGMxID0gYTEuYyA8IGEyLmMgPyBhMS5jIDogYTIuYztcbiAgICAgICAgY29uc3QgYzIgPSBhMS5jID4gYTIuYyA/IGExLmMgOiBhMi5jO1xuICAgICAgICByZXR1cm4gbmV3IFJhbmdlKHIxLCBjMSwgcjIsIGMyKTtcbiAgICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJhbmdlO1xuIl19