123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494 |
- /**
- * Import Angular
- */
- import { ANALYZE_FOR_ENTRY_COMPONENTS, APP_INITIALIZER, ComponentFactoryResolver, Inject, Injector, NgModule, NgZone, Optional } from '@angular/core';
- import { APP_BASE_HREF, HashLocationStrategy, Location, LocationStrategy, PathLocationStrategy, PlatformLocation } from '@angular/common';
- import { DOCUMENT, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
- import { CommonModule } from '@angular/common';
- /**
- * Global Providers
- */
- import { App } from './components/app/app';
- import { AppRootToken } from './components/app/app-root';
- import { Config, ConfigToken, setupConfig } from './config/config';
- import { DeepLinker, setupDeepLinker } from './navigation/deep-linker';
- import { DomController } from './platform/dom-controller';
- import { Events, setupProvideEvents } from './util/events';
- import { Form } from './util/form';
- import { GestureController } from './gestures/gesture-controller';
- import { IonicGestureConfig } from './gestures/gesture-config';
- import { Haptic } from './tap-click/haptic';
- import { Keyboard } from './platform/keyboard';
- import { LAZY_LOADED_TOKEN, ModuleLoader, provideModuleLoader, setupPreloading } from './util/module-loader';
- import { NgModuleLoader } from './util/ng-module-loader';
- import { Platform, setupPlatform } from './platform/platform';
- import { PlatformConfigToken, providePlatformConfigs } from './platform/platform-registry';
- import { TapClick, setupTapClick } from './tap-click/tap-click';
- import { registerModeConfigs } from './config/mode-registry';
- import { TransitionController } from './transitions/transition-controller';
- import { DeepLinkConfigToken, UrlSerializer, setupUrlSerializer } from './navigation/url-serializer';
- /**
- * Import Components/Directives/Etc
- */
- import { ActionSheetCmp } from './components/action-sheet/action-sheet-component';
- import { ActionSheetController } from './components/action-sheet/action-sheet-controller';
- import { AlertCmp } from './components/alert/alert-component';
- import { AlertController } from './components/alert/alert-controller';
- import { ClickBlock } from './components/app/click-block';
- import { IonicApp } from './components/app/app-root';
- import { OverlayPortal } from './components/app/overlay-portal';
- import { Avatar } from './components/avatar/avatar';
- import { Backdrop } from './components/backdrop/backdrop';
- import { Badge } from './components/badge/badge';
- import { Button } from './components/button/button';
- import { Card } from './components/card/card';
- import { CardContent } from './components/card/card-content';
- import { CardHeader } from './components/card/card-header';
- import { CardTitle } from './components/card/card-title';
- import { Checkbox } from './components/checkbox/checkbox';
- import { Chip } from './components/chip/chip';
- import { Content } from './components/content/content';
- import { DateTime } from './components/datetime/datetime';
- import { FabButton } from './components/fab/fab';
- import { FabContainer } from './components/fab/fab-container';
- import { FabList } from './components/fab/fab-list';
- import { Col } from './components/grid/col';
- import { Grid } from './components/grid/grid';
- import { Row } from './components/grid/row';
- import { Icon } from './components/icon/icon';
- import { Img } from './components/img/img';
- import { InfiniteScroll } from './components/infinite-scroll/infinite-scroll';
- import { InfiniteScrollContent } from './components/infinite-scroll/infinite-scroll-content';
- import { TextInput } from './components/input/input';
- import { Item } from './components/item/item';
- import { ItemContent } from './components/item/item-content';
- import { ItemDivider } from './components/item/item-divider';
- import { ItemGroup } from './components/item/item-group';
- import { ItemOptions } from './components/item/item-options';
- import { ItemReorder } from './components/item/item-reorder';
- import { ItemSliding } from './components/item/item-sliding';
- import { Reorder } from './components/item/reorder';
- import { Label } from './components/label/label';
- import { List } from './components/list/list';
- import { ListHeader } from './components/list/list-header';
- import { LoadingCmp } from './components/loading/loading-component';
- import { LoadingController } from './components/loading/loading-controller';
- import { Menu } from './components/menu/menu';
- import { MenuClose } from './components/menu/menu-close';
- import { MenuController } from './components/app/menu-controller';
- import { MenuToggle } from './components/menu/menu-toggle';
- import { ModalCmp } from './components/modal/modal-component';
- import { ModalController } from './components/modal/modal-controller';
- import { Nav } from './components/nav/nav';
- import { NavPop } from './components/nav/nav-pop';
- import { NavPopAnchor } from './components/nav/nav-pop-anchor';
- import { NavPush } from './components/nav/nav-push';
- import { NavPushAnchor } from './components/nav/nav-push-anchor';
- import { Note } from './components/note/note';
- import { Option } from './components/option/option';
- import { PickerCmp } from './components/picker/picker-component';
- import { PickerColumnCmp } from './components/picker/picker-column';
- import { PickerController } from './components/picker/picker-controller';
- import { PopoverCmp } from './components/popover/popover-component';
- import { PopoverController } from './components/popover/popover-controller';
- import { RadioButton } from './components/radio/radio-button';
- import { RadioGroup } from './components/radio/radio-group';
- import { Range } from './components/range/range';
- import { RangeKnob } from './components/range/range-knob';
- import { Refresher } from './components/refresher/refresher';
- import { RefresherContent } from './components/refresher/refresher-content';
- import { Scroll } from './components/scroll/scroll';
- import { Searchbar } from './components/searchbar/searchbar';
- import { Segment } from './components/segment/segment';
- import { Select } from './components/select/select';
- import { SelectPopover } from './components/select/select-popover-component';
- import { SegmentButton } from './components/segment/segment-button';
- import { ShowWhen } from './components/show-hide-when/show-when';
- import { HideWhen } from './components/show-hide-when/hide-when';
- import { Slide } from './components/slides/slide';
- import { Slides } from './components/slides/slides';
- import { Spinner } from './components/spinner/spinner';
- import { SplitPane } from './components/split-pane/split-pane';
- import { Tab } from './components/tabs/tab';
- import { TabButton } from './components/tabs/tab-button';
- import { TabHighlight } from './components/tabs/tab-highlight';
- import { Tabs } from './components/tabs/tabs';
- import { Thumbnail } from './components/thumbnail/thumbnail';
- import { ToastCmp } from './components/toast/toast-component';
- import { ToastController } from './components/toast/toast-controller';
- import { Toggle } from './components/toggle/toggle';
- import { Footer } from './components/toolbar/toolbar-footer';
- import { Header } from './components/toolbar/toolbar-header';
- import { Toolbar } from './components/toolbar/toolbar';
- import { ToolbarItem } from './components/toolbar/toolbar-item';
- import { ToolbarTitle } from './components/toolbar/toolbar-title';
- import { Navbar } from './components/toolbar/navbar';
- import { Typography } from './components/typography/typography';
- import { VirtualFooter } from './components/virtual-scroll/virtual-footer';
- import { VirtualHeader } from './components/virtual-scroll/virtual-header';
- import { VirtualItem } from './components/virtual-scroll/virtual-item';
- import { VirtualScroll } from './components/virtual-scroll/virtual-scroll';
- /**
- * @name IonicModule
- * @description
- * IonicModule is an [NgModule](https://angular.io/docs/ts/latest/guide/ngmodule.html) that bootstraps
- * an Ionic App. By passing a root component, IonicModule will make sure that all of the components,
- * directives, and providers from the framework are imported.
- *
- * Any configuration for the app can be passed as the second argument to `forRoot`. This can be any
- * valid property from the [Config](/docs/api/config/Config/).
- *
- * @usage
- * ```ts
- * import { NgModule } from '@angular/core';
- *
- * import { IonicApp, IonicModule } from 'ionic-angular';
- *
- * import { MyApp } from './app.component';
- * import { HomePage } from '../pages/home/home';
- *
- * @NgModule({
- * declarations: [
- * MyApp,
- * HomePage
- * ],
- * imports: [
- * BrowserModule,
- * IonicModule.forRoot(MyApp, {
- *
- * })
- * ],
- * bootstrap: [IonicApp],
- * entryComponents: [
- * MyApp,
- * HomePage
- * ],
- * providers: []
- * })
- * export class AppModule {}
- * ```
- */
- export class IonicModule {
- /**
- * Set the root app component for you IonicModule
- * @param {any} appRoot The root AppComponent for this app.
- * @param {any} config Config Options for the app. Accepts any config property.
- * @param {any} deepLinkConfig Any configuration needed for the Ionic Deeplinker.
- */
- static forRoot(appRoot, config = null, deepLinkConfig = null) {
- return {
- ngModule: IonicModule,
- providers: [
- // useValue: bootstrap values
- { provide: AppRootToken, useValue: appRoot },
- { provide: ConfigToken, useValue: config },
- { provide: DeepLinkConfigToken, useValue: deepLinkConfig },
- { provide: APP_BASE_HREF, useValue: '/' },
- // useFactory: user values
- { provide: PlatformConfigToken, useFactory: providePlatformConfigs },
- // useFactory: ionic core providers
- { provide: Platform, useFactory: setupPlatform, deps: [DOCUMENT, PlatformConfigToken, NgZone] },
- { provide: Config, useFactory: setupConfig, deps: [ConfigToken, Platform] },
- // useFactory: ionic app initializers
- { provide: APP_INITIALIZER, useFactory: registerModeConfigs, deps: [Config], multi: true },
- { provide: APP_INITIALIZER, useFactory: setupProvideEvents, deps: [Platform, DomController], multi: true },
- { provide: APP_INITIALIZER, useFactory: setupTapClick, deps: [Config, Platform, DomController, App, GestureController], multi: true },
- { provide: APP_INITIALIZER, useFactory: setupPreloading, deps: [Config, DeepLinkConfigToken, ModuleLoader, NgZone], multi: true },
- // useClass
- { provide: HAMMER_GESTURE_CONFIG, useClass: IonicGestureConfig },
- // useValue
- { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: appRoot, multi: true },
- // ionic providers
- ActionSheetController,
- AlertController,
- App,
- DomController,
- Events,
- Form,
- GestureController,
- Haptic,
- Keyboard,
- LoadingController,
- Location,
- MenuController,
- ModalController,
- NgModuleLoader,
- PickerController,
- PopoverController,
- TapClick,
- ToastController,
- TransitionController,
- { provide: ModuleLoader, useFactory: provideModuleLoader, deps: [NgModuleLoader, Injector] },
- { provide: LocationStrategy, useFactory: provideLocationStrategy, deps: [PlatformLocation, [new Inject(APP_BASE_HREF), new Optional()], Config] },
- { provide: UrlSerializer, useFactory: setupUrlSerializer, deps: [App, DeepLinkConfigToken] },
- { provide: DeepLinker, useFactory: setupDeepLinker, deps: [App, UrlSerializer, Location, ModuleLoader, ComponentFactoryResolver] },
- ]
- };
- }
- }
- IonicModule.decorators = [
- { type: NgModule, args: [{
- declarations: [
- ActionSheetCmp,
- AlertCmp,
- ClickBlock,
- IonicApp,
- OverlayPortal,
- Avatar,
- Backdrop,
- Badge,
- Button,
- Card,
- CardContent,
- CardHeader,
- CardTitle,
- Checkbox,
- Chip,
- Col,
- Content,
- DateTime,
- FabButton,
- FabContainer,
- FabList,
- Grid,
- Img,
- Icon,
- InfiniteScroll,
- InfiniteScrollContent,
- Item,
- ItemContent,
- ItemDivider,
- ItemGroup,
- ItemOptions,
- ItemReorder,
- ItemSliding,
- Label,
- List,
- ListHeader,
- Reorder,
- LoadingCmp,
- Menu,
- MenuClose,
- MenuToggle,
- ModalCmp,
- Nav,
- NavPop,
- NavPopAnchor,
- NavPush,
- NavPushAnchor,
- Note,
- Option,
- PickerCmp,
- PickerColumnCmp,
- PopoverCmp,
- RadioButton,
- RadioGroup,
- Range,
- RangeKnob,
- Refresher,
- RefresherContent,
- Row,
- Scroll,
- Searchbar,
- Segment,
- SegmentButton,
- Select,
- SelectPopover,
- ShowWhen,
- HideWhen,
- Slide,
- Slides,
- Spinner,
- SplitPane,
- Tab,
- TabButton,
- TabHighlight,
- Tabs,
- TextInput,
- Thumbnail,
- ToastCmp,
- Toggle,
- Footer,
- Header,
- Toolbar,
- ToolbarItem,
- ToolbarTitle,
- Navbar,
- Typography,
- VirtualFooter,
- VirtualHeader,
- VirtualItem,
- VirtualScroll
- ],
- imports: [
- CommonModule,
- FormsModule,
- ReactiveFormsModule,
- ],
- exports: [
- CommonModule,
- FormsModule,
- ReactiveFormsModule,
- ActionSheetCmp,
- AlertCmp,
- ClickBlock,
- IonicApp,
- OverlayPortal,
- Avatar,
- Backdrop,
- Badge,
- Button,
- Card,
- CardContent,
- CardHeader,
- CardTitle,
- Checkbox,
- Chip,
- Col,
- Content,
- DateTime,
- FabButton,
- FabContainer,
- FabList,
- Grid,
- Img,
- Icon,
- InfiniteScroll,
- InfiniteScrollContent,
- Item,
- ItemContent,
- ItemDivider,
- ItemGroup,
- ItemOptions,
- ItemReorder,
- ItemSliding,
- Label,
- List,
- ListHeader,
- Reorder,
- LoadingCmp,
- Menu,
- MenuClose,
- MenuToggle,
- ModalCmp,
- Nav,
- NavPop,
- NavPopAnchor,
- NavPush,
- NavPushAnchor,
- Note,
- Option,
- PickerCmp,
- PickerColumnCmp,
- PopoverCmp,
- RadioButton,
- RadioGroup,
- Range,
- RangeKnob,
- Refresher,
- RefresherContent,
- Row,
- Scroll,
- Searchbar,
- Segment,
- SegmentButton,
- Select,
- SelectPopover,
- ShowWhen,
- HideWhen,
- Slide,
- Slides,
- Spinner,
- SplitPane,
- Tab,
- TabButton,
- TabHighlight,
- Tabs,
- TextInput,
- Thumbnail,
- ToastCmp,
- Toggle,
- Footer,
- Header,
- Toolbar,
- ToolbarItem,
- ToolbarTitle,
- Navbar,
- Typography,
- VirtualFooter,
- VirtualHeader,
- VirtualItem,
- VirtualScroll
- ],
- entryComponents: [
- ActionSheetCmp,
- AlertCmp,
- IonicApp,
- LoadingCmp,
- ModalCmp,
- PickerCmp,
- PopoverCmp,
- SelectPopover,
- ToastCmp
- ]
- },] },
- ];
- /** @nocollapse */
- IonicModule.ctorParameters = () => [];
- /**
- * @name IonicPageModule
- * @description
- * IonicPageModule is an [NgModule](https://angular.io/docs/ts/latest/guide/ngmodule.html) that
- * bootstraps a child [IonicPage](../navigation/IonicPage/) in order to set up routing.
- *
- * @usage
- * ```ts
- * import { NgModule } from '@angular/core';
- *
- * import { IonicPageModule } from 'ionic-angular';
- *
- * import { HomePage } from './home';
- *
- * @NgModule({
- * declarations: [
- * HomePage
- * ],
- * imports: [
- * IonicPageModule.forChild(HomePage)
- * ],
- * entryComponents: [
- * HomePage
- * ]
- * })
- * export class HomePageModule { }
- * ```
- */
- export class IonicPageModule {
- static forChild(page) {
- return {
- ngModule: IonicPageModule,
- providers: [
- { provide: LAZY_LOADED_TOKEN, useValue: page },
- { provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: page, multi: true },
- ]
- };
- }
- }
- IonicPageModule.decorators = [
- { type: NgModule, args: [{
- imports: [IonicModule],
- exports: [IonicModule]
- },] },
- ];
- /** @nocollapse */
- IonicPageModule.ctorParameters = () => [];
- /**
- * @hidden
- */
- export function provideLocationStrategy(platformLocationStrategy, baseHref, config) {
- return config.get('locationStrategy') === 'path' ?
- new PathLocationStrategy(platformLocationStrategy, baseHref) :
- new HashLocationStrategy(platformLocationStrategy, baseHref);
- }
- //# sourceMappingURL=module.js.map
|