mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-18 19:21:34 +08:00
Merge branch 'master' into alpha38
This commit is contained in:
@ -1,17 +1,16 @@
|
|||||||
|
import {FORM_DIRECTIVES, FormBuilder, Validators, Control, ControlGroup} from 'angular2/forms';
|
||||||
import {App, IonicApp, ActionSheet, NavController, NavParams} from 'ionic/ionic';
|
import {App, IonicApp, ActionSheet, NavController, NavParams} from 'ionic/ionic';
|
||||||
import {Modal, IonicView, IonicConfig, Events, Animation} from 'ionic/ionic';
|
import {Modal, IonicView, IonicConfig, Events, Animation} from 'ionic/ionic';
|
||||||
import {NgZone} from 'angular2/angular2';
|
|
||||||
import {NavigationDetailsPage} from 'navigation';
|
import {NavigationDetailsPage} from 'navigation';
|
||||||
|
|
||||||
import {TabsPage} from 'tabs';
|
import {TabsPage} from 'tabs';
|
||||||
import {DemoModal} from 'modal';
|
import {DemoModal} from 'modal';
|
||||||
|
|
||||||
import * as helpers from 'helpers';
|
import * as helpers from 'helpers';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@IonicView({
|
@IonicView({
|
||||||
templateUrl: 'main.html'
|
templateUrl: 'main.html',
|
||||||
|
bindings: [FormBuilder]
|
||||||
})
|
})
|
||||||
export class MainPage {
|
export class MainPage {
|
||||||
|
|
||||||
@ -20,7 +19,6 @@ export class MainPage {
|
|||||||
constructor(app: IonicApp,
|
constructor(app: IonicApp,
|
||||||
nav: NavController,
|
nav: NavController,
|
||||||
actionSheet: ActionSheet,
|
actionSheet: ActionSheet,
|
||||||
zone: NgZone,
|
|
||||||
params: NavParams,
|
params: NavParams,
|
||||||
modal: Modal,
|
modal: Modal,
|
||||||
events: Events)
|
events: Events)
|
||||||
@ -31,6 +29,10 @@ export class MainPage {
|
|||||||
this.actionSheet = actionSheet;
|
this.actionSheet = actionSheet;
|
||||||
this.navDetailsPage = NavigationDetailsPage;
|
this.navDetailsPage = NavigationDetailsPage;
|
||||||
this.demoModal = DemoModal;
|
this.demoModal = DemoModal;
|
||||||
|
this.form = new ControlGroup({
|
||||||
|
firstName: new Control("", Validators.required),
|
||||||
|
lastName: new Control("", Validators.required)
|
||||||
|
});
|
||||||
|
|
||||||
if (params.data.location) { this.component.title = params.data.location; }
|
if (params.data.location) { this.component.title = params.data.location; }
|
||||||
else if (window.location.hash) { this.component.title = window.location.hash; }
|
else if (window.location.hash) { this.component.title = window.location.hash; }
|
||||||
@ -100,6 +102,14 @@ export class MainPage {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// **************************
|
||||||
|
// Form
|
||||||
|
// **************************
|
||||||
|
processForm(event) {
|
||||||
|
// TODO: display input in a popup
|
||||||
|
console.log(event);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class FadeIn extends Animation {
|
class FadeIn extends Animation {
|
||||||
|
@ -344,7 +344,7 @@
|
|||||||
<ion-item>
|
<ion-item>
|
||||||
<icon call item-left></icon>
|
<icon call item-left></icon>
|
||||||
Call Ron
|
Call Ron
|
||||||
<div class="item-note" item-right>Maybe later</div>
|
<ion-note item-right>Maybe later</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
</ion-list>
|
</ion-list>
|
||||||
@ -412,7 +412,19 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="forms" [ng-class]="{hidden: component.title !== 'Forms' }">
|
<section id="forms" [ng-class]="{hidden: component.title !== 'Forms' }">
|
||||||
|
<form (submit)="processForm($event)" [ng-form-model]="form">
|
||||||
|
<ion-list>
|
||||||
|
<ion-input>
|
||||||
|
<input ng-control="firstName" type="text" placeholder="First Name">
|
||||||
|
</ion-input>
|
||||||
|
<ion-input>
|
||||||
|
<input ng-control="lastName" type="text" placeholder="Last Name">
|
||||||
|
</ion-input>
|
||||||
|
</ion-list>
|
||||||
|
<div class="padding">
|
||||||
|
<button block type="submit">Create Account</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</ion-content>
|
</ion-content>
|
||||||
|
|
||||||
|
@ -19,17 +19,17 @@
|
|||||||
<ion-item>
|
<ion-item>
|
||||||
<icon heart item-left></icon>
|
<icon heart item-left></icon>
|
||||||
Affection
|
Affection
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Very Little
|
Very Little
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<ion-item>
|
<ion-item>
|
||||||
<icon home item-left></icon>
|
<icon home item-left></icon>
|
||||||
Home
|
Home
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Where the heart is
|
Where the heart is
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<ion-switch checked="true">
|
<ion-switch checked="true">
|
||||||
@ -40,33 +40,33 @@
|
|||||||
<ion-item>
|
<ion-item>
|
||||||
<icon star item-left></icon>
|
<icon star item-left></icon>
|
||||||
Star status
|
Star status
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Super
|
Super
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<ion-item>
|
<ion-item>
|
||||||
<icon pizza item-left></icon>
|
<icon pizza item-left></icon>
|
||||||
Pizza
|
Pizza
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Always
|
Always
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<ion-item>
|
<ion-item>
|
||||||
<icon beer item-left></icon>
|
<icon beer item-left></icon>
|
||||||
Beer
|
Beer
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Yes Plz
|
Yes Plz
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<ion-item>
|
<ion-item>
|
||||||
<icon wine item-left></icon>
|
<icon wine item-left></icon>
|
||||||
Wine
|
Wine
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
All the time
|
All the time
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
</ion-list>
|
</ion-list>
|
||||||
|
@ -16,17 +16,17 @@
|
|||||||
<ion-item>
|
<ion-item>
|
||||||
<icon heart item-left></icon>
|
<icon heart item-left></icon>
|
||||||
Affection
|
Affection
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Very Little
|
Very Little
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<ion-item>
|
<ion-item>
|
||||||
<icon home item-left></icon>
|
<icon home item-left></icon>
|
||||||
Home
|
Home
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Where the heart is
|
Where the heart is
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
</ion-list>
|
</ion-list>
|
||||||
@ -46,9 +46,9 @@
|
|||||||
<ion-item>
|
<ion-item>
|
||||||
<icon star item-left></icon>
|
<icon star item-left></icon>
|
||||||
Star status
|
Star status
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Super
|
Super
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
</ion-list>
|
</ion-list>
|
||||||
@ -63,25 +63,25 @@
|
|||||||
<ion-item>
|
<ion-item>
|
||||||
<icon pizza item-left></icon>
|
<icon pizza item-left></icon>
|
||||||
Pizza
|
Pizza
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Always
|
Always
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<ion-item>
|
<ion-item>
|
||||||
<icon beer item-left></icon>
|
<icon beer item-left></icon>
|
||||||
Beer
|
Beer
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Yes Plz
|
Yes Plz
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<ion-item>
|
<ion-item>
|
||||||
<icon wine item-left></icon>
|
<icon wine item-left></icon>
|
||||||
Wine
|
Wine
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
All the time
|
All the time
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
</ion-list>
|
</ion-list>
|
||||||
|
@ -12,9 +12,9 @@ import {dom} from 'ionic/util';
|
|||||||
* <ion-list>
|
* <ion-list>
|
||||||
* <ion-item *ng-for="#item of items" (click)="itemTapped($event, item)">
|
* <ion-item *ng-for="#item of items" (click)="itemTapped($event, item)">
|
||||||
* {{item.title}}
|
* {{item.title}}
|
||||||
* <div class="item-note" item-right>
|
* <ion-note item-right>
|
||||||
* {{item.note}}
|
* {{item.note}}
|
||||||
* </div>
|
* </ion-note>
|
||||||
* </ion-item>
|
* </ion-item>
|
||||||
* </ion-list>
|
* </ion-list>
|
||||||
* ```
|
* ```
|
||||||
|
@ -134,7 +134,7 @@ $item-ios-divider-padding: 5px 15px !default;
|
|||||||
margin-bottom: 1px;
|
margin-bottom: 1px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-note {
|
ion-note {
|
||||||
color: $item-ios-note-color;
|
color: $item-ios-note-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ $item-md-divider-padding: 5px 15px !default;
|
|||||||
line-height: $item-md-body-text-line-height;
|
line-height: $item-md-body-text-line-height;
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-note {
|
ion-note {
|
||||||
color: $item-md-note-color;
|
color: $item-md-note-color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -16,17 +16,17 @@
|
|||||||
<ion-item>
|
<ion-item>
|
||||||
<icon heart item-left></icon>
|
<icon heart item-left></icon>
|
||||||
Affection
|
Affection
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Very Little
|
Very Little
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<ion-item>
|
<ion-item>
|
||||||
<icon home item-left></icon>
|
<icon home item-left></icon>
|
||||||
Home
|
Home
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Where the heart is
|
Where the heart is
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
</ion-list>
|
</ion-list>
|
||||||
@ -46,9 +46,9 @@
|
|||||||
<ion-item>
|
<ion-item>
|
||||||
<icon star item-left></icon>
|
<icon star item-left></icon>
|
||||||
Star status
|
Star status
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Super
|
Super
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
</ion-list>
|
</ion-list>
|
||||||
@ -63,25 +63,25 @@
|
|||||||
<ion-item>
|
<ion-item>
|
||||||
<icon pizza item-left></icon>
|
<icon pizza item-left></icon>
|
||||||
Pizza
|
Pizza
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Always
|
Always
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<ion-item>
|
<ion-item>
|
||||||
<icon beer item-left></icon>
|
<icon beer item-left></icon>
|
||||||
Beer
|
Beer
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
Yes Plz
|
Yes Plz
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
<ion-item>
|
<ion-item>
|
||||||
<icon wine item-left></icon>
|
<icon wine item-left></icon>
|
||||||
Wine
|
Wine
|
||||||
<div class="item-note" item-right>
|
<ion-note item-right>
|
||||||
All the time
|
All the time
|
||||||
</div>
|
</ion-note>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
|
|
||||||
</ion-list>
|
</ion-list>
|
||||||
|
@ -85,10 +85,11 @@ export class Menu extends Ion {
|
|||||||
*/
|
*/
|
||||||
onInit() {
|
onInit() {
|
||||||
super.onInit();
|
super.onInit();
|
||||||
this._cntEle = (this.content instanceof Node) ? this.content : this.content.getNativeElement();
|
let content = this.content;
|
||||||
|
this._cntEle = (content instanceof Node) ? content : content && content.getNativeElement && content.getNativeElement();
|
||||||
|
|
||||||
if (!this._cntEle) {
|
if (!this._cntEle) {
|
||||||
return console.error('Menu: must have a [content] element to listen for drag events on. Example:\n\n<ion-menu [content]="content"></ion-menu>\n\n<ion-content #content></ion-content>');
|
return console.error('Menu: must have a [content] element to listen for drag events on. Example:\n\n<ion-menu [content]="content"></ion-menu>\n\n<ion-nav #content></ion-nav>');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.id) {
|
if (!this.id) {
|
||||||
|
@ -2,18 +2,20 @@
|
|||||||
// iOS Search Bar
|
// iOS Search Bar
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
$search-bar-ios-padding: 0 8px !default;
|
||||||
$search-bar-ios-background-color: rgba(0, 0, 0, 0.2) !default;
|
$search-bar-ios-background-color: rgba(0, 0, 0, 0.2) !default;
|
||||||
$search-bar-ios-border-color: rgba(0, 0, 0, 0.05) !default;
|
$search-bar-ios-border-color: rgba(0, 0, 0, 0.05) !default;
|
||||||
$search-bar-ios-padding: 0 8px !default;
|
$search-bar-ios-min-height: 44px !default;
|
||||||
$search-bar-ios-input-height: 28px !default;
|
|
||||||
$search-bar-ios-input-text-color: #9D9D9D !default;
|
|
||||||
$search-bar-ios-input-background-color: #FFFFFF !default;
|
|
||||||
$search-bar-ios-input-transition: all 0.3s cubic-bezier(.25, .45, .05, 1) !default;
|
|
||||||
|
|
||||||
$search-bar-ios-input-search-icon-color: #767676 !default;
|
$search-bar-ios-input-search-icon-color: #767676 !default;
|
||||||
$search-bar-ios-input-search-icon-svg: "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'><path fill='" + $search-bar-ios-input-search-icon-color + "' d='M5,1c2.2,0,4,1.8,4,4S7.2,9,5,9S1,7.2,1,5S2.8,1,5,1 M5,0C2.2,0,0,2.2,0,5s2.2,5,5,5s5-2.2,5-5S7.8,0,5,0 L5,0z'/><line stroke='" + $search-bar-ios-input-search-icon-color + "' stroke-miterlimit='10' x1='12.6' y1='12.6' x2='8.2' y2='8.2'/></svg>" !default;
|
$search-bar-ios-input-search-icon-svg: "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 13'><path fill='" + $search-bar-ios-input-search-icon-color + "' d='M5,1c2.2,0,4,1.8,4,4S7.2,9,5,9S1,7.2,1,5S2.8,1,5,1 M5,0C2.2,0,0,2.2,0,5s2.2,5,5,5s5-2.2,5-5S7.8,0,5,0 L5,0z'/><line stroke='" + $search-bar-ios-input-search-icon-color + "' stroke-miterlimit='10' x1='12.6' y1='12.6' x2='8.2' y2='8.2'/></svg>" !default;
|
||||||
$search-bar-ios-input-search-icon-size: 13px !default;
|
$search-bar-ios-input-search-icon-size: 13px !default;
|
||||||
|
|
||||||
|
$search-bar-ios-input-height: 28px !default;
|
||||||
|
$search-bar-ios-input-text-color: #9D9D9D !default;
|
||||||
|
$search-bar-ios-input-background-color: #FFFFFF !default;
|
||||||
|
$search-bar-ios-input-transition: all 0.3s cubic-bezier(.25, .45, .05, 1) !default;
|
||||||
|
|
||||||
$search-bar-ios-input-close-icon-color: #8F8E94 !default;
|
$search-bar-ios-input-close-icon-color: #8F8E94 !default;
|
||||||
$search-bar-ios-input-close-icon-svg: "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='" + $search-bar-ios-input-close-icon-color + "' d='M403.1,108.9c-81.2-81.2-212.9-81.2-294.2,0s-81.2,212.9,0,294.2c81.2,81.2,212.9,81.2,294.2,0S484.3,190.1,403.1,108.9z M352,340.2L340.2,352l-84.4-84.2l-84,83.8L160,339.8l84-83.8l-84-83.8l11.8-11.8l84,83.8l84.4-84.2l11.8,11.8L267.6,256L352,340.2z'/></svg>" !default;
|
$search-bar-ios-input-close-icon-svg: "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='" + $search-bar-ios-input-close-icon-color + "' d='M403.1,108.9c-81.2-81.2-212.9-81.2-294.2,0s-81.2,212.9,0,294.2c81.2,81.2,212.9,81.2,294.2,0S484.3,190.1,403.1,108.9z M352,340.2L340.2,352l-84.4-84.2l-84,83.8L160,339.8l84-83.8l-84-83.8l11.8-11.8l84,83.8l84.4-84.2l11.8,11.8L267.6,256L352,340.2z'/></svg>" !default;
|
||||||
$search-bar-ios-input-close-icon-size: 17px !default;
|
$search-bar-ios-input-close-icon-size: 17px !default;
|
||||||
@ -23,6 +25,7 @@ $search-bar-ios-input-close-icon-size: 17px !default;
|
|||||||
padding: $search-bar-ios-padding;
|
padding: $search-bar-ios-padding;
|
||||||
background: $search-bar-ios-background-color;
|
background: $search-bar-ios-background-color;
|
||||||
border-bottom: 1px solid $search-bar-ios-border-color;
|
border-bottom: 1px solid $search-bar-ios-border-color;
|
||||||
|
min-height: $search-bar-ios-min-height;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-bar-search-icon {
|
.search-bar-search-icon {
|
||||||
|
71
ionic/components/search-bar/modes/md.scss
Normal file
71
ionic/components/search-bar/modes/md.scss
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
|
||||||
|
// Material Design Search Bar
|
||||||
|
// --------------------------------------------------
|
||||||
|
|
||||||
|
$search-bar-md-padding: 8px !default;
|
||||||
|
$search-bar-md-background-color: inherit !default;
|
||||||
|
|
||||||
|
$search-bar-md-input-search-icon-color: #5B5B5B !default;
|
||||||
|
$search-bar-md-input-search-icon-svg: "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='" + $search-bar-md-input-search-icon-color + "' d='M337.509,305.372h-17.501l-6.571-5.486c20.791-25.232,33.922-57.054,33.922-93.257C347.358,127.632,283.896,64,205.135,64C127.452,64,64,127.632,64,206.629s63.452,142.628,142.225,142.628c35.011,0,67.831-13.167,92.991-34.008l6.561,5.487v17.551L415.18,448L448,415.086L337.509,305.372z M206.225,305.372c-54.702,0-98.463-43.887-98.463-98.743c0-54.858,43.761-98.742,98.463-98.742c54.7,0,98.462,43.884,98.462,98.742C304.687,261.485,260.925,305.372,206.225,305.372z'/></svg>" !default;
|
||||||
|
$search-bar-md-input-search-icon-size: 20px !default;
|
||||||
|
|
||||||
|
$search-bar-md-input-height: 28px !default;
|
||||||
|
$search-bar-md-input-box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.12) !default;
|
||||||
|
$search-bar-md-input-placeholder-color: #AEAEAE !default;
|
||||||
|
$search-bar-md-input-text-color: #141414 !default;
|
||||||
|
$search-bar-md-input-background-color: #FFFFFF !default;
|
||||||
|
$search-bar-md-input-border-radius: 2px !default;
|
||||||
|
|
||||||
|
$search-bar-md-input-close-icon-color: #5B5B5B !default;
|
||||||
|
$search-bar-md-input-close-icon-svg: "<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><polygon fill='" + $search-bar-md-input-close-icon-color + "' points='405,136.798 375.202,107 256,226.202 136.798,107 107,136.798 226.202,256 107,375.202 136.798,405 256,285.798 375.202,405 405,375.202 285.798,256'/></svg>" !default;
|
||||||
|
$search-bar-md-input-close-icon-size: 22px !default;
|
||||||
|
|
||||||
|
|
||||||
|
.search-bar {
|
||||||
|
padding: $search-bar-md-padding;
|
||||||
|
background: $search-bar-md-background-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-bar-search-icon {
|
||||||
|
width: $search-bar-md-input-search-icon-size + 1;
|
||||||
|
height: $search-bar-md-input-search-icon-size + 1;
|
||||||
|
|
||||||
|
@include svg-background-image($search-bar-md-input-search-icon-svg);
|
||||||
|
background-size: $search-bar-md-input-search-icon-size;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
position: absolute;
|
||||||
|
left: 13px;
|
||||||
|
top: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-bar-input {
|
||||||
|
padding: 8px 55px;
|
||||||
|
|
||||||
|
height: $search-bar-md-input-height;
|
||||||
|
box-shadow: $search-bar-md-input-box-shadow;
|
||||||
|
|
||||||
|
font-size: 1.6rem;
|
||||||
|
font-weight: 400;
|
||||||
|
|
||||||
|
border-radius: $search-bar-md-input-border-radius;
|
||||||
|
color: $search-bar-md-input-text-color;
|
||||||
|
background-color: $search-bar-md-input-background-color;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: 8px center;
|
||||||
|
|
||||||
|
&::placeholder {
|
||||||
|
color: $search-bar-md-input-placeholder-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-bar-close-icon {
|
||||||
|
width: $search-bar-md-input-close-icon-size;
|
||||||
|
height: $search-bar-md-input-close-icon-size;
|
||||||
|
|
||||||
|
@include svg-background-image($search-bar-md-input-close-icon-svg);
|
||||||
|
background-size: $search-bar-md-input-close-icon-size;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
position: absolute;
|
||||||
|
right: 13px;
|
||||||
|
top: 13px;
|
||||||
|
}
|
@ -2,15 +2,12 @@
|
|||||||
// Search Bar
|
// Search Bar
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
|
||||||
$search-bar-min-height: 44px !default;
|
|
||||||
|
|
||||||
|
|
||||||
.search-bar {
|
.search-bar {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-height: $search-bar-min-height;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-bar-icon {
|
.search-bar-icon {
|
||||||
|
@ -6,7 +6,14 @@ import {IonicConfig} from '../../config/config';
|
|||||||
import {IonicComponent} from '../../config/decorators';
|
import {IonicComponent} from '../../config/decorators';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* @name Search Bar
|
||||||
|
* @description
|
||||||
|
* The Search Bar service adds an input field which can be used to search or filter items.
|
||||||
|
*
|
||||||
|
* @usage
|
||||||
|
* ```html
|
||||||
|
* <ion-search-bar ng-control="searchQuery"></ion-search-bar>
|
||||||
|
* ```
|
||||||
*/
|
*/
|
||||||
@IonicComponent({
|
@IonicComponent({
|
||||||
selector: 'ion-search-bar',
|
selector: 'ion-search-bar',
|
||||||
|
@ -7,14 +7,14 @@ it('should go to Tab1 Page2', function() {
|
|||||||
element(by.css('#goToTab1Page2')).click();
|
element(by.css('#goToTab1Page2')).click();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should go back to Tab1 Page1', function() {
|
||||||
|
element(by.css('#backToTab1Page1')).click();
|
||||||
|
});
|
||||||
|
|
||||||
it('should go to Tab2 Page1', function() {
|
it('should go to Tab2 Page1', function() {
|
||||||
element(by.css('.tab-button:nth-of-type(2)')).click();
|
element(by.css('.tab-button:nth-of-type(2)')).click();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should go back to Tab1 Page2', function() {
|
it('should go back to Tab1 Page1', function() {
|
||||||
element(by.css('.tab-button:nth-of-type(1)')).click();
|
element(by.css('.tab-button:nth-of-type(1)')).click();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should go back to Tab1 Page1', function() {
|
|
||||||
element(by.css('#backToTab1Page1')).click();
|
|
||||||
});
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
<!-- Text -->
|
<!-- Text -->
|
||||||
<ion-tabs>
|
<ion-tabs class="no-navbar">
|
||||||
<ion-tab tab-title="Recents"></ion-tab>
|
<ion-tab tab-title="Recents"></ion-tab>
|
||||||
<ion-tab tab-title="Favorites"></ion-tab>
|
<ion-tab tab-title="Favorites"></ion-tab>
|
||||||
<ion-tab tab-title="Settings"></ion-tab>
|
<ion-tab tab-title="Settings"></ion-tab>
|
||||||
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<!-- Icons -->
|
<!-- Icons -->
|
||||||
<ion-tabs>
|
<ion-tabs class="no-navbar">
|
||||||
<ion-tab tab-icon="call"></ion-tab>
|
<ion-tab tab-icon="call"></ion-tab>
|
||||||
<ion-tab tab-icon="heart"></ion-tab>
|
<ion-tab tab-icon="heart"></ion-tab>
|
||||||
<ion-tab tab-icon="settings"></ion-tab>
|
<ion-tab tab-icon="settings"></ion-tab>
|
||||||
@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<!-- Icons on top of text -->
|
<!-- Icons on top of text -->
|
||||||
<ion-tabs>
|
<ion-tabs class="no-navbar">
|
||||||
<ion-tab tab-title="Location" tab-icon="navigate"></ion-tab>
|
<ion-tab tab-title="Location" tab-icon="navigate"></ion-tab>
|
||||||
<ion-tab tab-title="Favorites" tab-icon="star"></ion-tab>
|
<ion-tab tab-title="Favorites" tab-icon="star"></ion-tab>
|
||||||
<ion-tab tab-title="Radio" tab-icon="musical-notes"></ion-tab>
|
<ion-tab tab-title="Radio" tab-icon="musical-notes"></ion-tab>
|
||||||
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<!-- Icons below text -->
|
<!-- Icons below text -->
|
||||||
<ion-tabs tab-bar-icons="bottom">
|
<ion-tabs tab-bar-icons="bottom" class="no-navbar">
|
||||||
<ion-tab tab-title="Recents" tab-icon="call"></ion-tab>
|
<ion-tab tab-title="Recents" tab-icon="call"></ion-tab>
|
||||||
<ion-tab tab-title="Favorites" tab-icon="heart"></ion-tab>
|
<ion-tab tab-title="Favorites" tab-icon="heart"></ion-tab>
|
||||||
<ion-tab tab-title="Settings" tab-icon="settings"></ion-tab>
|
<ion-tab tab-title="Settings" tab-icon="settings"></ion-tab>
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
|
|
||||||
<!-- Icons right of text -->
|
<!-- Icons right of text -->
|
||||||
<ion-tabs tab-bar-icons="right">
|
<ion-tabs tab-bar-icons="right" class="no-navbar">
|
||||||
<ion-tab tab-title="Recents" tab-icon="call"></ion-tab>
|
<ion-tab tab-title="Recents" tab-icon="call"></ion-tab>
|
||||||
<ion-tab tab-title="Favorites" tab-icon="heart"></ion-tab>
|
<ion-tab tab-title="Favorites" tab-icon="heart"></ion-tab>
|
||||||
<ion-tab tab-title="Settings" tab-icon="settings"></ion-tab>
|
<ion-tab tab-title="Settings" tab-icon="settings"></ion-tab>
|
||||||
@ -40,21 +40,21 @@
|
|||||||
|
|
||||||
|
|
||||||
<!-- Icons left of text -->
|
<!-- Icons left of text -->
|
||||||
<ion-tabs tab-bar-icons="left">
|
<ion-tabs tab-bar-icons="left" class="no-navbar">
|
||||||
<ion-tab tab-title="Recents" tab-icon="call"></ion-tab>
|
<ion-tab tab-title="Recents" tab-icon="call"></ion-tab>
|
||||||
<ion-tab tab-title="Favorites" tab-icon="heart"></ion-tab>
|
<ion-tab tab-title="Favorites" tab-icon="heart"></ion-tab>
|
||||||
<ion-tab tab-title="Settings" tab-icon="settings"></ion-tab>
|
<ion-tab tab-title="Settings" tab-icon="settings"></ion-tab>
|
||||||
</ion-tabs>
|
</ion-tabs>
|
||||||
|
|
||||||
<!-- No icons -->
|
<!-- No icons -->
|
||||||
<ion-tabs tab-bar-icons="hide">
|
<ion-tabs tab-bar-icons="hide" class="no-navbar">
|
||||||
<ion-tab tab-title="Recents" tab-icon="call"></ion-tab>
|
<ion-tab tab-title="Recents" tab-icon="call"></ion-tab>
|
||||||
<ion-tab tab-title="Favorites" tab-icon="heart"></ion-tab>
|
<ion-tab tab-title="Favorites" tab-icon="heart"></ion-tab>
|
||||||
<ion-tab tab-title="Settings" tab-icon="settings"></ion-tab>
|
<ion-tab tab-title="Settings" tab-icon="settings"></ion-tab>
|
||||||
</ion-tabs>
|
</ion-tabs>
|
||||||
|
|
||||||
<!-- No overflow text -->
|
<!-- No overflow text -->
|
||||||
<ion-tabs>
|
<ion-tabs class="no-navbar">
|
||||||
<ion-tab tab-title="Indiana Jones and the Raiders of the Lost Ark"></ion-tab>
|
<ion-tab tab-title="Indiana Jones and the Raiders of the Lost Ark"></ion-tab>
|
||||||
<ion-tab tab-title="Indiana Jones and the Temple of Doom"></ion-tab>
|
<ion-tab tab-title="Indiana Jones and the Temple of Doom"></ion-tab>
|
||||||
<ion-tab tab-title="Indiana Jones and the Last Crusade"></ion-tab>
|
<ion-tab tab-title="Indiana Jones and the Last Crusade"></ion-tab>
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
"components/nav-bar/modes/md",
|
"components/nav-bar/modes/md",
|
||||||
"components/popup/modes/md",
|
"components/popup/modes/md",
|
||||||
"components/radio/modes/md",
|
"components/radio/modes/md",
|
||||||
|
"components/search-bar/modes/md",
|
||||||
"components/switch/modes/md",
|
"components/switch/modes/md",
|
||||||
"components/tabs/modes/md",
|
"components/tabs/modes/md",
|
||||||
"components/tap-click/ripple";
|
"components/tap-click/ripple";
|
||||||
|
@ -17,9 +17,19 @@
|
|||||||
stylesheet.setAttribute('rel', 'stylesheet');
|
stylesheet.setAttribute('rel', 'stylesheet');
|
||||||
stylesheet.setAttribute('href', '../../../css/' + theme);
|
stylesheet.setAttribute('href', '../../../css/' + theme);
|
||||||
document.getElementsByTagName('head')[0].appendChild(stylesheet);
|
document.getElementsByTagName('head')[0].appendChild(stylesheet);
|
||||||
|
|
||||||
|
if (location.href.indexOf('snapshot=true') > -1) {
|
||||||
|
document.documentElement.classList.add('snapshot');
|
||||||
|
} else {
|
||||||
|
document.documentElement.classList.remove('snapshot');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
.snapshot body {
|
||||||
|
max-height: 700px;
|
||||||
|
}
|
||||||
|
|
||||||
/* hack to create tall scrollable areas for testing using <f></f> */
|
/* hack to create tall scrollable areas for testing using <f></f> */
|
||||||
f {
|
f {
|
||||||
display: block;
|
display: block;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
describe('<%= relativePath %>: <%= platform %>', function() {
|
describe('<%= relativePath %>: <%= platform %>', function() {
|
||||||
|
|
||||||
it('should init', function() {
|
it('should init', function() {
|
||||||
browser.get('http://localhost:<%= buildConfig.protractorPort %>/dist/e2e/<%= relativePath %>/index.html?ionicplatform=<%= platform %>');
|
browser.get('http://localhost:<%= buildConfig.protractorPort %>/dist/e2e/<%= relativePath %>/index.html?ionicplatform=<%= platform %>&snapshot=true');
|
||||||
});
|
});
|
||||||
|
|
||||||
<%= contents %>
|
<%= contents %>
|
||||||
|
@ -9,9 +9,9 @@ exports.config = {
|
|||||||
//domain: 'localhost:8080',
|
//domain: 'localhost:8080',
|
||||||
|
|
||||||
specs: 'dist/e2e/**/*e2e.js',
|
specs: 'dist/e2e/**/*e2e.js',
|
||||||
//specs: 'dist/e2e/switch/basic/*e2e.js',
|
//specs: 'dist/e2e/tabs/**/*e2e.js',
|
||||||
|
|
||||||
sleepBetweenSpecs: 1500,
|
sleepBetweenSpecs: 1400,
|
||||||
|
|
||||||
platformDefauls: {
|
platformDefauls: {
|
||||||
browser: 'chrome',
|
browser: 'chrome',
|
||||||
|
Reference in New Issue
Block a user