Version: 1.3.0-2016042520071.3.1-2016051219071.3.1-2016052703181.3.11.3.21.3.4-2017102516251.3.41.3.52.0.0-2017013017302.0.0-2017013018192.0.0-2017013018392.0.0-2017020221132.0.0-2017020317032.0.0-2017020620422.0.0-beta.02.0.0-beta.12.0.0-beta.22.0.0-beta.32.0.0-beta.42.0.0-beta.52.0.0-beta.62.0.0-beta.72.0.0-beta.82.0.0-beta.92.0.0-beta.102.0.0-beta.112.0.0-beta.10-2016062921312.0.0-beta.10-2016063020452.0.0-beta.10-2016070717222.0.0-beta.10-2016070817532.0.0-beta.10-2016071221452.0.0-beta.10-2016071320352.0.0-beta.10-2016071517012.0.0-beta.10-2016072914542.0.0-beta.10-2016080120292.0.0-beta.10-2016080414102.0.0-beta.10-2016080417202.0.0-beta.10-2016080514042.0.0-beta.11-2016080921092.0.0-beta.11-2016081622332.0.0-beta.11-2016082322362.0.0-beta.11-2016090118382.0.0-beta.11-2016090118532.0.0-beta.11-2016090119092.0.0-beta.11-2016090119512.0.0-beta.11-2016090221282.0.0-beta.11-2016090221362.0.0-beta.11-2016090221412.0.0-beta.11-2016090221482.0.0-beta.11-2016090302522.0.0-beta.11-2016090303282.0.0-beta.11-2016090303532.0.0-beta.11-2016090304072.0.0-beta.11-2016090304472.0.0-beta.11-2016090304512.0.0-beta.11-2016090403222.0.0-beta.11-2016090602282.0.0-beta.11-2016090604432.0.0-beta.11-2016090605162.0.0-beta.11-2016090616292.0.0-beta.11-2016090616482.0.0-beta.11-2016090702332.0.0-beta.11-2016090717452.0.0-beta.11-2016091321032.0.0-beta.11-2016091322402.0.0-beta.11-2016091420132.0.0-beta.11-2016091606222.0.0-beta.11-2016091615592.0.0-beta.11-2016091617472.0.0-beta.11-2016091913482.0.0-beta.11-2016092102142.0.0-beta.11-2016092114502.0.0-beta.11-2016092118232.0.0-beta.11-2016092219122.0.0-beta.11-2016092301422.0.0-beta.11-2016092516252.0.0-beta.11-2016092603232.0.0-beta.11-2016092620142.0.0-beta.11-2016092620332.0.0-beta.11-2016092704062.0.0-beta.11-2016092704242.0.0-beta.11-2016092704432.0.0-beta.11-2016092704492.0.0-beta.11-2016092705222.0.0-beta.11-2016092705582.0.0-beta.11-2016092706012.0.0-beta.11-2016092706102.0.0-beta.11-2016092706222.0.0-beta.11-2016092714002.0.0-beta.11-2016092719112.0.0-beta.11-2016092719252.0.0-beta.4-2016041706222.0.0-beta.4-2016041921552.0.0-beta.4-2016042019302.0.0-beta.4-7b783b3c2.0.0-beta.4-e8ee73802.0.0-beta.4-ed10e7242.0.0-beta.4-f23043ed2.0.0-beta.5-2016042114402.0.0-beta.5-2016042114542.0.0-beta.6-2016042121372.0.0-beta.6-2016042515072.0.0-beta.6-2016042617402.0.0-beta.6-2016051316392.0.0-beta.6-2016051322402.0.0-beta.6-2016051814322.0.0-beta.7-2016052020302.0.0-beta.7-2016052021042.0.0-beta.7-2016052117132.0.0-beta.7-2016052617432.0.0-beta.7-2016052715412.0.0-beta.7-2016052719042.0.0-beta.7-2016060114452.0.0-beta.7-2016060121282.0.0-beta.7-2016060217312.0.0-beta.7-2016060318132.0.0-beta.8-2016060918062.0.0-beta.8-2016060919592.0.0-beta.8-2016060923352.0.0-beta.8-2016060923502.0.0-beta.8-2016061319452.0.0-beta.8-2016061415142.0.0-beta.8-2016061420572.0.0-beta.8-2016061514392.0.0-beta.8-2016061515102.0.0-beta.8-2016061517132.0.0-beta.8-2016061518242.0.0-beta.9-2016062121212.0.0-beta.9-2016062122102.0.0-beta.9-2016062217032.0.0-beta.9-2016062219592.0.0-beta.9-2016062418002.0.0-beta.9-2016062419302.0.0-beta.9-2016062716532.0.0-beta.9-2016062718422.0.0-rc.02.0.0-rc.12.0.0-rc.22.0.0-rc.32.0.0-rc.42.0.0-rc.52.0.0-rc.62.0.0-rc.0-2016100417002.0.0-rc.0-2016100417082.0.0-rc.0-2016101018232.0.0-rc.0-2016101216052.0.0-rc.0-2016101218112.0.0-rc.0-2016101221362.0.0-rc.0-2016101316322.0.0-rc.0-2016101318112.0.0-rc.1-2016101822222.0.0-rc.1-2016101917172.0.0-rc.1-2016102419412.0.0-rc.1-2016110217122.0.0-rc.1-2016110318342.0.0-rc.2-2016110417592.0.0-rc.2-2016111000352.0.0-rc.2-2016111023332.0.0-rc.2-2016111101462.0.0-rc.2-2016111101532.0.0-rc.2-2016111619152.0.0-rc.2-2016111620542.0.0-rc.2-2016111717182.0.0-rc.3-2016111815402.0.0-rc.3-2016112016502.0.0-rc.3-2016112114572.0.0-rc.3-2016112119192.0.0-rc.3-2016112618402.0.0-rc.3-2016112815302.0.0-rc.3-2016112820112.0.0-rc.3-2016113016452.0.0-rc.3-2016113022332.0.0-rc.3-2016120219332.0.0-rc.3-2016120615242.0.0-rc.3-2016120617172.0.0-rc.3-2016120621152.0.0-rc.3-2016120621432.0.0-rc.3-2016120622562.0.0-rc.3-2016120717342.0.0-rc.3-2016120720512.0.0-rc.3-2016120804332.0.0-rc.3-2016120816202.0.0-rc.3-2016120817382.0.0-rc.3-2016120818412.0.0-rc.3-2016120903562.0.0-rc.3-2016120914552.0.0-rc.3-2016120916472.0.0-rc.3-2016121004582.0.0-rc.3-2016121216052.0.0-rc.3-2016121221362.0.0-rc.3-2016121420212.0.0-rc.3-2016121420432.0.0-rc.3-2016121421372.0.0-rc.4-2016121617462.0.0-rc.4-2016121919222.0.0-rc.4-2016121922572.0.0-rc.4-2016122018522.0.0-rc.4-2016122103472.0.0-rc.4-2016122114522.0.0-rc.4-2016122116002.0.0-rc.4-2016122204082.0.0-rc.4-2017010321562.0.0-rc.4-2017010415232.0.0-rc.4-2017010417452.0.0-rc.4-2017010422022.0.0-rc.4-2017010518142.0.0-rc.4-2017010523142.0.0-rc.4-2017010623082.0.0-rc.4-2017010623252.0.0-rc.4-2017010915042.0.0-rc.4-2017010916042.0.0-rc.4-2017010920512.0.0-rc.4-2017011017062.0.0-rc.4-2017011019462.0.0-rc.5-2017011122082.0.0-rc.5-2017011217312.0.0-rc.5-2017011219052.0.0-rc.5-2017011319372.0.0-rc.5-2017011716052.0.0-rc.5-2017011722122.0.0-rc.5-2017011815442.0.0-rc.5-2017011821462.0.0-rc.5-2017011923022.0.0-rc.5-2017012017552.0.0-rc.5-2017012018132.0.0-rc.5-2017012319392.0.0-rc.5-2017012322492.0.0-rc.5-2017012415232.0.02.0.1-2017021316502.0.1-2017021320052.0.1-2017021422212.0.1-2017021519332.0.1-2017021520272.0.1-2017021615292.0.1-2017021619252.0.1-2017022122162.0.1-2017022122512.0.1-2017022219152.0.1-2017022314232.0.12.1.0-2017022723192.1.0-2017022817392.1.0-2017030320242.1.0-2017030615372.1.0-2017030920492.1.0-2017030922352.1.0-2017031719102.1.0-2017032015432.1.0-2017032017122.1.0-2017032019402.1.02.2.0-2017031618472.2.0-2017031619172.2.0-2017031719072.2.0-2017032015282.2.0-2017032114212.2.0-2017032214272.2.02.3.0-2017032319412.3.0-2017032418122.3.0-2017032715302.3.0-2017032718422.3.0-2017032719432.3.0-2017032719562.3.0-2017032721482.3.0-2017040416122.3.0-2017040421032.3.03.0.0-2017040613443.0.0-2017040615293.0.0-2017040615513.0.0-2017040618223.0.0-beta.03.0.0-beta.13.0.0-beta.23.0.0-beta.33.0.03.0.1-2017040622083.0.1-2017040622373.0.1-2017041715053.0.1-2017041720463.0.1-2017041721523.0.1-2017041914323.0.1-2017042014503.0.1-2017042416593.0.1-2017042514343.0.1-2017042517203.0.1-2017042520033.0.1-2017042615393.0.13.1.0-2017042711003.1.0-2017042711163.1.0-2017042720193.1.0-2017042721493.1.0-2017042815343.1.03.1.1-2017042822223.1.1-2017050818023.1.1-2017050916543.1.1-2017050917263.1.1-2017050919563.1.13.2.0-2017051116303.2.0-2017051216273.2.03.2.1-2017051919243.2.1-2017051921073.2.1-2017052315293.2.13.3.0-2017053015283.3.0-2017060522453.3.0-2017060717263.3.0-2017060816583.3.0-2017060817373.3.0-2017060915193.3.0-2017060917213.3.0-2017061220583.3.0-2017061313023.3.0-2017061315353.3.0-2017061414043.3.03.4.03.4.1-2017061617013.4.13.4.2-2017061921443.4.2-2017062018463.4.2-2017062019533.4.2-2017062120333.4.2-2017062615323.4.2-2017062712183.4.2-2017062715253.4.2-2017062716483.4.2-2017062719253.4.23.5.0-2017062919523.5.0-2017062920253.5.0-2017063016353.5.0-2017070321393.5.0-2017070618033.5.0-2017071216323.5.03.5.13.5.2-2017071416573.5.2-2017071417043.5.23.5.3-2017072204493.5.3-2017072422063.5.3-2017072519523.5.3-2017072614473.5.33.6.0-2017090617323.6.0-2017090620533.6.0-2017092122163.6.03.6.1-2017091217453.6.1-2017091318043.6.1-2017092122093.6.1-2017092122253.6.1-2017092122343.6.1-2017092215213.6.1-2017092215293.6.1-2017092215423.6.1-2017092217153.6.1-2017092219523.6.1-2017092516173.6.1-2017092520213.6.1-2017092604343.6.1-2017092617573.6.13.7.0-2017092819493.7.0-2017092919233.7.03.7.1-2017100320003.7.1-2017100421123.7.1-2017100516323.7.1-2017100521103.7.1-2017100603193.7.1-2017100616123.7.1-2017100919093.7.1-2017101015363.7.1-2017101015573.7.1-2017101814323.7.1-2017102019223.7.1-2017102417353.7.13.8.0-2017103020493.8.0-2017110620343.8.0-2017110620383.8.0-2017110620593.8.0-2017110818003.8.03.9.03.9.1-2017110818423.9.13.9.2-2018070621223.9.2-2019012817263.9.2-2019013015133.9.2-2019013017333.9.23.9.3-2019022118183.9.33.9.4-2019031217253.9.4-2019040914323.9.4-2019040918253.9.4-2019041012443.9.43.9.5-2019051619493.9.53.9.63.9.73.9.8-2019100718103.9.83.9.93.9.10-2020050619403.9.104.0.0-alpha.0
/**
* \@name IonicPage
* \@description
* The Ionic Page handles registering and displaying specific pages based on URLs. It's used
* underneath `NavController` so it will never have to be interacted with directly. When a new
* page is pushed with `NavController`, the URL is updated to match the path to this page.
*
* Unlike traditional web apps, URLs don't dictate navigation in Ionic apps.
* Instead, URLs help us link to specific pieces of content as a breadcrumb.
* The current URL gets updated as we navigate, but we use the `NavController`
* push and pop, or `NavPush` and `NavPop` to move around. This makes it much easier
* to handle complicated nested navigation.
* We refer to our URL system as a deep link system instead of a router to encourage
* Ionic developers to think of URLs as a breadcrumb rather than as the source of
* truth in navigation. This encourages flexible navigation design and happy apps all
* over the world.
* \@usage
* The first step to setting up deep links is to add the page that should be
* a deep link in the `IonicPageModule.forChild` import of the page's module.
* For our examples, this will be `MyPage`:
* ```ts
* \@NgModule({
* declarations: [
* MyPage
* ],
* imports: [
* IonicPageModule.forChild(MyPage)
* entryComponents: [
* ]
* })
* export class MyPageModule {}
* ```
* Then, add the `\@IonicPage` decorator to the component. The most simple usage is adding an
* empty decorator:
* \@IonicPage()
* \@Component({
* templateUrl: 'main.html'
* export class MyPage {}
* This will automatically create a link to the `MyPage` component using the same name as the class,
* `name`: `'MyPage'`. The page can now be navigated to by using this name. For example:
* templateUrl: 'another-page.html'
* export class AnotherPage {
* constructor(public navCtrl: NavController) {}
* goToMyPage() {
* // go to the MyPage component
* this.navCtrl.push('MyPage');
* }
* The `\@IonicPage` decorator accepts a `DeepLinkMetadataType` object. This object accepts
* the following properties: `name`, `segment`, `defaultHistory`, and `priority`. All of them
* are optional but can be used to create complex navigation links.
* ### Changing Name
* As mentioned previously, the `name` property will be set to the class name if it isn't provided.
* Changing the name of the link is extremely simple. To change the name used to link to the
* component, simply pass it in the decorator like so:
* \@IonicPage({
* name: 'my-page'
* This will create a link to the `MyPage` component using the name `'my-page'`. Similar to the previous
* example, the page can be navigated to by using the name:
* this.navCtrl.push('my-page');
* ### Setting URL Path
* The `segment` property is used to set the URL to the page. If this property isn't provided, the
* `segment` will use the value of `name`. Since components can be loaded anywhere in the app, the
* `segment` doesn't require a full URL path. When a page becomes the active page, the `segment` is
* appended to the URL.
* The `segment` can be changed to anything and doesn't have to match the `name`. For example, passing
* a value for `name` and `segment`:
* name: 'my-page',
* segment: 'some-path'
* When navigating to this page as the first page in the app, the URL will look something like:
* http://localhost:8101/#/some-path
* However, navigating to the page will still use the `name` like the previous examples do.
* ### Dynamic Links
* The `segment` property is useful for creating dynamic links. Sometimes the URL isn't known ahead
* of time, so it can be passed as a variable.
* Since passing data around is common practice in an app, it can be reflected in the app's URL by
* using the `:param` syntax. For example, set the `segment` in the `\@IonicPage` decorator:
* name: 'detail-page',
* segment: 'detail/:id'
* In this case, when we `push` to a new instance of `'detail-page'`, the value of `id` will
* in the `detailInfo` data being passed to `push` will replace `:id` in the URL.
* Important: The property needs to be something that can be converted into a string, objects
* are not supported.
* For example, to push the `'detail-page'` in the `ListPage` component, the following code could
* be used:
* name: 'list'
* export class ListPage {
* pushPage(detailInfo) {
* // Push an `id` to the `'detail-page'`
* this.navCtrl.push('detail-page', {
* 'id': detailInfo.id
* If the value of `detailInfo.id` is `12`, for example, the URL would end up looking like this:
* http://localhost:8101/#/list/detail/12
* Since this `id` will be used to pull in the data of the specific detail page, it's Important
* that the `id` is unique.
* Note: Even though the `name` is `detail-page`, the `segment` uses `detail/:id`, and the URL
* will use the `segment`.
* ### Default History
* Pages can be navigated to using deep links from anywhere in the app, but sometimes the app is
* launched from a URL and the page needs to have the same history as if it were navigated to from
* inside of the app.
* By default, the page would be navigated to as the first page in the stack with no prior history.
* A good example is the App Store on iOS. Clicking on a URL to an application in the App Store will
* load the details of the application with no back button, as if it were the first page ever viewed.
* The default history of any page can be set in the `defaultHistory` property. This history will only
* be used if the history doesn't already exist, meaning if you navigate to the page the history will
* be the pages that were navigated from.
* The `defaultHistory` property takes an array of strings. For example, setting the history of the
* detail page to the list page where the `name` is `list`:
* segment: 'detail/:id',
* defaultHistory: ['list']
* In this example, if the app is launched at `http://localhost:8101/#/detail/my-detail` the displayed page
* will be the `'detail-page'` with an id of `my-detail` and it will show a back button that goes back to
* the `'list'` page.
* An example of an application with a set history stack is the Instagram application. Opening a link
* to an image on Instagram will show the details for that image with a back button to the user's profile
* page. There is no "right" way of setting the history for a page, it is up to the application.
* ### Priority
* The `priority` property is only used during preloading. By default, preloading is turned off so setting
* this property would do nothing. Preloading eagerly loads all deep links after the application boots
* instead of on demand as needed. To enable preloading, set `preloadModules` in the main application module
* config to `true`:
* MyApp
* BrowserModule,
* IonicModule.forRoot(MyApp, {
* preloadModules: true
* bootstrap: [IonicApp],
* export class AppModule { }
* If preloading is turned on, it will load the modules based on the value of `priority`. The following
* values are possible for `priority`: `"high"`, `"low"`, and `"off"`. When there is no `priority`, it
* will be set to `"low"`.
* All deep links with their priority set to `"high"` will be loaded first. Upon completion of loading the
* `"high"` priority modules, all deep links with a priority of `"low"` (or no priority) will be loaded. If
* the priority is set to `"off"` the link will not be preloaded. Setting the `priority` is as simple as
* passing it to the `\@IonicPage` decorator:
* priority: 'high'
* We recommend setting the `priority` to `"high"` on the pages that will be viewed first when launching
* the application.
* @param {?=} _config
* @return {?}
*/
export function IonicPage(_config) {
return function (clazz) {
return clazz;
};
}
//# sourceMappingURL=ionic-page.js.map