Skip to content

Commit 43dba13

Browse files
committed
Code and dependency cleanup, fixes tsc errors #32
1 parent 33e206b commit 43dba13

8 files changed

+15
-33
lines changed

ng2-page-scroll.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
export * from './src/ng2-page-scroll.directive';
22
export * from './src/ng2-page-scroll.service';
3-
export * from './src/ng2-page-scroll-instance';
43
export * from './src/ng2-page-scroll-config';
4+
export * from './src/ng2-page-scroll-instance';
5+
export * from './src/ng2-page-scroll-util.service';
56

67
export {Ng2PageScrollModule} from './src/ng2-page-scroll.module';

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
"@angular/platform-browser-dynamic": "2.0.0-rc.5",
5656
"@angular/router": "3.0.0-rc.1",
5757
"codelyzer": "^0.0.28",
58-
"jasmine": "^2.4.1",
58+
"jasmine": "^2.5.1",
5959
"protractor": "~4.0.4",
6060
"rxjs": "5.0.0-beta.6",
6161
"systemjs-builder": "^0.15.0",

src/ng2-page-scroll-instance.ts

+2-15
Original file line numberDiff line numberDiff line change
@@ -203,12 +203,9 @@ export class PageScrollInstance {
203203
* @returns {HTMLElement}
204204
*/
205205
public extractScrollTargetPosition(): {top: number, left: number} {
206-
// FIXME This propably does not return the correct values of the element is inside another
207-
// div and should be "inline/nested scrolled"
208-
209206
let scrollTargetElement: HTMLElement;
210207
if (typeof this._scrollTarget === 'string') {
211-
scrollTargetElement = this.document.getElementById(this._scrollTarget.substr(1));
208+
scrollTargetElement = this.document.getElementById((<string>this._scrollTarget).substr(1));
212209
} else {
213210
scrollTargetElement = <HTMLElement>this._scrollTarget;
214211
}
@@ -228,17 +225,7 @@ export class PageScrollInstance {
228225
* @returns {number}
229226
*/
230227
public getCurrentOffset(): number {
231-
232-
return this._offset; /* + this._scrollTopSources.reduce((previousOffset: number, scrollingView) => {
233-
234-
let scrollingViewTop = PageScrollUtilService.extractElementPosition(this.document, scrollingView).top;
235-
236-
if (previousOffset !== 0 && previousOffset !== scrollingViewTop) {
237-
console.warn('Using multiple scrollViews, but having different offsetTop values!');
238-
console.warn('Will silently ignore it and override previous top distance value');
239-
}
240-
return scrollingViewTop;
241-
}, 0);*/
228+
return this._offset;
242229
}
243230

244231
/**

src/ng2-page-scroll-util.service.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,11 @@ export class PageScrollUtilService {
1818
let body = document.body;
1919
let docEl = document.documentElement;
2020

21-
let window = document.defaultView || {pageYOffset: undefined, pageXOffset: undefined};
22-
let scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;
23-
let scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;
21+
let windowPageYOffset: number = document.defaultView && document.defaultView.pageYOffset || undefined;
22+
let windowPageXOffset: number = document.defaultView && document.defaultView.pageXOffset || undefined;
23+
24+
let scrollTop = windowPageYOffset || docEl.scrollTop || body.scrollTop;
25+
let scrollLeft = windowPageXOffset || docEl.scrollLeft || body.scrollLeft;
2426

2527
let clientTop = docEl.clientTop || body.clientTop || 0;
2628
let clientLeft = docEl.clientLeft || body.clientLeft || 0;

src/ng2-page-scroll.service.ts

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ export class PageScrollService {
7979
let pageScrollOffset = pageScrollInstance.getCurrentOffset();
8080

8181
// Calculate the target position that the scroll animation should go to
82-
// FIXME: Target scrolltop needs to be relative to the parent, not to the document root
8382
pageScrollInstance.targetScrollTop = Math.round(pageScrollInstance.extractScrollTargetPosition().top - pageScrollOffset);
8483

8584
// Calculate the distance we need to go in total

test/e2e/home.spec.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,19 @@ describe('Dashboard page', () => {
66
browser.get('/');
77
});
88

9-
function getScrollPos(): any {
9+
function getScrollPos(): Promise<number> {
1010
return browser.driver.executeScript('return window.pageYOffset;');
1111
}
1212

1313
it('should scroll to first heading', () => {
1414
let firstHeading: any = element(by.css('#anchor1'));
1515
let firstHeadingLink: any = element(by.css('a[href="#anchor1"]'));
1616
firstHeading.getLocation().then((headingLocation: any) => {
17-
getScrollPos().then((initialPos) => {
17+
getScrollPos().then((initialPos: number) => {
1818
expect(initialPos).toEqual(0);
1919
firstHeadingLink.click().then(() => {
2020
browser.sleep(1250).then(() => {
21-
getScrollPos().then((pos) => {
21+
getScrollPos().then((pos: number) => {
2222
expect(Math.round(pos)).toBe(Math.round(headingLocation.y));
2323
});
2424
});

tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"removeComments": false,
1010
"emitDecoratorMetadata": true,
1111
"experimentalDecorators": true,
12-
"noImplicitAny": false,
12+
"noImplicitAny": true,
1313
"noImplicitReturns": true,
1414
"listFiles": false,
1515
"noLib": false

typings.json

+1-8
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
{
2-
"dependencies": {},
3-
"devDependencies": {},
42
"globalDependencies": {
5-
"core-js": "registry:dt/core-js#0.0.0+20160725163759",
6-
"zone.js": "registry:dt/zone.js#0.0.0+20160316155526"
7-
},
8-
"globalDevDependencies": {
9-
"jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
10-
"node": "registry:dt/node#6.0.0+20160831021119"
3+
"core-js": "registry:dt/core-js#0.0.0+20160725163759"
114
}
125
}

0 commit comments

Comments
 (0)