diff --git a/angular/package.json b/angular/package.json index 26ea7949837..3f45b23b132 100644 --- a/angular/package.json +++ b/angular/package.json @@ -48,30 +48,30 @@ "tslib": "^1.9.3" }, "peerDependencies": { - "@angular-devkit/core": "^7.1.4", - "@angular-devkit/schematics": "^7.1.4", - "@angular/core": "^7.1.4", - "@angular/common": "^7.1.4", - "@angular/forms": "^7.1.4", - "@angular/router": "^7.1.4", - "@angular/compiler": "^7.1.4", - "@angular/compiler-cli": "^7.1.4", - "@angular/platform-browser": "^7.1.4", - "@angular/platform-browser-dynamic": "^7.1.4", + "@angular-devkit/core": "^7.2.0", + "@angular-devkit/schematics": "^7.2.0", + "@angular/core": "^7.2.0", + "@angular/common": "^7.2.0", + "@angular/forms": "^7.2.0", + "@angular/router": "^7.2.0", + "@angular/compiler": "^7.2.0", + "@angular/compiler-cli": "^7.2.0", + "@angular/platform-browser": "^7.2.0", + "@angular/platform-browser-dynamic": "^7.2.0", "rxjs": ">=6.2.0", "zone.js": "^0.8.26" }, "devDependencies": { - "@angular-devkit/core": "^7.1.4", - "@angular-devkit/schematics": "^7.1.4", - "@angular/common": "^7.1.4", - "@angular/compiler": "^7.1.4", - "@angular/compiler-cli": "^7.1.4", - "@angular/core": "^7.1.4", - "@angular/forms": "^7.1.4", - "@angular/platform-browser": "^7.1.4", - "@angular/platform-browser-dynamic": "^7.1.4", - "@angular/router": "^7.1.4", + "@angular-devkit/core": "^7.2.0", + "@angular-devkit/schematics": "^7.2.0", + "@angular/common": "^7.2.0", + "@angular/compiler": "^7.2.0", + "@angular/compiler-cli": "^7.2.0", + "@angular/core": "^7.2.0", + "@angular/forms": "^7.2.0", + "@angular/platform-browser": "^7.2.0", + "@angular/platform-browser-dynamic": "^7.2.0", + "@angular/router": "^7.2.0", "@types/node": "~10.12.0", "fs-extra": "^7.0.0", "glob": "^7.1.3", @@ -81,7 +81,7 @@ "tsickle": "^0.34.0", "tslint": "^5.10.0", "tslint-ionic-rules": "0.0.21", - "typescript": "3.1.6", + "typescript": "3.2.2", "zone.js": "^0.8.26" }, "schematics": "./dist/schematics/collection.json" diff --git a/angular/src/directives/index.ts b/angular/src/directives/index.ts deleted file mode 100644 index 7b26dad4de1..00000000000 --- a/angular/src/directives/index.ts +++ /dev/null @@ -1,19 +0,0 @@ - -export { BooleanValueAccessor } from './control-value-accessors/boolean-value-accessor'; -export { NumericValueAccessor } from './control-value-accessors/numeric-value-accesssor'; -export { RadioValueAccessor } from './control-value-accessors/radio-value-accessor'; -export { SelectValueAccessor } from './control-value-accessors/select-value-accessor'; -export { TextValueAccessor } from './control-value-accessors/text-value-accessor'; - -export { IonTabs } from './navigation/ion-tabs'; -export { IonBackButtonDelegate } from './navigation/ion-back-button'; -export { NavDelegate } from './navigation/nav-delegate'; -export { IonRouterOutlet } from './navigation/ion-router-outlet'; -export { RouterLinkDelegate } from './navigation/router-link-delegate'; -export { NavParams } from './navigation/nav-params'; - -export { IonVirtualScroll } from './virtual-scroll/virtual-scroll'; -export { VirtualItem } from './virtual-scroll/virtual-item'; -export { VirtualHeader } from './virtual-scroll/virtual-header'; -export { VirtualFooter } from './virtual-scroll/virtual-footer'; -export * from './proxies'; diff --git a/angular/src/index.ts b/angular/src/index.ts index f572703fa00..023f554e4d6 100644 --- a/angular/src/index.ts +++ b/angular/src/index.ts @@ -1,11 +1,39 @@ -// export custom directives -export * from './directives'; +// DIRECTIVES +export { BooleanValueAccessor } from './directives/control-value-accessors/boolean-value-accessor'; +export { NumericValueAccessor } from './directives/control-value-accessors/numeric-value-accesssor'; +export { RadioValueAccessor } from './directives/control-value-accessors/radio-value-accessor'; +export { SelectValueAccessor } from './directives/control-value-accessors/select-value-accessor'; +export { TextValueAccessor } from './directives/control-value-accessors/text-value-accessor'; +export { IonTabs } from './directives/navigation/ion-tabs'; +export { IonBackButtonDelegate } from './directives/navigation/ion-back-button'; +export { NavDelegate } from './directives/navigation/nav-delegate'; +export { IonRouterOutlet } from './directives/navigation/ion-router-outlet'; +export { RouterLinkDelegate } from './directives/navigation/router-link-delegate'; +export { NavParams } from './directives/navigation/nav-params'; +export { IonVirtualScroll } from './directives/virtual-scroll/virtual-scroll'; +export { VirtualItem } from './directives/virtual-scroll/virtual-item'; +export { VirtualHeader } from './directives/virtual-scroll/virtual-header'; +export { VirtualFooter } from './directives/virtual-scroll/virtual-footer'; +export * from './directives/proxies'; -// export custom providers -export * from './providers'; +// PROVIDERS +export { AngularDelegate } from './providers/angular-delegate'; +export { ActionSheetController } from './providers/action-sheet-controller'; +export { AlertController } from './providers/alert-controller'; +export { Events } from './providers/events'; +export { LoadingController } from './providers/loading-controller'; +export { MenuController } from './providers/menu-controller'; +export { PickerController } from './providers/picker-controller'; +export { ModalController } from './providers/modal-controller'; +export { Platform } from './providers/platform'; +export { PopoverController } from './providers/popover-controller'; +export { ToastController } from './providers/toast-controller'; +export { NavController } from './providers/nav-controller'; +export { DomController } from './providers/dom-controller'; +export { Config } from './providers/config'; -// ionic route reuse strategy -export * from './util/ionic-router-reuse-strategy'; +// ROUTER STRATEGY +export { IonicRouteStrategy } from './util/ionic-router-reuse-strategy'; -// export module +// PACKAGE MODULE export { IonicModule } from './ionic-module'; diff --git a/angular/src/providers/index.ts b/angular/src/providers/index.ts deleted file mode 100644 index d9f4f70ed5a..00000000000 --- a/angular/src/providers/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -export { AngularDelegate } from './angular-delegate'; -export { ActionSheetController } from './action-sheet-controller'; -export { AlertController } from './alert-controller'; -export { Events } from './events'; -export { LoadingController } from './loading-controller'; -export { MenuController } from './menu-controller'; -export { PickerController } from './picker-controller'; -export { ModalController } from './modal-controller'; -export { Platform } from './platform'; -export { PopoverController } from './popover-controller'; -export { ToastController } from './toast-controller'; -export { NavController } from './nav-controller'; -export { DomController } from './dom-controller'; -export { Config } from './config'; diff --git a/angular/test/test-app/e2e/src/view-child.e2e-spec.ts b/angular/test/test-app/e2e/src/view-child.e2e-spec.ts new file mode 100644 index 00000000000..90c9bff24dd --- /dev/null +++ b/angular/test/test-app/e2e/src/view-child.e2e-spec.ts @@ -0,0 +1,21 @@ +import { browser, element, by } from 'protractor'; +import { getProperty, setProperty, handleErrorMessages } from './utils'; + +describe('view-child', () => { + + beforeEach(async () => { + await browser.get('/view-child'); + }); + afterEach(() => { + handleErrorMessages(); + }); + + it('should get a reference to all children', async () => { + // button should be red + expect(await element(by.css('#color-button.ion-color-danger')).isPresent()).toBeTruthy(); + + // tabs should be found + expect(await element(by.css('#tabs-result')).getText()).toEqual('tabs found'); + }); + +}); diff --git a/angular/test/test-app/package-lock.json b/angular/test/test-app/package-lock.json index d01e4dc87e0..281004f3314 100644 --- a/angular/test/test-app/package-lock.json +++ b/angular/test/test-app/package-lock.json @@ -132,60 +132,124 @@ } }, "@angular-devkit/schematics": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.1.0.tgz", - "integrity": "sha512-MIK6eT3x6EppUcz7KFwJ63z3gUVmi5dQPiN8p+kTpHE2SorZCQvQ6+YKUMw9VZ6WLEQOZYJfoQozKyEWllNlsw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.2.1.tgz", + "integrity": "sha512-jEhwkeDn8exgJBfUwMc6rdtDkxHJkUmKPTn4M436bkMMMa9KFPFbPpzp9weKpB3SbRjM3Mu90JprO4C7qDtCcg==", "dev": true, "requires": { - "@angular-devkit/core": "7.1.0", + "@angular-devkit/core": "7.2.1", "rxjs": "6.3.3" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.2.1.tgz", + "integrity": "sha512-zOozPswSM1cTkltw5LeSPoZ/fJ2d3vN304IVgKgrM5/Fs54bd7nTaBcAK+HvjKS+5KmykYrXW47Q4CdFJikluQ==", + "dev": true, + "requires": { + "ajv": "6.6.2", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", + "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + } } }, "@angular/animations": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.1.0.tgz", - "integrity": "sha512-1Sje3qptVsTxPP4LwcvVPQun4P156wsEEwwCXoCO3NuP+tS67syU8M69uIpyDbpnx2ZeuWpJ9HfvKe1ljeqcuw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.2.0.tgz", + "integrity": "sha512-xi832o3YN+eYSV4PDRllc8JwkH4aKPlb7NZ0UaqchOmz9/jQcykCEMZDzQAZUgHG1ohay6JBVaV8/zNcbSsRCA==", "requires": { "tslib": "^1.9.0" } }, "@angular/cli": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.1.0.tgz", - "integrity": "sha512-G7WZvClrZjfo0VL6eFxwzqPffUQr3XbdkdCUcVbzJVnkFLrBG5Q2jFOJaZ4uFeRW4z5UM+8u/4N9N1Z6MH2QAQ==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.2.1.tgz", + "integrity": "sha512-KA5HE+s2ZBV9T+3XAvLXZulvPzp2BQKEKCoj6aefZB+TZASeatXO8keDDm2+N/8zqoqSe/akf6hvB/u9x0xJ3w==", "dev": true, "requires": { - "@angular-devkit/architect": "0.11.0", - "@angular-devkit/core": "7.1.0", - "@angular-devkit/schematics": "7.1.0", - "@schematics/angular": "7.1.0", - "@schematics/update": "0.11.0", - "inquirer": "6.2.0", + "@angular-devkit/architect": "0.12.1", + "@angular-devkit/core": "7.2.1", + "@angular-devkit/schematics": "7.2.1", + "@schematics/angular": "7.2.1", + "@schematics/update": "0.12.1", + "inquirer": "6.2.1", "opn": "5.3.0", "semver": "5.5.1", "symbol-observable": "1.2.0" + }, + "dependencies": { + "@angular-devkit/architect": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.12.1.tgz", + "integrity": "sha512-1ozBP0ZAApkSfuPpZ7b9vShU8smNxb98jW+65S12cPOxv1bVVxCj5sTmC3sSfXapgq/pMzblbaVSKOG7Ajz0vQ==", + "dev": true, + "requires": { + "@angular-devkit/core": "7.2.1", + "rxjs": "6.3.3" + } + }, + "@angular-devkit/core": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.2.1.tgz", + "integrity": "sha512-zOozPswSM1cTkltw5LeSPoZ/fJ2d3vN304IVgKgrM5/Fs54bd7nTaBcAK+HvjKS+5KmykYrXW47Q4CdFJikluQ==", + "dev": true, + "requires": { + "ajv": "6.6.2", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", + "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + } } }, "@angular/common": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.1.0.tgz", - "integrity": "sha512-tu6Hv3/z3K2NLD4ndBioGtcykhbwhMJYUWb0NvaOLhaVYColWKPFpkflEorDWB+3/IWkpELGhA/HQ2zQh7EVyg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.2.0.tgz", + "integrity": "sha512-5HNGT+XsY+7sQcNoFRqhbUfVdnBAtXaupmMbBclnQHTon9y9Ijp0ocYi7zxx39feo6xYF5HhBMnDPkFgtAnsYQ==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.1.0.tgz", - "integrity": "sha512-1Hjx6e+lVXZyXFFe4OW34ZpiaGEYyB1MQ7k2C+cMm0ABMQS3LsWT4DYhY7bk0mmMuuXQj66C62MX76ladDtdIg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.2.0.tgz", + "integrity": "sha512-On1qj4yQoIGxGOQ09ohTq0QNjrIJtWcwnCXYAEEyc83eadBMOqiFh6SUMgX1O+B7BIB4mebFw/n/etez0A21xw==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler-cli": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.1.0.tgz", - "integrity": "sha512-Q42B3YmjMNYWTxTWfyDDFa6HSVqwY3rZO5Kp3Q/NKhQ6w/WddduxjARf/OCbtp0bVX3wZNObS6nO4H65rNCtsw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.2.0.tgz", + "integrity": "sha512-BKELLAnA4jWfyPEzuVxTNNFAPKJOyh4Xjw7c+dRf90bnw9iIgZOpz9WXSN/xfEhftqRPTnPcfs56i6bxqeYCCQ==", "dev": true, "requires": { "canonical-path": "1.0.0", @@ -351,7 +415,7 @@ }, "load-json-file": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", "dev": true, "requires": { @@ -393,7 +457,7 @@ }, "minimist": { "version": "1.2.0", - "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true }, @@ -419,7 +483,7 @@ }, "pify": { "version": "2.3.0", - "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true }, @@ -520,47 +584,47 @@ } }, "@angular/core": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.1.0.tgz", - "integrity": "sha512-7mMoWuf8jAf4hcjQ0Exz2w9Qx9SRwNuDdtEZFGWH9dZWz5uPCewrN+Kt9MigMfSYGEdLAPcRMIuvFHDCS8B3Hg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.2.0.tgz", + "integrity": "sha512-tlCDDM9IknXvVLk1sg0lzCO4OREM54i1bFtTpl5kPtugK6l4kYCOH78UzDPHnOzzI3LGLj8Hb2NiObVa9c4fdg==", "requires": { "tslib": "^1.9.0" } }, "@angular/forms": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.1.0.tgz", - "integrity": "sha512-Gwk80SFqucA0Q0E+I90Onec453QVGhcDU0UUAI09NgTKq+K+/g8xudWUx4pwE9t8WOyOhI5jtFRUtY5XAbfnig==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.2.0.tgz", + "integrity": "sha512-vgnKgThitbaSQekTFt8qCFejnBwBMNJDUm7LJFcvRn4wcZKArTARTfSKHudNYCjTEqs9/YT4TJQTm9flVRbUJw==", "requires": { "tslib": "^1.9.0" } }, "@angular/language-service": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.1.0.tgz", - "integrity": "sha512-dgYCD4Kw6j14hPykprSkMJNCo05dKu+JroMR84/PA/J+weN39nAUj4+/TV4oElbRK2Mr/xtHzSkb259y3Rwm/Q==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.2.0.tgz", + "integrity": "sha512-UDmIRR0ybdafrJLHkSDgc/3PpsA9lnwXqGMSAyyhEF3InORFFkloAb0a6Naz+y8ePgEMfqbpyWjtzo8qGtOmEQ==", "dev": true }, "@angular/platform-browser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.1.0.tgz", - "integrity": "sha512-kCrmaNZukWaXk6qlvzyE1Dln/YB2XOGbhb9e+y3NE94beCgDTWseKViMevIoGm/H+Lzf0I2RPg8GMKkQ7pQwNQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.2.0.tgz", + "integrity": "sha512-ClrGYlacK0kexE7eHLfruOjgJl0MtMt7RsMv5i757GUwbOm1dCwG1HK8cLNDZJFHMZodKVKwEGS6/R5Cl6vrNg==", "requires": { "tslib": "^1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.1.0.tgz", - "integrity": "sha512-0yG6e/ZOI9LNUGgSjJ7xUWZhC41z87klO0oEHhEzQeaDxO/SOBasbMiws4ETuhulMgOR81UCAVobXMoOQJbfWg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.2.0.tgz", + "integrity": "sha512-IiyBcQIQVDZMxfpTYex1QfPmcMubKLgu1pCvQsjr0HmUEySqcykO+FzHlYLf5TTgRrtkI6cP2pYzTHGVR93Gpg==", "requires": { "tslib": "^1.9.0" } }, "@angular/router": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.1.0.tgz", - "integrity": "sha512-yrjNvCj7XbXmZSmQfXGEkWJ9ogRZmIk5GHyOfGKNNRXhQK2OBznY0Avyer2r3mcgV/RLrI1FYQyKN9mdLftf6g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.2.0.tgz", + "integrity": "sha512-Jpm0Y5IH30hIQsbnLgi2/LgHbArfE9gWMj/9mDIUOlJeQfGzNVoifBE+zLLJU/wb09+ZtfwGBxkMeDTitH/n2A==", "requires": { "tslib": "^1.9.0" } @@ -726,20 +790,20 @@ } }, "@ionic/angular": { - "version": "4.0.0-beta.18", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-4.0.0-beta.18.tgz", - "integrity": "sha512-VQCT6vGg4tNzmVWZTzIE0tXI8tRGuSlQJMmRmWVuRsAncr+/P+02BzYL3R5ssrLcoRlsJhUJmIyIcJ1XbEkW9w==", + "version": "4.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-4.0.0-rc.1.tgz", + "integrity": "sha512-BoNynQ7s+9v4D/yOg6Po33c8svL3HLrL623cmU2CeXIh8F7c4DTlyn+vE6x1ifWrlHucLc5KmMCGd5YqzsGfNw==", "requires": { - "@ionic/core": "4.0.0-beta.18", + "@ionic/core": "4.0.0-rc.1", "tslib": "^1.9.3" } }, "@ionic/core": { - "version": "4.0.0-beta.18", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-4.0.0-beta.18.tgz", - "integrity": "sha512-mppyG+7NJWaA/y25dzkyduZm+T527Mpm37jOxfQIAeDEYUvyj/yO5hOrXo1WwzSXI4EquxFnoIfbmlE0Jj0FRg==", + "version": "4.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-4.0.0-rc.1.tgz", + "integrity": "sha512-HGMjSq0hW7xVczTDib3tJ1aLi6RgE6R3spKWRiEsVvuBz3WGrLAuG6ASFic/U1k5LLG6vyJoWs4qvZ24b3dXag==", "requires": { - "ionicons": "4.5.0" + "ionicons": "4.5.1" } }, "@ngtools/webpack": { @@ -774,30 +838,90 @@ } }, "@schematics/angular": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.1.0.tgz", - "integrity": "sha512-BLRTHlhYXgP49OwDyoolwolf7LqxOAPuc8lpgH0HEmYjkXmufZ4urngyFKY1IuBwaAR4PLjDx3U/ofszyV0taw==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.2.1.tgz", + "integrity": "sha512-UdqU8udVr693BZ6uaZ7+el/VFlTjrmp56OS+6YaziyAko84e1Q1Fcx+fwdHugy4V3YmQhTVsyOPSEsphnwSwOA==", "dev": true, "requires": { - "@angular-devkit/core": "7.1.0", - "@angular-devkit/schematics": "7.1.0", - "typescript": "3.1.6" + "@angular-devkit/core": "7.2.1", + "@angular-devkit/schematics": "7.2.1", + "typescript": "3.2.2" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.2.1.tgz", + "integrity": "sha512-zOozPswSM1cTkltw5LeSPoZ/fJ2d3vN304IVgKgrM5/Fs54bd7nTaBcAK+HvjKS+5KmykYrXW47Q4CdFJikluQ==", + "dev": true, + "requires": { + "ajv": "6.6.2", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", + "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "typescript": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz", + "integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==", + "dev": true + } } }, "@schematics/update": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.11.0.tgz", - "integrity": "sha512-Zrt4MQOM8DjK7fYVrzx08KhQ7jSj/at0/uF+Ca+ObZJIiC67IY8NXlc1TETXpB4A2UYrclvc9mTpZrvgIoEcYA==", + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.12.1.tgz", + "integrity": "sha512-P92tDxy0AA1NPhaThiJ7fIFxIC4jzlGK7sJlpbnRREBImsI/O9gmGaV8Kjy+75vaEjqpWaU2oj1hnWqkmxSK1A==", "dev": true, "requires": { - "@angular-devkit/core": "7.1.0", - "@angular-devkit/schematics": "7.1.0", + "@angular-devkit/core": "7.2.1", + "@angular-devkit/schematics": "7.2.1", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", "pacote": "9.1.1", "rxjs": "6.3.3", "semver": "5.5.1", "semver-intersect": "1.4.0" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.2.1.tgz", + "integrity": "sha512-zOozPswSM1cTkltw5LeSPoZ/fJ2d3vN304IVgKgrM5/Fs54bd7nTaBcAK+HvjKS+5KmykYrXW47Q4CdFJikluQ==", + "dev": true, + "requires": { + "ajv": "6.6.2", + "chokidar": "2.0.4", + "fast-json-stable-stringify": "2.0.0", + "rxjs": "6.3.3", + "source-map": "0.7.3" + } + }, + "ajv": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz", + "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + } } }, "@types/jasmine": { @@ -1132,7 +1256,7 @@ }, "ansi-escapes": { "version": "3.1.0", - "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", "dev": true }, @@ -3379,7 +3503,7 @@ }, "expand-range": { "version": "1.8.2", - "resolved": "http://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true, "requires": { @@ -5076,9 +5200,9 @@ "dev": true }, "inquirer": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", - "integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz", + "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==", "dev": true, "requires": { "ansi-escapes": "^3.0.0", @@ -5092,7 +5216,7 @@ "run-async": "^2.2.0", "rxjs": "^6.1.0", "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", + "strip-ansi": "^5.0.0", "through": "^2.3.6" }, "dependencies": { @@ -5116,15 +5240,34 @@ "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz", + "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz", + "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==", + "dev": true + } } } } @@ -5140,9 +5283,9 @@ } }, "interpret": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", + "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==", "dev": true }, "invariant": { @@ -5161,9 +5304,9 @@ "dev": true }, "ionicons": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-4.5.0.tgz", - "integrity": "sha512-nNkS/0wmPcW4Lbg+NqivlOl14BGKKpaZZzZVQzH63MuZZvuu5u8F/JCwcUYiPOAYGp02w0UaDL/slz+HZOuB3Q==" + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-4.5.1.tgz", + "integrity": "sha512-zqfkjpPKsdzzXePdE03IRw6xt7B6N3fcN/7NepyniuEWhKZLy7YpdZLegEwBmKeciXi7rIcv1O/hHJTdokUwXQ==" }, "ip": { "version": "1.1.5", @@ -6282,25 +6425,36 @@ }, "dependencies": { "cacache": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.1.tgz", - "integrity": "sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA==", + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", + "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", "dev": true, "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "figgy-pudding": "^3.1.0", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.3", + "bluebird": "^3.5.3", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", "rimraf": "^2.6.2", - "ssri": "^6.0.0", - "unique-filename": "^1.1.0", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", "y18n": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + } } }, "mississippi": { @@ -6564,9 +6718,9 @@ } }, "minizlib": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.1.tgz", - "integrity": "sha512-TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", + "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", "dev": true, "requires": { "minipass": "^2.2.1" @@ -6932,9 +7086,9 @@ } }, "npm-packlist": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.12.tgz", - "integrity": "sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.2.0.tgz", + "integrity": "sha512-7Mni4Z8Xkx0/oegoqlcao/JpPCPEMtUvsmB0q7mgvlMinykJLSRTYuFqoQLYgGY8biuxIeiHO+QNJKbCfljewQ==", "dev": true, "requires": { "ignore-walk": "^3.0.1", @@ -7304,25 +7458,36 @@ }, "dependencies": { "cacache": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.1.tgz", - "integrity": "sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA==", + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz", + "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==", "dev": true, "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "figgy-pudding": "^3.1.0", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.3", + "bluebird": "^3.5.3", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.3", + "graceful-fs": "^4.1.15", + "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", "move-concurrently": "^1.0.1", "promise-inflight": "^1.0.1", "rimraf": "^2.6.2", - "ssri": "^6.0.0", - "unique-filename": "^1.1.0", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", "y18n": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + } } }, "get-stream": { diff --git a/angular/test/test-app/package.json b/angular/test/test-app/package.json index 5db94204c03..b26953b64d4 100644 --- a/angular/test/test-app/package.json +++ b/angular/test/test-app/package.json @@ -13,15 +13,15 @@ }, "private": true, "dependencies": { - "@angular/animations": "~7.1.0", - "@angular/common": "~7.1.0", - "@angular/compiler": "~7.1.0", - "@angular/core": "~7.1.0", - "@angular/forms": "~7.1.0", - "@angular/platform-browser": "~7.1.0", - "@angular/platform-browser-dynamic": "~7.1.0", - "@angular/router": "~7.1.0", - "@ionic/angular": "^4.0.0-beta.18", + "@angular/animations": "~7.2.0", + "@angular/common": "~7.2.0", + "@angular/compiler": "~7.2.0", + "@angular/core": "~7.2.0", + "@angular/forms": "~7.2.0", + "@angular/platform-browser": "~7.2.0", + "@angular/platform-browser-dynamic": "~7.2.0", + "@angular/router": "~7.2.0", + "@ionic/angular": "^4.0.0-rc.1", "core-js": "^2.5.4", "rxjs": "~6.3.3", "tslib": "^1.9.0", @@ -29,9 +29,9 @@ }, "devDependencies": { "@angular-devkit/build-angular": "~0.11.0", - "@angular/cli": "~7.1.0", - "@angular/compiler-cli": "~7.1.0", - "@angular/language-service": "~7.1.0", + "@angular/cli": "~7.2.0", + "@angular/compiler-cli": "~7.2.0", + "@angular/language-service": "~7.2.0", "@types/node": "~8.9.4", "@types/jasmine": "~2.8.8", "@types/jasminewd2": "~2.0.3", diff --git a/angular/test/test-app/src/app/app-routing.module.ts b/angular/test/test-app/src/app/app-routing.module.ts index bcb3fa54a66..815829fb4e1 100644 --- a/angular/test/test-app/src/app/app-routing.module.ts +++ b/angular/test/test-app/src/app/app-routing.module.ts @@ -14,11 +14,13 @@ import { VirtualScrollDetailComponent } from './virtual-scroll-detail/virtual-sc import { NestedOutletComponent } from './nested-outlet/nested-outlet.component'; import { NestedOutletPageComponent } from './nested-outlet-page/nested-outlet-page.component'; import { NestedOutletPage2Component } from './nested-outlet-page2/nested-outlet-page2.component'; +import { ViewChildComponent } from './view-child/view-child.component'; const routes: Routes = [ { path: '', component: HomePageComponent }, { path: 'inputs', component: InputsComponent }, { path: 'modals', component: ModalComponent }, + { path: 'view-child', component: ViewChildComponent }, { path: 'router-link', component: RouterLinkComponent }, { path: 'router-link-page', component: RouterLinkPageComponent }, { path: 'virtual-scroll', component: VirtualScrollComponent }, diff --git a/angular/test/test-app/src/app/app.module.ts b/angular/test/test-app/src/app/app.module.ts index 9541b1c2432..113ba8a9465 100644 --- a/angular/test/test-app/src/app/app.module.ts +++ b/angular/test/test-app/src/app/app.module.ts @@ -22,6 +22,7 @@ import { NestedOutletComponent } from './nested-outlet/nested-outlet.component'; import { NestedOutletPageComponent } from './nested-outlet-page/nested-outlet-page.component'; import { NestedOutletPage2Component } from './nested-outlet-page2/nested-outlet-page2.component'; import { NavComponent } from './nav/nav.component'; +import { ViewChildComponent } from './view-child/view-child.component'; @NgModule({ declarations: [ @@ -42,7 +43,8 @@ import { NavComponent } from './nav/nav.component'; NestedOutletComponent, NestedOutletPageComponent, NestedOutletPage2Component, - NavComponent + NavComponent, + ViewChildComponent ], imports: [ BrowserModule, diff --git a/angular/test/test-app/src/app/home-page/home-page.component.html b/angular/test/test-app/src/app/home-page/home-page.component.html index 6baec55e1fb..d544375263c 100644 --- a/angular/test/test-app/src/app/home-page/home-page.component.html +++ b/angular/test/test-app/src/app/home-page/home-page.component.html @@ -37,5 +37,10 @@ Nested ion-router-outlet + + + ViewChild() + + diff --git a/angular/test/test-app/src/app/view-child/view-child.component.html b/angular/test/test-app/src/app/view-child/view-child.component.html new file mode 100644 index 00000000000..ee17a22f88b --- /dev/null +++ b/angular/test/test-app/src/app/view-child/view-child.component.html @@ -0,0 +1,13 @@ + + + + ViewChild() test + + + + + Hello! it's a button +
+ + +
diff --git a/angular/test/test-app/src/app/view-child/view-child.component.ts b/angular/test/test-app/src/app/view-child/view-child.component.ts new file mode 100644 index 00000000000..a938a3bf081 --- /dev/null +++ b/angular/test/test-app/src/app/view-child/view-child.component.ts @@ -0,0 +1,20 @@ +import { Component, ViewChild, AfterViewInit, ElementRef } from '@angular/core'; +import { IonTabs, IonButton } from '@ionic/angular'; + +@Component({ + selector: 'app-view-child', + templateUrl: './view-child.component.html' +}) +export class ViewChildComponent implements AfterViewInit { + + @ViewChild(IonButton) button: IonButton; + @ViewChild(IonTabs) tabs: IonTabs; + @ViewChild('div') div: ElementRef; + + ngAfterViewInit() { + this.button.color = 'danger'; + if (this.tabs != null) { + this.div.nativeElement.textContent = 'tabs found'; + } + } +}