Skip to content

Commit 4eb6153

Browse files
committed
Merge branch 'develop'
2 parents 8e82563 + 5577ff6 commit 4eb6153

File tree

8 files changed

+98
-30
lines changed

8 files changed

+98
-30
lines changed

.github/workflows/main.yml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: CI
2+
3+
# Controls when the action will run.
4+
on:
5+
# Trigger the workflow on push or pull request,
6+
# but only for the main branch
7+
push:
8+
9+
pull_request:
10+
branches:
11+
- main
12+
13+
# Allows you to run this workflow manually from the Actions tab
14+
workflow_dispatch:
15+
16+
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
17+
jobs:
18+
# This workflow contains a single job called "build"
19+
build:
20+
# The type of runner that the job will run on
21+
runs-on: ubuntu-latest
22+
23+
# Steps represent a sequence of tasks that will be executed as part of the job
24+
steps:
25+
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
26+
- uses: actions/checkout@v2
27+
with:
28+
fetch-depth: 0
29+
30+
- uses: wagoid/commitlint-github-action@v3
31+
32+
# Install Chrome Browser
33+
- name: Setup Chrome
34+
# You may pin to the exact commit or the version.
35+
# uses: browser-actions/setup-chrome@4fa655aad48f56911cad16db9252399a9e592848
36+
uses: browser-actions/setup-chrome@latest
37+
with:
38+
# The Chromium version to install and use.
39+
chrome-version: stable
40+
41+
- name: Print chrome version
42+
run: chrome --version
43+
44+
# Install NodeJS
45+
- name: Setup Node.js environment
46+
uses: actions/[email protected]
47+
48+
- name: Cache node modules
49+
uses: actions/cache@v2
50+
env:
51+
cache-name: cache-node-modules
52+
with:
53+
# npm cache files are stored in `~/.npm` on Linux/macOS
54+
path: ~/.npm
55+
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
56+
restore-keys: |
57+
${{ runner.os }}-build-${{ env.cache-name }}-
58+
${{ runner.os }}-build-
59+
${{ runner.os }}-
60+
61+
# Runs npm install
62+
- name: Install dependencies
63+
run: npm install
64+
65+
- name: Lint files
66+
run: npm run lint
67+
68+
- name: Build lib
69+
run: npm run build:lib
70+
71+
- name: Run tests
72+
run: npm run test -- --watch false --browsers ChromeHeadless
73+
74+
- name: Run e2e tests
75+
run: npm run e2e -- --protractor-config='e2e/protractor.ci.conf.js'

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
### 7.0.5 (2021-06-03)
2+
3+
### Fix
4+
5+
- Peer dependency version mismatch ([#429](https://github.com/Nolanus/ngx-page-scroll/issues/429))
6+
7+
### Other
8+
9+
- Remove existing instance warning
10+
111
### 7.0.4 (2021-02-07)
212

313
### Other

README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,13 @@
22

33
Animated scrolling functionality for angular written in pure typescript with no additional dependencies
44

5-
[![Build Status](https://travis-ci.org/Nolanus/ngx-page-scroll.svg?branch=master)](https://travis-ci.org/Nolanus/ngx-page-scroll)
5+
[![Build Status](https://github.com/Nolanus/ngx-page-scroll/actions/workflows/main.yml/badge.svg)](https://github.com/Nolanus/ngx-page-scroll/actions/workflows/main.yml)
66
[![Dependencies Status](https://david-dm.org/Nolanus/ngx-page-scroll.svg?path=projects/ngx-page-scroll)](https://david-dm.org/Nolanus/ngx-page-scroll?path=projects/ngx-page-scroll)
77
[![devDependencies Status](https://david-dm.org/Nolanus/ngx-page-scroll/dev-status.svg?path=projects/ngx-page-scroll)](https://david-dm.org/Nolanus/ngx-page-scroll?path=projects/ngx-page-scroll&type=dev)
88
[![peerDependencies Status](https://david-dm.org/Nolanus/ngx-page-scroll/peer-status.svg?path=projects/ngx-page-scroll)](https://david-dm.org/Nolanus/ngx-page-scroll?path=projects/ngx-page-scroll&type=peer)
9-
[![Greenkeeper badge](https://badges.greenkeeper.io/Nolanus/ngx-page-scroll.svg)](https://greenkeeper.io/)
9+
[![Known Vulnerabilities](https://snyk.io/test/github/Nolanus/ngx-page-scroll/badge.svg)](https://snyk.io/test/github/Nolanus/ngx-page-scroll)
1010
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/2b93ea8939824803b0807b72a8c2f5a0)](https://www.codacy.com/app/sebastian-fuss/ngx-page-scroll?utm_source=github.com&utm_medium=referral&utm_content=Nolanus/ngx-page-scroll&utm_campaign=Badge_Grade)
1111

12-
**Breaking Change**: Starting with v6 this library consists of two modules: `ngx-page-scroll-core` (the service) and `ngx-page-scroll` (the directive). [➡ How to upgrade](https://github.com/Nolanus/ngx-page-scroll/issues/88#issuecomment-456824209)
13-
1412
## Features
1513

1614
- flexible: trigger scroll animations after component load, server response, etc.

e2e/src/app.po.ts

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export abstract class AppPage {
99
return browser.get(this.getPath()) as promise.Promise<any>;
1010
}
1111

12-
scrollToElement(elm: ElementFinder): promise.Promise<{}> {
12+
scrollToElement(elm: ElementFinder): promise.Promise<unknown> {
1313
return elm.getLocation().then((loc) => {
1414
return browser.driver.executeScript('window.scrollTo(0,arguments[0]);', loc.y);
1515
});
@@ -20,15 +20,15 @@ export abstract class AppPage {
2020
}
2121

2222
protected getOffsetTop(selector: By): promise.Promise<number> {
23-
return element(selector).getAttribute('offsetTop').then((offsetTopString) => {
24-
return +offsetTopString;
25-
});
23+
return browser.driver.executeScript('return (arguments[0].offsetTop);', element(selector).getWebElement());
2624
}
2725

2826
protected getScrollTop(selector: By): promise.Promise<number> {
29-
return element(selector).getAttribute('scrollTop').then((scrollTop) => {
30-
return +scrollTop;
31-
});
27+
return browser.driver.executeScript('return (arguments[0].scrollTop);', element(selector).getWebElement());
28+
}
29+
30+
protected getScrollHeight(selector: By): promise.Promise<number> {
31+
return browser.driver.executeScript('return (arguments[0].scrollHeight);', element(selector).getWebElement());
3232
}
3333

3434
protected getVerticalPosition(selector: By): promise.Promise<number> {
@@ -46,11 +46,7 @@ export abstract class AppPage {
4646
}
4747

4848
getBodyScrollHeight(): promise.Promise<number> {
49-
const body: ElementFinder = element(by.css('body'));
50-
51-
return body.getAttribute('scrollHeight').then((bodyScrollHeightString: string) => {
52-
return +bodyScrollHeightString;
53-
});
49+
return this.getScrollHeight(by.css('body'));
5450
}
5551

5652
getWindowInnerHeight(): promise.Promise<number> {

e2e/src/namespaces.e2e-spec.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ describe('Namespace Feature', () => {
1212
});
1313

1414
it('should have only one scroll animation running in one namespace', () => {
15-
const trigger: ElementFinder = element(by.css('#startDefaultNamespaceScrollsButton'));
16-
1715
// Check that both containers start at the top
1816
protractor.promise.all([page.getContainer1ScrollTop(), page.getContainer2ScrollTop()]).then(
1917
([container1ScrollTop, container2ScrollTop]) => {

projects/ngx-page-scroll-core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ngx-page-scroll-core",
3-
"version": "7.0.4",
3+
"version": "7.0.5",
44
"description": "Animated scrolling functionality for angular written in pure typescript",
55
"keywords": [
66
"angular",

projects/ngx-page-scroll-core/src/lib/providers/ngx-page-scroll.service.ts

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ import { defaultPageScrollConfig, NGXPS_CONFIG } from './config.provider';
88
providedIn: 'root',
99
})
1010
export class PageScrollService {
11-
private static instanceCounter = 0;
12-
1311
private readonly config: PageScrollConfig;
1412

1513
private runningInstances: PageScrollInstance[] = [];
@@ -272,12 +270,5 @@ export class PageScrollService {
272270

273271
constructor(@Inject(NGXPS_CONFIG) customConfig: PageScrollConfig) {
274272
this.config = {...defaultPageScrollConfig, ...customConfig};
275-
276-
if (PageScrollService.instanceCounter > 0 &&
277-
(this.config._logLevel >= 2 || (this.config._logLevel >= 1 && isDevMode()))) {
278-
console.warn('An instance of PageScrollService already exists, usually ' +
279-
'including one provider should be enough, so double check.');
280-
}
281-
PageScrollService.instanceCounter++;
282273
}
283274
}

projects/ngx-page-scroll/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ngx-page-scroll",
3-
"version": "7.0.4",
3+
"version": "7.0.5",
44
"description": "Convenience directive for animated scrolling functionality for angular written in pure typescript",
55
"keywords": [
66
"angular",
@@ -24,7 +24,7 @@
2424
},
2525
"homepage": "https://github.com/Nolanus/ngx-page-scroll#readme",
2626
"peerDependencies": {
27-
"ngx-page-scroll-core": "7.0.3",
27+
"ngx-page-scroll-core": "7.0.5",
2828
"@angular/common": "^8.0.0 || ^9.0.0 || ^10.0.5 || ^11.0.0",
2929
"@angular/core": "^8.0.0 || ^9.0.0 || ^10.0.5 || ^11.0.0"
3030
},

0 commit comments

Comments
 (0)