chore: move core modules into core directory
BREAKING CHANGE: This change moves the http module into angular2/, so its import path is now angular2/http instead of http/http. Many other modules have also been moved around inside of angular2, but the public API paths have not changed as of this commit.
This commit is contained in:
34
modules/angular2/src/core/services/ruler.ts
Normal file
34
modules/angular2/src/core/services/ruler.ts
Normal file
@ -0,0 +1,34 @@
|
||||
import {Promise, PromiseWrapper} from 'angular2/src/facade/async';
|
||||
import {DomAdapter} from 'angular2/src/dom/dom_adapter';
|
||||
import {ElementRef} from 'angular2/src/core/compiler/element_ref';
|
||||
|
||||
export class Rectangle {
|
||||
left;
|
||||
right;
|
||||
top;
|
||||
bottom;
|
||||
height;
|
||||
width;
|
||||
constructor(left, top, width, height) {
|
||||
this.left = left;
|
||||
this.right = left + width;
|
||||
this.top = top;
|
||||
this.bottom = top + height;
|
||||
this.height = height;
|
||||
this.width = width;
|
||||
}
|
||||
}
|
||||
|
||||
export class Ruler {
|
||||
domAdapter: DomAdapter;
|
||||
constructor(domAdapter: DomAdapter) { this.domAdapter = domAdapter; }
|
||||
|
||||
measure(el: ElementRef): Promise<Rectangle> {
|
||||
var clntRect = <any>this.domAdapter.getBoundingClientRect(el.nativeElement);
|
||||
|
||||
// even if getBoundingClientRect is synchronous we use async API in preparation for further
|
||||
// changes
|
||||
return PromiseWrapper.resolve(
|
||||
new Rectangle(clntRect.left, clntRect.top, clntRect.width, clntRect.height));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user