Merge branch 'core' of github.com:ionic-team/ionic into core

This commit is contained in:
Manu Mtz.-Almeida
2018-02-16 17:30:54 +01:00
9 changed files with 435 additions and 38 deletions

View File

@ -216,9 +216,9 @@
}
},
"@ionic/core": {
"version": "0.0.2-66",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-0.0.2-66.tgz",
"integrity": "sha512-Wv3tewr1Se0W1UHmMS/LPq48HDXGFafDHs3I7626WTD2JxpSEGLyd6pHeJcMNbi3SDWPiya7erjd6e4oOEZX6g==",
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-0.0.2.tgz",
"integrity": "sha512-aMqK+wb4Ajzfz2rZ5i2ojAHjmG/D4XhbgIIdDgRmK53mcIG9OQ1F/fQ8+i5I6coI0k8Qc456FOF8K5eZ1nIB6A==",
"dev": true
},
"@stencil/core": {
@ -957,7 +957,7 @@
"pbkdf2": "3.0.14",
"public-encrypt": "4.0.0",
"randombytes": "2.0.6",
"randomfill": "1.0.3"
"randomfill": "1.0.4"
}
},
"cssom": {
@ -3975,9 +3975,9 @@
}
},
"randomfill": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz",
"integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==",
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
"integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
"requires": {
"randombytes": "2.0.6",
"safe-buffer": "5.1.1"

View File

@ -42,7 +42,7 @@
"@angular/platform-browser": "latest",
"@angular/platform-browser-dynamic": "latest",
"@angular/router": "latest",
"@ionic/core": "next",
"@ionic/core": "0.0.2",
"glob": "7.1.2",
"ionicons": "~3.0.0",
"rxjs": "5.5.2",

View File

@ -1,6 +1,6 @@
{
"name": "@ionic/core",
"version": "0.0.2-66",
"version": "0.0.2",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "@ionic/core",
"version": "0.0.2-66",
"version": "0.0.2",
"description": "Base components for Ionic",
"main": "dist/ionic.js",
"types": "dist/types/index.d.ts",

View File

@ -32,6 +32,9 @@
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button text="Page One"></ion-back-button>
</ion-buttons>
<ion-title>Page Two</ion-title>
</ion-toolbar>
</ion-header>
@ -42,11 +45,7 @@
<ion-button class="next">Go to Page Two</ion-button>
</ion-nav-push>
</div>
<div>
<ion-nav-pop>
<ion-button class="next">Go Back</ion-button>
</ion-nav-pop>
</div>
</ion-content>
</ion-page>
`;
@ -59,16 +58,14 @@
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button text="Page Two"></ion-back-button>
</ion-buttons>
<ion-title>Page Three</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Page Three</h1>
<div>
<ion-nav-pop>
<ion-button class="next">Go Back</ion-button>
</ion-nav-pop>
</div>
</ion-content>
</ion-page>
`;

View File

@ -0,0 +1,387 @@
<!DOCTYPE html>
<html dir="ltr">
<head>
<meta charset="UTF-8">
<title>Nav Then Tabs</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<script src="/dist/ionic.js"></script>
<script>
class PageOne extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Page One</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Page One</h1>
<ion-nav-push component="page-two">
<ion-button class="next">Go to Page Two</ion-button>
</ion-nav-push>
</ion-content>
</ion-page>
`;
}
}
class PageTwo extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-nav root="page-two-section-one"></ion-nav>
`;
}
}
class PageTwoSectionOne extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Page Two Section One</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Page Two Section One</h1>
<ion-nav-push component="page-two-section-two">
<ion-button class="next">Go to Page Two Section Two</ion-button>
</ion-nav-push>
<div>
<ion-button class="previous">Go Back</ion-button>
</div>
</ion-content>
</ion-page>
`;
const button = this.querySelector('ion-button.previous');
button.addEventListener('click', () => {
const nav = this.closest('ion-nav');
if (nav.parent) {
nav.parent.pop();
}
});
}
}
class PageTwoSectionTwo extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Page Two Section Two</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Page Two Section Two</h1>
<ion-nav-push component="page-three">
<ion-button class="next">Go to Page Three</ion-button>
</ion-nav-push>
</ion-content>
</ion-page>
`;
}
}
class PageThree extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Page Three</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Page Three</h1>
<ion-nav-pop>
<ion-button class="previous">Go Back</ion-button>
</ion-nav-pop>
</ion-content>
</ion-page>
`;
}
}
class LoginPage extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Login Page</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Login Page</h1>
<ion-nav-push component="tabs-page">
<ion-button>Login</ion-button>
</ion-nav-push>
</ion-content>
</ion-page>
`;
}
}
class TabsPage extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-tabs>
<ion-tab title="Tab One" icon="star" #tabOne>
<ion-nav root="tab-one-page-one" name="tab-one" lazy="true"></ion-nav>
</ion-tab>
<ion-tab title="Tab Two" icon="globe" #tabTwo>
<ion-nav root="tab-two-page-one" name="tab-two" lazy="true"></ion-nav>
</ion-tab>
<ion-tab title="Tab Three" icon="logo-facebook" #tabThree>
<ion-nav root="tab-three-page-one" name="tab-three" lazy="true"></ion-nav>
</ion-tab>
</ion-tabs>
`;
}
}
class TabOnePageOne extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Tab One Page One</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Tab One Page One</h1>
<ion-nav-push component="tab-one-page-two">
<ion-button class="next">Go to Tab One Page Two</ion-button>
</ion-nav-push>
</ion-content>
</ion-page>
`;
}
}
class TabOnePageTwo extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Tab One Page Two</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Tab One Page Two</h1>
<div>
<ion-nav-push component="tab-one-page-three">
<ion-button class="next">Go to Tab One Page Three</ion-button>
</ion-nav-push>
</div>
</ion-content>
</ion-page>
`;
}
}
class TabOnePageThree extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Tab One Page Three</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Tab One Page Three</h1>
</ion-content>
</ion-page>
`;
}
}
class TabTwoPageOne extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Tab Two Page One</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Tab Two Page One</h1>
<ion-nav-push component="tab-two-page-two">
<ion-button class="next">Go to Tab Two Page Two</ion-button>
</ion-nav-push>
</ion-content>
</ion-page>
`;
}
}
class TabTwoPageTwo extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Tab Two Page Two</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Tab Two Page Two</h1>
<div>
<ion-nav-push component="tab-two-page-three">
<ion-button class="next">Go to Tab Two Page Three</ion-button>
</ion-nav-push>
</div>
</ion-content>
</ion-page>
`;
}
}
class TabTwoPageThree extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Tab Two Page Three</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Tab Two Page Three</h1>
</ion-content>
</ion-page>
`;
}
}
class TabThreePageOne extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Tab Three Page One</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Tab Three Page One</h1>
<ion-nav-push component="tab-three-page-two">
<ion-button class="next">Go to Tab Three Page Two</ion-button>
</ion-nav-push>
</ion-content>
</ion-page>
`;
}
}
class TabThreePageTwo extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Tab Three Page Two</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Tab Three Page Two</h1>
<div>
<ion-nav-push component="tab-three-page-three">
<ion-button class="next">Go to Tab Three Page Three</ion-button>
</ion-nav-push>
</div>
</ion-content>
</ion-page>
`;
}
}
class TabThreePageThree extends HTMLElement {
connectedCallback() {
this.innerHTML = `
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Tab Three Page Three</ion-title>
</ion-toolbar>
</ion-header>
<ion-content padding>
<h1>Tab Three Page Three</h1>
</ion-content>
</ion-page>
`;
}
}
customElements.define('login-page', LoginPage);
customElements.define('tabs-page', TabsPage);
customElements.define('tab-one-page-one', TabOnePageOne);
customElements.define('tab-one-page-two', TabOnePageTwo);
customElements.define('tab-one-page-three', TabOnePageThree);
customElements.define('tab-two-page-one', TabTwoPageOne);
customElements.define('tab-two-page-two', TabTwoPageTwo);
customElements.define('tab-two-page-three', TabTwoPageThree);
customElements.define('tab-three-page-one', TabThreePageOne);
customElements.define('tab-three-page-two', TabThreePageTwo);
customElements.define('tab-three-page-three', TabThreePageThree);
</script>
</head>
<body>
<ion-app>
<ion-nav root="login-page"></ion-nav>
</ion-app>
</body>
</html>

View File

@ -13,7 +13,9 @@
<ion-page>
<ion-header>
<ion-toolbar>
<ion-back-button slot="start"></ion-back-button>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Page One</ion-title>
</ion-toolbar>
</ion-header>
@ -42,7 +44,9 @@
<ion-page>
<ion-header>
<ion-toolbar>
<ion-back-button slot="start"></ion-back-button>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Page Two Section One</ion-title>
</ion-toolbar>
</ion-header>
@ -51,12 +55,20 @@
<ion-nav-push component="page-two-section-two">
<ion-button class="next">Go to Page Two Section Two</ion-button>
</ion-nav-push>
<ion-nav-pop>
<div>
<ion-button class="previous">Go Back</ion-button>
</ion-nav-pop>
</div>
</ion-content>
</ion-page>
`;
const button = this.querySelector('ion-button.previous');
button.addEventListener('click', () => {
const nav = this.closest('ion-nav');
if (nav.parent) {
nav.parent.pop();
}
});
}
}
@ -66,7 +78,9 @@
<ion-page>
<ion-header>
<ion-toolbar>
<ion-back-button slot="start"></ion-back-button>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Page Two Section Two</ion-title>
</ion-toolbar>
</ion-header>
@ -75,9 +89,6 @@
<ion-nav-push component="page-three">
<ion-button class="next">Go to Page Three</ion-button>
</ion-nav-push>
<ion-nav-pop>
<ion-button class="previous">Go Back</ion-button>
</ion-nav-pop>
</ion-content>
</ion-page>
`;
@ -90,7 +101,9 @@
<ion-page>
<ion-header>
<ion-toolbar>
<ion-back-button slot="start"></ion-back-button>
<ion-buttons slot="start">
<ion-back-button></ion-back-button>
</ion-buttons>
<ion-title>Page Three</ion-title>
</ion-toolbar>
</ion-header>

View File

@ -512,9 +512,9 @@
}
},
"@ionic/core": {
"version": "0.0.2-66",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-0.0.2-66.tgz",
"integrity": "sha512-Wv3tewr1Se0W1UHmMS/LPq48HDXGFafDHs3I7626WTD2JxpSEGLyd6pHeJcMNbi3SDWPiya7erjd6e4oOEZX6g=="
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/@ionic/core/-/core-0.0.2.tgz",
"integrity": "sha512-aMqK+wb4Ajzfz2rZ5i2ojAHjmG/D4XhbgIIdDgRmK53mcIG9OQ1F/fQ8+i5I6coI0k8Qc456FOF8K5eZ1nIB6A=="
},
"@ngtools/json-schema": {
"version": "1.2.0",
@ -2221,7 +2221,7 @@
"pbkdf2": "3.0.14",
"public-encrypt": "4.0.0",
"randombytes": "2.0.6",
"randomfill": "1.0.3"
"randomfill": "1.0.4"
}
},
"css-parse": {
@ -8420,9 +8420,9 @@
}
},
"randomfill": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz",
"integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==",
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
"integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
"requires": {
"randombytes": "2.0.6",
"safe-buffer": "5.1.1"

View File

@ -23,7 +23,7 @@
"@angular/platform-browser-dynamic": "latest",
"@angular/router": "latest",
"@ionic/angular": "next",
"@ionic/core": "next",
"@ionic/core": "0.0.2",
"body-parser": "^1.18.2",
"core-js": "^2.4.1",
"express": "^4.16.2",