mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2026-03-13 10:22:08 +08:00
make e2e build faster
This commit is contained in:
@@ -13,7 +13,7 @@ html {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
.nav-viewport {
|
||||
.nav {
|
||||
// container of many .nav-views, each .nav-view contains one view
|
||||
position: absolute;
|
||||
top: 0;
|
||||
@@ -28,7 +28,7 @@ html {
|
||||
}
|
||||
|
||||
.toolbar-container {
|
||||
// container of many toolbars for each view in the .nav-viewport
|
||||
// container of many toolbars for each view in the .nav
|
||||
position: relative;
|
||||
width: 100%;
|
||||
min-height: 50px;
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
<ion-nav-viewport #viewport [initial]="firstPage">
|
||||
</ion-nav-viewport>
|
||||
<ion-nav #viewport [initial]="firstPage">
|
||||
</ion-nav>
|
||||
|
||||
@@ -2,7 +2,7 @@ import {Router} from 'ionic/routing/router'
|
||||
import {For, Component, View as NgView, Parent, bootstrap} from 'angular2/angular2'
|
||||
import {FormBuilder, Validators, FormDirectives, ControlGroup} from 'angular2/forms';
|
||||
import {Log} from 'ionic/util'
|
||||
import {List, Item, NavViewport, View, Button, Input, Tabs, Tab, Content, NavPane, Aside} from 'ionic/ionic'
|
||||
import {List, Item, Nav, View, Button, Input, Tabs, Tab, Content, NavPane, Aside} from 'ionic/ionic'
|
||||
|
||||
@Component({
|
||||
selector: 'login-page'
|
||||
@@ -12,7 +12,7 @@ import {List, Item, NavViewport, View, Button, Input, Tabs, Tab, Content, NavPan
|
||||
directives: [View, FormDirectives, Button, Input]
|
||||
})
|
||||
export class LoginPage {
|
||||
constructor( @Parent() viewport: NavViewport ) { //, fb: FormBuilder ) {
|
||||
constructor( @Parent() viewport: Nav ) { //, fb: FormBuilder ) {
|
||||
|
||||
this.viewport = viewport
|
||||
Log.log('LOGIN PAGE')
|
||||
@@ -45,7 +45,7 @@ export class LoginPage {
|
||||
directives: [View, FormDirectives, Button, Input]
|
||||
})
|
||||
export class SignupPage {
|
||||
constructor( @Parent() viewport: NavViewport ) { //, fb: FormBuilder ) {
|
||||
constructor( @Parent() viewport: Nav ) { //, fb: FormBuilder ) {
|
||||
|
||||
this.viewport = viewport
|
||||
Log.log('SIGNUP PAGE')
|
||||
@@ -82,7 +82,7 @@ export class SignupPage {
|
||||
directives: [View, FormDirectives, Button, Input, Tabs, Tab]
|
||||
})
|
||||
export class AppPage {
|
||||
constructor( @Parent() viewport: NavViewport ) { //, fb: FormBuilder ) {
|
||||
constructor( @Parent() viewport: Nav ) { //, fb: FormBuilder ) {
|
||||
this.viewport = viewport
|
||||
this.streamTab = StreamTab
|
||||
}
|
||||
@@ -143,7 +143,7 @@ class SplashPage {
|
||||
*/
|
||||
@Component({ selector: '[ion-app]' })
|
||||
@NgView({
|
||||
directives: [NavViewport],
|
||||
directives: [Nav],
|
||||
templateUrl: 'main.html'
|
||||
})
|
||||
class IonicApp {
|
||||
|
||||
@@ -5,12 +5,10 @@ import {
|
||||
DynamicComponentLoader,
|
||||
ElementRef
|
||||
} from 'angular2/angular2'
|
||||
import {Optional} from 'angular2/src/di/annotations'
|
||||
import {NavViewport} from 'ionic/components/nav-viewport/nav-viewport'
|
||||
import {Optional} from 'angular2/di'
|
||||
import {Nav} from 'ionic/components/nav/nav'
|
||||
import {Tab} from 'ionic/components/tabs/tab'
|
||||
|
||||
console.log('names',DynamicComponent.name, Parent.name, NgElement.name, DynamicComponentLoader.name, ElementRef, Optional)
|
||||
|
||||
@DynamicComponent({
|
||||
selector: '.nav-pane',
|
||||
properties: {
|
||||
@@ -23,8 +21,8 @@ export class NavPane {
|
||||
location: ElementRef,
|
||||
@NgElement() element: NgElement,
|
||||
|
||||
// FIXME: this is temporary until ng2 lets us inject tabs as a NavViewport
|
||||
@Optional() @Parent() viewportNav: NavViewport,
|
||||
// FIXME: this is temporary until ng2 lets us inject tabs as a Nav
|
||||
@Optional() @Parent() viewportNav: Nav,
|
||||
@Optional() @Parent() viewportTab: Tab
|
||||
) {
|
||||
this._loader = loader
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
<ion-nav-viewport [initial-component]="initial">
|
||||
</ion-nav-viewport>
|
||||
@@ -1,32 +1,31 @@
|
||||
import {Component, View as NgView, For, NgElement, bind} from 'angular2/angular2'
|
||||
import {NavPane} from 'ionic/components/nav-pane/nav-pane'
|
||||
import * as util from 'ionic/util'
|
||||
import {
|
||||
Component,
|
||||
View as NgView,
|
||||
For,
|
||||
NgElement,
|
||||
ComponentInjector
|
||||
} from 'angular2/angular2';
|
||||
import {bind} from 'angular2/di';
|
||||
import {NavPane} from 'ionic/components/nav-pane/nav-pane';
|
||||
import * as util from 'ionic/util';
|
||||
|
||||
class NavStack {
|
||||
constructor(navViewport: NavViewport) {
|
||||
this._viewport = navViewport
|
||||
export class TestNav {
|
||||
constructor(v) {
|
||||
this.value = v;
|
||||
}
|
||||
push(Class, opts = {}) {
|
||||
return this._viewport.push(Class, opts)
|
||||
}
|
||||
pop(opts = {}) {
|
||||
return this._viewport.pop(Class, opts)
|
||||
}
|
||||
popTo(index, opts = {}) {
|
||||
return this._viewport.popTo(index, opts)
|
||||
}
|
||||
size() {
|
||||
return this._viewport._stack.length
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
console.log(ComponentInjector)
|
||||
@Component({
|
||||
selector: 'ion-nav-viewport',
|
||||
selector: 'ion-nav',
|
||||
properties: {
|
||||
initial: 'initial'
|
||||
},
|
||||
services: [
|
||||
NavStack
|
||||
injectables: [
|
||||
bind(TestNav).toFactory((e) => {
|
||||
debugger;
|
||||
return e;
|
||||
}, [Nav])
|
||||
]
|
||||
})
|
||||
@NgView({
|
||||
@@ -44,12 +43,12 @@ class NavStack {
|
||||
`,
|
||||
directives: [NavPane, For]
|
||||
})
|
||||
export class NavViewport {
|
||||
export class Nav {
|
||||
constructor(
|
||||
element: NgElement
|
||||
) {
|
||||
this.domElement = element.domElement
|
||||
this.domElement.classList.add('nav-viewport')
|
||||
this.domElement.classList.add('nav')
|
||||
|
||||
// this is our sane stack of items. This is synchronous and says an item
|
||||
// is removed even if it's still animating out.
|
||||
2
ionic/components/nav/test/basic/main.html
Normal file
2
ionic/components/nav/test/basic/main.html
Normal file
@@ -0,0 +1,2 @@
|
||||
<ion-nav [initial-component]="initial">
|
||||
</ion-nav>
|
||||
@@ -1,11 +1,11 @@
|
||||
import {Component, View as NgView, bootstrap} from 'angular2/angular2'
|
||||
import {NavViewport} from 'ionic/components/nav-viewport/nav-viewport'
|
||||
import {Nav} from 'ionic/components/nav/nav'
|
||||
import {Log} from 'ionic/util'
|
||||
import {FirstPage} from 'app/pages/first-page'
|
||||
import {FirstPage} from 'pages/first-page'
|
||||
|
||||
@Component({ selector: '[ion-app]' })
|
||||
@NgView({
|
||||
directives: [NavViewport],
|
||||
directives: [Nav],
|
||||
templateUrl: 'main.html'
|
||||
})
|
||||
class IonicApp {
|
||||
@@ -1,6 +1,6 @@
|
||||
import {Component, View as NgView, Parent} from 'angular2/angular2'
|
||||
import {NavViewport, View} from 'ionic/ionic'
|
||||
import {SecondPage} from 'app/pages/second-page'
|
||||
import {Nav, View} from 'ionic/ionic'
|
||||
import {SecondPage} from 'pages/second-page'
|
||||
|
||||
@Component({
|
||||
selector: 'first-page'
|
||||
@@ -11,7 +11,7 @@ import {SecondPage} from 'app/pages/second-page'
|
||||
})
|
||||
export class FirstPage {
|
||||
constructor(
|
||||
@Parent() viewport: NavViewport
|
||||
@Parent() viewport: Nav
|
||||
) {
|
||||
this.viewport = viewport
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import {Component, View as NgView, Parent} from 'angular2/angular2'
|
||||
import {NavViewport} from 'ionic/components'
|
||||
import {Nav} from 'ionic/components'
|
||||
import {View} from 'ionic/components/view/view'
|
||||
|
||||
@Component({
|
||||
@@ -11,7 +11,7 @@ import {View} from 'ionic/components/view/view'
|
||||
})
|
||||
export class SecondPage {
|
||||
constructor(
|
||||
@Parent() viewport: NavViewport
|
||||
@Parent() viewport: Nav
|
||||
) {
|
||||
this.viewport = viewport
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
import {Component, Parent, Decorator, View as NgView, NgElement} from 'angular2/angular2'
|
||||
import {NavViewport} from 'ionic/components/nav-viewport/nav-viewport'
|
||||
import {Nav} from 'ionic/components/nav/nav'
|
||||
import {View} from 'ionic/components/view/view'
|
||||
import {NavPane} from 'ionic/components/nav-pane/nav-pane'
|
||||
import * as util from 'ionic/util'
|
||||
@@ -11,14 +11,14 @@ import * as util from 'ionic/util'
|
||||
* its children for viewports.
|
||||
*/
|
||||
@Decorator({
|
||||
selector: 'ion-nav-viewport[split-viewport]'
|
||||
selector: 'ion-nav[split-viewport]'
|
||||
})
|
||||
class SplitViewportDecorator {
|
||||
constructor(
|
||||
@Parent() splitView: SplitView,
|
||||
navViewport: NavViewport
|
||||
navViewport: Nav
|
||||
) {
|
||||
splitView.setNavViewport(navViewport)
|
||||
splitView.setNav(navViewport)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,8 +36,8 @@ class SplitViewportDecorator {
|
||||
<content></content>
|
||||
</div>
|
||||
</ion-view>
|
||||
<ion-nav-viewport split-viewport>
|
||||
</ion-nav-viewport>
|
||||
<ion-nav split-viewport>
|
||||
</ion-nav>
|
||||
<style>
|
||||
ion-split-view {
|
||||
width: 100%;
|
||||
@@ -57,7 +57,7 @@ ion-split-view > [split-viewport] {
|
||||
|
||||
</style>
|
||||
`,
|
||||
directives: [SplitViewportDecorator, NavViewport, View]
|
||||
directives: [SplitViewportDecorator, Nav, View]
|
||||
})
|
||||
export class SplitView {
|
||||
constructor(
|
||||
@@ -89,7 +89,7 @@ export class SplitView {
|
||||
return false
|
||||
}
|
||||
|
||||
setNavViewport(viewport) {
|
||||
setNav(viewport) {
|
||||
this.splitViewport = viewport
|
||||
|
||||
this.navPane.__$push = this.navPane.push
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
<ion-nav-viewport [initial]="initial">
|
||||
</ion-nav-viewport>
|
||||
<ion-nav [initial]="initial">
|
||||
</ion-nav>
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
PropertySetter,
|
||||
For
|
||||
} from 'angular2/angular2';
|
||||
import {NavViewport} from 'ionic/components/nav-viewport/nav-viewport'
|
||||
import {Nav} from 'ionic/components/nav/nav'
|
||||
import {NavPane} from 'ionic/components/nav-pane/nav-pane'
|
||||
import {Tabs} from 'ionic/components/tabs/tabs'
|
||||
import * as util from 'ionic/util'
|
||||
@@ -31,7 +31,7 @@ import {IonicComponent} from 'ionic/config/component'
|
||||
`,
|
||||
directives: [For, NavPane]
|
||||
})
|
||||
export class Tab extends NavViewport {
|
||||
export class Tab extends Nav {
|
||||
constructor(
|
||||
element: NgElement,
|
||||
@Ancestor() tabs: Tabs,
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
Hello! I'm a side menu in the root.
|
||||
</ion-aside>
|
||||
|
||||
<ion-nav-viewport #viewport [initial]="initial">
|
||||
</ion-nav-viewport>
|
||||
<ion-nav #viewport [initial]="initial">
|
||||
</ion-nav>
|
||||
|
||||
|
||||
<style>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import {Component, View as NgView, bootstrap} from 'angular2/angular2'
|
||||
import {NavViewport, Aside} from 'ionic/ionic'
|
||||
import {SignInPage} from 'app/pages/sign-in'
|
||||
import {Nav, Aside} from 'ionic/ionic'
|
||||
import {SignInPage} from 'pages/sign-in'
|
||||
|
||||
|
||||
@Component({
|
||||
@@ -8,7 +8,7 @@ import {SignInPage} from 'app/pages/sign-in'
|
||||
})
|
||||
@NgView({
|
||||
templateUrl: 'main.html',
|
||||
directives: [NavViewport, Aside]
|
||||
directives: [Nav, Aside]
|
||||
})
|
||||
class App {
|
||||
constructor() {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import {Component, View as NgView} from 'angular2/angular2'
|
||||
import {View, NavPane, Content} from 'ionic/ionic'
|
||||
import {TabsPage} from 'app/pages/tabs'
|
||||
import {Component, View as NgView, Ancestor} from 'angular2/angular2'
|
||||
import {View, NavPane, Content, TestNav, Nav} from 'ionic/ionic'
|
||||
import {TabsPage} from 'pages/tabs'
|
||||
|
||||
@Component({
|
||||
selector: 'sign-in-page'
|
||||
@@ -11,13 +11,15 @@ import {TabsPage} from 'app/pages/tabs'
|
||||
})
|
||||
export class SignInPage {
|
||||
constructor(
|
||||
navPane: NavPane
|
||||
nav: Nav,
|
||||
t: TestNav
|
||||
) {
|
||||
this.navPane = navPane
|
||||
debugger;
|
||||
this.nav = nav;
|
||||
this.instanceVal = Math.random()
|
||||
}
|
||||
signIn() {
|
||||
this.navPane.push(TabsPage)
|
||||
this.nav.push(TabsPage)
|
||||
}
|
||||
instanceCheck() {
|
||||
window.alert("Instance: " + this.instanceVal)
|
||||
|
||||
Reference in New Issue
Block a user