mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
feat(DomController): add DomController provider using stencil queue
This commit is contained in:
6
angular/package-lock.json
generated
6
angular/package-lock.json
generated
@@ -2020,7 +2020,7 @@
|
||||
},
|
||||
"onetime": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
|
||||
"integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
|
||||
"dev": true
|
||||
},
|
||||
@@ -2135,7 +2135,7 @@
|
||||
},
|
||||
"onetime": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
|
||||
"integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
|
||||
"dev": true
|
||||
},
|
||||
@@ -2335,7 +2335,7 @@
|
||||
},
|
||||
"onetime": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz",
|
||||
"integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=",
|
||||
"dev": true
|
||||
},
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -13,8 +13,15 @@ export class DomController {
|
||||
}
|
||||
|
||||
function getQueue() {
|
||||
const ionic = (window as any).Ionic;
|
||||
return ionic.queue;
|
||||
const Ionic = (window as any).Ionic;
|
||||
if (Ionic && Ionic.queue) {
|
||||
return Ionic.queue;
|
||||
}
|
||||
|
||||
return {
|
||||
read: (cb: any) => window.requestAnimationFrame(cb),
|
||||
write: (cb: any) => window.requestAnimationFrame(cb)
|
||||
};
|
||||
}
|
||||
|
||||
export type RafCallback = { (timeStamp?: number): void };
|
||||
|
||||
115
angular/test/nav/package-lock.json
generated
115
angular/test/nav/package-lock.json
generated
@@ -32,7 +32,7 @@
|
||||
"requires": {
|
||||
"ajv": "5.5.2",
|
||||
"chokidar": "1.7.0",
|
||||
"rxjs": "5.5.7",
|
||||
"rxjs": "5.5.9",
|
||||
"source-map": "0.5.7"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -47,6 +47,15 @@
|
||||
"fast-json-stable-stringify": "2.0.0",
|
||||
"json-schema-traverse": "0.3.1"
|
||||
}
|
||||
},
|
||||
"rxjs": {
|
||||
"version": "5.5.9",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.9.tgz",
|
||||
"integrity": "sha512-DHG9AHmCmgaFWgjBcXp6NxFDmh3MvIA62GqTWmLnTzr/3oZ6h5hLD8NA+9j+GF0jEwklNIpI4KuuyLG8UWMEvQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"symbol-observable": "1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -57,13 +66,24 @@
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@ngtools/json-schema": "1.2.0",
|
||||
"rxjs": "5.5.7"
|
||||
"rxjs": "5.5.9"
|
||||
},
|
||||
"dependencies": {
|
||||
"rxjs": {
|
||||
"version": "5.5.9",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.9.tgz",
|
||||
"integrity": "sha512-DHG9AHmCmgaFWgjBcXp6NxFDmh3MvIA62GqTWmLnTzr/3oZ6h5hLD8NA+9j+GF0jEwklNIpI4KuuyLG8UWMEvQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"symbol-observable": "1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@angular/animations": {
|
||||
"version": "5.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.9.tgz",
|
||||
"integrity": "sha512-H/3fMs4PhYjKoA81II6D0PHifDrqlKet2u/EXzUBq3ehXby+N/0GBzqsBYwPeU5pTye7WPFfW+5sgoJpN8Ye6Q==",
|
||||
"version": "6.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-6.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-uUx8n3rnORn3pVb1sPiPYRhCETsaLLLeygPKlfqcTqdO8/hUEdumGI0hfrn0rW8qK2x2Pwxvz2qNPkn4iGgwTg==",
|
||||
"requires": {
|
||||
"tslib": "1.9.0"
|
||||
}
|
||||
@@ -117,7 +137,7 @@
|
||||
"postcss-url": "7.3.1",
|
||||
"raw-loader": "0.5.1",
|
||||
"resolve": "1.6.0",
|
||||
"rxjs": "5.5.7",
|
||||
"rxjs": "5.5.9",
|
||||
"sass-loader": "6.0.7",
|
||||
"semver": "5.5.0",
|
||||
"silent-error": "1.1.0",
|
||||
@@ -133,20 +153,31 @@
|
||||
"webpack-merge": "4.1.2",
|
||||
"webpack-sources": "1.1.0",
|
||||
"webpack-subresource-integrity": "1.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"rxjs": {
|
||||
"version": "5.5.9",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.9.tgz",
|
||||
"integrity": "sha512-DHG9AHmCmgaFWgjBcXp6NxFDmh3MvIA62GqTWmLnTzr/3oZ6h5hLD8NA+9j+GF0jEwklNIpI4KuuyLG8UWMEvQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"symbol-observable": "1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@angular/common": {
|
||||
"version": "5.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-5.2.9.tgz",
|
||||
"integrity": "sha512-g2hPcI0fnT4TV+Fd+1IohjuqBxPvxwyH9IzTn8PkU9X2M+F6cHCUvHxL1sWI2sF8pYcaHzVjq9WClym10X36Lg==",
|
||||
"version": "6.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular/common/-/common-6.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-arc0LoT2opge2CDUXufN+TIjTUUx+N46MSWW1sKiLUzbK38E2nZ4S1RHoVDR6P7c6ruKMmaqZFJkOn6wd5Oi0w==",
|
||||
"requires": {
|
||||
"tslib": "1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/compiler": {
|
||||
"version": "5.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.2.9.tgz",
|
||||
"integrity": "sha512-mN+ofInk8y/tk2TCJZx8RrGdOKdrfunoCair7tfDy4XoQJE90waGfaYWo07hYU+UYwLhrg19m2Czy6rIDciUJA==",
|
||||
"version": "6.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-6.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-ZRsAtThpSrXKQ0N64Wa7ovDXXQ333uyRKUqApNo0NskvWwURiiBU9gACR4KmJmBRo4PUyITkFnyOM+6QMFDGQQ==",
|
||||
"requires": {
|
||||
"tslib": "1.9.0"
|
||||
}
|
||||
@@ -172,25 +203,25 @@
|
||||
}
|
||||
},
|
||||
"@angular/core": {
|
||||
"version": "5.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-5.2.9.tgz",
|
||||
"integrity": "sha512-cvHBJGtasrIoARvbLFyHaOsiWKVwMNrrSTZLwrlyHP8oYzkDrE0qKGer6QCqyKt+51hF53cgWEffGzM/u/0wYg==",
|
||||
"version": "6.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular/core/-/core-6.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-zB6bpFNx6Iefko6HKYMSKjyB0XJj8yAgK1G/Ozzb+hbSMmkVi+HetG4v0WXg4sn2mD5NGxj+7qz7tGAzhlBgdA==",
|
||||
"requires": {
|
||||
"tslib": "1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/forms": {
|
||||
"version": "5.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.2.9.tgz",
|
||||
"integrity": "sha512-zyIOiZV/FAm1iVZWTk3Joz6Jt096hbhfDbBUrssmuiTKi9dU6rWG+Z4b88zStqulKe3HFVZkgdixWlminG8nKA==",
|
||||
"version": "6.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-6.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-YtXrhXzee77L3YrBY60Zgd9OV90CCKWv4uUTldeSKcjFYremgmRqQy73+V2eE9akTLiKseLTaVYdntTINUL8IQ==",
|
||||
"requires": {
|
||||
"tslib": "1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/http": {
|
||||
"version": "5.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@angular/http/-/http-5.2.9.tgz",
|
||||
"integrity": "sha512-DKjgIk+Dp0Xv1ieG8LawvUnL4dYZp1KroAq5cfKuO9EojP0zM3tUvBtw2vbPLsHYma7g7ZMjOoAbzVxtmTBZqw==",
|
||||
"version": "6.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular/http/-/http-6.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-PN8W2OSeptAIJ5/CeZNGdRiTVHjuYfFSB+ZgBeWhQVBmIV5Lp5iTNDcGslEB9diMkJSNsh/jYtcA0YAFhirYhw==",
|
||||
"requires": {
|
||||
"tslib": "1.9.0"
|
||||
}
|
||||
@@ -202,25 +233,25 @@
|
||||
"dev": true
|
||||
},
|
||||
"@angular/platform-browser": {
|
||||
"version": "5.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.2.9.tgz",
|
||||
"integrity": "sha512-P6iviRTuLsLRuqtZNOO0fd4cjTo8DWsDCecwntUlI08R3kH5qeqvqarTzlw/4oD+wBzZY6bfb89JyY+n5XbX3Q==",
|
||||
"version": "6.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-6.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-uMUAImcIbunqp9DKRSqokeAYWlyYFrqQAUpJNTeksUO9zkP2rPXlUi8ogZtEybHCc9XuoByC+UgC2IOMtmS82g==",
|
||||
"requires": {
|
||||
"tslib": "1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/platform-browser-dynamic": {
|
||||
"version": "5.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.2.9.tgz",
|
||||
"integrity": "sha512-8C3MtyguJKDTT8FcHIRDlBxswcIdpfugOf4S2t94pVedCr4h9w2da/lcfwJKUISw1aKjfA77Sl8TDUhoS8ymmQ==",
|
||||
"version": "6.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-6.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-q5ZUvgGUuIVKx9I9++ovKXRssu5czNzr/1jgfzvh72a2+s5aVyVB8Zd164pdS6GSvi8lyApSNPBnBlRROHklbg==",
|
||||
"requires": {
|
||||
"tslib": "1.9.0"
|
||||
}
|
||||
},
|
||||
"@angular/router": {
|
||||
"version": "5.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-5.2.9.tgz",
|
||||
"integrity": "sha512-NtDbFK0EA1rfFc+5Dqd5mIv8E1Wcc5rDUnSty4cX2V+HxTEZvQ9DRdpO2Q0abWU5siXyqponuPHJzF08OVGyNA==",
|
||||
"version": "6.0.0-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/@angular/router/-/router-6.0.0-rc.3.tgz",
|
||||
"integrity": "sha512-H621WrhkGayCZlr7f6V2czVAZPPXCeAXqsGjt5MWgB+MzpPP/+lrqKMhku9ZDE0OrlDucU2g34oipGoh0tJW2g==",
|
||||
"requires": {
|
||||
"tslib": "1.9.0"
|
||||
}
|
||||
@@ -275,9 +306,20 @@
|
||||
"integrity": "sha512-7aVP4994Hu8vRdTTohXkfGWEwLhrdNP3EZnWyBootm5zshWqlQojUGweZe5zwewsKcixeVOiy2YtW+aI4aGSLA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"rxjs": "5.5.7",
|
||||
"rxjs": "5.5.9",
|
||||
"semver": "5.5.0",
|
||||
"semver-intersect": "1.3.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"rxjs": {
|
||||
"version": "5.5.9",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.9.tgz",
|
||||
"integrity": "sha512-DHG9AHmCmgaFWgjBcXp6NxFDmh3MvIA62GqTWmLnTzr/3oZ6h5hLD8NA+9j+GF0jEwklNIpI4KuuyLG8UWMEvQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"symbol-observable": "1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@types/jasmine": {
|
||||
@@ -7810,11 +7852,11 @@
|
||||
}
|
||||
},
|
||||
"rxjs": {
|
||||
"version": "5.5.7",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.7.tgz",
|
||||
"integrity": "sha512-Hxo2ac8gRQjwjtKgukMIwBRbq5+KAeEV5hXM4obYBOAghev41bDQWgFH4svYiU9UnQ5kNww2LgfyBdevCd2HXA==",
|
||||
"version": "6.0.0-terrific-rc.3",
|
||||
"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.0.0-terrific-rc.3.tgz",
|
||||
"integrity": "sha512-CRpXVpRbuBsgbnTi/KjgYJ8/C1IXaeFL8obHtbxQrPorfhRPGEkIvbuQ+sTQnw9slszhRLrPz9EhmuGrVP8kYQ==",
|
||||
"requires": {
|
||||
"symbol-observable": "1.0.1"
|
||||
"tslib": "1.9.0"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
@@ -8887,7 +8929,8 @@
|
||||
"symbol-observable": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
|
||||
"integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ="
|
||||
"integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=",
|
||||
"dev": true
|
||||
},
|
||||
"tapable": {
|
||||
"version": "0.2.8",
|
||||
|
||||
@@ -12,21 +12,21 @@
|
||||
"e2e": "ng e2e"
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular/animations": "latest",
|
||||
"@angular/common": "latest",
|
||||
"@angular/compiler": "latest",
|
||||
"@angular/core": "latest",
|
||||
"@angular/forms": "latest",
|
||||
"@angular/http": "latest",
|
||||
"@angular/platform-browser": "latest",
|
||||
"@angular/platform-browser-dynamic": "latest",
|
||||
"@angular/router": "latest",
|
||||
"@angular/animations": "^6.0.0-rc.3",
|
||||
"@angular/common": "^6.0.0-rc.3",
|
||||
"@angular/compiler": "^6.0.0-rc.3",
|
||||
"@angular/core": "^6.0.0-rc.3",
|
||||
"@angular/forms": "^6.0.0-rc.3",
|
||||
"@angular/http": "^6.0.0-rc.3",
|
||||
"@angular/platform-browser": "^6.0.0-rc.3",
|
||||
"@angular/platform-browser-dynamic": "^6.0.0-rc.3",
|
||||
"@angular/router": "^6.0.0-rc.3",
|
||||
"@ionic/angular": "next",
|
||||
"body-parser": "^1.18.2",
|
||||
"core-js": "^2.4.1",
|
||||
"express": "^4.16.2",
|
||||
"rxjs": "^5.5.2",
|
||||
"zone.js": "^0.8.14"
|
||||
"rxjs": "^6.0.0-terrific-rc.3",
|
||||
"zone.js": "^0.8.20"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular/cli": "latest",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { DomController } from '@ionic/angular';
|
||||
|
||||
@Component({
|
||||
selector: 'app-card-page',
|
||||
@@ -60,8 +61,27 @@ import { Component } from '@angular/core';
|
||||
`
|
||||
})
|
||||
export class CardPageComponent {
|
||||
constructor() {
|
||||
|
||||
constructor(public domCtrl: DomController) {
|
||||
this.domControllerTest('constructor');
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this.domControllerTest('ngOnInit');
|
||||
|
||||
setTimeout(() => {
|
||||
this.domControllerTest('setTimeout');
|
||||
}, 5000);
|
||||
}
|
||||
|
||||
domControllerTest(test: string) {
|
||||
this.domCtrl.read(readTimeStamp => {
|
||||
console.log('DomController read:', test, readTimeStamp);
|
||||
|
||||
this.domCtrl.write(writeTimeStamp => {
|
||||
console.log('DomController write:', test, writeTimeStamp);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
toggleColor() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
import { CommonModule } from '@angular/common';
|
||||
|
||||
import { IonicModule } from '@ionic/angular';
|
||||
import { IonicModule, DomController } from '@ionic/angular';
|
||||
import { CardPageComponent } from './card-page.component';
|
||||
import { CardRoutingModule } from './card-routing.module';
|
||||
|
||||
@@ -11,6 +11,11 @@ import { CardRoutingModule } from './card-routing.module';
|
||||
IonicModule,
|
||||
CardRoutingModule
|
||||
],
|
||||
declarations: [CardPageComponent]
|
||||
declarations: [
|
||||
CardPageComponent
|
||||
],
|
||||
providers: [
|
||||
DomController
|
||||
]
|
||||
})
|
||||
export class CardModule { }
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
|
||||
@Injectable()
|
||||
export class PostTestService {
|
||||
constructor(private http: HttpClient) { }
|
||||
|
||||
post(data: any): Observable<any> {
|
||||
post(data: any) {
|
||||
return this.http.post('http://localhost:5000/test', data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"@angular/platform-browser": ["../../../node_modules/@angular/platform-browser/"],
|
||||
"@angular/platform-browser-dynamic": ["../../../node_modules/@angular/platform-browser-dynamic/"],
|
||||
"@angular/router": ["../../../node_modules/@angular/router/"],
|
||||
"rxjs": ["../../../node_modules/@angular/rxjs/"],
|
||||
"rxjs": ["../../../node_modules/rxjs/"],
|
||||
"@ionic/angular": ["../../../"]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user