mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-23 14:01:20 +08:00
test(snapshot): build all tests into a single app (#11910)
* fix(lint): unused import * fix(searchbar): caret moving to the end when typing * refactor(template): fix component template (#11839) fix #11838 * chore(issue-template): change link to new org name * docs(github): rename driftyco references to ionic-team * fix(toolbar): use the correct contrast color for MD toolbar fixes #11848 * docs(searchbar): add default values for inputs (#11856) Complete missing defaults for animated and showCancelButton. * docs(tabs): rename Angular 2 to Angular (#11837) * docs(tabs): change double quotes to single quotes (#11836) * docs(api-tabs): improved typo * Update tab.ts * docs(slides): change double quotes to single quotes (#11835) * docs(api-slides): improve typo * Update slides.ts * docs(platform): change double quotes to single quotes (#11834) * docs(nav-controller): add type to usage example (#11833) * docs(util): hide normalizeURL (#11735) * docs(checkbox): rename Angular 2 to Angular (#11831) * docs(api-checkbox): renamed Angular 2 to Angular * Update checkbox.ts * docs(checkbox): improve usage example (#11832) * docs(api-checkbox): improve typo * Update chip.ts * docs(menu): update menu-controller link Closes #11877. Closes https://github.com/ionic-team/ionic-site/issues/1129 * feat(snapshot): init new "components" for global testing * feat(snapshot): add app component * feat(snapshot): add assistive touch * feat(snapshot): add more components * feat(snapshot): add more components * fix(snapshot): add trailing line * fix(snapshot): remove not working tests * fix(snapshot): correct name of group
This commit is contained in:

committed by
Brandy Carney

parent
1c25acbb1f
commit
7d8696c050
11
src/components/snapshot/test/basic/app/app.component.ts
Normal file
11
src/components/snapshot/test/basic/app/app.component.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { Component } from '@angular/core';
|
||||||
|
import {ComponentsPage} from '../pages/components/components';
|
||||||
|
import {AssistiveTouchProvider} from "../providers/assistive-touch/assistive-touch";
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
template: `<assistive-touch></assistive-touch>
|
||||||
|
<ion-nav [root]="root"></ion-nav>`
|
||||||
|
})
|
||||||
|
export class AppComponent {
|
||||||
|
root = ComponentsPage;
|
||||||
|
}
|
21
src/components/snapshot/test/basic/app/app.module.ts
Normal file
21
src/components/snapshot/test/basic/app/app.module.ts
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { BrowserModule } from '@angular/platform-browser';
|
||||||
|
import { IonicApp, IonicModule } from '../../../../../';
|
||||||
|
|
||||||
|
import { AppComponent } from './app.component';
|
||||||
|
import { ComponentsModule } from '../pages/components/components.module';
|
||||||
|
import {AssistiveTouchComponentModule} from '../components/assistive-touch/assistive-touch.module';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
declarations: [
|
||||||
|
AppComponent,
|
||||||
|
],
|
||||||
|
imports: [
|
||||||
|
BrowserModule,
|
||||||
|
IonicModule.forRoot(AppComponent, {}),
|
||||||
|
ComponentsModule,
|
||||||
|
AssistiveTouchComponentModule
|
||||||
|
],
|
||||||
|
bootstrap: [IonicApp]
|
||||||
|
})
|
||||||
|
export class AppModule {}
|
5
src/components/snapshot/test/basic/app/main.ts
Normal file
5
src/components/snapshot/test/basic/app/main.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
|
||||||
|
|
||||||
|
import { AppModule } from './app.module';
|
||||||
|
|
||||||
|
platformBrowserDynamic().bootstrapModule(AppModule);
|
@ -0,0 +1 @@
|
|||||||
|
<ion-icon name="radio-button-on"></ion-icon>
|
@ -0,0 +1,21 @@
|
|||||||
|
import {NgModule} from '@angular/core';
|
||||||
|
import {AssistiveTouchComponent} from './assistive-touch';
|
||||||
|
import {IonicPageModule} from '../../../../../../module';
|
||||||
|
import {AssistiveTouchProvider} from '../../providers/assistive-touch/assistive-touch';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
declarations: [
|
||||||
|
AssistiveTouchComponent,
|
||||||
|
],
|
||||||
|
imports: [
|
||||||
|
IonicPageModule.forChild(AssistiveTouchComponent),
|
||||||
|
],
|
||||||
|
exports: [
|
||||||
|
AssistiveTouchComponent
|
||||||
|
],
|
||||||
|
providers: [
|
||||||
|
AssistiveTouchProvider
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class AssistiveTouchComponentModule {
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
.app-root {
|
||||||
|
contain: none !important;
|
||||||
|
position: initial !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
assistive-touch {
|
||||||
|
@include padding(10px);
|
||||||
|
@include border-radius(15px);
|
||||||
|
|
||||||
|
z-index: 9999999;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
|
||||||
|
display: block;
|
||||||
|
contain: strict;
|
||||||
|
|
||||||
|
background-color: rgba(0, 0, 0, 0.7);
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
font-size: 34px;
|
||||||
|
color: white;
|
||||||
|
}
|
@ -0,0 +1,84 @@
|
|||||||
|
import {AfterViewInit, Component, ElementRef, Renderer2} from '@angular/core';
|
||||||
|
import {DomController} from '../../../../../../platform/dom-controller';
|
||||||
|
import {AssistiveTouchProvider} from '../../providers/assistive-touch/assistive-touch';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'assistive-touch',
|
||||||
|
templateUrl: 'assistive-touch.html',
|
||||||
|
host: {
|
||||||
|
'(click)': 'openControl()'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
export class AssistiveTouchComponent implements AfterViewInit {
|
||||||
|
private sideX = 'right';
|
||||||
|
private sideY = 'bottom';
|
||||||
|
private currentX: number = 2;
|
||||||
|
private currentY: number = 150;
|
||||||
|
|
||||||
|
private elemWidthOffset: number;
|
||||||
|
private elemHeightOffset: number;
|
||||||
|
|
||||||
|
constructor(private assistive: AssistiveTouchProvider, public element: ElementRef, public renderer: Renderer2, public domCtrl: DomController) {
|
||||||
|
}
|
||||||
|
|
||||||
|
ngAfterViewInit() {
|
||||||
|
const hammer = new (<any>(window))['Hammer'](this.element.nativeElement);
|
||||||
|
hammer.get('pan').set({direction: (<any>(window))['Hammer'].DIRECTION_ALL});
|
||||||
|
|
||||||
|
hammer.on('panmove', this.handlePan.bind(this));
|
||||||
|
hammer.on('panend', this.panEnd.bind(this));
|
||||||
|
|
||||||
|
const rect = this.element.nativeElement.getBoundingClientRect();
|
||||||
|
this.elemWidthOffset = rect.width / 2;
|
||||||
|
this.elemHeightOffset = rect.height / 2;
|
||||||
|
|
||||||
|
this.updatePosition();
|
||||||
|
}
|
||||||
|
|
||||||
|
private handlePan(ev: {center: {x: number, y: number}}) {
|
||||||
|
let newX = ev.center.x;
|
||||||
|
let newY = ev.center.y;
|
||||||
|
|
||||||
|
this.sideX = (newX < window.innerWidth / 2) ? 'left' : 'right';
|
||||||
|
this.sideY = (newY < window.innerHeight / 2) ? 'top' : 'bottom';
|
||||||
|
|
||||||
|
if (this.sideX === 'right')
|
||||||
|
newX = window.innerWidth - newX;
|
||||||
|
newX -= this.elemWidthOffset;
|
||||||
|
|
||||||
|
if (this.sideY === 'bottom')
|
||||||
|
newY = window.innerHeight - newY;
|
||||||
|
newY -= this.elemHeightOffset;
|
||||||
|
|
||||||
|
this.currentX = newX > 2 ? newX : 2;
|
||||||
|
this.currentY = newY > 2 ? newY : 2;
|
||||||
|
|
||||||
|
this.updatePosition();
|
||||||
|
}
|
||||||
|
|
||||||
|
private panEnd() {
|
||||||
|
if (this.currentX > this.currentY) {
|
||||||
|
this.currentY = 2;
|
||||||
|
} else {
|
||||||
|
this.currentX = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.updatePosition();
|
||||||
|
}
|
||||||
|
|
||||||
|
private updatePosition() {
|
||||||
|
this.domCtrl.write(() => {
|
||||||
|
this.renderer.setStyle(this.element.nativeElement, this.sideX === 'left' ? 'right' : 'left', 'auto');
|
||||||
|
this.renderer.setStyle(this.element.nativeElement, this.sideX, this.currentX + 'px');
|
||||||
|
|
||||||
|
this.renderer.setStyle(this.element.nativeElement, this.sideY === 'top' ? 'bottom' : 'top', 'auto');
|
||||||
|
this.renderer.setStyle(this.element.nativeElement, this.sideY, this.currentY + 'px');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
openControl() {
|
||||||
|
// TODO when custom alerts are out, this should open a custom alert
|
||||||
|
// Allow setting direction, close, whatever
|
||||||
|
this.assistive.closeButton.emit();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,16 @@
|
|||||||
|
<ion-header>
|
||||||
|
<ion-navbar>
|
||||||
|
<ion-title>Components</ion-title>
|
||||||
|
</ion-navbar>
|
||||||
|
</ion-header>
|
||||||
|
|
||||||
|
<ion-content>
|
||||||
|
<ion-list>
|
||||||
|
<ion-item-group *ngFor="let componentItem of components">
|
||||||
|
<ion-item-divider>{{componentItem.name}}</ion-item-divider>
|
||||||
|
<button ion-item *ngFor="let component of componentItem.components" (click)="open(component.component)">
|
||||||
|
<ion-label>{{component.name}}</ion-label>
|
||||||
|
</button>
|
||||||
|
</ion-item-group>
|
||||||
|
</ion-list>
|
||||||
|
</ion-content>
|
@ -0,0 +1,417 @@
|
|||||||
|
import {NgModule} from '@angular/core';
|
||||||
|
import {IonicPageModule} from '../../../../../../';
|
||||||
|
|
||||||
|
import {ComponentsPage} from './components';
|
||||||
|
|
||||||
|
import {AppModule as ActionSheetBasic} from '../../../../../action-sheet/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as AlertBasic} from '../../../../../alert/test/basic/app/app.module';
|
||||||
|
import {AppModule as AlertDismiss} from '../../../../../alert/test/dismiss/app.module';
|
||||||
|
|
||||||
|
import {AppModule as AppAnimations} from '../../../../../app/test/animations/app.module';
|
||||||
|
import {AppModule as AppCordova} from '../../../../../app/test/cordova/app/app.module';
|
||||||
|
import {AppModule as AppGestureCollision} from '../../../../../app/test/gesture-collision/app/app.module';
|
||||||
|
import {AppModule as AppGestures} from '../../../../../app/test/gestures/app.module';
|
||||||
|
import {AppModule as AppTypography} from '../../../../../app/test/typography/app/app.module';
|
||||||
|
import {AppModule as AppUtilities} from '../../../../../app/test/utilities/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as BadgeBasic} from '../../../../../badge/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as ButtonAnchors} from '../../../../../button/test/anchors/app/app.module';
|
||||||
|
import {AppModule as ButtonAttributes} from '../../../../../button/test/attributes/app/app.module';
|
||||||
|
import {AppModule as ButtonBasic} from '../../../../../button/test/basic/app/app.module';
|
||||||
|
import {AppModule as ButtonBlock} from '../../../../../button/test/block/app/app.module';
|
||||||
|
import {AppModule as ButtonClear} from '../../../../../button/test/clear/app/app.module';
|
||||||
|
import {AppModule as ButtonDecorator} from '../../../../../button/test/decorator/app/app.module';
|
||||||
|
import {AppModule as ButtonDynamic} from '../../../../../button/test/dynamic/app/app.module';
|
||||||
|
import {AppModule as ButtonFull} from '../../../../../button/test/full/app/app.module';
|
||||||
|
import {AppModule as ButtonIcons} from '../../../../../button/test/icons/app/app.module';
|
||||||
|
import {AppModule as ButtonOutline} from '../../../../../button/test/outline/app/app.module';
|
||||||
|
import {AppModule as ButtonRaised} from '../../../../../button/test/raised/app.module';
|
||||||
|
import {AppModule as ButtonRound} from '../../../../../button/test/round/app/app.module';
|
||||||
|
import {AppModule as ButtonSizes} from '../../../../../button/test/sizes/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as CardAdvanced} from '../../../../../card/test/advanced/app/app.module';
|
||||||
|
import {AppModule as CardBasic} from '../../../../../card/test/basic/app/app.module';
|
||||||
|
import {AppModule as CardColors} from '../../../../../card/test/colors/app/app.module';
|
||||||
|
import {AppModule as CardImages} from '../../../../../card/test/images/app/app.module';
|
||||||
|
import {AppModule as CardList} from '../../../../../card/test/list/app/app.module';
|
||||||
|
import {AppModule as CardMap} from '../../../../../card/test/map/app.module';
|
||||||
|
import {AppModule as CardSocial} from '../../../../../card/test/social/app.module';
|
||||||
|
|
||||||
|
import {AppModule as CheckboxBasic} from '../../../../../checkbox/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as ChipBasic} from '../../../../../chip/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as ContentBasic} from '../../../../../content/test/basic/app/app.module';
|
||||||
|
import {AppModule as ContentFullscreen} from '../../../../../content/test/fullscreen/app/app.module';
|
||||||
|
import {AppModule as ContentHeaderScroll} from '../../../../../content/test/header-scroll/app.module';
|
||||||
|
import {AppModule as ContentNoBounce} from '../../../../../content/test/no-bounce/app/app.module';
|
||||||
|
import {AppModule as ContentScrollDownOnLoad} from '../../../../../content/test/scroll-down-on-load/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as DatetimeBasic} from '../../../../../datetime/test/basic/app/app.module';
|
||||||
|
import {AppModule as DatetimeForm} from '../../../../../datetime/test/form/app.module';
|
||||||
|
import {AppModule as DatetimeIssues} from '../../../../../datetime/test/issues/app/app.module';
|
||||||
|
import {AppModule as DatetimeLabels} from '../../../../../datetime/test/labels/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as FabBasic} from '../../../../../fab/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as GridAlignment} from '../../../../../grid/test/alignment/app.module';
|
||||||
|
import {AppModule as GridBasic} from '../../../../../grid/test/basic/app/app.module';
|
||||||
|
import {AppModule as GridCard} from '../../../../../grid/test/card/app.module';
|
||||||
|
import {AppModule as GridFull} from '../../../../../grid/test/full/app.module';
|
||||||
|
import {AppModule as GridResponsive} from '../../../../../grid/test/responsive/app.module';
|
||||||
|
|
||||||
|
import {AppModule as IconBasic} from '../../../../../icon/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as ImgBasic} from '../../../../../img/test/basic/app/app.module';
|
||||||
|
import {AppModule as ImgCards} from '../../../../../img/test/cards/app.module';
|
||||||
|
import {AppModule as ImgLazyLoad} from '../../../../../img/test/lazy-load/app.module';
|
||||||
|
import {AppModule as ImgList} from '../../../../../img/test/list/app.module';
|
||||||
|
|
||||||
|
import {AppModule as InfiniteScrollBasic} from '../../../../../infinite-scroll/test/basic/app.module';
|
||||||
|
import {AppModule as InfiniteScrollPositionTop} from '../../../../../infinite-scroll/test/position-top/app/app.module';
|
||||||
|
import {AppModule as InfiniteScrollShortList} from '../../../../../infinite-scroll/test/short-list/app.module';
|
||||||
|
|
||||||
|
import {AppModule as InputBasicForm} from '../../../../../input/test/basic-form/app/app.module';
|
||||||
|
import {AppModule as InputClearAfterEdit} from '../../../../../input/test/clear-after-edit/app/app.module';
|
||||||
|
import {AppModule as InputClearInput} from '../../../../../input/test/clear-input/app/app.module';
|
||||||
|
import {AppModule as InputEvents} from '../../../../../input/test/events/app/app.module';
|
||||||
|
import {AppModule as InputFixedInlineLabels} from '../../../../../input/test/fixed-inline-labels/app/app.module';
|
||||||
|
import {AppModule as InputFloatingLabels} from '../../../../../input/test/floating-labels/app/app.module';
|
||||||
|
import {AppModule as InputFooterInputs} from '../../../../../input/test/footer-inputs/app/app.module';
|
||||||
|
import {AppModule as InputFormInputs} from '../../../../../input/test/form-inputs/app/app.module';
|
||||||
|
import {AppModule as InputHighlight} from '../../../../../input/test/highlight/app/app.module';
|
||||||
|
import {AppModule as InputInlineLabels} from '../../../../../input/test/inline-labels/app/app.module';
|
||||||
|
import {AppModule as InputInputFocus} from '../../../../../input/test/input-focus/app/app.module';
|
||||||
|
import {AppModule as InputInsetInputs} from '../../../../../input/test/inset-inputs/app/app.module';
|
||||||
|
import {AppModule as InputPlaceholderLabels} from '../../../../../input/test/placeholder-labels/app/app.module';
|
||||||
|
import {AppModule as InputStackedLabels} from '../../../../../input/test/stacked-labels/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as ItemButtons} from '../../../../../item/test/buttons/app/app.module';
|
||||||
|
import {AppModule as ItemColors} from '../../../../../item/test/colors/app/app.module';
|
||||||
|
import {AppModule as ItemDividers} from '../../../../../item/test/dividers/app/app.module';
|
||||||
|
import {AppModule as ItemGroups} from '../../../../../item/test/groups/app/app.module';
|
||||||
|
import {AppModule as ItemIcons} from '../../../../../item/test/icons/app/app.module';
|
||||||
|
import {AppModule as ItemImages} from '../../../../../item/test/images/app/app.module';
|
||||||
|
import {AppModule as ItemInputs} from '../../../../../item/test/inputs/app/app.module';
|
||||||
|
import {AppModule as ItemMedia} from '../../../../../item/test/media/app/app.module';
|
||||||
|
import {AppModule as ItemReorder} from '../../../../../item/test/reorder/app/app.module';
|
||||||
|
import {AppModule as ItemSliding} from '../../../../../item/test/sliding/app/app.module';
|
||||||
|
import {AppModule as ItemText} from '../../../../../item/test/text/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as ListChatList} from '../../../../../list/test/chat-list/app.module';
|
||||||
|
import {AppModule as ListHeaderScenarios} from '../../../../../list/test/header-scenarios/app/app.module';
|
||||||
|
import {AppModule as ListHeaders} from '../../../../../list/test/headers/app/app.module';
|
||||||
|
import {AppModule as ListInset} from '../../../../../list/test/inset/app/app.module';
|
||||||
|
import {AppModule as ListNoLines} from '../../../../../list/test/no-lines/app/app.module';
|
||||||
|
import {AppModule as ListRepeatHeaders} from '../../../../../list/test/repeat-headers/app.module';
|
||||||
|
import {AppModule as ListSticky} from '../../../../../list/test/sticky/app.module';
|
||||||
|
|
||||||
|
import {AppModule as LoadingBasic} from '../../../../../loading/test/basic/app/app.module';
|
||||||
|
import {AppModule as LoadingTabs} from '../../../../../tabs/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as MenuBasic} from '../../../../../menu/test/basic/app/app.module';
|
||||||
|
// import {AppModule as MenuDisableSwipe} from '../../../../../menu/test/disable-swipe/app.module'; TODO
|
||||||
|
// import {AppModule as MenuEnableDisable} from '../../../../../menu/test/enable-disable/app.module'; TODO
|
||||||
|
import {AppModule as MenuMultiple} from '../../../../../menu/test/multiple/app/app.module';
|
||||||
|
import {AppModule as MenuOverlay} from '../../../../../menu/test/overlay/app.module';
|
||||||
|
import {AppModule as MenuPush} from '../../../../../menu/test/push/app.module';
|
||||||
|
import {AppModule as MenuReveal} from '../../../../../menu/test/reveal/app.module';
|
||||||
|
|
||||||
|
import {AppModule as ModalBasic} from '../../../../../modal/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as NavBasic} from '../../../../../nav/test/basic/app/app.module';
|
||||||
|
import {AppModule as NavChildNavs} from '../../../../../nav/test/child-navs/app/app.module';
|
||||||
|
import {AppModule as NavInitAsync} from '../../../../../nav/test/init-async/app.module';
|
||||||
|
import {AppModule as NavInsertViews} from '../../../../../nav/test/insert-views/app.module';
|
||||||
|
import {AppModule as NavMemory} from '../../../../../nav/test/memory/app.module';
|
||||||
|
import {AppModule as NavNavPushPop} from '../../../../../nav/test/nav-push-pop/app.module';
|
||||||
|
import {AppModule as NavWorstCase} from '../../../../../nav/test/worst-case/app.module';
|
||||||
|
|
||||||
|
import {AppModule as PickerBasic} from '../../../../../picker/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as PopoverBasic} from '../../../../../popover/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as RadioBasic} from '../../../../../radio/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as RangeBasic} from '../../../../../range/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as RefresherBasic} from '../../../../../refresher/test/basic/app.module';
|
||||||
|
// import {AppModule as RefresherNavigation} from '../../../../../refresher/test/navigation/app.module'; TODO
|
||||||
|
|
||||||
|
import {AppModule as ScrollBasic} from '../../../../../scroll/test/basic/app.module';
|
||||||
|
|
||||||
|
import {AppModule as SearchbarBasic} from '../../../../../searchbar/test/basic/app/app.module';
|
||||||
|
import {AppModule as SearchbarNav} from '../../../../../searchbar/test/nav/app/app.module';
|
||||||
|
import {AppModule as SearchbarToolbar} from '../../../../../searchbar/test/toolbar/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as SegmentBasic} from '../../../../../segment/test/basic/app/app.module';
|
||||||
|
import {AppModule as SegmentNav} from '../../../../../segment/test/nav/app/app.module';
|
||||||
|
import {AppModule as SegmentSwipe} from '../../../../../segment/test/swipe/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as SelectMultipleValue} from '../../../../../select/test/multiple-value/app/app.module';
|
||||||
|
import {AppModule as SelectSingleValue} from '../../../../../select/test/single-value/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as ShowHideWhenBasic} from '../../../../../show-hide-when/test/basic/app.module';
|
||||||
|
|
||||||
|
import {AppModule as SlidesBasic} from '../../../../../slides/test/basic/app.module';
|
||||||
|
import {AppModule as SlidesControl} from '../../../../../slides/test/control/app.module';
|
||||||
|
import {AppModule as SlidesController} from '../../../../../slides/test/controller/app.module';
|
||||||
|
import {AppModule as SlidesImages} from '../../../../../slides/test/images/app.module';
|
||||||
|
import {AppModule as SlidesIntro} from '../../../../../slides/test/intro/app.module';
|
||||||
|
import {AppModule as SlidesLoop} from '../../../../../slides/test/loop/app.module';
|
||||||
|
import {AppModule as SlidesOptions} from '../../../../../slides/test/options/app.module';
|
||||||
|
import {AppModule as SlidesRTL} from '../../../../../slides/test/rtl/app.module';
|
||||||
|
import {AppModule as SlidesScroll} from '../../../../../slides/test/scroll/app.module';
|
||||||
|
|
||||||
|
import {AppModule as SpinnerBasic} from '../../../../../spinner/test/basic/app.module';
|
||||||
|
import {AppModule as SpinnerColors} from '../../../../../spinner/test/colors/app.module';
|
||||||
|
|
||||||
|
import {AppModule as SplitPaneBasic} from '../../../../../split-pane/test/basic/app/app.module';
|
||||||
|
import {AppModule as SplitPaneMenus} from '../../../../../split-pane/test/menus/app/app.module';
|
||||||
|
import {AppModule as SplitPaneNested} from '../../../../../split-pane/test/nested/app/app.module';
|
||||||
|
import {AppModule as SplitPaneTabs} from '../../../../../split-pane/test/tabs/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as TabsAdvanced} from '../../../../../tabs/test/advanced/app/app.module';
|
||||||
|
import {AppModule as TabsBadges} from '../../../../../tabs/test/badges/app/app.module';
|
||||||
|
import {AppModule as TabsBasic} from '../../../../../tabs/test/basic/app/app.module';
|
||||||
|
import {AppModule as TabsColors} from '../../../../../tabs/test/colors/app/app.module';
|
||||||
|
import {AppModule as TabsEvents} from '../../../../../tabs/test/events/app.module';
|
||||||
|
import {AppModule as TabsGhost} from '../../../../../tabs/test/ghost/app.module';
|
||||||
|
import {AppModule as TabsLifecycle} from '../../../../../tabs/test/lifecyles/app.module';
|
||||||
|
import {AppModule as TabsTabBarScenarios} from '../../../../../tabs/test/tab-bar-scenarios/app/app.module';
|
||||||
|
import {AppModule as TabsTop} from '../../../../../tabs/test/top/app.module';
|
||||||
|
|
||||||
|
import {AppModule as ToastBasic} from '../../../../../toast/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as ToggleBasic} from '../../../../../toggle/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as ToolbarBasic} from '../../../../../toolbar/test/basic/app/app.module';
|
||||||
|
import {AppModule as ToolbarColors} from '../../../../../toolbar/test/colors/app/app.module';
|
||||||
|
import {AppModule as ToolbarScenarios} from '../../../../../toolbar/test/scenarios/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as TypographyBasic} from '../../../../../typography/test/basic/app/app.module';
|
||||||
|
|
||||||
|
import {AppModule as VirtualScrollBasic} from '../../../../../virtual-scroll/test/basic/app.module';
|
||||||
|
import {AppModule as VirtualScrollCards} from '../../../../../virtual-scroll/test/cards/app.module';
|
||||||
|
import {AppModule as VirtualScrollImageGallery} from '../../../../../virtual-scroll/test/image-gallery/app.module';
|
||||||
|
import {AppModule as VirtualScrollInfiniteScroll} from '../../../../../virtual-scroll/test/infinite-scroll/app.module';
|
||||||
|
import {AppModule as VirtualScrollList} from '../../../../../virtual-scroll/test/list/app.module';
|
||||||
|
import {AppModule as VirtualScrollMedia} from '../../../../../virtual-scroll/test/media/app/app.module';
|
||||||
|
import {AppModule as VirtualScrollSlidingItem} from '../../../../../virtual-scroll/test/sliding-item/app.module';
|
||||||
|
import {AppModule as VirtualScrollVariableSize} from '../../../../../virtual-scroll/test/variable-size/app.module';
|
||||||
|
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
declarations: [
|
||||||
|
ComponentsPage
|
||||||
|
],
|
||||||
|
imports: [
|
||||||
|
IonicPageModule.forChild(ComponentsPage),
|
||||||
|
|
||||||
|
ActionSheetBasic,
|
||||||
|
|
||||||
|
AlertBasic,
|
||||||
|
AlertDismiss,
|
||||||
|
|
||||||
|
AppAnimations,
|
||||||
|
AppCordova,
|
||||||
|
AppGestureCollision,
|
||||||
|
AppGestures,
|
||||||
|
AppTypography,
|
||||||
|
AppUtilities,
|
||||||
|
|
||||||
|
BadgeBasic,
|
||||||
|
|
||||||
|
ButtonAnchors,
|
||||||
|
ButtonAttributes,
|
||||||
|
ButtonBasic,
|
||||||
|
ButtonBlock,
|
||||||
|
ButtonClear,
|
||||||
|
ButtonDecorator,
|
||||||
|
ButtonDynamic,
|
||||||
|
ButtonFull,
|
||||||
|
ButtonIcons,
|
||||||
|
ButtonOutline,
|
||||||
|
ButtonRaised,
|
||||||
|
ButtonRound,
|
||||||
|
ButtonSizes,
|
||||||
|
|
||||||
|
CardAdvanced,
|
||||||
|
CardBasic,
|
||||||
|
CardColors,
|
||||||
|
CardImages,
|
||||||
|
CardList,
|
||||||
|
CardMap,
|
||||||
|
CardSocial,
|
||||||
|
|
||||||
|
CheckboxBasic,
|
||||||
|
|
||||||
|
ChipBasic,
|
||||||
|
|
||||||
|
ContentBasic,
|
||||||
|
ContentFullscreen,
|
||||||
|
ContentHeaderScroll,
|
||||||
|
ContentNoBounce,
|
||||||
|
ContentScrollDownOnLoad,
|
||||||
|
|
||||||
|
DatetimeBasic,
|
||||||
|
DatetimeForm,
|
||||||
|
DatetimeIssues,
|
||||||
|
DatetimeLabels,
|
||||||
|
|
||||||
|
FabBasic,
|
||||||
|
|
||||||
|
GridAlignment,
|
||||||
|
GridBasic,
|
||||||
|
GridCard,
|
||||||
|
GridFull,
|
||||||
|
GridResponsive,
|
||||||
|
|
||||||
|
IconBasic,
|
||||||
|
|
||||||
|
ImgBasic,
|
||||||
|
ImgCards,
|
||||||
|
ImgLazyLoad,
|
||||||
|
ImgList,
|
||||||
|
|
||||||
|
InfiniteScrollBasic,
|
||||||
|
InfiniteScrollPositionTop,
|
||||||
|
InfiniteScrollShortList,
|
||||||
|
|
||||||
|
InputBasicForm,
|
||||||
|
InputClearAfterEdit,
|
||||||
|
InputClearInput,
|
||||||
|
InputEvents,
|
||||||
|
InputFixedInlineLabels,
|
||||||
|
InputFloatingLabels,
|
||||||
|
InputFooterInputs,
|
||||||
|
InputFormInputs,
|
||||||
|
InputHighlight,
|
||||||
|
InputInlineLabels,
|
||||||
|
InputInputFocus,
|
||||||
|
InputInsetInputs,
|
||||||
|
InputPlaceholderLabels,
|
||||||
|
InputStackedLabels,
|
||||||
|
|
||||||
|
ItemButtons,
|
||||||
|
ItemColors,
|
||||||
|
ItemDividers,
|
||||||
|
ItemGroups,
|
||||||
|
ItemIcons,
|
||||||
|
ItemImages,
|
||||||
|
ItemInputs,
|
||||||
|
ItemMedia,
|
||||||
|
ItemReorder,
|
||||||
|
ItemSliding,
|
||||||
|
ItemText,
|
||||||
|
|
||||||
|
ListChatList,
|
||||||
|
ListHeaderScenarios,
|
||||||
|
ListHeaders,
|
||||||
|
ListInset,
|
||||||
|
ListNoLines,
|
||||||
|
ListRepeatHeaders,
|
||||||
|
ListSticky,
|
||||||
|
|
||||||
|
LoadingBasic,
|
||||||
|
LoadingTabs,
|
||||||
|
|
||||||
|
MenuBasic,
|
||||||
|
// MenuDisableSwipe, TODO
|
||||||
|
// MenuEnableDisable, TODO
|
||||||
|
MenuMultiple,
|
||||||
|
MenuOverlay,
|
||||||
|
MenuPush,
|
||||||
|
MenuReveal,
|
||||||
|
|
||||||
|
ModalBasic,
|
||||||
|
|
||||||
|
NavBasic,
|
||||||
|
NavChildNavs,
|
||||||
|
NavInitAsync,
|
||||||
|
NavInsertViews,
|
||||||
|
NavMemory,
|
||||||
|
NavNavPushPop,
|
||||||
|
NavWorstCase,
|
||||||
|
|
||||||
|
PickerBasic,
|
||||||
|
|
||||||
|
PopoverBasic,
|
||||||
|
|
||||||
|
RadioBasic,
|
||||||
|
|
||||||
|
RangeBasic,
|
||||||
|
|
||||||
|
RefresherBasic,
|
||||||
|
// RefresherNavigation, TODO
|
||||||
|
|
||||||
|
ScrollBasic,
|
||||||
|
|
||||||
|
SearchbarBasic,
|
||||||
|
SearchbarNav,
|
||||||
|
SearchbarToolbar,
|
||||||
|
|
||||||
|
SegmentBasic,
|
||||||
|
SegmentNav,
|
||||||
|
SegmentSwipe,
|
||||||
|
|
||||||
|
SelectMultipleValue,
|
||||||
|
SelectSingleValue,
|
||||||
|
|
||||||
|
ShowHideWhenBasic,
|
||||||
|
|
||||||
|
SlidesBasic,
|
||||||
|
SlidesControl,
|
||||||
|
SlidesController,
|
||||||
|
SlidesImages,
|
||||||
|
SlidesIntro,
|
||||||
|
SlidesLoop,
|
||||||
|
SlidesOptions,
|
||||||
|
SlidesRTL,
|
||||||
|
SlidesScroll,
|
||||||
|
|
||||||
|
SpinnerBasic,
|
||||||
|
SpinnerColors,
|
||||||
|
|
||||||
|
SplitPaneBasic,
|
||||||
|
SplitPaneMenus,
|
||||||
|
SplitPaneNested,
|
||||||
|
SplitPaneTabs,
|
||||||
|
|
||||||
|
TabsAdvanced,
|
||||||
|
TabsBadges,
|
||||||
|
TabsBasic,
|
||||||
|
TabsColors,
|
||||||
|
TabsEvents,
|
||||||
|
TabsGhost,
|
||||||
|
TabsLifecycle,
|
||||||
|
TabsTabBarScenarios,
|
||||||
|
TabsTop,
|
||||||
|
|
||||||
|
ToastBasic,
|
||||||
|
|
||||||
|
ToggleBasic,
|
||||||
|
|
||||||
|
ToolbarBasic,
|
||||||
|
ToolbarColors,
|
||||||
|
ToolbarScenarios,
|
||||||
|
|
||||||
|
TypographyBasic,
|
||||||
|
|
||||||
|
VirtualScrollBasic,
|
||||||
|
VirtualScrollCards,
|
||||||
|
VirtualScrollImageGallery,
|
||||||
|
VirtualScrollInfiniteScroll,
|
||||||
|
VirtualScrollList,
|
||||||
|
VirtualScrollMedia,
|
||||||
|
VirtualScrollSlidingItem,
|
||||||
|
VirtualScrollVariableSize,
|
||||||
|
],
|
||||||
|
entryComponents: [
|
||||||
|
ComponentsPage
|
||||||
|
]
|
||||||
|
})
|
||||||
|
export class ComponentsModule {
|
||||||
|
}
|
@ -0,0 +1,574 @@
|
|||||||
|
import {Component} from '@angular/core';
|
||||||
|
import {IonicPage} from '../../../../../../';
|
||||||
|
|
||||||
|
import {AssistiveTouchProvider} from '../../providers/assistive-touch/assistive-touch';
|
||||||
|
import {NavController} from '../../../../../../navigation/nav-controller';
|
||||||
|
|
||||||
|
import {AppComponent as ActionSheetBasic} from '../../../../../action-sheet/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as AlertBasic} from '../../../../../alert/test/basic/app/app.component';
|
||||||
|
import {AppComponent as AlertDismiss} from '../../../../../alert/test/dismiss/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as AppAnimations} from '../../../../../app/test/animations/app.module';
|
||||||
|
import {AppComponent as AppCordova} from '../../../../../app/test/cordova/app/app.component';
|
||||||
|
import {AppComponent as AppGestureCollision} from '../../../../../app/test/gesture-collision/app/app.component';
|
||||||
|
import {AppComponent as AppGestures} from '../../../../../app/test/gestures/app.module';
|
||||||
|
import {AppComponent as AppTypography} from '../../../../../app/test/typography/app/app.component';
|
||||||
|
import {AppComponent as AppUtilities} from '../../../../../app/test/utilities/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as BadgeBasic} from '../../../../../badge/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as ButtonAnchors} from '../../../../../button/test/anchors/app/app.component';
|
||||||
|
import {AppComponent as ButtonAttributes} from '../../../../../button/test/attributes/app/app.component';
|
||||||
|
import {AppComponent as ButtonBasic} from '../../../../../button/test/basic/app/app.component';
|
||||||
|
import {AppComponent as ButtonBlock} from '../../../../../button/test/block/app/app.component';
|
||||||
|
import {AppComponent as ButtonClear} from '../../../../../button/test/clear/app/app.component';
|
||||||
|
import {AppComponent as ButtonDecorator} from '../../../../../button/test/decorator/app/app.component';
|
||||||
|
import {AppComponent as ButtonDynamic} from '../../../../../button/test/dynamic/app/app.component';
|
||||||
|
import {AppComponent as ButtonFull} from '../../../../../button/test/full/app/app.component';
|
||||||
|
import {AppComponent as ButtonIcons} from '../../../../../button/test/icons/app/app.component';
|
||||||
|
import {AppComponent as ButtonOutline} from '../../../../../button/test/outline/app/app.component';
|
||||||
|
import {AppComponent as ButtonRaised} from '../../../../../button/test/raised/app.module';
|
||||||
|
import {AppComponent as ButtonRound} from '../../../../../button/test/round/app/app.component';
|
||||||
|
import {AppComponent as ButtonSizes} from '../../../../../button/test/sizes/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as CardAdvanced} from '../../../../../card/test/advanced/app/app.component';
|
||||||
|
import {AppComponent as CardBasic} from '../../../../../card/test/basic/app/app.component';
|
||||||
|
import {AppComponent as CardColors} from '../../../../../card/test/colors/app/app.component';
|
||||||
|
import {AppComponent as CardImages} from '../../../../../card/test/images/app/app.component';
|
||||||
|
import {AppComponent as CardList} from '../../../../../card/test/list/app/app.component';
|
||||||
|
import {AppComponent as CardMap} from '../../../../../card/test/map/app.module';
|
||||||
|
import {AppComponent as CardSocial} from '../../../../../card/test/social/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as CheckboxBasic} from '../../../../../checkbox/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as ChipBasic} from '../../../../../chip/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as ContentBasic} from '../../../../../content/test/basic/app/app.component';
|
||||||
|
import {AppComponent as ContentFullscreen} from '../../../../../content/test/fullscreen/app/app.component';
|
||||||
|
import {AppComponent as ContentHeaderScroll} from '../../../../../content/test/header-scroll/app.module';
|
||||||
|
import {AppComponent as ContentNoBounce} from '../../../../../content/test/no-bounce/app/app.component';
|
||||||
|
import {AppComponent as ContentScrollDownOnLoad} from '../../../../../content/test/scroll-down-on-load/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as DatetimeBasic} from '../../../../../datetime/test/basic/app/app.component';
|
||||||
|
import {AppComponent as DatetimeForm} from '../../../../../datetime/test/form/app.module';
|
||||||
|
import {AppComponent as DatetimeIssues} from '../../../../../datetime/test/issues/app/app.component';
|
||||||
|
import {AppComponent as DatetimeLabels} from '../../../../../datetime/test/labels/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as FabBasic} from '../../../../../fab/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as GridAlignment} from '../../../../../grid/test/alignment/app.module';
|
||||||
|
import {AppComponent as GridBasic} from '../../../../../grid/test/basic/app/app.component';
|
||||||
|
import {AppComponent as GridCard} from '../../../../../grid/test/card/app.module';
|
||||||
|
import {AppComponent as GridFull} from '../../../../../grid/test/full/app.module';
|
||||||
|
import {AppComponent as GridResponsive} from '../../../../../grid/test/responsive/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as IconBasic} from '../../../../../icon/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as ImgBasic} from '../../../../../img/test/basic/app/app.component';
|
||||||
|
import {AppComponent as ImgCards} from '../../../../../img/test/cards/app.module';
|
||||||
|
import {AppComponent as ImgLazyLoad} from '../../../../../img/test/lazy-load/app.module';
|
||||||
|
import {AppComponent as ImgList} from '../../../../../img/test/list/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as InfiniteScrollBasic} from '../../../../../infinite-scroll/test/basic/app.module';
|
||||||
|
import {AppComponent as InfiniteScrollPositionTop} from '../../../../../infinite-scroll/test/position-top/app/app.component';
|
||||||
|
import {AppComponent as InfiniteScrollShortList} from '../../../../../infinite-scroll/test/short-list/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as InputBasicForm} from '../../../../../input/test/basic-form/app/app.component';
|
||||||
|
import {AppComponent as InputClearAfterEdit} from '../../../../../input/test/clear-after-edit/app/app.component';
|
||||||
|
import {AppComponent as InputClearInput} from '../../../../../input/test/clear-input/app/app.component';
|
||||||
|
import {AppComponent as InputEvents} from '../../../../../input/test/events/app/app.component';
|
||||||
|
import {AppComponent as InputFixedInlineLabels} from '../../../../../input/test/fixed-inline-labels/app/app.component';
|
||||||
|
import {AppComponent as InputFloatingLabels} from '../../../../../input/test/floating-labels/app/app.component';
|
||||||
|
import {AppComponent as InputFooterInputs} from '../../../../../input/test/footer-inputs/app/app.component';
|
||||||
|
import {AppComponent as InputFormInputs} from '../../../../../input/test/form-inputs/app/app.component';
|
||||||
|
import {AppComponent as InputHighlight} from '../../../../../input/test/highlight/app/app.component';
|
||||||
|
import {AppComponent as InputInlineLabels} from '../../../../../input/test/inline-labels/app/app.component';
|
||||||
|
import {AppComponent as InputInputFocus} from '../../../../../input/test/input-focus/app/app.module';
|
||||||
|
import {AppComponent as InputInsetInputs} from '../../../../../input/test/inset-inputs/app/app.component';
|
||||||
|
import {AppComponent as InputPlaceholderLabels} from '../../../../../input/test/placeholder-labels/app/app.component';
|
||||||
|
import {AppComponent as InputStackedLabels} from '../../../../../input/test/stacked-labels/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as ItemButtons} from '../../../../../item/test/buttons/app/app.component';
|
||||||
|
import {AppComponent as ItemColors} from '../../../../../item/test/colors/app/app.component';
|
||||||
|
import {AppComponent as ItemDividers} from '../../../../../item/test/dividers/app/app.component';
|
||||||
|
import {AppComponent as ItemGroups} from '../../../../../item/test/groups/app/app.component';
|
||||||
|
import {AppComponent as ItemIcons} from '../../../../../item/test/icons/app/app.component';
|
||||||
|
import {AppComponent as ItemImages} from '../../../../../item/test/images/app/app.component';
|
||||||
|
import {AppComponent as ItemInputs} from '../../../../../item/test/inputs/app/app.component';
|
||||||
|
import {AppComponent as ItemMedia} from '../../../../../item/test/media/app/app.component';
|
||||||
|
import {AppComponent as ItemReorder} from '../../../../../item/test/reorder/app/app.module';
|
||||||
|
import {AppComponent as ItemSliding} from '../../../../../item/test/sliding/app/app.component';
|
||||||
|
import {AppComponent as ItemText} from '../../../../../item/test/text/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as ListChatList} from '../../../../../list/test/chat-list/app.module';
|
||||||
|
import {AppComponent as ListHeaderScenarios} from '../../../../../list/test/header-scenarios/app/app.component';
|
||||||
|
import {AppComponent as ListHeaders} from '../../../../../list/test/headers/app/app.component';
|
||||||
|
import {AppComponent as ListInset} from '../../../../../list/test/inset/app/app.component';
|
||||||
|
import {AppComponent as ListNoLines} from '../../../../../list/test/no-lines/app/app.component';
|
||||||
|
import {AppComponent as ListRepeatHeaders} from '../../../../../list/test/repeat-headers/app.module';
|
||||||
|
import {AppComponent as ListSticky} from '../../../../../list/test/sticky/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as LoadingBasic} from '../../../../../loading/test/basic/app/app.component';
|
||||||
|
import {AppComponent as LoadingTabs} from '../../../../../tabs/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as MenuBasic} from '../../../../../menu/test/basic/app/app.component';
|
||||||
|
// import {AppComponent as MenuDisableSwipe} from '../../../../../menu/test/disable-swipe/app.module';
|
||||||
|
// import {AppComponent as MenuEnableDisable} from '../../../../../menu/test/enable-disable/app.module';
|
||||||
|
import {AppComponent as MenuMultiple} from '../../../../../menu/test/multiple/app/app.component';
|
||||||
|
import {AppComponent as MenuOverlay} from '../../../../../menu/test/overlay/app.module';
|
||||||
|
import {AppComponent as MenuPush} from '../../../../../menu/test/push/app.module';
|
||||||
|
import {AppComponent as MenuReveal} from '../../../../../menu/test/reveal/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as ModalBasic} from '../../../../../modal/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as NavBasic} from '../../../../../nav/test/basic/app/app.component';
|
||||||
|
import {AppComponent as NavChildNavs} from '../../../../../nav/test/child-navs/app/app.component';
|
||||||
|
import {AppComponent as NavInitAsync} from '../../../../../nav/test/init-async/app.module';
|
||||||
|
import {AppComponent as NavInsertViews} from '../../../../../nav/test/insert-views/app.module';
|
||||||
|
import {AppComponent as NavMemory} from '../../../../../nav/test/memory/app.module';
|
||||||
|
import {AppComponent as NavNavPushPop} from '../../../../../nav/test/nav-push-pop/app.module';
|
||||||
|
import {AppComponent as NavWorstCase} from '../../../../../nav/test/worst-case/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as PickerBasic} from '../../../../../picker/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as PopoverBasic} from '../../../../../popover/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as RadioBasic} from '../../../../../radio/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as RangeBasic} from '../../../../../range/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as RefresherBasic} from '../../../../../refresher/test/basic/app.module';
|
||||||
|
// import {AppComponent as RefresherNavigation} from '../../../../../refresher/test/navigation/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as ScrollBasic} from '../../../../../scroll/test/basic/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as SearchbarBasic} from '../../../../../searchbar/test/basic/app/app.component';
|
||||||
|
import {AppComponent as SearchbarNav} from '../../../../../searchbar/test/nav/app/app.component';
|
||||||
|
import {AppComponent as SearchbarToolbar} from '../../../../../searchbar/test/toolbar/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as SegmentBasic} from '../../../../../segment/test/basic/app/app.component';
|
||||||
|
import {AppComponent as SegmentNav} from '../../../../../segment/test/nav/app/app.component';
|
||||||
|
import {AppComponent as SegmentSwipe} from '../../../../../segment/test/swipe/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as SelectMultipleValue} from '../../../../../select/test/multiple-value/app/app.component';
|
||||||
|
import {AppComponent as SelectSingleValue} from '../../../../../select/test/single-value/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as ShowHideWhenBasic} from '../../../../../show-hide-when/test/basic/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as SlidesBasic} from '../../../../../slides/test/basic/app.module';
|
||||||
|
import {AppComponent as SlidesControl} from '../../../../../slides/test/control/app.module';
|
||||||
|
import {AppComponent as SlidesController} from '../../../../../slides/test/controller/app.module';
|
||||||
|
import {AppComponent as SlidesImages} from '../../../../../slides/test/images/app.module';
|
||||||
|
import {AppComponent as SlidesIntro} from '../../../../../slides/test/intro/app.module';
|
||||||
|
import {AppComponent as SlidesLoop} from '../../../../../slides/test/loop/app.module';
|
||||||
|
import {AppComponent as SlidesOptions} from '../../../../../slides/test/options/app.module';
|
||||||
|
import {E2EApp as SlidesRTL} from '../../../../../slides/test/rtl/app.module';
|
||||||
|
import {AppComponent as SlidesScroll} from '../../../../../slides/test/scroll/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as SpinnerBasic} from '../../../../../spinner/test/basic/app.module';
|
||||||
|
import {AppComponent as SpinnerColors} from '../../../../../spinner/test/colors/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as SplitPaneBasic} from '../../../../../split-pane/test/basic/app/app.component';
|
||||||
|
import {AppComponent as SplitPaneMenus} from '../../../../../split-pane/test/menus/app/app.component';
|
||||||
|
import {AppComponent as SplitPaneNested} from '../../../../../split-pane/test/nested/app/app.component';
|
||||||
|
import {AppComponent as SplitPaneTabs} from '../../../../../split-pane/test/tabs/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as TabsAdvanced} from '../../../../../tabs/test/advanced/app/app.component';
|
||||||
|
import {AppComponent as TabsBadges} from '../../../../../tabs/test/badges/app/app.component';
|
||||||
|
import {AppComponent as TabsBasic} from '../../../../../tabs/test/basic/app/app.component';
|
||||||
|
import {AppComponent as TabsColors} from '../../../../../tabs/test/colors/app/app.component';
|
||||||
|
import {AppComponent as TabsEvents} from '../../../../../tabs/test/events/app.module';
|
||||||
|
import {TabsPage as TabsGhost} from '../../../../../tabs/test/ghost/app.module';
|
||||||
|
import {AppComponent as TabsLifecycle} from '../../../../../tabs/test/lifecyles/app.module';
|
||||||
|
import {AppComponent as TabsTabBarScenarios} from '../../../../../tabs/test/tab-bar-scenarios/app/app.component';
|
||||||
|
import {AppComponent as TabsTop} from '../../../../../tabs/test/top/app.module';
|
||||||
|
|
||||||
|
import {AppComponent as ToastBasic} from '../../../../../toast/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as ToggleBasic} from '../../../../../toggle/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as ToolbarBasic} from '../../../../../toolbar/test/basic/app/app.component';
|
||||||
|
import {AppComponent as ToolbarColors} from '../../../../../toolbar/test/colors/app/app.component';
|
||||||
|
import {AppComponent as ToolbarScenarios} from '../../../../../toolbar/test/scenarios/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as TypographyBasic} from '../../../../../typography/test/basic/app/app.component';
|
||||||
|
|
||||||
|
import {AppComponent as VirtualScrollBasic} from '../../../../../virtual-scroll/test/basic/app.module';
|
||||||
|
import {AppComponent as VirtualScrollCards} from '../../../../../virtual-scroll/test/cards/app.module';
|
||||||
|
import {AppComponent as VirtualScrollImageGallery} from '../../../../../virtual-scroll/test/image-gallery/app.module';
|
||||||
|
import {E2EApp as VirtualScrollInfiniteScroll} from '../../../../../virtual-scroll/test/infinite-scroll/app.module';
|
||||||
|
import {AppComponent as VirtualScrollList} from '../../../../../virtual-scroll/test/list/app.module';
|
||||||
|
import {AppComponent as VirtualScrollMedia} from '../../../../../virtual-scroll/test/media/app/app.component';
|
||||||
|
import {AppComponent as VirtualScrollSlidingItem} from '../../../../../virtual-scroll/test/sliding-item/app.module';
|
||||||
|
import {AppComponent as VirtualScrollVariableSize} from '../../../../../virtual-scroll/test/variable-size/app.module';
|
||||||
|
|
||||||
|
|
||||||
|
export type ComponentsGroup = { name: string, components: Array<{ name: string, component: any }> };
|
||||||
|
|
||||||
|
@IonicPage()
|
||||||
|
@Component({
|
||||||
|
templateUrl: 'components.html'
|
||||||
|
})
|
||||||
|
export class ComponentsPage {
|
||||||
|
components: Array<ComponentsGroup> = [
|
||||||
|
{
|
||||||
|
name: 'Action Sheet',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: ActionSheetBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Alert',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: AlertBasic},
|
||||||
|
{name: 'dismiss', component: AlertDismiss}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'App',
|
||||||
|
components: [
|
||||||
|
{name: 'animations', component: AppAnimations},
|
||||||
|
{name: 'cordova', component: AppCordova},
|
||||||
|
{name: 'gesture-collision', component: AppGestureCollision},
|
||||||
|
{name: 'gestures', component: AppGestures},
|
||||||
|
{name: 'typography', component: AppTypography},
|
||||||
|
{name: 'utilities', component: AppUtilities}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Avatar',
|
||||||
|
components: []
|
||||||
|
}, {
|
||||||
|
name: 'Backdrop',
|
||||||
|
components: []
|
||||||
|
}, {
|
||||||
|
name: 'Badge',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: BadgeBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Button',
|
||||||
|
components: [
|
||||||
|
{name: 'anchors', component: ButtonAnchors},
|
||||||
|
{name: 'attributes', component: ButtonAttributes},
|
||||||
|
{name: 'basic', component: ButtonBasic},
|
||||||
|
{name: 'block', component: ButtonBlock},
|
||||||
|
{name: 'clear', component: ButtonClear},
|
||||||
|
{name: 'decorator', component: ButtonDecorator},
|
||||||
|
{name: 'dynamic', component: ButtonDynamic},
|
||||||
|
{name: 'full', component: ButtonFull},
|
||||||
|
{name: 'icons', component: ButtonIcons},
|
||||||
|
{name: 'outline', component: ButtonOutline},
|
||||||
|
{name: 'raised', component: ButtonRaised},
|
||||||
|
{name: 'round', component: ButtonRound},
|
||||||
|
{name: 'sizes', component: ButtonSizes}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Card',
|
||||||
|
components: [
|
||||||
|
{name: 'advanced', component: CardAdvanced},
|
||||||
|
{name: 'basic', component: CardBasic},
|
||||||
|
{name: 'colors', component: CardColors},
|
||||||
|
{name: 'images', component: CardImages},
|
||||||
|
{name: 'list', component: CardList},
|
||||||
|
{name: 'map', component: CardMap},
|
||||||
|
{name: 'social', component: CardSocial}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Checkbox',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: CheckboxBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Chip',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: ChipBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Content',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: ContentBasic},
|
||||||
|
{name: 'fullscreen', component: ContentFullscreen},
|
||||||
|
{name: 'header-scroll', component: ContentHeaderScroll},
|
||||||
|
{name: 'no-bounce', component: ContentNoBounce},
|
||||||
|
{name: 'scroll-down-on-load', component: ContentScrollDownOnLoad}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Datetime',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: DatetimeBasic},
|
||||||
|
{name: 'form', component: DatetimeForm},
|
||||||
|
{name: 'issues', component: DatetimeIssues},
|
||||||
|
{name: 'labels', component: DatetimeLabels}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Fab',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: FabBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Grid',
|
||||||
|
components: [
|
||||||
|
{name: 'alignment', component: GridAlignment},
|
||||||
|
{name: 'basic', component: GridBasic},
|
||||||
|
{name: 'card', component: GridCard},
|
||||||
|
{name: 'full', component: GridFull},
|
||||||
|
{name: 'responsive', component: GridResponsive}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Icon',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: IconBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Img',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: ImgBasic},
|
||||||
|
{name: 'cards', component: ImgCards},
|
||||||
|
{name: 'lazy-load', component: ImgLazyLoad},
|
||||||
|
{name: 'list', component: ImgList}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Infinite Scroll',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: InfiniteScrollBasic},
|
||||||
|
{name: 'position-top', component: InfiniteScrollPositionTop},
|
||||||
|
{name: 'short-list', component: InfiniteScrollShortList}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Inputs',
|
||||||
|
components: [
|
||||||
|
{name: 'basic-form', component: InputBasicForm},
|
||||||
|
{name: 'clear-after-edit', component: InputClearAfterEdit},
|
||||||
|
{name: 'clear-input', component: InputClearInput},
|
||||||
|
{name: 'events', component: InputEvents},
|
||||||
|
{name: 'fixed-inline-labels', component: InputFixedInlineLabels},
|
||||||
|
{name: 'floating-labels', component: InputFloatingLabels},
|
||||||
|
{name: 'footer-inputs', component: InputFooterInputs},
|
||||||
|
{name: 'form-inputs', component: InputFormInputs},
|
||||||
|
{name: 'highlight', component: InputHighlight},
|
||||||
|
{name: 'inline-labels', component: InputInlineLabels},
|
||||||
|
{name: 'input-focus', component: InputInputFocus},
|
||||||
|
{name: 'inset-inputs', component: InputInsetInputs},
|
||||||
|
{name: 'placeholder-labels', component: InputPlaceholderLabels},
|
||||||
|
{name: 'stacked-labels', component: InputStackedLabels}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Item',
|
||||||
|
components: [
|
||||||
|
{name: 'buttons', component: ItemButtons},
|
||||||
|
{name: 'colors', component: ItemColors},
|
||||||
|
{name: 'dividers', component: ItemDividers},
|
||||||
|
{name: 'groups', component: ItemGroups},
|
||||||
|
{name: 'icons', component: ItemIcons},
|
||||||
|
{name: 'images', component: ItemImages},
|
||||||
|
{name: 'inputs', component: ItemInputs},
|
||||||
|
{name: 'media', component: ItemMedia},
|
||||||
|
{name: 'reorder', component: ItemReorder},
|
||||||
|
{name: 'sliding', component: ItemSliding},
|
||||||
|
{name: 'text', component: ItemText}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Label',
|
||||||
|
components: []
|
||||||
|
}, {
|
||||||
|
name: 'List',
|
||||||
|
components: [
|
||||||
|
{name: 'chat-list', component: ListChatList},
|
||||||
|
{name: 'header-scenarios', component: ListHeaderScenarios},
|
||||||
|
{name: 'headers', component: ListHeaders},
|
||||||
|
{name: 'inset', component: ListInset},
|
||||||
|
{name: 'no-lines', component: ListNoLines},
|
||||||
|
{name: 'repeat-headers', component: ListRepeatHeaders},
|
||||||
|
{name: 'sticky', component: ListSticky},
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Loading',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: LoadingBasic},
|
||||||
|
{name: 'tabs', component: LoadingTabs}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Menu',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: MenuBasic},
|
||||||
|
// {name: 'disable-swipe', component: MenuDisableSwipe},
|
||||||
|
// {name: 'enable-disable', component: MenuEnableDisable},
|
||||||
|
{name: 'multiple', component: MenuMultiple},
|
||||||
|
{name: 'overlay', component: MenuOverlay},
|
||||||
|
{name: 'push', component: MenuPush},
|
||||||
|
{name: 'reveal', component: MenuReveal},
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Modal',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: ModalBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Nav',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: NavBasic},
|
||||||
|
{name: 'child-navs', component: NavChildNavs},
|
||||||
|
{name: 'init-async', component: NavInitAsync},
|
||||||
|
{name: 'insert-views', component: NavInsertViews},
|
||||||
|
{name: 'memory', component: NavMemory},
|
||||||
|
{name: 'nav-push-pop', component: NavNavPushPop},
|
||||||
|
{name: 'worst-case', component: NavWorstCase}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Note',
|
||||||
|
components: []
|
||||||
|
}, {
|
||||||
|
name: 'Option',
|
||||||
|
components: []
|
||||||
|
}, {
|
||||||
|
name: 'Picker',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: PickerBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Popover',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: PopoverBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Radio',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: RadioBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Range',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: RangeBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Refresher',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: RefresherBasic},
|
||||||
|
// {name: 'navigation', component: RefresherNavigation}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Scroll',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: ScrollBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Searchbar',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: SearchbarBasic},
|
||||||
|
{name: 'nav', component: SearchbarNav},
|
||||||
|
{name: 'toolbar', component: SearchbarToolbar},
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Segment',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: SegmentBasic},
|
||||||
|
{name: 'nav', component: SegmentNav},
|
||||||
|
{name: 'swipe', component: SegmentSwipe},
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Select',
|
||||||
|
components: [
|
||||||
|
{name: 'multiple-value', component: SelectMultipleValue},
|
||||||
|
{name: 'single-value', component: SelectSingleValue}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Show-hide-when',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: ShowHideWhenBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Show-hide-when',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: SlidesBasic},
|
||||||
|
{name: 'control', component: SlidesControl},
|
||||||
|
{name: 'controller', component: SlidesController},
|
||||||
|
{name: 'images', component: SlidesImages},
|
||||||
|
{name: 'intro', component: SlidesIntro},
|
||||||
|
{name: 'loop', component: SlidesLoop},
|
||||||
|
{name: 'options', component: SlidesOptions},
|
||||||
|
{name: 'rtl', component: SlidesRTL},
|
||||||
|
{name: 'scroll', component: SlidesScroll},
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Spinner',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: SpinnerBasic},
|
||||||
|
{name: 'colors', component: SpinnerColors}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Split-pane',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: SplitPaneBasic},
|
||||||
|
{name: 'menus', component: SplitPaneMenus},
|
||||||
|
{name: 'nested', component: SplitPaneNested},
|
||||||
|
{name: 'tabs', component: SplitPaneTabs}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Tabs',
|
||||||
|
components: [
|
||||||
|
{name: 'advanced', component: TabsAdvanced},
|
||||||
|
{name: 'badges', component: TabsBadges},
|
||||||
|
{name: 'basic', component: TabsBasic},
|
||||||
|
{name: 'colors', component: TabsColors},
|
||||||
|
{name: 'events', component: TabsEvents},
|
||||||
|
{name: 'ghost', component: TabsGhost},
|
||||||
|
{name: 'lifecyles', component: TabsLifecycle},
|
||||||
|
{name: 'tab-bar-scenarios', component: TabsTabBarScenarios},
|
||||||
|
{name: 'top', component: TabsTop}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Thumbnail',
|
||||||
|
components: []
|
||||||
|
}, {
|
||||||
|
name: 'Toast',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: ToastBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Toggle',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: ToastBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Toggle',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: ToggleBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Toolbar',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: ToolbarBasic},
|
||||||
|
{name: 'colors', component: ToolbarColors},
|
||||||
|
{name: 'scenarios', component: ToolbarScenarios}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Typography',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: TypographyBasic}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
name: 'Virtual-scroll',
|
||||||
|
components: [
|
||||||
|
{name: 'basic', component: VirtualScrollBasic},
|
||||||
|
{name: 'cards', component: VirtualScrollCards},
|
||||||
|
{name: 'image-gallery', component: VirtualScrollImageGallery},
|
||||||
|
{name: 'infinite-scroll', component: VirtualScrollInfiniteScroll},
|
||||||
|
{name: 'list', component: VirtualScrollList},
|
||||||
|
{name: 'media', component: VirtualScrollMedia},
|
||||||
|
{name: 'sliding-item', component: VirtualScrollSlidingItem},
|
||||||
|
{name: 'variable-size', component: VirtualScrollVariableSize},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
constructor(private navCtrl: NavController, private assistive: AssistiveTouchProvider) {
|
||||||
|
assistive.closeButton.subscribe(this.close.bind(this));
|
||||||
|
}
|
||||||
|
|
||||||
|
open(component: any) {
|
||||||
|
this.navCtrl.push(component);
|
||||||
|
}
|
||||||
|
|
||||||
|
close() {
|
||||||
|
this.navCtrl.popToRoot();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,6 @@
|
|||||||
|
import {EventEmitter, Injectable} from '@angular/core';
|
||||||
|
|
||||||
|
@Injectable()
|
||||||
|
export class AssistiveTouchProvider {
|
||||||
|
public closeButton: EventEmitter<any> = new EventEmitter<any>();
|
||||||
|
}
|
Reference in New Issue
Block a user